(* REVISION HEADER ×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××× *
 | 
 | $VER: TritonD.def 1.00 (06.09.94) by Stefan Schulz
 | 
 | Module          : TritonD
 | Last Modified   : Tuesday, 06.09.94
 | Author          : Stefan Schulz
 | Actual Revision : 1.00
 | 
 | 
 | Description
 | -----------
 |   - Interface to Triton.library
 |     Triton is copyright © 1993, 1994 by Stefan Zeiger
 | 
 | Requirements
 | ------------
 |   - triton.library V1.1
 | 
 | Language
 | --------
 |   - M2Amiga Modula 2 Software Development System
 |     © Copyright by A+L AG, CH-2540 Grenchen
 | 
 | Revision 1.00  \05.09.94\\06.09.94\
 |  - initial revision
 |   
 * ×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××× *)

DEFINITION MODULE TritonD; (*$ Implementation:= FALSE *)

(* IMPORTS ********************************************************************** *)

IMPORT  ed      : ExecD,
        gtd     : GadToolsD,
        gd      : GraphicsD,
        ie      : InputEvent,
        ind     : IntuitionD,
        S       : SYSTEM,
        ud      : UtilityD,
        wd      : WorkbenchD;

(* ****************************************************************************** *)

(* ------------------------------------------------------------------------------ *)
(* library name and version                                                       *)
(* ------------------------------------------------------------------------------ *)

CONST   tritonName      = "triton.library";
        tritonVersion   = 1;

(* ------------------------------------------------------------------------------ *)
(* Pointers to everything                                                         *)
(* ------------------------------------------------------------------------------ *)

TYPE    TrAppPtr        = POINTER TO TrApp;
        TrDimensionsPtr = POINTER TO TrDimensions;
        TrMessagePtr    = POINTER TO TrMessage;
        TrProjectPtr    = POINTER TO TrProject;

TYPE    (* for readability *)
        StrPtr          = S.ADDRESS;
        BOOL            = INTEGER;   (* has to be SIZE(WORD), so no BOOLEANs      *)

(* ------------------------------------------------------------------------------ *)
(* Triton Message                                                                 *)
(* ------------------------------------------------------------------------------ *)

