XEROX FLAGBROWSER 2 4 1 FLAGBROWSER 1 4 By: Mitchell L Model 473 Edgell Road Framingham, MA 01701 Simple display-oriented flag viewer/setter. Notice and Acknowledgement: This package was developed while the author was an employee of Applied Expert Systems, Inc. (Apex), Cambridge, MA. The author thanks the company for its support and assumes full responsibility for the contents and maintenance of this package. SOFTWARE REQUIRED FLAGBROWSER.DCOM FUNCTIONS (MAKEFLAGBROWSER FLAGLST MENUPROPS POSITION) [Function] Put up a permanent menu of the flags in FLAGLST, with non-NIL flags highlighted. [When MAKEFLAGBROWSER is called, any unbound flags on FLAGLST are initialized to NIL.] If an item of FLAGLST is a list, its CAR is interpreted as the flag. If its CDR is a list, it is interpreted as a list of allowable values other than NIL or T. If the CDR is an atom, it is the name of a function to be called to get the new value of the flag. [See description of middle buttoning, below.] MENUPROPS is a list of menu properties for the menu, in property list format. [See page 19.41 of the August 1983 Interlisp manual for descriptions of the available properties and their default behavior.] POSITION is the position where the menu should be displayed ((X . Y), in screen coordinates, of the lower left corner). If POSITION is NIL, the current cursor position is used. T says to prompt for a position. The left button inverts the value of the flag (T <--> NIL). Middle button is for selecting a new value. If allowable value had been specified for the selected flag, middle button will bring up a menu of those values along with NIL and T. If a function name was specified, that function is called with the flag name as an argument; the flag is set to the value returned. For atomic items, middle button simply prompts for a new value; input is interpreted as a single atom and is not evaluated. Items in the menu are shaded according to their value: white for NIL, black for T, and the value of FLAGBROWSERGRAYSHADE for other values. Note that there is no way for a Flag Browser to know that a flag's value has been changed by typein or code, so it is possible for a flag to be displayed in the wrong shade. Left-buttoning inverts the current value of the flag regardless of its display shade. The display shade after buttoning correctly reflects the new value. Thus, if a null flag is set to T in typein, then selected with the left button, it will remain white after selection.(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)))))(È (È DÈÈ PAGEHEADING RUNNINGHEAD(ŠŠ8(ŠŠ8MODERN MODERN MODERN MODERNLOGOMODERN MODERN MODERN   HRULE.GETFNMODERN  HRULE.GETFNMODERN  HRULE.GETFNMODERN   HRULE.GETFNMODERN  HRULE.GETFNMODERN - ªÞó‹ ¹ Ø8zº