home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 15 / AACD15.ISO / AACD / Programming / BGUI / bgui_e / sources / emodules / libraries / bgui.e next >
Encoding:
Text File  |  1999-08-26  |  67.7 KB  |  1,711 lines

  1. OPT MODULE
  2. OPT EXPORT
  3. OPT PREPROCESS
  4.  
  5. /*
  6.  * $VER: libraries/bgui.e 41.10 (26.8.99)
  7.  * bgui.library structures and constants.
  8.  *
  9.  * (C) Copyright 1998 Manuel Lemos.
  10.  * (C) Copyright 1996-1997 Ian J. Einman.
  11.  * (C) Copyright 1993-1996 Jaba Development.
  12.  * (C) Copyright 1993-1996 Jan van den Baard.
  13.  * (C) Copyright 1996-1999 Dominique Dutoit.
  14.  * All Rights Reserved.
  15.  *
  16.  */
  17.  
  18. MODULE  'exec/types', 'exec/tasks', 'intuition/classes', 'intuition/classusr', 'intuition/imageclass',
  19.         'intuition/gadgetclass', 'intuition/cghooks', 'libraries/commodities', 'libraries/gadtools',
  20.         'libraries/locale', 'utility/tagitem', 'utility/hooks', 'graphics/text', 'graphics/rastport',
  21.         'graphics/clip','graphics/gfx', 'intuition/screens', 'intuition/intuition', 'devices/inputevent'
  22.  
  23. /*****************************************************************************
  24.  *
  25.  *  The attribute definitions in this header are all followed by
  26.  *  a small comment. This comment can contain the following things:
  27.  *
  28.  *  I - Attribute can be set with OM_NEW
  29.  *  S - Attribute can be set with OM_SET
  30.  *  G - Attribute can be read with OM_GET
  31.  *  N - Setting this attribute triggers a notification.
  32.  *  U - Attribute can be set with OM_UPDATE.
  33.  */
  34.  
  35. /*****************************************************************************
  36.  *
  37.  *  Miscellanious library definitions.
  38.  */
  39. #define BGUINAME              'bgui.library'
  40. CONST   BGUI_MINIMUM          = 37
  41. CONST   BGUIVERSION           = 41             
  42.  
  43. /*****************************************************************************
  44.  *
  45.  *  BgUI_GetClassPtr() and BgUI_NewObjectA() class ID's.
  46.  */
  47. CONST   BGUI_LABEL_IMAGE            =  0,
  48.         BGUI_FRAME_IMAGE            =  1,
  49.         BGUI_VECTOR_IMAGE           =  2,
  50.         BGUI_SYSTEM_IMAGE           =  3,
  51. /* 4 through 10 reserved. */
  52.         BGUI_BASE_GADGET            =  11,
  53.         BGUI_GROUP_GADGET           =  12,
  54.         BGUI_BUTTON_GADGET          =  13,
  55.         BGUI_CYCLE_GADGET           =  14,
  56.         BGUI_CHECKBOX_GADGET        =  15,
  57.         BGUI_INFO_GADGET            =  16,
  58.         BGUI_STRING_GADGET          =  17,
  59.         BGUI_PROP_GADGET            =  18,
  60.         BGUI_INDICATOR_GADGET       =  19,
  61.         BGUI_VIEW_GADGET            =  20,
  62.         BGUI_PROGRESS_GADGET        =  21,
  63.         BGUI_SLIDER_GADGET          =  22,
  64.         BGUI_LISTVIEW_GADGET        =  23,
  65.         BGUI_MX_GADGET              =  24,
  66.         BGUI_PAGE_GADGET            =  25,
  67.         BGUI_EXTERNAL_GADGET        =  26,
  68.         BGUI_SEPARATOR_GADGET       =  27,
  69.         BGUI_AREA_GADGET            =  28,
  70.         BGUI_RADIOBUTTON_GADGET     =  29,
  71.         BGUI_PALETTE_GADGET         =  30,
  72.         BGUI_POPBUTTON_GADGET       =  31,
  73.         BGUI_TREEVIEW_GADGET        =  32,
  74. /* 32 through 39 reserved. */
  75.         BGUI_WINDOW_OBJECT          =  40,
  76.         BGUI_FILEREQ_OBJECT         =  41,
  77.         BGUI_COMMODITY_OBJECT       =  42,
  78.         BGUI_ASLREQ_OBJECT          =  43,
  79.         BGUI_FONTREQ_OBJECT         =  44,
  80.         BGUI_SCREENREQ_OBJECT       =  45,
  81.         BGUI_AREXX_OBJECT           =  46,
  82. /* 47 through 79 reserved. */
  83.         BGUI_TEXT_GRAPHIC           =  80,
  84.         BGUI_FONT_GRAPHIC           =  81,
  85.         BGUI_PEN_GRAPHIC            =  82,
  86. /* 83 through 99 reserved. */
  87.         BGUI_ROOT_OBJECT            =  100,
  88.         BGUI_GADGET_OBJECT          =  101,
  89.         BGUI_IMAGE_OBJECT           =  102,
  90. /* 102 through 149 reserved. */
  91.         BGUI_GROUP_NODE             =  150,
  92.         BGUI_PAGE_NODE              =  151,
  93.         BGUI_LISTVIEW_NODE          =  152
  94.  
  95. /* Typo */
  96. CONST   BGUI_SEPERATOR_GADGET =  27
  97.  
  98. /*****************************************************************************
  99.  *
  100.  *  BGUI requester definitions.
  101.  */
  102. OBJECT bguiRequest
  103.     flags:LONG                  -> See below
  104.     title:PTR TO CHAR                  -> Requester title
  105.     gadgetFormat:PTR TO CHAR           -> Gadget labels
  106.     textFormat:PTR TO CHAR             -> Body text format
  107.     reqPos:INT                  -> Requester position
  108.     textAttr:PTR TO textattr    -> Body text format
  109.     underscore:CHAR             -> Requester font
  110.     reserved0[3]:ARRAY OF CHAR              -> Set to 0
  111.     screen:PTR TO screen        -> Optional screen pointer
  112.     reserved1[4]:ARRAY OF LONG             -> Set to 0
  113. ENDOBJECT
  114.  
  115. CONST   BREQF_CENTERWINDOW              = 1,   -> Center requester on the window
  116.         BREQF_LOCKWINDOW                = 2,   -> Lock the parent window
  117.         BREQF_NO_PATTERN                = 4,   -> Don't use back-fill pattern
  118.         BREQF_XEN_BUTTONS               = 8,   -> Use XEN style buttons
  119.         BREQF_AUTO_ASPECT               = 16,  -> Aspect-ratio dependant look
  120.         BREQF_FAST_KEYS                 = 32,  -> Return/Esc hotkeys
  121.         BREQF_FUZZ_BUTTONS              = 64   -> Use fuzz style buttons
  122.  
  123. /*****************************************************************************
  124.  *
  125.  *  BGUI localization definitions.
  126.  */
  127. OBJECT  bguiLocale
  128.         locale:PTR TO locale            -> Locale to use.
  129.         catalog:PTR TO catalog          -> Catalog to use.
  130.         localeStrHook:PTR TO hook       -> Localization function.
  131.         catalogStrHook:PTR TO hook      -> Localization function.
  132.         userData:PTR TO LONG            -> For application use.
  133. ENDOBJECT
  134.  
  135. OBJECT  bguiLocaleStr
  136.         id:LONG                         -> ID of locale string.
  137. ENDOBJECT
  138.  
  139. OBJECT  bguiCatalogStr
  140.         id:LONG                         -> ID of locale string.
  141.         defaultString:PTR TO CHAR       -> Default string for this ID.
  142. ENDOBJECT
  143.  
  144.  
  145. /*****************************************************************************
  146.  *
  147.  *      Tag and method bases.
  148.  *
  149.  *      Range $800F0000 - $800FFFFF is reserved for BGUI tags.
  150.  *      Range $80020000 - $8002FFFF is reserved for imageclass tags.
  151.  *      Range $80030000 - $8003FFFF is reserved for gadgetclass tags.
  152.  *      Range $80040000 - $8004FFFF is reserved for icclass tags.
  153.  *      Range $80080000 - $8008FFFF is reserved for gadtools and asl tags.
  154.  *
  155.  *      Range $000F0000 - $000FFFFF is reserved for BGUI methods.
  156.  *      Range $00000001 - $0000FFFF is reserved for BOOPSI methods.
  157.  *
  158.  *      For custom classes, keep away from these ranges.  Values greater than
  159.  *      $80100000 for tags and $00100000 for methods are suggested.
  160.  */
  161. CONST   BGUI_TB                         = $800F0000,
  162.         BGUI_MB                         = $F0000
  163.  
  164. /*****************************************************************************
  165.  *
  166.  *      BGUI graphics definitions.
  167.  */
  168. CONST   SUBSHINE                        = -1,
  169.         SUBSHADOW                       = -2,
  170.  
  171.         NUMBGUIPENS                     = 2
  172.  
  173. /*
  174.  * The baseInfo structure contains information needed for many BGUI methods.
  175.  * It is backwards compatible with a V40 GadgetInfo.  Within a BGUI context,
  176.  * you should only use bi_Screen, bi_RPort, bi_DrInfo, and bi_Pens.
  177.  *
  178.  * This structure may be passed to a method that requires a GadgetInfo, but you
  179.  * MUST NOT pass a plain GadgetInfo to any function requiring a baseInfo.  Do
  180.  * not attempt to make one of these yourself; use AllocbaseInfo().
  181.  */
  182. OBJECT baseInfo
  183.         iScreen:PTR TO screen           /* Intuition Screen we're on.   */
  184.         iWindow:PTR TO window           /* Intuition Window we're in.   */
  185.         iRequester:PTR TO requester     /* Intuition Requester we're in.*/
  186.         rPort:PTR TO rastport           /* RastPort to render into.     */
  187.         layer:PTR TO layer              /* Layer of the rastport.       */
  188.         domain:ibox                     /* Domain of the gadget.        */
  189.         windowPens[2]:ARRAY OF CHAR     /* Detail/BlockPen of window.   */
  190.         drInfo:PTR TO drawinfo          /* DrawInfo of this screen.     */
  191.         giReserved[6]:ARRAY OF LONG     /* For compatibility.           */
  192.         /*
  193.          * The following are extensions to GadgetInfo.
  194.          */
  195.         version:INT                     /* For expansion.               */
  196.         screen:PTR TO object            /* Screen object we're in.      */
  197.         window:PTR TO object            /* Window object we're in.      */
  198.         requester:PTR TO object         /* Requester object we're in.   */
  199.         pens:PTR TO INT                 /* Drawing pens (BGUI).         */
  200.         renderFlags:LONG                /* See below.                   */
  201. ENDOBJECT
  202.  
  203. /*
  204.  * The baseInfo will grow,  Check the version to see what fields/flags are present.
  205.  */
  206. CONST   BINFO_VER_41_10                 = 1                     /* Initial version.             */
  207.  
  208. /*
  209.  * Render flags describe the look and feel rendering should use.
  210.  */
  211. CONST   BIRF_BUFFER                     = 1                     /* Rendering is buffered.       */
  212.  
  213. /*****************************************************************************
  214.  *
  215.  *  BGUI graphics definitions.
  216.  */
  217. OBJECT bguiPattern
  218.        flags:LONG               -> flags (see below)
  219.        left:INT                -> offset into bitmap
  220.        top:INT
  221.        width:INT               -> size of cut from bitmap
  222.        height:INT
  223.        bitMap:PTR TO bitmap     -> pattern bitmap
  224.        object:PTR TO object     -> datatype object
  225. ENDOBJECT
  226.  
  227. CONST   BPF_RELATIVE_ORIGIN             = 1      -> Origin relative to box
  228.  
  229. CONST   TEXTA_Text                      = BGUI_TB+40001,    /* ISG-- */
  230.         TEXTA_TextID                    = BGUI_TB+40002,    /* ISG-- */
  231.         TEXTA_CopyText                  = BGUI_TB+40003,    /* ISG-- */
  232.         TEXTA_Args                      = BGUI_TB+40004,    /* ISG-- */
  233.  
  234.         TEXTM_RENDER                    = BGUI_MB+40001
  235.  
  236. /* Render a text graphic. */
  237.  
  238. OBJECT tmRender
  239.         methodID:LONG;              /* TEXTM_RENDER                 */
  240.         bInfo:PTR TO baseInfo
  241.         bounds:PTR TO ibox      /* Bounds to fit in.            */
  242. ENDOBJECT
  243.  
  244. CONST TEXTM_DIMENSIONS                  = BGUI_MB+40002
  245.  
  246. /* Render a text graphic. */
  247.  
  248. OBJECT tmDimensions
  249.         methodID:LONG               /* TEXTM_DIMENSIONS             */
  250.         rPort:PTR TO rastport       /* RastPort for computations.   */
  251.         width:PTR TO INT            /* Storage width in pixels      */
  252.         height:PTR TO INT           /* Storage height in pixels     */
  253. ENDOBJECT
  254.  
  255. /*****************************************************************************
  256.  *
  257.  *      Class implementor information.
  258.  */
  259.  
  260. OBJECT dispatcherFunction
  261.    methodID:LONG
  262.    func:LONG
  263. ENDOBJECT
  264.  
  265. CONST DF_END = -1
  266.  
  267. /* For use with the BGUI_MakeClass() call. */
  268.  
  269. CONST   CLASS_SuperClass                = BGUI_TB+10001,
  270.         CLASS_SuperClassID              = BGUI_TB+10002,
  271.         CLASS_SuperClassBGUI            = BGUI_TB+10003,
  272.         CLASS_ClassID                   = BGUI_TB+10004,
  273.         CLASS_ClassSize                 = BGUI_TB+10005,
  274.         CLASS_ObjectSize                = BGUI_TB+10006,
  275.         CLASS_Flags                     = BGUI_TB+10007,
  276.         CLASS_Dispatcher                = BGUI_TB+10008,
  277.         CLASS_DFTable                   = BGUI_TB+10009,
  278.         CLASS_ClassDispatcher           = BGUI_TB+10010,
  279.         CLASS_ClassDFTable              = BGUI_TB+10011
  280.  
  281. OBJECT bguiClassBase
  282.    library:LONG
  283.    class:PTR TO iclass
  284. ENDOBJECT
  285.  
  286.  
  287. /*****************************************************************************
  288.  *
  289.  *      "rootclass" - BOOPSI rootclass replacement for BGUI.
  290.  *
  291.  *      Tags:    negative
  292.  *
  293.  *      Methods: negative
  294.  *
  295.  *      This is a rootclass replacement that augments the rootclass with
  296.  *      notification, more advanced attribute control, and more.
  297.  *      It is actually derived from the intuition rootclass, so any future
  298.  *      rootclass enhancements will work.
  299.  */
  300.  
  301. CONST   RA_NewSetHighestClass           = BGUI_TB+30001,    /* --G-- */  /* V41.9 */
  302.  
  303. /* New methods */
  304.         RM_SET                          = BGUI_MB+30001,
  305.         RM_SETM                         = BGUI_MB+30002,
  306.         RM_SETCUSTOM                    = BGUI_MB+30003,
  307.         RM_GET                          = BGUI_MB+30011,
  308.         RM_GETM                         = BGUI_MB+30012,
  309.         RM_GETCUSTOM                    = BGUI_MB+30013,
  310.         RM_REFRESH                      = BGUI_MB+30021,
  311.         RM_GETATTRFLAGS                 = BGUI_MB+30022
  312.  
  313. /* Set or get attribute(s). */
  314. OBJECT rmAttr
  315.         methodID:LONG
  316.         attr:PTR TO tagitem
  317.         flags:LONG
  318. ENDOBJECT
  319.  
  320. /* Set or get attribute(s). */
  321. OBJECT rmRefresh
  322.         methodID:LONG
  323.         context:PTR TO LONG
  324.         flags:LONG
  325. ENDOBJECT
  326.  
  327. /*
  328.  * The following flags are context specific (and semi-private).
  329.  */
  330. CONST   RAF_SUPER              = 1,  /* Pass to the superclass too.    */
  331.         RAF_NOTIFY             = 2,  /* Send out a notification.       */
  332.         RAF_REDRAW             = 4,  /* Gadget must be redrawn.        */
  333.         RAF_RESIZE             = 8,  /* Gadget may have changed size.  */
  334.         RAF_CUSTOM             = $400, /* Custom RM_SET processing.      */
  335.         RAF_INITIAL            = $800, /* Prevent redundancy in OM_NEW.  */
  336.         RAF_NOGET              = $1000, /* Get is not allowed.            */
  337.         RAF_NOSET              = $2000, /* Set is not allowed.            */
  338.         RAF_NOUPDATE           = $4000, /* Update is not allowed.         */
  339.         RAF_NOINTERIM          = $8000, /* Interim update is not allowed. */
  340.         RAF_UNDERSTOOD         = $10000, /* Tag was understood.            */
  341.         RAF_UPDATE             = $20000, /* This is an update message.     */
  342.         RAF_INTERIM            = $40000, /* This is an interim update.     */
  343.         RAF_BYTE               = 0, /* Size is one byte.              */
  344.         RAF_WORD               = $10000000, /* Size is one word.              */
  345.         RAF_LONG               = $20000000, /* Size is one long.              */
  346.         RAF_ADDR               = $30000000, /* Return address of field.       */
  347.         RAF_BOOL               = $40000000, /* Data is boolean.               */
  348.         RAF_SIGNED             = $80000000, /* Signed attribute.              */
  349.  
  350.         RAF_ADDRESS            = $30002000,
  351.         RAF_NOP                = $B0000000
  352.  
  353. CONST   RM_REMOVE               = BGUI_MB+30030,   /* OBSOLETE */
  354.  
  355. /* Remove an object from a list. */
  356.  
  357.         RM_ADDHEAD              = BGUI_MB+30031,   /* OBSOLETE */
  358.         RM_ADDTAIL              = BGUI_MB+30032    /* OBSOLETE */
  359.  
  360. /* Add an object to a list. */
  361. OBJECT rmAdd
  362.         methodID:LONG
  363.         list:PTR TO LONG
  364. ENDOBJECT
  365.  
  366. CONST   RM_INSERT               = BGUI_MB+30033   /* OBSOLETE */
  367.  
  368. /* Insert an object into a list. */
  369. OBJECT rmInsert
  370.         methodID:LONG
  371.         list:PTR TO LONG
  372.         previous:object
  373. ENDOBJECT
  374.  
  375. CONST   RM_PREV                 = BGUI_TB+30034   /* OBSOLETE */
  376.  
  377. /* Get the previous object. */
  378.  
  379. CONST   RM_NEXT                 = BGUI_TB+30035   /* OBSOLETE */
  380.  
  381. /* Get the next object. */
  382.  
  383.  
  384. CONST   RM_ADDCOLLECTION        = BGUI_TB+30030
  385. CONST   RM_REMOVECOLLECTION     = BGUI_TB+30031
  386.  
  387. /* Manage the collections this object is contained in. */  /* PRIVATE */
  388. OBJECT rmCollection
  389.         methodID:LONG
  390.         collection:PTR TO object
  391. ENDOBJECT
  392.  
  393. CONST   RM_REMNOTIFY            = BGUI_MB+30040
  394.  
  395. /* Remove a notification from a notification list. */
  396. OBJECT rmRemoveNotify
  397.         methodID:LONG
  398.         notify:PTR TO LONG
  399.         flags:LONG
  400. ENDOBJECT
  401.  
  402. CONST   RRF_ALL_MAPS           = 1,  /* Remove all maps.              */
  403.         RRF_ALL_ATTRS          = 2,  /* Remove all attributes.        */
  404.         RRF_ALL_METHODS        = 4,  /* Remove all methods.           */
  405.         RRF_ALL_HOOKS          = 8,   /* Remove all hooks.             */
  406.  
  407.  
  408.         RM_ADDMAP              = BGUI_MB+30041
  409.  
  410. /* Add an object to the maplist notification list. */
  411. OBJECT rmAddMap
  412.         methodID:LONG
  413.         priority:LONG
  414.         flags:LONG
  415.         condition:tagitem
  416.         object:PTR TO object
  417.         mapList:PTR TO tagitem
  418. ENDOBJECT
  419.  
  420. CONST   RM_ADDATTR              = BGUI_MB+30042
  421.  
  422. /* Add an object to the conditional attribute notification list. */
  423. OBJECT rmAddAttr
  424.         methodID:LONG
  425.         priority:LONG
  426.         flags:LONG
  427.         condition:tagitem
  428.         object:PTR TO object
  429.         attr:tagitem
  430. ENDOBJECT
  431.  
  432.  
  433. CONST   RM_ADDMETHOD              = BGUI_MB+30043
  434.  
  435. /* Add an object to the conditional method notification list. */
  436. OBJECT rmAddMethod
  437.         methodID:LONG
  438.         priority:LONG
  439.         flags:LONG
  440.         condition:tagitem
  441.         object:PTR TO object
  442.         size:LONG
  443.         rMethodID:LONG
  444. ENDOBJECT
  445.  
  446. CONST   RM_ADDHOOK                  = BGUI_MB+30044
  447.  
  448. /* Add an object to the conditional method notification list. */
  449. OBJECT rmAddHook
  450.         methodID:LONG
  451.         priority:LONG
  452.         flags:LONG
  453.         condition:tagitem
  454.         hook:PTR TO hook
  455. ENDOBJECT
  456.  
  457. CONST   RAF_NO_GINFO                = 1,  /* Do not send GadgetInfo.       */
  458.         RAF_NO_INTERIM              = 2,  /* Skip interim messages.        */
  459.         RAF_FALSE                   = 4,  /* Condition must be false.      */
  460.         RAF_TRUE                    = 8,  /* Condition must be true.       */
  461.         RAF_MIRROR_MAP              = 16,   /* Reverse map the other object. */
  462.  
  463. /*****************************************************************************
  464.  *
  465.  *  "baseclass" - BOOPSI base gadget.
  466.  *
  467.  *  Tags: 241 - 320         Methods: 41 - 80
  468.  *
  469.  *  This is a very important BGUI gadget class. All other gadget classes
  470.  *  are sub-classed from this class. It will handle stuff like online
  471.  *  help, notification, labels and frames etc. If you want to write a
  472.  *  gadget class for BGUI be sure to subclass it from this class. That
  473.  *  way your class will automatically inherit the same features.
  474.  */
  475.         BT_TAGSTART                 = BGUI_TB+241,
  476.         BT_HelpFile                 = BGUI_TB+241,   /* IS--- */
  477.         BT_HelpNode                 = BGUI_TB+242,   /* IS--- */
  478.         BT_HelpLine                 = BGUI_TB+243,   /* IS--- */
  479.         BT_Inhibit                  = BGUI_TB+244,   /* --G-- */
  480.         BT_HitBox                   = BGUI_TB+245,   /* --G-- */
  481.         BT_LabelObject              = BGUI_TB+246,   /* -SG-- */
  482.         BT_FrameObject              = BGUI_TB+247,   /* -SG-- */
  483.         BT_TextAttr                 = BGUI_TB+248,   /* ISG-- */
  484.         BT_NoRecessed               = BGUI_TB+249,   /* -S--- */
  485.         BT_LabelClick               = BGUI_TB+250,   /* IS--- */
  486.         BT_HelpText                 = BGUI_TB+251,   /* IS--- */
  487.         BT_ToolTip                  = BGUI_TB+252,   /* ISG-- */  /* V40 */
  488.         BT_DragObject               = BGUI_TB+253,   /* ISG-- */  /* V40 */
  489.         BT_DropObject               = BGUI_TB+254,   /* ISG-- */  /* V40 */
  490.         BT_DragTreshold             = BGUI_TB+255,   /* ISG-- */  /* V40 */
  491.         BT_DragQualifier            = BGUI_TB+256,   /* ISG-- */  /* V40 */
  492.         BT_Key                      = BGUI_TB+257,   /* ISG-- */  /* V41.2 */
  493.         BT_RawKey                   = BGUI_TB+258,   /* ISG-- */  /* V41.2 */
  494.         BT_Qualifier                = BGUI_TB+259,   /* ISG-- */  /* V41.2 */
  495.         BT_HelpTextID               = BGUI_TB+260,   /* ISG-- */  /* V41.3 */
  496.         BT_ToolTipID                = BGUI_TB+261,   /* ISG-- */  /* V41.3 */
  497.         BT_MouseActivation          = BGUI_TB+262,   /* ISG-- */  /* V41.5 */
  498.         BT_Reserved1                = BGUI_TB+263,   /* ISG-- */  /* V41.6 */
  499.         BT_Reserved2                = BGUI_TB+264,   /* ISG-- */  /* V41.6 */
  500.         BT_Buffer                   = BGUI_TB+265,   /* ISG-- */  /* V41.6 */
  501.         BT_LeftOffset               = BGUI_TB+266,   /* ISG-- */  /* V41.6 */
  502.         BT_RightOffset              = BGUI_TB+267,   /* ISG-- */  /* V41.6 */
  503.         BT_TopOffset                = BGUI_TB+268,   /* ISG-- */  /* V41.6 */
  504.         BT_BottomOffset             = BGUI_TB+269,   /* ISG-- */  /* V41.6 */
  505.         BT_HelpHook                 = BGUI_TB+270,   /* ISG-- */  /* V41.7 */
  506.         BT_OuterBox                 = BGUI_TB+271,   /* --G-- */  /* V41.8 */
  507.         BT_InnerBox                 = BGUI_TB+272,   /* --G-- */
  508.         BT_PostRenderHighestClass   = BGUI_TB+273,   /* --G-- */
  509.         BT_TAGDONE                  = BGUI_TB+320,
  510.  
  511.         MOUSEACT_RMB_ACTIVE = 1,
  512.         MOUSEACT_RMB_REPORT = 2,
  513.         MOUSEACT_MMB_ACTIVE = 4,
  514.         MOUSEACT_MMB_REPORT = 8
  515.  
  516. /* New methods */
  517.  
  518. /* Methods 41 - 46 are obsolete. */
  519.  
  520. CONST   BASE_SHOWHELP           = BGUI_MB+47
  521.  
  522. /* Show attached online-help. */
  523. OBJECT bmShowHelp
  524.     methodID:LONG
  525.     window:PTR TO  window
  526.     requester:PTR TO requester
  527.     mouseX:INT
  528.     mouseY:INT
  529. ENDOBJECT
  530.  
  531. ENUM    BMHELP_OK,        /* OK, no problems.       */
  532.         BMHELP_NOT_ME,    /* Mouse not over the object. */
  533.         BMHELP_FAILURE    /* Showing failed.        */
  534.  
  535. /* Methods 48 - 53 are obsolete. */
  536.  
  537. CONST   BASE_DRAGGING           = BGUI_MB+54 /* V40 */
  538.  
  539. /* Return codes for the BASE_DRAGGING method. */
  540. CONST   BDR_NONE            = 0, /* Handle input yourself.   */
  541.         BDR_DRAGPREPARE     = 1, /* Prepare for dragging.    */
  542.         BDR_DRAGGING        = 2, /* Don't handle events.     */
  543.         BDR_DROP            = 3, /* Image dropped.       */
  544.         BDR_CANCEL          = 4  /* Drag canceled.       */
  545.  
  546. CONST   BASE_DRAGQUERY          = BGUI_MB+55 /* V40 */
  547.  
  548. /* For both BASE_DRAGQUERY and BASE_DRAGUPDATE. */
  549. OBJECT bmDragPoint
  550.     methodID:LONG               -> BASE_DRAGQUERY
  551.     gInfo:PTR TO gadgetinfo     -> GadgetInfo
  552.     source:PTR TO object        -> Object querying.
  553.     mouseX:INT                  -> Mouse coords.
  554.     mouseY:INT                  -> Mouse coords.
  555. ENDOBJECT
  556.  
  557. /* Return codes for BASE_DRAGQUERY. */
  558. CONST   BQR_REJECT = 0,  /* Object will not accept drop. */
  559.         BQR_ACCEPT = 1  /* Object will accept drop. */
  560.  
  561. CONST   BASE_DRAGUPDATE         = BGUI_MB+56 /* V40 */
  562.  
  563. /* Return codes for BASE_DRAGUPDATE. */
  564. CONST   BUR_CONTINUE= 0, /* Continue drag. */
  565.         BUR_ABORT   = 1  /* Abort drag.    */
  566.  
  567. CONST   BASE_DROPPED            = BGUI_MB+57 /* V40 */
  568.  
  569. /* Source object is dropped. */
  570. OBJECT bmDropped
  571.     methodID:LONG
  572.     gInfo:PTR TO gadgetinfo         -> GadgetInfo structure
  573.     source:PTR TO object            -> Object dropped
  574.     sourceWin:PTR TO window         -> Source obj window
  575.     sourceReq:PTR TO requester      -> Source onj requester
  576. ENDOBJECT
  577.  
  578. CONST   BASE_DRAGACTIVE         = BGUI_MB+58, /* V40 */
  579.         BASE_DRAGINACTIVE       = BGUI_MB+59 /* V40 */
  580.  
  581. /* Used by both methods defined above. */
  582. OBJECT bmDragMsg
  583.     methodID:LONG
  584.     gInfo:PTR TO gadgetinfo        -> GadgetInfo structure
  585.     source:PTR TO object           -> Object being dragged
  586. ENDOBJECT
  587.  
  588. CONST   BASE_GETDRAGOBJECT      = BGUI_MB+60 /* V40 */
  589.  
  590. /* Obtain BitMap image to drag. */
  591. OBJECT bmGetDragObject
  592.     methodID:LONG               -> BASE_GETDRAGOBJECT
  593.     gInfo:PTR TO gadgetinfo     -> GadgetInfo
  594.     bounds:PTR TO ibox          -> Bounds to buffer
  595. ENDOBJECT
  596.  
  597. CONST   BASE_FREEDRAGOBJECT     = BGUI_MB+61 /* V40 */
  598.  
  599. /* Free BitMap image being dragged. */
  600. OBJECT bmFreeDragObject
  601.     methodID:LONG                   -> BASE_FREEDRAGOBJECT
  602.     gInfo:PTR TO gadgetinfo         -> GadgetInfo
  603.     objBitMap:PTR TO bitmap         -> BitMap to free
  604. ENDOBJECT
  605.  
  606. CONST   BASE_INHIBIT            = BGUI_MB+62
  607.  
  608. /* Inhibit/uninhibit this object.       */
  609. OBJECT bmInhibit
  610.     methodID:LONG                   -> BASE_INHIBIT
  611.     inhibit:LONG                    -> Inhinit on/off
  612. ENDOBJECT
  613.  
  614. CONST   BASE_FINDKEY            = BGUI_MB+63     /* V41 */
  615.  
  616. /* Locate object with this rawkey.  */
  617. OBJECT  bmFindKey
  618.     methodID:LONG           -> BASE_FINDKEY
  619.     qual:INT                -> Key to find
  620.     key:INT
  621. ENDOBJECT
  622.  
  623. CONST   BASE_KEYLABEL           = BGUI_MB+64     /* V41 */
  624.  
  625. /* Attach key in this label to the object.  */
  626. OBJECT  bmKeyLabel
  627.     methodID:LONG   -> BASE_KEYLABEL
  628. ENDOBJECT
  629.  
  630. CONST   BASE_LOCALIZE           = BGUI_MB+65     /* V41 */
  631.  
  632. /* Localize this object.            */
  633. OBJECT bmLocalize
  634.     methodID:LONG
  635.     locale:PTR TO bguiLocale
  636. ENDOBJECT
  637.  
  638. CONST   BASE_RENDER             = BGUI_MB+66    /* V41.10 */
  639.  
  640. /* Render this object. */
  641. OBJECT bmRender
  642.         methodID:LONG           /* BASE_RENDER          */
  643.         bInfo:PTR TO baseInfo   /* baseInfo.            */
  644.         flags:LONG              /* See below.           */
  645. ENDOBJECT
  646.  
  647. CONST   BASE_DIMENSIONS         = BGUI_MB+67    /* V41.10 */
  648.  
  649. /* Ask an object its dimensions information. */
  650.  
  651. OBJECT bmDimensions
  652.         methodID:LONG               /* BASE_DIMENSIONS          */
  653.         bInfo:PTR TO baseInfo       /* Ready for calculations.  */
  654.         extent:PTR TO bguiExtent    /* Storage for dimensions.  */
  655.         flags:LONG                  /* See below.               */
  656. ENDOBJECT
  657.  
  658. /* Flags */
  659. CONST   BDF_CUSTOM_GROUP        = 1  /* Do not use groupclass layout.        */
  660.  
  661.  
  662. CONST   BASE_LAYOUT             = BGUI_MB+68    /* V41.10 */
  663.  
  664. /* Layout this object. */
  665. OBJECT bmLayout
  666.         methodID;                   /* BASE_LAYOUT              */
  667.         bInfo:PTR TO baseInfo;      /* baseInfo.                */
  668.         bounds:PTR TO ibox          /* Bounds to layout into.   */
  669.         flags:LONG                  /* See below.               */
  670. ENDOBJECT
  671.  
  672. /* Flags */
  673. CONST   BLF_CUSTOM_GROUP        = 1  /* Do not use groupclass layout.        */
  674.  
  675. /* Flags */
  676. CONST   GDIMF_NO_FRAME          = 1  /* Don't take frame width/height into consideration.                  */
  677. CONST   GDIMF_NO_OFFSET         = 2  /* No inner offset from the frame.      */
  678.  
  679.  
  680. /*****************************************************************************
  681.  *
  682.  *  "groupclass" - BOOPSI group gadget.
  683.  *
  684.  *  Tags: 301 - 400         Methods: 81 - 120
  685.  *
  686.  *  This class is the actual bgui.library layout engine. It will layout
  687.  *  all members in a specific area. Two group types are available,
  688.  *  horizontal and vertical groups.
  689.  */
  690. CONST   GROUP_Rows              = BGUI_TB+301,   /* ISG-- */
  691.         GROUP_Columns           = BGUI_TB+302,   /* ISG-- */
  692.         GROUP_HorizSpacing      = BGUI_TB+303,   /* ISG-- */
  693.         GROUP_VertSpacing       = BGUI_TB+304,   /* ISG-- */
  694.         GROUP_HorizAlign        = BGUI_TB+305,   /* ISG-- */
  695.         GROUP_VertAlign         = BGUI_TB+306,   /* ISG-- */
  696.         GROUP_Members           = BGUI_TB+312,   /* --G-- */
  697.         GROUP_NumMembers        = BGUI_TB+313,   /* --G-- */
  698.         GROUP_Style             = BGUI_TB+321,   /* I---- */
  699.         GROUP_Spacing           = BGUI_TB+322,   /* I---- */
  700.         GROUP_HorizOffset       = BGUI_TB+323,   /* I---- */
  701.         GROUP_VertOffset        = BGUI_TB+324,   /* I---- */
  702.         GROUP_LeftOffset        = BGUI_TB+325,   /* I---- */
  703.         GROUP_TopOffset         = BGUI_TB+326,   /* I---- */
  704.         GROUP_RightOffset       = BGUI_TB+327,   /* I---- */
  705.         GROUP_BottomOffset      = BGUI_TB+328,   /* I---- */
  706.         GROUP_Member            = BGUI_TB+329,   /* I---- */
  707.         GROUP_SpaceObject       = BGUI_TB+330,   /* I---- */
  708.         GROUP_BackFill          = BGUI_TB+331,   /* I---- */
  709.         GROUP_EqualWidth        = BGUI_TB+332,   /* I---- */
  710.         GROUP_EqualHeight       = BGUI_TB+333,   /* I---- */
  711.         GROUP_Inverted          = BGUI_TB+334,   /* I---- */
  712.         GROUP_BackPen           = BGUI_TB+335,   /* I---- */  /* V40 */
  713.         GROUP_BackDriPen        = BGUI_TB+336,   /* I---- */  /* V40 */
  714.         GROUP_Offset            = BGUI_TB+337,   /* I---- */  /* V41 */
  715.  
  716. /* Object layout attributes. */
  717.         LGO_TAGSTART            = BGUI_TB+361,
  718.         LGO_Left                = BGUI_TB+361,   /* -S--- */  /* V41.9 */
  719.         LGO_Top                 = BGUI_TB+362,   /* -S--- */
  720.         LGO_Width               = BGUI_TB+363,   /* -S--- */
  721.         LGO_Height              = BGUI_TB+364,   /* -S--- */
  722.         LGO_MinWidth            = BGUI_TB+365,   /* --G-- */
  723.         LGO_MinHeight           = BGUI_TB+366,   /* --G-- */
  724.         LGO_MaxWidth            = BGUI_TB+367,   /* --G-- */
  725.         LGO_MaxHeight           = BGUI_TB+368,   /* --G-- */
  726.         LGO_NomWidth            = BGUI_TB+369,   /* --G-- */
  727.         LGO_NomHeight           = BGUI_TB+370,   /* --G-- */
  728.         LGO_FixWidth            = BGUI_TB+381,
  729.         LGO_FixHeight           = BGUI_TB+382,
  730.         LGO_Weight              = BGUI_TB+383,
  731.         LGO_FixMinWidth         = BGUI_TB+384,
  732.         LGO_FixMinHeight        = BGUI_TB+385,
  733.         LGO_Align               = BGUI_TB+386,
  734.         LGO_NoAlign             = BGUI_TB+387,                  /* V38 */
  735.         LGO_FixAspect           = BGUI_TB+388,                  /* V41 */
  736.         LGO_Visible             = BGUI_TB+389,   /* IS--- */  /* V41 */
  737.         LGO_HAlign              = BGUI_TB+390,   /* IS--- */
  738.         LGO_VAlign              = BGUI_TB+391,   /* IS--- */
  739.         LGO_Object              = BGUI_TB+392,   /* --G-- */  /* V41.10 */
  740.         LGO_TAGDONE             = BGUI_TB+400,
  741.  
  742. /* Default object weight. */
  743.         DEFAULT_WEIGHT          = 50,
  744.  
  745. /* Group styles. */
  746.         GRSTYLE_HORIZONTAL      = 0,
  747.         GRSTYLE_VERTICAL        = 1,
  748.  
  749. /* Group alignments. */
  750.         GRALIGN_DEFAULT         = 0,               /* V41.9 */
  751.         GRALIGN_LEFT            = 1,
  752.         GRALIGN_TOP             = 1,
  753.         GRALIGN_CENTER          = 2,
  754.         GRALIGN_RIGHT           = 3,
  755.         GRALIGN_BOTTOM          = 3,
  756.  
  757. /* Group spacings. */
  758.         GRSPACE_NARROW          = -1,                         /* V41 */
  759.         GRSPACE_NORMAL          = -2,                         /* V41 */
  760.         GRSPACE_WIDE            = -3                          /* V41 */
  761.  
  762. /* Ask an object it's dimensions information. */
  763. OBJECT bguiDimension
  764.     width:INT
  765.     height:INT
  766. ENDOBJECT
  767.  
  768. /* Add a weight controlled spacing member. */
  769. OBJECT bguiExtent
  770.     min:bguiDimension
  771.     max:bguiDimension
  772.     nom:bguiDimension
  773. ENDOBJECT
  774.  
  775. /* New methods. */
  776.  
  777. /* Methods 81-86 are obsolete. */
  778.  
  779. CONST   GRM_WHICHOBJECT         = BGUI_MB+87    /* V40 */
  780.  
  781. /* Locate object under these coords. */
  782. OBJECT grmWhichObject
  783.     methodID:LONG   -> GRM_WHICHOBJECT
  784.     coordsX:INT
  785.     coordsY:INT
  786. ENDOBJECT
  787.  
  788. CONST   GROUPM_NEWMEMBER        = BGUI_MB+88    /* 41.10 */
  789. CONST   GROUPM_ADDMEMBER        = BGUI_MB+91    /* 41.9 */
  790.  
  791. /* Ask an object it's maximum dimensions. */
  792. OBJECT gmAddMember
  793.         methodID:LONG               /* GROUPM_ADDMEMBER         */
  794.         gInfo:PTR TO gadgetinfo     /* GadgetInfo structure.    */
  795.         member:PTR TO object        /* Object to add.           */
  796.         attrs:LONG                  /* First of LGO attributes. */
  797. ENDOBJECT
  798.  
  799. CONST   GROUPM_REMMEMBER        = BGUI_MB+92    /* V41.9 */
  800.  
  801. /* Remove a member from the group. */
  802. OBJECT gmRemMember
  803.         methodID:LONG               /* GROUPM_REMMEMBER         */
  804.         gInfo:PTR TO gadgetinfo     /* GadgetInfo structure.    */
  805.         member:PTR TO object        /* Object to remove.        */
  806. ENDOBJECT
  807.  
  808. CONST   GROUPM_INSERTMEMBER     = BGUI_MB+93    /* V41.9 */
  809.  
  810. /* Insert a member in the group. */
  811. OBJECT gmInsertMember
  812.         methodID:LONG               /* GROUPM_INSERTMEMBER      */
  813.         gInfo:PTR TO gadgetinfo     /* GadgetInfo structure.    */
  814.         member:PTR TO object        /* Member to insert.        */
  815.         pred:PTR TO object          /* Insert after this member */
  816.         attr:LONG                   /* First of LGO attributes. */
  817. ENDOBJECT
  818.  
  819. CONST   GROUPM_REPLACEMEMBER    = BGUI_MB+94    /* V41.9 */
  820.  
  821. /* Replace a member in the group. */
  822. OBJECT gmReplaceMember
  823.         methodID:LONG               /* GROUPM_REPLACEMEMBER     */
  824.         gInfo:PTR TO gadgetinfo     /* GadgetInfo structure.    */
  825.         memberA:PTR TO object       /* Object to replace.       */
  826.         memberB:PTR TO object       /* Object which replaces.   */
  827.         attr:LONG                   /* First of LGO attributes. */
  828. ENDOBJECT
  829.  
  830. CONST   GROUPM_ADDSPACEMEMBER       = BGUI_MB+95    /* V41.9 */
  831.  
  832. /* Add a weight controlled spacing member. */
  833. OBJECT gmAddSpaceMember
  834.         methodID:LONG               /* GROUPM_ADDSPACEMEMBER    */
  835.         gInfo:PTR TO gadgetinfo     /* GadgetInfo structure.    */
  836.         weight:LONG                 /* Object weight.           */
  837. ENDOBJECT
  838.  
  839. CONST GROUPM_OBTAINMEMBERS          = BGUI_MB+90    /* V41.9 */
  840.  
  841. /* Get the array of members, locking the list if necessary. */
  842. OBJECT gmObtainMembers
  843.         methodID:LONG       /* GROUPM_OBTAINMEMBERS     */
  844.         flags:LONG          /* See below.               */
  845.         number:PTR TO INT   /* Get number of members.   */
  846. ENDOBJECT
  847.  
  848. CONST   GROMF_SHARED                = 0,  /* Share the list (read-only).      */
  849.         GROMF_EXCLUSIVE             = 1,  /* Exclusive lock (modify).         */
  850.         GROMF_ATTEMPT               = 0,  /* Return if lock fails.            */
  851.         GROMF_WAIT                  = 2,  /* Wait until lock succeeds.        */
  852.         GROMF_MEMBERS               = 0,  /* Get array of member nodes.       */
  853.         GROMF_OBJECTS               = 4,  /* Get array of actual objects.     */
  854.         GROMF_VISIBLE               = 8,  /* Visible objects only.            */
  855.  
  856.         GROUPM_RELEASEMEMBERS       = BGUI_MB+91    /* V41.9 */
  857.  
  858. /* Free the array of members. */
  859. OBJECT gmReleaseMembers
  860.         methodID:LONG           /* GROUPM_RELEASEMEMBERS    */
  861.         array:PTR TO object     /* Array to release.        */
  862. ENDOBJECT
  863.  
  864.  
  865. /*****************************************************************************
  866.  *
  867.  *  "buttonclass" - BOOPSI button gadget.
  868.  *
  869.  *  Tags: 401 - 480         Methods: 121 - 160
  870.  *
  871.  *  GadTools style button gadget.
  872.  *
  873.  *  GA_Selected has been made gettable (OM_GET) for toggle-select
  874.  *  buttons. (ISGNU)
  875.  */
  876. CONST   BUTTON_UNUSED1          = BGUI_TB+401,   /* PRIVATE! */
  877.         BUTTON_UNUSED0          = BGUI_TB+402,   /* PRIVATE! */
  878.         BUTTON_Image            = BGUI_TB+403,   /* IS--U */
  879.         BUTTON_SelectedImage    = BGUI_TB+404,   /* IS--U */
  880.         BUTTON_EncloseImage     = BGUI_TB+405,   /* I---- */  /* V39 */
  881.         BUTTON_Vector           = BGUI_TB+406,   /* IS--U */  /* V41 */
  882.         BUTTON_SelectedVector   = BGUI_TB+407,   /* IS--U */  /* V41 */
  883.         BUTTON_SelectOnly       = BGUI_TB+408,   /* I---- */  /* V41.6 */
  884.  
  885. /*****************************************************************************
  886.  *
  887.  *  "checkboxclass" - BOOPSI checkbox gadget.
  888.  *
  889.  *  Tags: 481 - 560         Methods: 161 - 200
  890.  *
  891.  *  GadTools style checkbox gadget.
  892.  *
  893.  *  GA_Selected has been made gettable (OM_GET). (ISGNU)
  894.  */
  895.  
  896. /*****************************************************************************
  897.  *
  898.  *  "cycleclass" - BOOPSI cycle gadget.
  899.  *
  900.  *  Tags: 561 - 640         Methods: 201 - 240
  901.  *
  902.  *  GadTools style cycle gadget.
  903.  */
  904.         CYC_Labels              = BGUI_TB+561,   /* I---- */
  905.         CYC_Active              = BGUI_TB+562,   /* ISGNU */
  906.         CYC_Popup               = BGUI_TB+563,   /* I---- */
  907.         CYC_PopActive           = BGUI_TB+564,   /* I---- */  /* V40 */
  908.  
  909. /*****************************************************************************
  910.  *
  911.  *  "infoclass" - BOOPSI information gadget.
  912.  *
  913.  *  Tags: 641 - 720         Methods: 241 - 280
  914.  *
  915.  *  Text gadget which supports different colors, text styles and
  916.  *  text positioning.
  917.  */
  918.         INFO_TextFormat         = BGUI_TB+641,   /* IS--U */
  919.         INFO_Args               = BGUI_TB+642,   /* IS--U */
  920.         INFO_MinLines           = BGUI_TB+643,   /* I---- */
  921.         INFO_FixTextWidth       = BGUI_TB+644,   /* I---- */
  922.         INFO_HorizOffset        = BGUI_TB+645,   /* I---- */
  923.         INFO_VertOffset         = BGUI_TB+646,   /* I---- */
  924.         INFO_FixTextHeight      = BGUI_TB+647    /* IS--U */ /* V41.9 */
  925.  
  926. /* Command sequences. */
  927. #define ISEQ_B                  '\eb'  /* Bold          */
  928. #define ISEQ_I                  '\ei'  /* Italics       */
  929. #define ISEQ_U                  '\eu'  /* Underlined    */
  930. #define ISEQ_N                  '\en'  /* Normal        */
  931. #define ISEQ_SHADOWED           '\es'  /* Shadowed                  */
  932. #define ISEQ_U2                 '\ez'  /* Underlined offset 2       */
  933. #define ISEQ_HU                 '\eZ'  /* Highlight, underlined     */
  934. #define ISEQ_C                  '\ec'  /* Centered      */
  935. #define ISEQ_R                  '\er'  /* Right         */
  936. #define ISEQ_L                  '\el'  /* Left          */
  937. #define ISEQ_JUSTIFY            '\ej'  /* Justify text              */
  938. #define ISEQ_KEEP               '\ek'  /* This will keep the        */
  939.                                        /* color/formatting changes  */
  940.                                        /* from not terminating at   */
  941.                                        /* the newline               */
  942. #define ISEQ_WRAP               '\ew'  /* Wrap text                 */
  943. #define ISEQ_TEXT               '\ed2' /* TEXTPEN       */
  944. #define ISEQ_SHINE              '\ed3' /* SHINEPEN      */
  945. #define ISEQ_SHADOW             '\ed4' /* SHADOWPEN     */
  946. #define ISEQ_FILL               '\ed5' /* FILLPEN       */
  947. #define ISEQ_FILLTEXT           '\ed6' /* FILLTEXTPEN   */
  948. #define ISEQ_HIGHLIGHT          '\ed8' /* HIGHLIGHTPEN  */
  949. #define ISEQ_JAM1               '\331' /* JAM1                      */
  950. #define ISEQ_JAM2               '\332' /* JAM2                      */
  951. #define ISEQ_COMPLEMENT         '\33C' /* COMPLEMENT                */
  952.  
  953. /*****************************************************************************
  954.  *
  955.  *  "listviewclass" - BOOPSI listview gadget.
  956.  *
  957.  *  Tags: 721 - 800         Methods: 281 - 320
  958.  *
  959.  *  GadTools style listview gadget.
  960.  */
  961. CONST   LISTV_TAGSTART              = BGUI_TB+721,
  962.         LISTV_ResourceHook          = BGUI_TB+721,   /* ISG-- */
  963.         LISTV_DisplayHook           = BGUI_TB+722,   /* ISG-- */
  964.         LISTV_CompareHook           = BGUI_TB+723,   /* ISG-- */
  965.         LISTV_Top                   = BGUI_TB+724,   /* ISG-U */
  966.         LISTV_ListFont              = BGUI_TB+725,   /* I-G-- */
  967.         LISTV_ReadOnly              = BGUI_TB+726,   /* I-G-- */
  968.         LISTV_MultiSelect           = BGUI_TB+727,   /* ISG-U */
  969.         LISTV_EntryArray            = BGUI_TB+728,   /* I---- */
  970.         LISTV_Select                = BGUI_TB+729,   /* -S--U */
  971.         LISTV_MakeVisible           = BGUI_TB+730,   /* -S--U */
  972.         LISTV_Entry                 = BGUI_TB+731,   /* ---N- */
  973.         LISTV_SortEntryArray        = BGUI_TB+732,   /* I---- */
  974.         LISTV_EntryNumber           = BGUI_TB+733,   /* ---N- */
  975.         LISTV_TitleHook             = BGUI_TB+734,   /* ISG-- */
  976.         LISTV_LastClicked           = BGUI_TB+735,   /* --G-- */
  977.         LISTV_ThinFrames            = BGUI_TB+736,   /* ISG-- */
  978.         LISTV_LastClickedNum        = BGUI_TB+737,   /* --G-- */  /* V38 */
  979.         LISTV_NewPosition           = BGUI_TB+738,   /* ---N- */  /* V38 */
  980.         LISTV_NumEntries            = BGUI_TB+739,   /* --G-- */  /* V38 */
  981.         LISTV_MinEntriesShown       = BGUI_TB+740,   /* I---- */  /* V38 */
  982.         LISTV_SelectMulti           = BGUI_TB+741,   /* -S--U */  /* V39 */
  983.         LISTV_SelectNotVisible      = BGUI_TB+742,   /* -S--U */  /* V39 */
  984.         LISTV_SelectMultiNotVisible = BGUI_TB+743,   /* -S--U */  /* V39 */
  985.         LISTV_MultiSelectNoShift    = BGUI_TB+744,   /* IS--U */  /* V39 */
  986.         LISTV_Deselect              = BGUI_TB+745,   /* -S--U */  /* V39 */
  987.         LISTV_DropSpot              = BGUI_TB+746,   /* --G-- */  /* V40 */
  988.         LISTV_ShowDropSpot          = BGUI_TB+747,   /* IS--- */  /* V40 */
  989.         LISTV_ViewBounds            = BGUI_TB+748,   /* --G-- */  /* V40 */
  990.         LISTV_CustomDisable         = BGUI_TB+749,   /* ISG-- */  /* V40 */
  991.         LISTV_FilterHook            = BGUI_TB+750,   /* ISG-- */  /* V41 */
  992.         LISTV_Columns               = BGUI_TB+751,   /* I-G-U */  /* V41 */
  993.         LISTV_ColumnWeights         = BGUI_TB+752,   /* ISG-U */  /* V41 */
  994.         LISTV_DragColumns           = BGUI_TB+753,   /* ISG-U */  /* V41 */
  995.         LISTV_Title                 = BGUI_TB+754,   /* ISG-U */  /* V41 */
  996.         LISTV_PropObject            = BGUI_TB+755,   /* ISG-- */  /* V41 */
  997.         LISTV_PreClear              = BGUI_TB+756,   /* ISG-- */  /* V41 */
  998.         LISTV_LastColumn            = BGUI_TB+757,   /* --G-- */  /* V41 */
  999.         LISTV_LayoutHook            = BGUI_TB+758,   /* IS--U */  /* V41 */
  1000.  
  1001.         LISTC_TAGSTART              = BGUI_TB+781,
  1002.         LISTC_MinWidth              = BGUI_TB+781,   /* -SG-- */  /* V41.9 */
  1003.         LISTC_MaxWidth              = BGUI_TB+762,   /* -SG-- */  /* V41.9 */
  1004.         LISTC_Weight                = BGUI_TB+763,   /* -SG-- */  /* V41.9 */
  1005.         LISTC_Draggable             = BGUI_TB+764,   /* -SG-- */  /* V41.9 */
  1006.         LISTC_Hidden                = BGUI_TB+765,   /* -SG-- */  /* V41.9 */
  1007.         LISTC_NoSeparator           = BGUI_TB+766,   /* -SG-- */  /* V41.9 */
  1008.         LISTC_PreClear              = BGUI_TB+767,   /* -SG-- */  /* V41.9 */
  1009.  
  1010. /*
  1011. **  LISTV_Select magic numbers.
  1012. **/
  1013.         LISTV_Select_First          = -1,                /* V38 */
  1014.         LISTV_Select_Last           = -2,                /* V38 */
  1015.         LISTV_Select_Next           = -3,                /* V38 */
  1016.         LISTV_Select_Previous       = -4,                /* V38 */
  1017.         LISTV_Select_Top            = -5,                /* V38 */
  1018.         LISTV_Select_Page_Up        = -6,                /* V38 */
  1019.         LISTV_Select_Page_Down      = -7,                /* V38 */
  1020.         LISTV_Select_All            = -8                /* V39 */
  1021.  
  1022. /*
  1023.  *  The LISTV_ResourceHook is called as follows:
  1024.  *
  1025.  *  rc = hookFunc( REG(A0) struct Hook      *hook,
  1026.  *             REG(A2) Object           *lv_object,
  1027.  *             REG(A1) struct lvResource    *message );
  1028.  */
  1029. OBJECT lvResource
  1030.     command:INT
  1031.     entry:PTR TO LONG
  1032. ENDOBJECT
  1033.  
  1034. /* LISTV_ResourceHook commands. */
  1035. CONST   LVRC_MAKE       = 1   /* Build the entry. */
  1036. CONST   LVRC_KILL       = 2   /* Kill the entry.  */
  1037.  
  1038. /*
  1039.  *  The LISTV_DisplayHook and the LISTV_TitleHook are called as follows:
  1040.  *
  1041.  *  rc = hookFunc( REG(A0) struct Hook         *hook,
  1042.  *             REG(A2) Object              *lv_object,
  1043.  *             REG(A1) struct lvRender         *message );
  1044.  */
  1045. OBJECT lvRender
  1046.     rPort:PTR TO rastport       /* RastPort to render in.  */
  1047.     drawInfo:PTR TO drawinfo    /* All you need to render. */
  1048.     bounds:rectangle            /* Bounds to render in.    */
  1049.     entry:PTR TO LONG           /* Entry to render.    */
  1050.     state:INT                   /* See below.          */
  1051.     flags:INT                   /* None defined yet.       */
  1052.     column:INT                  /* column to render         */
  1053. ENDOBJECT
  1054.  
  1055. /* Rendering states. */
  1056. ENUM    LVRS_NORMAL,
  1057.         LVRS_SELECTED,
  1058.         LVRS_NORMAL_DISABLED,
  1059.         LVRS_SELECTED_DISABLED
  1060.  
  1061. /*
  1062.  *  The LISTV_CompareHook is called as follows:
  1063.  *
  1064.  *  rc = hookFunc( REG(A0) struct Hook      *hook,
  1065.  *             REG(A2) Object           *lv_object,
  1066.  *             REG(A1) struct lvCompare         *message );
  1067.  */
  1068. OBJECT lvCompare
  1069.     entryA:PTR TO LONG      /* First entry.  */
  1070.     entryB:PTR TO LONG      /* Second entry. */
  1071. ENDOBJECT
  1072.  
  1073. /* New Methods. */
  1074. CONST   LVM_ADDENTRIES          = BGUI_MB+281
  1075.  
  1076. /* Add listview entries. */
  1077. OBJECT lvmAddEntries
  1078.     methodID:LONG               /* LVM_ADDENTRIES  */
  1079.     gInfo:PTR TO gadgetinfo     /* GadgetInfo      */
  1080.     entries:PTR TO LONG         /* Entries to add. */
  1081.     how:LONG                    /* How to add it.  */
  1082. ENDOBJECT
  1083.  
  1084. /* Where to add the entries. */
  1085. ENUM    LVAP_HEAD      = 1,
  1086.         LVAP_TAIL,
  1087.         LVAP_SORTED
  1088.  
  1089. CONST   LVM_ADDSINGLE           = BGUI_MB+282
  1090.  
  1091. /* Add a single entry. */
  1092. OBJECT lvmAddSingle
  1093.     methodID:LONG           /* LVM_ADDSINGLE */
  1094.     gInfo:PTR TO gadgetinfo /* GadgetInfo    */
  1095.     entry:PTR TO LONG       /* Entry to add. */
  1096.     how:LONG                /* See above.    */
  1097.     flags:LONG              /* See below.    */
  1098. ENDOBJECT
  1099.  
  1100. /* Flags. */
  1101. SET     LVASF_MAKEVISIBLE,  /* Make entry visible.          */
  1102.         LVASF_SELECT,       /* Select entry.            */
  1103.         LVASF_MULTISELECT,  /* Multi-select entry.      V40 */
  1104.         LVASF_NOT_VISIBLE   /* Do not make visible.         V40 */
  1105.  
  1106. /* Clear the entire list. ( Uses a lvmCommand structure as defined below.) */
  1107. CONST   LVM_CLEAR               = BGUI_MB+283,
  1108.  
  1109.         LVM_FIRSTENTRY          = BGUI_MB+284,
  1110.         LVM_LASTENTRY           = BGUI_MB+285,
  1111.         LVM_NEXTENTRY           = BGUI_MB+286,
  1112.         LVM_PREVENTRY           = BGUI_MB+287
  1113.  
  1114. /* Get an entry. */
  1115. OBJECT lvmGetEntry
  1116.     methodID:LONG           /* Any of the above. */
  1117.     previous:PTR TO LONG    /* Previous entry.   */
  1118.     flags:LONG              /* See below.        */
  1119. ENDOBJECT
  1120.  
  1121. SET     LVGEF_SELECTED     /* Get selected entries. */
  1122.  
  1123. CONST   LVM_REMENTRY            = BGUI_MB+288
  1124.  
  1125. /* Remove an entry. */
  1126. OBJECT lvmRemEntry
  1127.     methodID:LONG   /* LVM_REMENTRY      */
  1128.     gInfo:PTR TO gadgetinfo /* GadgetInfo        */
  1129.     entry:PTR TO LONG       /* Entry to remove.  */
  1130. ENDOBJECT
  1131.  
  1132. CONST   LVM_REFRESH         = BGUI_MB+289,
  1133.         LVM_SORT            = BGUI_MB+290,
  1134.         LVM_LOCKLIST        = BGUI_MB+291,
  1135.         LVM_UNLOCKLIST      = BGUI_MB+292
  1136.  
  1137. /* Refresh/Sort list. */
  1138. OBJECT lvmCommand
  1139.     methodID:LONG           /* LVM_REFRESH       */
  1140.     gInfo:PTR TO gadgetinfo /* GadgetInfo        */
  1141. ENDOBJECT
  1142.  
  1143. CONST   LVM_MOVE            = BGUI_MB+293 /* V38 */
  1144.  
  1145. /* Move an entry in the list. */
  1146. OBJECT lvmMove
  1147.     methodID:LONG           /* LVM_MOVE      */
  1148.     gInfo:PTR TO gadgetinfo /* GadgetInfo        */
  1149.     entry:PTR TO LONG       /* Entry to move     */
  1150.     direction:LONG          /* See below         */
  1151.     newPos:LONG             /* New position. V40 */
  1152. ENDOBJECT
  1153.  
  1154. /* Move directions. */
  1155. ENUM    LVMOVE_UP,      /* Move entry up.        */
  1156.         LVMOVE_DOWN,    /* Move entry down.      */
  1157.         LVMOVE_TOP,     /* Move entry to the top.    */
  1158.         LVMOVE_BOTTOM,  /* Move entry to the bottom. */
  1159.         LVMOVE_NEWPOS   /* Move to new position. V40 */
  1160.  
  1161. CONST   LVM_REPLACE             = BGUI_MB+294 /* V39 */
  1162.  
  1163. /* Replace an entry by another. */
  1164. OBJECT lvmReplace
  1165.     methodID:LONG              /* LVM_REPLACE       */
  1166.     gInfo:PTR TO gadgetinfo    /* GadgetInfo        */
  1167.     oldEntry:PTR TO LONG       /* Entry to replace. */
  1168.     newEntry:PTR TO LONG       /* New entry.        */
  1169. ENDOBJECT
  1170.  
  1171. CONST   LVM_REDRAW              = BGUI_MB+295, /* V40 */
  1172.         LVM_INSERTENTRIES       = BGUI_MB+296 /* V40 */
  1173.  
  1174. /* Insert listview entries. */
  1175. OBJECT lvmInsertEntries
  1176.     methodID:LONG              /* LVM_INSERTENTRIES */
  1177.     gInfo:PTR TO gadgetinfo    /* GadgetInfo        */
  1178.     pos:LONG                   /* Position.         */
  1179.     entries:PTR TO LONG        /* Entries to insert.*/
  1180. ENDOBJECT
  1181.  
  1182. CONST   LVM_INSERTSINGLE        = BGUI_MB+297 /* V40 */
  1183.  
  1184. /* Insert a single entry. */
  1185. OBJECT lvmInsertSingle
  1186.     methodID:LONG              /* LVM_INSERTSINGLE  */
  1187.     gInfo:PTR TO gadgetinfo    /* GadgetInfo        */
  1188.     pos:LONG                   /* Position.         */
  1189.     entry:PTR TO LONG          /* Entry to insert.  */
  1190.     flags:LONG                 /* See LVM_ADDSINGLE */
  1191. ENDOBJECT
  1192.  
  1193. CONST   LVM_REMSELECTED         = BGUI_MB+298,   /* V40 */
  1194.         LVM_REDRAWSINGLE        = BGUI_MB+299    /* V41.7 */
  1195.  
  1196. /* Redraw a single entry or column. */
  1197. OBJECT lvmRedrawSingle
  1198.     methodID:LONG               /* LVM_REDRAWSINGLE  */
  1199.     gInfo:PTR TO gadgetinfo     /* GadgetInfo.       */
  1200.     entry:PTR TO LONG           /* Entry to redraw.  */
  1201.     column:LONG                 /* Column to redraw. */
  1202.     flags:LONG                  /* See below.        */
  1203. ENDOBJECT
  1204.  
  1205. CONST   LVRF_ALL_COLUMNS        = 1,
  1206.         LVRF_ALL_ENTRIES        = 2
  1207.  
  1208. /* Set column attributes. */
  1209. CONST   LVM_SETCOLUMNATTRS      = BGUI_MB+300   /* V41.9 */
  1210.  
  1211. /* Get column attributes. */
  1212. CONST   LVM_GETCOLUMNATTRS      = BGUI_MB+301   /* V41.9 */
  1213.  
  1214. OBJECT lvmColumnAttrs
  1215.         methodID:LONG               /* LVM_???COLUMNATTRS */
  1216.         gInfo:PTR TO gadgetinfo     /* GadgetInfo.        */
  1217.         column:LONG                 /* Column number.     */
  1218.         attrList:LONG               /* First LISTC attr.  */
  1219. ENDOBJECT
  1220.  
  1221.  
  1222. /*****************************************************************************
  1223.  *
  1224.  *  "progressclass" - BOOPSI progression gadget.
  1225.  *
  1226.  *  Tags: 801 - 880         Methods: 321 - 360
  1227.  *
  1228.  *  Progression indicator fuel guage.
  1229.  */
  1230. CONST   PROGRESS_Min            = BGUI_TB+801,   /* IS--- */
  1231.         PROGRESS_Max            = BGUI_TB+802,   /* IS--- */
  1232.         PROGRESS_Done           = BGUI_TB+803,   /* ISGNU */
  1233.         PROGRESS_Vertical       = BGUI_TB+804,   /* I---- */
  1234.         PROGRESS_Divisor        = BGUI_TB+805,   /* I---- */
  1235.         PROGRESS_FormatString   = BGUI_TB+806,   /* I---- */  /* V40 */
  1236.  
  1237. /*****************************************************************************
  1238.  *
  1239.  *  "propclass" - BOOPSI proportional gadget.
  1240.  *
  1241.  *  Tags: 881 - 960         Methods: 361 - 400
  1242.  *
  1243.  *  GadTools style scroller gadget.
  1244.  */
  1245.         PGA_Arrows              = BGUI_TB+881,   /* I---- */
  1246.         PGA_ArrowSize           = BGUI_TB+882,   /* I---- */
  1247.         PGA_Reserved            = BGUI_TB+883,   /* PRIVATE! */
  1248.         PGA_ThinFrame           = BGUI_TB+884,   /* I---- */
  1249.         PGA_XenFrame            = BGUI_TB+885,   /* I---- */
  1250.         PGA_NoFrame             = BGUI_TB+886,   /* I---- */  /* V40 */
  1251.  
  1252. /*****************************************************************************
  1253.  *
  1254.  *  "stringclass" - BOOPSI string gadget.
  1255.  *
  1256.  *  Tags: 961 - 1040        Methods: 401 - 440
  1257.  *
  1258.  *  GadTools style string/integer gadget.
  1259.  */
  1260.         STRINGA_UNUSED1         = BGUI_TB+961,   /* */
  1261.         STRINGA_UNUSED2         = BGUI_TB+962,   /* */
  1262.         STRINGA_MinCharsVisible = BGUI_TB+963,   /* I---- */  /* V39 */
  1263.         STRINGA_IntegerMin      = BGUI_TB+964,   /* IS--U */  /* V39 */
  1264.         STRINGA_IntegerMax      = BGUI_TB+965,   /* IS--U */  /* V39 */
  1265.         STRINGA_StringInfo      = BGUI_TB+966,   /* --G-- */  /* V40 */
  1266.  
  1267.         SM_FORMAT_STRING        = BGUI_MB+401    /* V39 */
  1268.  
  1269. /* Format the string contents. */
  1270. OBJECT smFormatString
  1271.     methodID:LONG               /* SM_FORMAT_STRING    */
  1272.     gInfo:PTR TO gadgetinfo     /* GadgetInfo          */
  1273.     fStr:PTR TO CHAR            /* Format string       */
  1274.     arg1:LONG                   /* Format arg          */
  1275. ENDOBJECT
  1276.  
  1277. /*****************************************************************************
  1278.  *
  1279.  *  "viewclass" - BOOPSI view object.
  1280.  *
  1281.  *  Tags: 1041 - 1120       Methods: 441 - 480
  1282.  *
  1283.  *  Gadget to view a clipped portion of another object.
  1284.  */
  1285. CONST   VIEW_X                  = BGUI_TB+1041,  /* ISG-U */
  1286.         VIEW_Y                  = BGUI_TB+1042,  /* ISG-U */
  1287.         VIEW_MinWidth           = BGUI_TB+1043,  /* ISG-- */
  1288.         VIEW_MinHeight          = BGUI_TB+1044,  /* ISG-- */
  1289.         VIEW_ScaleMinWidth      = BGUI_TB+1045,  /* ISG-- */
  1290.         VIEW_ScaleMinHeight     = BGUI_TB+1046,  /* ISG-- */
  1291.         VIEW_ScaleWidth         = BGUI_TB+1047,  /* ISG-- */
  1292.         VIEW_ScaleHeight        = BGUI_TB+1048,  /* ISG-- */
  1293.         VIEW_VScroller          = BGUI_TB+1049,  /* IS--- */
  1294.         VIEW_HScroller          = BGUI_TB+1050,  /* IS--- */
  1295.         VIEW_AbsoluteX          = BGUI_TB+1051,  /* --G-- */
  1296.         VIEW_AbsoluteY          = BGUI_TB+1052,  /* --G-- */
  1297.         VIEW_Object             = BGUI_TB+1053,  /* ISG-U */
  1298.         VIEW_NoDisposeObject    = BGUI_TB+1054   /* ISG-- */
  1299.  
  1300. /*****************************************************************************
  1301.  *
  1302.  *  "pageclass" - BOOPSI paging gadget.
  1303.  *
  1304.  *  Tags: 1121 - 1200       Methods: 481 - 520
  1305.  *
  1306.  *  Gadget to handle pages of gadgets.
  1307.  */
  1308. CONST   PAGE_Active             = BGUI_TB+1121,  /* ISGNU */
  1309.         PAGE_Member             = BGUI_TB+1122,  /* I---- */
  1310.         PAGE_NoBufferRP         = BGUI_TB+1123,  /* I---- */
  1311.         PAGE_Inverted           = BGUI_TB+1124,  /* I---- */
  1312.  
  1313. /*****************************************************************************
  1314.  *
  1315.  *  "mxclass" - BOOPSI mx gadget.
  1316.  *
  1317.  *  Tags: 1201 - 1280       Methods: 521 - 560
  1318.  *
  1319.  *  GadTools style mx gadget.
  1320.  */
  1321.         MX_Labels               = BGUI_TB+1201,  /* I---- */
  1322.         MX_Active               = BGUI_TB+1202,  /* ISGNU */
  1323.         MX_LabelPlace           = BGUI_TB+1203,  /* I---- */
  1324.         MX_DisableButton        = BGUI_TB+1204,  /* IS--U */
  1325.         MX_EnableButton         = BGUI_TB+1205,  /* IS--U */
  1326.         MX_TabsObject           = BGUI_TB+1206,  /* I---- */
  1327.         MX_TabsTextAttr         = BGUI_TB+1207,  /* I---- */
  1328.         MX_TabsUpsideDown       = BGUI_TB+1208,  /* I---- */  /* V40 */
  1329.         MX_TabsBackFill         = BGUI_TB+1209,  /* I---- */  /* V40 */
  1330.         MX_TabsBackPen          = BGUI_TB+1210,  /* I---- */  /* V40 */
  1331.         MX_TabsBackDriPen       = BGUI_TB+1211,  /* I---- */  /* V40 */
  1332.         MX_LabelsID             = BGUI_TB+1212,  /* I---- */  /* V41 */
  1333.         MX_Spacing              = BGUI_TB+1213,  /* I---- */  /* V41 */
  1334.         MX_Type                 = BGUI_TB+1214,  /* I---- */  /* V41.8 */
  1335.         MX_TabsBackFillHook     = BGUI_TB+1215,  /* I---- */
  1336.         MX_TabsFillPattern      = BGUI_TB+1216,  /* i---- */
  1337.         MX_RotateLeft           = BGUI_TB+1217,  /* I---- */  /* RESERVED */
  1338.         MX_RotateRight          = BGUI_TB+1218,  /* I---- */  /* RESERVED */
  1339.  
  1340.         MXTYPE_RADIOBUTTON      = 0,
  1341.         MXTYPE_TAB_TOP          = 1,
  1342.         MXTYPE_TAB_BOTTOM       = 2,
  1343.         MXTYPE_TAB_LEFT         = 3,
  1344.         MXTYPE_TAB_RIGHT        = 4,
  1345.  
  1346. /*****************************************************************************
  1347.  *
  1348.  *  "sliderclass" - BOOPSI slider gadget.
  1349.  *
  1350.  *  Tags: 1281 - 1360       Methods: 561 - 600
  1351.  *
  1352.  *  GadTools style slider gadget.
  1353.  */
  1354.         SLIDER_Min              = BGUI_TB+1281,  /* IS--U */
  1355.         SLIDER_Max              = BGUI_TB+1282,  /* IS--U */
  1356.         SLIDER_Level            = BGUI_TB+1283,  /* ISGNU */
  1357.         SLIDER_ThinFrame        = BGUI_TB+1284,  /* I---- */
  1358.         SLIDER_XenFrame         = BGUI_TB+1285,  /* I---- */
  1359.         SLIDER_NoFrame          = BGUI_TB+1286,  /* I---- */  /* V40 */
  1360.  
  1361. /*****************************************************************************
  1362.  *
  1363.  *  "indicatorclass" - BOOPSI indicator gadget.
  1364.  *
  1365.  *  Tags: 1361 - 1440       Methods: ??
  1366.  *
  1367.  *  Textual level indicator gadget.
  1368.  */
  1369.         INDIC_TAGSTART          = BGUI_TB+1361,
  1370.         INDIC_Min               = BGUI_TB+1361,  /* ISG-U */
  1371.         INDIC_Max               = BGUI_TB+1362,  /* ISG-U */
  1372.         INDIC_Level             = BGUI_TB+1363,  /* ISG-U */
  1373.         INDIC_FormatString      = BGUI_TB+1364,  /* ISG-U */
  1374.         INDIC_Justification     = BGUI_TB+1365,  /* ISG-U */
  1375.  
  1376. /* Justification */
  1377.         IDJ_LEFT                = 0,
  1378.         IDJ_CENTER              = 1,
  1379.         IDJ_RIGHT               = 2,
  1380.  
  1381. /*****************************************************************************
  1382.  *
  1383.  *  "externalclass" - BGUI external class interface.
  1384.  *
  1385.  *  Tags: 1441 - 1500       Methods: ??
  1386.  */
  1387.         EXT_Class               = BGUI_TB+1441,  /* I---- */
  1388.         EXT_ClassID             = BGUI_TB+1442,  /* I---- */
  1389.         EXT_MinWidth            = BGUI_TB+1443,  /* I---- */
  1390.         EXT_MinHeight           = BGUI_TB+1444,  /* I---- */
  1391.         EXT_TrackAttr           = BGUI_TB+1445,  /* I---- */
  1392.         EXT_Object              = BGUI_TB+1446,  /* --G-- */
  1393.         EXT_NoRebuild           = BGUI_TB+1447,  /* I---- */
  1394.  
  1395. /*****************************************************************************
  1396.  *
  1397.  *  "separatorclass" - BOOPSI separator class.
  1398.  *
  1399.  *  Tags: 1501 - 1580       Methods: ??
  1400.  */
  1401.         SEP_Horiz               = BGUI_TB+1501,  /* IS--- */
  1402.         SEP_Title               = BGUI_TB+1502,  /* IS--- */
  1403.         SEP_Thin                = BGUI_TB+1503,  /* IS--- */
  1404.         SEP_Highlight           = BGUI_TB+1504,  /* IS--- */
  1405.         SEP_CenterTitle         = BGUI_TB+1505,  /* IS--- */
  1406.         SEP_Recessed            = BGUI_TB+1506,  /* IS--- */  /* V39 */
  1407.         SEP_TitleLeft           = BGUI_TB+1507,  /* IS--- */  /* V40 */
  1408.         SEP_TitleRight          = BGUI_TB+1508,  /* IS--- */  /* V40 */
  1409.         SEP_TitleID             = BGUI_TB+1509,  /* IS--- */  /* V41.8 */
  1410.  
  1411. /* BGUI_TB+1581 through BGUI_TB+1760 reserved. */
  1412.  
  1413. /*****************************************************************************
  1414.  *
  1415.  *  "windowclass" - BOOPSI window class.
  1416.  *
  1417.  *  Tags: 1761 - 1860       Methods: 601 - 660
  1418.  *
  1419.  *  This class creates and maintains an intuition window.
  1420.  */
  1421.         WINDOW_TAGSTART         = BGUI_TB+1761,
  1422.         WINDOW_Position         = BGUI_TB+1761,  /* IS--- */
  1423.         WINDOW_ScaleWidth       = BGUI_TB+1762,  /* IS--- */
  1424.         WINDOW_ScaleHeight      = BGUI_TB+1763,  /* IS--- */
  1425.         WINDOW_LockWidth        = BGUI_TB+1764,  /* I---- */
  1426.         WINDOW_LockHeight       = BGUI_TB+1765,  /* I---- */
  1427.         WINDOW_PosRelBox        = BGUI_TB+1766,  /* I---- */
  1428.         WINDOW_Bounds           = BGUI_TB+1767,  /* ISG-- */
  1429.         WINDOW_DragBar          = BGUI_TB+1771,  /* I---- */
  1430.         WINDOW_SizeGadget       = BGUI_TB+1772,  /* I---- */
  1431.         WINDOW_CloseGadget      = BGUI_TB+1773,  /* I---- */
  1432.         WINDOW_DepthGadget      = BGUI_TB+1774,  /* I---- */
  1433.         WINDOW_SizeBottom       = BGUI_TB+1775,  /* I---- */
  1434.         WINDOW_SizeRight        = BGUI_TB+1776,  /* I---- */
  1435.         WINDOW_Activate         = BGUI_TB+1777,  /* I---- */
  1436.         WINDOW_RMBTrap          = BGUI_TB+1778,  /* I---- */
  1437.         WINDOW_SmartRefresh     = BGUI_TB+1779,  /* I---- */
  1438.         WINDOW_ReportMouse      = BGUI_TB+1780,  /* I---- */
  1439.         WINDOW_Borderless       = BGUI_TB+1781,  /* I---- */  /* V39 */
  1440.         WINDOW_Backdrop         = BGUI_TB+1782,  /* I---- */  /* V39 */
  1441.         WINDOW_ShowTitle        = BGUI_TB+1783,  /* I---- */  /* V39 */
  1442.         WINDOW_IDCMP            = BGUI_TB+1791,  /* I---- */
  1443.         WINDOW_SharedPort       = BGUI_TB+1792,  /* IS--- */
  1444.         WINDOW_Title            = BGUI_TB+1793,  /* ISGNU */
  1445.         WINDOW_ScreenTitle      = BGUI_TB+1794,  /* ISGNU */
  1446.         WINDOW_MenuStrip        = BGUI_TB+1795,  /* I-G-- */
  1447.         WINDOW_MasterGroup      = BGUI_TB+1796,  /* I---- */
  1448.         WINDOW_Screen           = BGUI_TB+1797,  /* IS--- */
  1449.         WINDOW_PubScreenName    = BGUI_TB+1798,  /* IS--- */
  1450.         WINDOW_UserPort         = BGUI_TB+1799,  /* --G-- */
  1451.         WINDOW_SigMask          = BGUI_TB+1800,  /* --G-- */
  1452.         WINDOW_IDCMPHook        = BGUI_TB+1801,  /* I---- */
  1453.         WINDOW_VerifyHook       = BGUI_TB+1802,  /* I---- */
  1454.         WINDOW_IDCMPHookBits    = BGUI_TB+1803,  /* I---- */
  1455.         WINDOW_VerifyHookBits   = BGUI_TB+1804,  /* I---- */
  1456.         WINDOW_Font             = BGUI_TB+1805,  /* I---- */
  1457.         WINDOW_FallBackFont     = BGUI_TB+1806,  /* I---- */
  1458.         WINDOW_HelpFile         = BGUI_TB+1807,  /* IS--- */
  1459.         WINDOW_HelpNode         = BGUI_TB+1808,  /* IS--- */
  1460.         WINDOW_HelpLine         = BGUI_TB+1809,  /* IS--- */
  1461.         WINDOW_AppWindow        = BGUI_TB+1810,  /* I---- */
  1462.         WINDOW_AppMask          = BGUI_TB+1811,  /* --G-- */
  1463.         WINDOW_UniqueID         = BGUI_TB+1812,  /* I---- */
  1464.         WINDOW_Window           = BGUI_TB+1813,  /* --G-- */
  1465.         WINDOW_HelpText         = BGUI_TB+1814,  /* IS--- */
  1466.         WINDOW_NoBufferRP       = BGUI_TB+1815,  /* I---- */
  1467.         WINDOW_AutoAspect       = BGUI_TB+1816,  /* I---- */
  1468.         WINDOW_PubScreen        = BGUI_TB+1817,  /* IS--- */  /* V39 */
  1469.         WINDOW_CloseOnEsc       = BGUI_TB+1818,  /* IS--- */  /* V39 */
  1470.         WINDOW_ActNext          = BGUI_TB+1819,  /* ----- */  /* V39 */
  1471.         WINDOW_ActPrev          = BGUI_TB+1820,  /* ----- */  /* V39 */
  1472.         WINDOW_NoVerify         = BGUI_TB+1821,  /* -S--- */  /* V39 */
  1473.         WINDOW_MenuFont         = BGUI_TB+1822,  /* IS--- */  /* V40 */
  1474.         WINDOW_ToolTicks        = BGUI_TB+1823,  /* ISG-U */  /* V40 */
  1475.         WINDOW_LBorderGroup     = BGUI_TB+1824,  /* I---- */  /* V40 */
  1476.         WINDOW_TBorderGroup     = BGUI_TB+1825,  /* I---- */  /* V40 */
  1477.         WINDOW_RBorderGroup     = BGUI_TB+1826,  /* I---- */  /* V40 */
  1478.         WINDOW_BBorderGroup     = BGUI_TB+1827,  /* I---- */  /* V40 */
  1479.         WINDOW_TitleZip         = BGUI_TB+1828,  /* I---- */  /* V40 */
  1480.         WINDOW_AutoKeyLabel     = BGUI_TB+1829,  /* I---- */  /* V41 */
  1481.         WINDOW_TitleID          = BGUI_TB+1830,  /* ISG-- */  /* V41 */
  1482.         WINDOW_ScreenTitleID    = BGUI_TB+1831,  /* ISG-- */  /* V41 */
  1483.         WINDOW_HelpTextID       = BGUI_TB+1832,  /* ISG-- */  /* V41 */
  1484.         WINDOW_Locale           = BGUI_TB+1833,  /* IS--- */  /* V41 */
  1485.         WINDOW_Catalog          = BGUI_TB+1834,  /* IS--- */  /* V41 */
  1486.         WINDOW_PreBufferRP      = BGUI_TB+1835,  /* IS--- */  /* V41.8 */
  1487.         WINDOW_ToolTipHook      = BGUI_TB+1836,  /* IS--- */  /* V41.9 */
  1488.  
  1489. /* Possible window positions. */
  1490.         POS_CENTERSCREEN        = 0,             /* Center on the screen             */
  1491.         POS_CENTERMOUSE         = 1,             /* Center under the mouse       */
  1492.         POS_TOPLEFT             = 2,             /* Top-left of the screen       */
  1493.  
  1494. /* New methods */
  1495.         WM_OPEN                 = BGUI_MB+601,   /* Open the window          */
  1496.         WM_CLOSE                = BGUI_MB+602,   /* Close the window         */
  1497.         WM_SLEEP                = BGUI_MB+603,   /* Put the window to sleep      */
  1498.         WM_WAKEUP               = BGUI_MB+604,   /* Wake the window up           */
  1499.         WM_HANDLEIDCMP          = BGUI_MB+605,   /* Call the IDCMP handler       */
  1500.  
  1501. /* Pre-defined WM_HANDLEIDCMP return codes. */
  1502.         WMHI_CLOSEWINDOW        = $10000,        /* The close gadget was clicked     */
  1503.         WMHI_NOMORE             = $20000,        /* No more messages         */
  1504.         WMHI_INACTIVE           = $30000,        /* The window was de-activated      */
  1505.         WMHI_ACTIVE             = $40000,        /* The window was activated     */
  1506.         WMHI_MENUHELP           = $50000,        /* A menuhelp message was sent.     */
  1507.         WMHI_IGNORE             = -1,            /* Like it say's: ignore            */
  1508.         WMHI_RMB                = $1000000,      /* The object was activated by RMB */
  1509.         WMHI_MMB                = $2000000,      /* The object was activated by MMB */
  1510.  
  1511.         WM_GADGETKEY            = BGUI_MB+606
  1512.  
  1513. /* Add a hotkey to a gadget. */
  1514. OBJECT wmGadgetKey
  1515.     methodID:LONG                   /* WM_GADGETKEY          */
  1516.     requester:PTR TO requester      /* When used in a requester      */
  1517.     object:PTR TO object            /* Object to activate        */
  1518.     key:PTR TO LONG                 /* Key that triggers activ.      */
  1519. ENDOBJECT
  1520.  
  1521. CONST   WM_KEYACTIVE            = BGUI_MB+607,
  1522.         WM_KEYINPUT             = BGUI_MB+608
  1523.  
  1524. /* Send with the WM_KEYACTIVE and WM_KEYINPUT methods. */
  1525. OBJECT wmKeyInput
  1526.     methodID:LONG               /* WM_KEYACTIVE/WM_KEYINPUT        */
  1527.     gInfo:PTR TO gadgetinfo     /* GadgetInfo              */
  1528.     iEvent:PTR TO inputevent    /* Input event                     */
  1529.     id:PTR TO LONG              /* Storage for the object ID       */
  1530.     key:PTR TO CHAR             /* Key that triggered activation.  */
  1531. ENDOBJECT
  1532.  
  1533. /* Possible WM_KEYACTIVE and WM_KEYINPUT return codes. */
  1534. CONST   WMKF_MEACTIVE   = 0          /* Object went active.             */
  1535. SET     WMKF_CANCEL,                 /* Key activation canceled.        */
  1536.         WMKF_VERIFY,                 /* Key activation confirmed        */
  1537.         WMKF_ACTIVATE                /* ActivateGadget() object     */
  1538.  
  1539. CONST   WM_KEYINACTIVE          = BGUI_MB+609
  1540.  
  1541. /* De-activate a key session. */
  1542. OBJECT wmKeyInactive
  1543.     methodID:LONG            /* WM_KEYINACTIVE           */
  1544.     gInfo:PTR TO gadgetinfo  /* GadgetInfo               */
  1545. ENDOBJECT
  1546.  
  1547. CONST   WM_DISABLEMENU          = BGUI_MB+610,
  1548.         WM_CHECKITEM            = BGUI_MB+611
  1549.  
  1550. /* Disable/Enable a menu or Set/Clear a checkit item. */
  1551. OBJECT wmMenuAction
  1552.     methodID:LONG    /* WM_DISABLEMENU/WM_CHECKITEM      */
  1553.     menuID:LONG      /* Menu it's ID                     */
  1554.     set:LONG         /* TRUE = set, FALSE = clear        */
  1555. ENDOBJECT
  1556.  
  1557. CONST   WM_MENUDISABLED         = BGUI_MB+612
  1558. CONST   WM_ITEMCHECKED          = BGUI_MB+613
  1559.  
  1560. OBJECT wmMenuQuery
  1561.     methodID:LONG    /* WM_MENUDISABLED/WM_ITEMCHECKED   */
  1562.     menuID:LONG      /* Menu it's ID                     */
  1563. ENDOBJECT
  1564.  
  1565. CONST   WM_TABCYCLE_ORDER       = BGUI_MB+614
  1566.  
  1567. /* Set the tab-cycling order. */
  1568. OBJECT wmTabCycleOrder
  1569.     methodID:LONG    /* WM_TABCYCLE_ORDER            */
  1570.     object1:PTR TO object
  1571. ENDOBJECT
  1572.  
  1573. /* Obtain the app message. */
  1574. CONST   WM_GETAPPMSG            = BGUI_MB+615
  1575. CONST   WM_ADDUPDATE            = BGUI_MB+616
  1576.  
  1577. /* Add object to the update notification list. */
  1578. OBJECT wmAddUpdate
  1579.     methodID:LONG                /* WM_ADDUPDATE             */
  1580.     sourceID:LONG                /* ID of source object.     */
  1581.     target:PTR TO object         /* Target object.       */
  1582.     mapList:PTR TO tagitem       /* Attribute map-list.      */
  1583. ENDOBJECT
  1584.  
  1585. CONST   WM_REPORT_ID            = BGUI_MB+617 /* V38 */
  1586.  
  1587. /* Report a return code from a IDCMP/Verify hook. */
  1588. OBJECT wmReportID
  1589.     methodID:LONG                /* WM_REPORT_ID             */
  1590.     id:LONG                      /* ID to report.        */
  1591.     flags:LONG                   /* See below.           */
  1592.     sigTask:PTR TO etask         /* Task to signal.  V40 */
  1593. ENDOBJECT
  1594.  
  1595. /* Flags */
  1596. SET     WMRIF_DOUBLE_CLICK,  /* Simulate double-click.   */
  1597.         WMRIF_TASK           /* Task to signal valid. V40 */
  1598.  
  1599. /* Get the window which signalled us. */
  1600. CONST   WM_GET_SIGNAL_WINDOW    = BGUI_MB+618 /* V39 */
  1601. CONST   WM_REMOVE_OBJECT        = BGUI_MB+619 /* V40 */
  1602.  
  1603. /* Remove an object from the window key and/or tabcycle list. */
  1604. OBJECT wmRemoveObject
  1605.     methodID:LONG        /* WM_REMOVE_OBJECT     */
  1606.     object:PTR TO object         /* Object to remove.        */
  1607.     flags:LONG                   /* See below.           */
  1608. ENDOBJECT
  1609.  
  1610. /* Flags */
  1611. SET     WMROF_KEY_LIST,  /* Remove from key-list.    */
  1612.         WMROF_CYCLE_LIST /* Remove from cycle list.  */
  1613.  
  1614.  
  1615. CONST   WM_WHICHOBJECT          = BGUI_MB+620 /* V40 */
  1616.  
  1617. /* Information for a custom tooltip hook. */          /* V41.9 */
  1618. OBJECT ttCommand
  1619.         command:LONG            /* TT_SHOW or TT_HIDE       */
  1620.         object:PTR TO object    /* Object to show tip for.  */
  1621.         userData:PTR TO LONG    /* See description below.   */
  1622. ENDOBJECT
  1623.  
  1624. CONST   TT_SHOW                 = 1,
  1625. /*
  1626.  * TT_SHOW should open a tooltip.  ttc_UserData is undefined.  Return 0 upon
  1627.  * failure, any other value if a tooltip is successfully displayed.  Your
  1628.  * return value will be passed as ttc_UserData to TT_HIDE; useful applications
  1629.  * may include a window pointer or object, or a custom data structure.
  1630.  */
  1631.         TT_HIDE                 = 2
  1632. /*
  1633.  * This command should close a tooltip previously shown with TT_SHOW.  You are
  1634.  * passed the return value from TT_SHOW as ttc_UserData, so you can close the
  1635.  * window, free resources, etc.
  1636.  */
  1637.  
  1638. /*****************************************************************************
  1639.  *
  1640.  *  "areaclass" - BOOPSI area gadget.
  1641.  *
  1642.  *  Tags: 2021 - 2100       Methods: ??
  1643.  *
  1644.  *      AREA_MinWidth and AREA_MinHeight are required attributes.
  1645.  *      Just pass the minimum area size you need here.
  1646.  */
  1647.  
  1648. CONST   AREA_MinWidth           = BGUI_TB+2021,    /* I---- */
  1649.         AREA_MinHeight          = BGUI_TB+2022,    /* I---- */
  1650.         AREA_AreaBox            = BGUI_TB+2023     /* --G-- */
  1651.  
  1652. /*****************************************************************************
  1653.  *
  1654.  *      "paletteclass" - BOOPSI palette class.
  1655.  *
  1656.  *      Tags: 2101 - 2180               Methods: 781-820
  1657.  */
  1658. CONST   PALETTE_Depth           = BGUI_TB+2101,  /* I---- */  /* V41.7 */
  1659.         PALETTE_ColorOffset     = BGUI_TB+2102,  /* I---- */  /* V41.7 */
  1660.         PALETTE_PenTable        = BGUI_TB+2103,  /* I---- */  /* V41.7 */
  1661.         PALETTE_CurrentColor    = BGUI_TB+2104,  /* ISGNU */  /* V41.7 */
  1662.  
  1663. /*****************************************************************************
  1664.  *
  1665.  *      "popbuttonclass" - BOOPSI popbutton class.
  1666.  *
  1667.  *      Tags: 2181 - 2260               Methods: 821-860
  1668.  */
  1669.         PMB_Image               = BGUI_TB+2181,  /* IS--- */  /* V41.7 */
  1670.         PMB_MenuEntries         = BGUI_TB+2182,  /* IS--- */  /* V41.7 */
  1671.         PMB_MenuNumber          = BGUI_TB+2183,  /* --GN- */  /* V41.7 */
  1672.         PMB_PopPosition         = BGUI_TB+2184  /* I---- */  /* V41.7 */
  1673. /*
  1674. ** All labelclass attributes are usable at create time (I).
  1675. ** The vectorclass attributes are usable at create time and
  1676. ** with OM_SET (IS).
  1677. **/
  1678.  
  1679. /*
  1680. ** An array of these structures define
  1681. ** the menu labels.
  1682. **/
  1683. OBJECT popMenu
  1684.     label:PTR TO CHAR   /* Menu text, NULL terminates array. */
  1685.     flags:INT           /* See below. */
  1686.     mutualExclude:LONG  /* Mutual-exclusion. */
  1687. ENDOBJECT
  1688.  
  1689. /* Flags */
  1690. CONST   PMF_CHECKIT     = 1,         /* Checkable (toggle) item. */
  1691.         PMF_CHECKED     = 2,         /* The item is checked. */
  1692.         PMF_DISABLED    = 4          /* The item is disabled. (NMC:Added) */
  1693.  
  1694. /*
  1695. ** Special menu entry.
  1696. **/
  1697. CONST   PMB_BARLABEL    = -1
  1698.  
  1699. /* New Methods */
  1700. CONST   PMBM_CHECK_STATUS               = BGUI_MB+821,
  1701.         PMBM_CHECK_MENU                 = BGUI_MB+822,
  1702.         PMBM_UNCHECK_MENU               = BGUI_MB+823,
  1703.         PMBM_ENABLE_ITEM                = BGUI_MB+824,
  1704.         PMBM_DISABLE_ITEM               = BGUI_MB+825,
  1705.         PMBM_ENABLE_STATUS              = BGUI_MB+826
  1706.  
  1707. OBJECT pmbmCommand
  1708.     methodID:LONG
  1709.     menuNumber:LONG  /* Menu to perform action on. */
  1710. ENDOBJECT
  1711.