Medley OBJECTWINDOW 2 4 1 OBJECTWINDOW 1 4 By Becky Burwell and Ron Kaplan This document edited on December 21, 2021 An "object window" is a window that contains a sequence of arbitrary image objects arranged either vertically or horizontally. The OBJECTWINDOW package provides the functions for creating such a window, adding objects and manipulating them in various ways, and invoking their IMAGEFNS functions according to mouse or other signals. An object window is created by the function OBJ.CREATEW: (OBJ.CREATEW WINDOWTYPE REGION/WINDOW TITLE BORDERSIZE NOOPENFLG SEPDIST BOXFN DISPLAYFN BUTTONINFN ) [Function] The arrangement of objects is determined by the obligatory WINDOWTYPE, either VERTICAL or HORIZONTAL. The other arguments are optional. REGION/WINDOW, TITLE, BORDERSIZE, and NOOPENFLG are passed to CREATEW to create the window. If REGION/WINDOW is a window, it is converted to an object window with TITLE. Otherwise, a new window with region REGION/WINDOW if non-NIL. The objects in the window will be separated (vertically or horizontally) by SEPDIST points, defaulting to 0. The arguments BOXFN, DISPLAYFN, and BUTTONINFN are provided as default functions if is convenient to insert objects whose IMAGEFNS are not fully fleshed out. HARDCOPYFN overrides the default hardcopy function for the window, and HCPYHEADING is used instead of TITLE for hardcopy output. (OBJWINDOWP WINDOW) [Function] True if WINDOW is an object window. (OBJ.ADDTOW WINDOW OBJECT) [Function] Adds OBJECT at the end of the object sequence in WINDOW. (OBJ.ADDMANYTOW WINDOW OBJECTS) [Function] Equivalent to calling OBJ.ADDTOW for each object in OBJECTS. (OBJ.INSERTOBJECTS WINDOW NEWOBJECTS OLDOBJECT WHERE) [Function] Inserts NEWOBJECTS at position WHERE (BEFORE or AFTER) with respect to OLDOBJECT. (OBJ.CLEARW WINDOW) [Function] Clears the visible objects in WINDOW. (OBJ.DELFROMW WINDOW OBJECT) [Function] OBJECT is removed from WINDOW. (OBJ.REPLACE WINDOW OLD.OBJECT NEW.OBJECT DONT.REDISPLAY.FLG) [Function] Replaces OLD.OBJECT with NEW.OBJECT in WINDOW, redisplaying the visible objects unless DONT.REDISPLAY.FLG. (OBJ.FIND.REGION WINDOW SEARCHOBJECT) [Function] Returns the region in WINDOW occupied by SEARCHOBJECT. (OBJ.MAP.OBJECTS WINDOW MAPFN) [Function] Applies MAPFN to each object OBJ in WINDOW. If MAPFN returns an image object, that object replaces OBJ in WINDOW. (OBJ.OBJECTS WINDOW) [Function] Returns the list of objects in WINDOW.(LIST ((PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC) STARTINGPAGE# 1) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD CENTERED) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY MODERN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC)) (174 36 288 36) NIL) (HEADING NIL (HEADINGTYPE RUNNINGHEAD) (84 744 528 36) NIL) (TEXT NIL NIL (84 96 456 600) NIL))) (PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC)) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD CENTERED) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY MODERN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC)) (174 36 288 36) NIL) (HEADING NIL (HEADINGTYPE RUNNINGHEAD) (84 744 528 36) NIL) (TEXT NIL NIL (84 96 456 600) NIL))) (PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC)) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD CENTERED) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY MODERN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC)) (174 36 288 36) NIL) (HEADING NIL (HEADINGTYPE RUNNINGHEAD) (84 744 528 36) NIL) (TEXT NIL NIL (84 96 456 600) NIL)))))4È$È4È$È4È$È1È$1ŠŠ8$1ŠŠ8$JÈ$È PAGEHEADING RUNNINGHEADTERMINAL TIMESROMAN$TERMINALMODERN MODERN MODERN MODERN   HRULE.GETFNMODERN  HRULE.GETFNMODERN  HRULE.GETFNMODERN   HRULE.GETFNMODERN  HRULE.GETFNMODERN  … †0, e ‰   ð) L =   '  5      =    *%     /   »zº