TYPE    TrMessage     = RECORD
                        project   : TrProjectPtr; (* The project which triggered  *)
                                                  (* the message                  *)
                        id        : LONGCARD;     (* The object's ID              *)
                        class     : LONGCARD;     (* The Triton message class     *)
                        data      : LONGCARD;     (* The class-specific data      *)
                        code      : LONGCARD;     (* Currently only used by       *)
                                                  (* trmsKEYPRESSED               *)
                        pad0      : CARDINAL;       (* qualifier is only 16 Bit   *)
                        qualifier : ie.QualifierSet;(* Qualifiers                 *)
                        seconds   : LONGCARD;     (* \ Copy of system clock time  *)
                        micros    : LONGCARD;     (* / (Only where available! If  *)
                                                  (*    not set, seconds is NULL) *)
                        app       : TrAppPtr;     (* The project's application    *)
                        END; (* TrMessage *)

CONST   (* Message Classes *)
        trmsCLOSEWINDOW = 1; (* The window should be closed                       *)
        trmsERROR       = 2; (* An error occured. Error code in 'data'            *)
        trmsNEWVALUE    = 3; (* Object's value has changed. New value in 'data'   *)
        trmsACTION      = 4; (* Object has triggered an action                    *)
        trmsICONDROPPED = 5; (* Icon dropped over window ('id'=0) or DropBox.     *)
                             (* AppMessagePtr in 'data'                           *)
        trmsKEYPRESSED  = 6; (* Key pressed. 'data' contains ASCII code, 'code'   *)
                             (* raw code and 'qualifier' contains qualifiers      *)
        trmsHELP        = 7; (* The user requested help for the specified ID      *)

(* ------------------------------------------------------------------------------ *)
(* Triton Error Codes                                                             *)
(* ------------------------------------------------------------------------------ *)

CONST   trerOK                  = 0;  (* No error                                 *)
        
        trerALLOCMEM            = 1;  (* Not enough memory                        *)
        trerOPENWINDOW          = 2;  (* Can't open window                        *)
        trerWINDOWTOOBIG        = 3;  (* Window would be too big for screen       *)
        trerDRAWINFO            = 4;  (* Can't get screen's DrawInfo              *)
        trerOPENFONT            = 5;  (* Can't open font                          *)
        trerCREATEMSGPORT       = 6;  (* Can't create message port                *)
        trerINSTALLOBJECT       = 7;  (* Can't create an object                   *)
        trerCREATECLASS         = 8;  (* Can't create a class                     *)
        trerNOLOCKPUBSCREEN     = 9;  (* Can't lock public screen                 *)
        trerCREATEMENUS         = 12; (* Error while creating the menus           *)
        trerGTCREATECONTEXT     = 14; (* Can't create gadget context              *)
        
        trerMAXERRORNUM         = 15; (* PRIVATE!                                 *)

(* ------------------------------------------------------------------------------ *)
(* Tags for OpenProject                                                          *)
(* ------------------------------------------------------------------------------ *)

CONST   (* Window/Project *)
        trwiTitle               = ud.tagUser+1; (* STRPTR: The window title       *)
        trwiFlags               = ud.tagUser+2; (* See below for window flags     *)
        trwiUnderscore          = ud.tagUser+3; (* CharPtr: The underscore for    *)
                                                (* menu and gadget shortcuts      *)
        trwiPosition            = ud.tagUser+4; (* Window position, see below     *)
        trwiCustomScreen        = ud.tagUser+5; (* ScreenPtr                      *)
        trwiPubScreen           = ud.tagUser+6; (* ScreenPtr, must have been      *)
                                                (* locked!                        *)
        trwiPubScreenName       = ud.tagUser+7; (* StrPtr, Triton is doing the    *)
                                                (* locking                        *)
        trwiPropFontAttr        = ud.tagUser+8; (* TextAttrPtr: proportional font *)
        trwiFixedWidthFontAttr  = ud.tagUser+9; (* TextAttrPtr: fixed-width font  *)
        trwiBackfill            = ud.tagUser+10; (* The backfill type, see below  *)
        trwiID                  = ud.tagUser+11; (* LONGCARD: The window ID       *)
        trwiDimensions          = ud.tagUser+12; (* TrDimensionsPtr               *)
        trwiScreenTitle         = ud.tagUser+13; (* StrPtr: The screen title      *)

CONST   (* Menus *)
        trmnTitle               = ud.tagUser+101; (* StrPtr: Menu                 *)
        trmnItem                = ud.tagUser+102; (* StrPtr: Menu item            *)
        trmnSub                 = ud.tagUser+103; (* StrPtr: Menu subitem         *)
        trmnFlags               = ud.tagUser+104; (* See below for flags          *)

CONST   (* General object attributes *)
        tratID                  = ud.tagUser+150; (* The object's/menu's ID       *)
        tratFlags               = ud.tagUser+151; (* The object's flags           *)
        tratValue               = ud.tagUser+152; (* The object's value           *)
        tratText                = ud.tagUser+153; (* The object's text            *)
        tratDisabled            = ud.tagUser+154; (* Disabled object?             *)
        tratBackfill            = ud.tagUser+155; (* Backfill pattern             *)
        tratMinWidth            = ud.tagUser+156; (* Minimum width                *)
        tratMinHeight           = ud.tagUser+157; (* Minimum height               *)

        trobUSER                = ud.tagUser+800; (* PRIVATE!                     *)

(* ------------------------------------------------------------------------------ *)
(* Window Flags                                                                   *)
(* ------------------------------------------------------------------------------ *)

CONST   trwfBACKDROP            = 00000001H; (* Create a backdrop borderless      *)
                                             (* window                            *)
        trwfNODRAGBAR           = 00000002H; (* Don't use a dragbar               *)
        trwfNODEPTHGADGET       = 00000004H; (* Don't use a depth-gadget          *)
        trwfNOCLOSEGADGET       = 00000008H; (* Don't use a close-gadget          *)
        trwfNOACTIVATE          = 00000010H; (* Don't activate window             *)
        trwfNOESCCLOSE          = 00000020H; (* Don't send trmsCLOSEWINDOW when   *)
                                             (* Esc is pressed                    *)
        trwfNOPSCRFALLBACK      = 00000040H; (* Don't fall back onto default      *)
                                             (* PubScreen                         *)
        trwfNOZIPGADGET         = 00000080H; (* Don't use a zip-gadget            *)
        trwfZIPCENTERTOP        = 00000100H; (* Center the zipped window on the   *)
                                             (* title bar                         *)
        trwfNOMINTEXTWIDTH      = 00000200H; (* Minimum window width not according*)
                                             (* to title text                     *)
        trwfNOSIZEGADGET        = 00000400H; (* Don't use a sizing-gadget         *)
        trwfNOFONTFALLBACK      = 00000800H; (* Don't fall back to topaz.8        *)
        trwfNODELZIP            = 00001000H; (* Don't zip the window when Del is  *)
                                             (* pressed                           *)
        trwfSIMPLEREFRESH       = 00002000H; (* Use simple refresh instead of     *)
                                             (* smart refresh                     *)
        trwfZIPTOCURRENTPOS     = 00004000H; (* Will zip the window at the current*)
                                             (* position (OS3.0+)                 *)
        trwfAPPWINDOW           = 00008000H; (* Create an AppWindow without using *)
                                             (* class_dropbox                     *)
        trwfACTIVATESTRGAD      = 00010000H; (* Activate the first string gadget  *)
                                             (* after opening the window          *)
        trwfHELP                = 00020000H; (* Pressing <Help> will create a     *)
                                             (* trmsHELP message                  *)

(* ------------------------------------------------------------------------------ *)
(* Menu Flags                                                                     *)
(* ------------------------------------------------------------------------------ *)

CONST   trmfCHECKIT             = 00000001H; (* Leave space for a checkmark       *)
        trmfCHECKED             = 00000002H; (* Check the item (includes          *)
                                             (* trmfCHECKIT)                      *)
        trmfDISABLED            = 00000004H; (* Ghost the menu/item               *)


(* ------------------------------------------------------------------------------ *)
(* Window positions                                                               *)
(* ------------------------------------------------------------------------------ *)

CONST   trwpDEFAULT           = 0;    (* Get Triton choose a good position        *)
        trwpBELOWTITLEBAR     = 1;    (* Left side of screen, below title bar     *)
        trwpCENTERTOP         = 1025; (* Top of screen, centered on the title bar *)
        trwpTOPLEFTSCREEN     = 1026; (* Top left corner of screen                *)
        trwpCENTERSCREEN      = 1027; (* Centered on the screen                   *)
        trwpCENTERDISPLAY     = 1028; (* Centered on the currently displayed clip *)
        trwpMOUSEPOINTER      = 1029; (* Under the mouse pointer                  *)

(* ------------------------------------------------------------------------------ *)
(* Backfill types                                                                 *)
(* ------------------------------------------------------------------------------ *)

        trbfWINDOWBACK          = 0;  (* Window backfill colors                   *)
        trbfREQUESTERBACK       = 1;  (* Requester backfill colors                *)
        trbfNONE                = 2;  (* No backfill (= Fill with BACKGROUNDPEN)  *)
        trbfSHINE               = 3;  (* Fill with SHINEPEN                       *)
        trbfSHINESHADOW         = 4;  (* Fill with SHINEPEN + SHADOWPEN           *)
        trbfSHINEFILL           = 5;  (* Fill with SHINEPEN + FILLPEN             *)
        trbfSHINEBACKGROUND     = 6;  (* Fill with SHINEPEN + BACKGROUNDPEN       *)
        trbfSHADOW              = 7;  (* Fill with SHADOWPEN                      *)
        trbfSHADOWFILL          = 8;  (* Fill with SHADOWPEN + FILLPEN            *)
        trbfSHADOWBACKGROUND    = 9;  (* Fill with SHADOWPEN + BACKGROUNDPEN      *)
        trbfFILL                = 10; (* Fill with FILLPEN                        *)
        trbfFILLBACKGROUND      = 11; (* Fill with FILLPEN + BACKGROUNDPEN        *)

(* ------------------------------------------------------------------------------ *)
(* Display Object Flags                                                           *)
(* ------------------------------------------------------------------------------ *)

CONST   (* General flags *)
        trofRAISED      = 00000001H; (* Raised object                             *)
        trofHORIZ       = 00000002H; (* Horizontal object \ Works automatically   *)
        trofVERT        = 00000004H; (* Vertical object   / in groups             *)
        trofRIGHTALIGN  = 00000008H; (* Align object to the right border if       *)
                                     (* available                                 *)

CONST   (* Text flags *)
        trtxNOUNDERSCORE= 00000100H; (* Don't interpret underscores               *)
        trtxHIGHLIGHT   = 00000200H; (* Highlight text                            *)
        trtx3D          = 00000400H; (* 3D design                                 *)
        trtxBOLD        = 00000800H; (* Softstyle 'bold'                          *)
        trtxTITLE       = 00001000H; (* A title (e.g. of a group)                 *)
        trtxSELECTED    = 00002000H; (* PRIVATE!                                  *)

(* ------------------------------------------------------------------------------ *)
(* Menu entries                                                                   *)
(* ------------------------------------------------------------------------------ *)

CONST   trmnBARLABEL    = -1; (* A barlabel instead of text                       *)

(* ------------------------------------------------------------------------------ *)
(* Tags for CreateApp()                                                          *)
(* ------------------------------------------------------------------------------ *)

CONST   trcaName        = ud.tagUser+1;
        trcaLongName    = ud.tagUser+2;
        trcaInfo        = ud.tagUser+3;
        trcaVersion     = ud.tagUser+4;
        trcaRelease     = ud.tagUser+5;
        trcaDate        = ud.tagUser+6;

(* ------------------------------------------------------------------------------ *)
(* Tags for EasyRequest()                                                        *)
(* ------------------------------------------------------------------------------ *)

CONST   trezReqPos      = ud.tagUser+1;
        trezLockProject = ud.tagUser+2;
        trezReturn      = ud.tagUser+3;
        trezTitle       = ud.tagUser+4;
        trezActivate    = ud.tagUser+5;

(* ------------------------------------------------------------------------------ *)
(* The Application Structure                                                      *)
(* ------------------------------------------------------------------------------ *)

TYPE    TrApp         = RECORD (* This structure is PRIVATE! *)
                        memPool    : S.ADDRESS;    (* The memory pool             *)
                        bitMask    : LONGCARD;     (* Bits to Wait() for          *)
                        lastError  : LONGCARD;     (* trer code of last error     *)
                        name       : StrPtr;       (* Unique name                 *)
                        longName   : StrPtr;       (* User-readable name          *)
                        info       : StrPtr;       (* Info string                 *)
                        version    : StrPtr;       (* Version                     *)
                        release    : StrPtr;       (* Release                     *)
                        date       : StrPtr;       (* Compilation date            *)
                        appPort    : ed.MsgPortPtr;(* Application message port    *)
                        idcmpPort  : ed.MsgPortPtr;(* IDCMP message port          *)
                        prefs      : S.ADDRESS;    (* Pointer to Triton app prefs *)
                        lastProject: TrProjectPtr; (* Used for menu item linking  *)
                        inputEvent : ie.InputEventPtr; (* For RAWKEY conversion   *)
                        END; (* TrApp *)

(* ------------------------------------------------------------------------------ *)
(* The Dimension Structure                                                        *)
(* ------------------------------------------------------------------------------ *)

TYPE    TrDimensions  = RECORD
                        left          : CARDINAL;
                        top           : CARDINAL;
                        width         : CARDINAL;
                        height        : CARDINAL;
                        left2         : CARDINAL;
                        top2          : CARDINAL;
                        width2        : CARDINAL;
                        height2       : CARDINAL;
                        zoomed        : BOOL;
                        reserved      : ARRAY [0..2] OF CARDINAL;
                        END; (* TrDimensions *)

(* ------------------------------------------------------------------------------ *)
(* The Projects Structure                                                         *)
(* ------------------------------------------------------------------------------ *)

TYPE    TrProject     = RECORD (* This structure is PRIVATE! *)
                        app           : TrAppPtr;     (* Our application          *)
                        screen        : ind.ScreenPtr;(* Our screen, always valid *)
                        
                        lockedPubScreen:ind.ScreenPtr;(* Only valid if we're using*)
                                                      (* a PubScreen              *)
                        screenTitle   : StrPtr;       (* The screen title         *)
                         
                        window        : ind.Window;     (* The window             *)
                        id            : LONGCARD;       (* The window ID          *)
                        appWindow     : wd.AppWindowPtr;(* AppWindow for icon     *)
                                                        (* dropping               *)
                        
                        idcmpFlags    : LONGCARD;       (* The IDCMP flags        *)
                        flags         : LONGCARD;       (* Triton window flags    *)
                        
                        newMenu       : gtd.NewMenuPtr; (* The newmenu stucture   *)
                                                        (* built by Triton        *)
                        newMenuSize   : LONGCARD;       (* The number of menu     *)
                                                        (* items in the list      *)
                        menu          : ind.MenuPtr;    (* The menu structure     *)
                        nextSelect    : LONGCARD;       (* The next selected menu *)
                                                        (* item                   *)
                        
                        visualInfo    : S.ADDRESS;      (* The VisualInfo of our  *)
                                                        (* window                 *)
                        drawInfo      : ind.DrawInfoPtr;(* DrawInfo of the screen *)
                        userDimensions: TrDimensionsPtr;(* supplied dimensions    *)
                        dimensions    : TrDimensionsPtr;(* Private dimensions     *)
                        
                        windowStdHeight:LONGCARD; (* standard height of the window*)
                        leftBorder    : LONGCARD; (* left window border width     *)
                        rightBorder   : LONGCARD; (* right window border width    *)
                        topBorder     : LONGCARD; (* top window border height     *)
                        bottomBorder  : LONGCARD; (* bottom window border height  *)
                        innerWidth    : LONGCARD; (* inner width of the window    *)
                        innerHeight   : LONGCARD; (* inner height of the window   *)
                        zipDimensions : ARRAY [0..3] OF INTEGER; (* The dimensions*)
                                                  (* for the zipped window        *)
                        aspectFixing  : CARDINAL; (*Pixel aspect correction factor*)
                        
                        objectList    : ed.MinList; (* The list of display objects*)
                        menuList      : ed.MinList; (* The list of menus          *)
                        idList        : ed.MinList; (* The ID linking list        *)
                                                    (* (menus & objects)          *)
                        memPool       : S.ADDRESS;  (* memory pool for the lists  *)
                        hasObjects    : BOOL;       (* Do we have display objects?*)
                        
                        propAttr      : gd.TextAttrPtr; (* The proportional font  *)
                                                        (* attributes             *)
                        fixedWidthAttr: gd.TextAttrPtr; (* The fixed-width font   *)
                                                        (* attributes             *)
                        propFont      : gd.TextFontPtr; (* The proportional font  *)
                        fixedWidthFont: gd.TextFontPtr; (* The fixed-width font   *)
                        openedPropFont: BOOL;           (* Have we opened the     *)
                        openedFixedWidthFont: BOOL;     (* fonts ?                *)
                        totalPropFontHeight : CARDINAL; (* Height of prop font    *)
                                                        (* incl. underscore       *)
                        
                        backfillType  : LONGCARD;       (* The backfill type      *)
                        backfillHook  : ud.HookPtr;     (* The backfill hook      *)
                        
                        gadToolsGadgetList: ind.GadgetPtr;(* List of GadTools     *)
                                                          (* gadgets              *)
                        prevGadget    : ind.GadgetPtr;    (* Previous gadget      *)
                        newGadget     : gtd.NewGadgetPtr; (* GadTools NewGadget   *)
                        
                        invisibleRequest: ind.RequesterPtr; (* The invisible      *)
                                                        (* blocking requester     *)
                        isUserLocked  : BOOL;           (* Project locked by the  *)
                                                        (* user?                  *)
                        
                        currentID     : LONGCARD;(* currently keyboard-selected ID*)
                        isCancelDown  : BOOL;    (* Cancellation key pressed?     *)
                        isShortcutDown: BOOL;    (* Shortcut key pressed?         *)
                        underscore    : CHAR;    (* The underscore character      *)
                        
                        escClose      : BOOL;    (* Close window on Esc ?         *)
                        delZip        : BOOL;    (* Zip window on Del ?           *)
                        pubScreenFallBack: BOOL; (* Fall back onto default public *)
                                                 (* screen ?                      *)
                        fontFallBack  : BOOL;    (* Fall back to topaz.8 ?        *)
                        
                        oldWidth      : CARDINAL;(* Old window width              *)
                        oldHeight     : CARDINAL;(* Old window height             *)
                        
                        END; (* TrProjects *)

(* ------------------------------------------------------------------------------ *)
(* Default classes, attributes and flags                                          *)
(* ------------------------------------------------------------------------------ *)

CONST   (* Classes *)

        trobButton       = ud.tagUser+305; (* A BOOPSI button gadget              *)
        trobCheckBox     = ud.tagUser+303; (* A checkbox gadget                   *)
        trobCycle        = ud.tagUser+310; (* A cycle gadget                      *)
        trobFrameBox     = ud.tagUser+306; (* A framing box                       *)
        trobDropBox      = ud.tagUser+312; (* An icon drop box                    *)
        trgrHoriz        = ud.tagUser+201; (* Horizontal group,see below for types*)
        trgrVert         = ud.tagUser+202; (* Vertical group, see below for types *)
        trgrEnd          = ud.tagUser+203; (* End of a group                      *)
        trobLine         = ud.tagUser+301; (* A simple line                       *)
        trobPalette      = ud.tagUser+307; (* A palette gadget                    *)
        trobScroller     = ud.tagUser+309; (* A scroller gadget                   *)
        trobSlider       = ud.tagUser+308; (* A slider gadget                     *)
        trobSpace        = ud.tagUser+901; (* The spaces class                    *)
        trobString       = ud.tagUser+311; (* A string gadget                     *)
        trobText         = ud.tagUser+304; (* A line of text                      *)
        trobListview     = ud.tagUser+313; (* A listview gadget                   *)
        trobProgress     = ud.tagUser+314; (* A progress indicator                *)
        trobImage        = ud.tagUser+315; (* An image                            *)

CONST   (* Button *)
        trbuRETURNOK     = 00010000H;   (* <Return> answers the button            *)
        trbuESCOK        = 00020000H;   (* <Esc> answers the button               *)
        trbuSHIFTED      = 00040000H;   (* Shifted shortcut only                  *)
        trbuUNSHIFTED    = 00080000H;   (* Unshifted shortcut only                *)
        trbuYRESIZE      = 00100000H;   (* Button resizeable in Y direction       *)
        trbtTEXT         = 0;           (* Text button                            *)
        trbtGETFILE      = 1;           (* GetFile button                         *)
        trbtGETDRAWER    = 2;           (* GetDrawer button                       *)
        trbtGETENTRY     = 3;           (* GetEntry button                        *)

CONST   (* Group *)
        trgrPROPSHARE    = 00000000H;   (* Default: Divide objects proportionally *)
        trgrEQUALSHARE   = 00000001H;   (* Divide objects equally                 *)
        trgrPROPSPACES   = 00000002H;   (* Divide spaces proportionally           *)
        trgrARRAY        = 00000004H;   (* Top-level array group                  *)

        trgrALIGN        = 00000008H;   (* Align resizeable objects in secondary  *)
                                        (* dimension                              *)
        trgrCENTER       = 00000010H;   (* Center unresizeable objects in         *)
                                        (* secondary dimension                    *)

        trgrFIXHORIZ     = 00000020H;   (* Don't allow horizontal resizing        *)
        trgrFIXVERT      = 00000040H;   (* Don't allow vertical resizing          *)
        trgrINDEP        = 00000080H;   (* Group is independant of surrounding    *)
                                        (* array                                  *)

CONST   (* Framebox *)
        trfbGROUPING     = 00000001H;   (* A grouping box                         *)
        trfbFRAMING      = 00000002H;   (* A framing box                          *)
        trfbTEXT         = 00000004H;   (* A text container                       *)

CONST   (* Scroller *)
        trscTotal        = ud.tagUser+1504;
        trscVisible      = ud.tagUser+1505;

CONST   (* Slider *)
        trslMin          = ud.tagUser+1502;
        trslMax          = ud.tagUser+1503;

CONST   (* Space *)
        trstNONE         = 1;         (* No space                                 *)
        trstSMALL        = 2;         (* Small space                              *)
        trstNORMAL       = 3;         (* Normal space (default)                   *)
        trstBIG          = 4;         (* Big space                                *)

CONST   (* Listview *)
        trlvTop          = ud.tagUser+1506;
        trlvREADONLY     = 00010000H; (* A read-only list                         *)
        trlvSELECT       = 00020000H; (* You may select an entry                  *)
        trlvSHOWSELECTED = 00040000H; (* Selected entry will be shown             *)
        trlvNOCURSORKEYS = 00080000H; (* Don't use arrow keys                     *)
        trlvNONUMPADKEYS = 00100000H; (* Don't use numeric keypad keys            *)
        trlvFWFONT       = 00200000H; (* Use the fixed-width font                 *)
        trlvNOGAP        = 00400000H; (* Don't leave a gap below the list         *)

CONST   (* Image *)
        trimBOOPSI       = 00010000H; (* Use a BOOPSI IClass image                *)

CONST   (* Cycle *)
        trcyMX           = 00010000H; (* Unfold the cycle gadget to a MX gadget   *)
        trcyRIGHTLABELS  = 00020000H; (* Put labels to the right of a MX gadget   *)

END TritonD.def
