home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Misc / DC-POS24.LZX / pOS / Guide.lzx / Guide / pIntui / GClass.h < prev    next >
Encoding:
C/C++ Source or Header  |  1997-03-11  |  21.0 KB  |  455 lines

  1. @DATABASE "pIntui/GClass.h"
  2. @MASTER   "Work2:AD/IInc/pIntui/GClass.h"
  3. @REMARK   This file was created by ADtoHT 2.0 on 11-Mär-97  13:35:01
  4. @REMARK   Do not edit
  5. @REMARK   ADtoHT is © 1993-1995 Christian Stieber
  6.  
  7. @NODE MAIN "pIntui/GClass.h"
  8. @TOC "__pOS_Dev.guide/MAIN"
  9.  
  10. @{"pIntui/GClass.h" LINK File}
  11.  
  12.  
  13. @{b}Structures@{ub}
  14.  
  15. @{"pOS_GadgetMethod" LINK "pIntui/GClass.h/File" 18}
  16.  
  17. @ENDNODE
  18. @NODE File "pIntui/GClass.h"
  19. #ifndef __INC_POS_PINTUI_GCLASS_H
  20. #define __INC_POS_PINTUI_GCLASS_H
  21. /*******************************************************************
  22.  Includes Release 24
  23.  (C) Copyright 1995-1997 proDAD
  24.      All Rights Reserved
  25.  
  26.  $AUT Holger Burkarth
  27.  $DAT >>GClass.h<<   01 Mar 1997    14:53:21 - (C) ProDAD
  28. *******************************************************************/
  29. #ifndef __INC_POS_PINTUI_ICLASS_H
  30. #include <@{"pIntui/IClass.h" LINK "pIntui/IClass.h/File"}>
  31. #endif
  32.  
  33.  
  34. /*----------------------------------
  35. -----------------------------------*/
  36. struct pOS_GadgetMethod
  37. {
  38.   @{"ULONG" LINK "pExec/Types.h/File" 91}  imth_Method; /* (enum pOS_IntuiClassMethods) und (pOS_GadgetClassMethods) */
  39.  
  40.   union
  41.     @{"UBYTE" LINK "pExec/Types.h/File" 95} imth_Reserved[32];   /* 24 Bytes used, 8 Bytes reserved */
  42.  
  43.     struct /* ICLMTH_New */
  44.             @{"ULONG" LINK "pExec/Types.h/File" 91}                imnw_Pad;
  45.       const @{"struct pOS_TagItem" LINK "pUtil/TagItem.h/File" 19}  *imnw_Tags;
  46.     } imth_New;
  47.  
  48.     /* ICLMTH_Dispose */
  49.  
  50.     struct /* ICLMTH_Set */
  51.       const @{"struct pOS_IClassInfo" LINK "pIntui/ICI.h/File" 18} *imst_Info; /* @{"NULL" LINK "pExec/Types.h/File" 117} => without refresh */
  52.       const @{"struct pOS_TagItem" LINK "pUtil/TagItem.h/File" 19}    *imst_Tags;
  53.     } imth_Set;
  54.  
  55.     struct /* ICLMTH_Notify */
  56.       const @{"struct pOS_IClassInfo" LINK "pIntui/ICI.h/File" 18} *imny_Info;
  57.       const @{"struct pOS_TagItem" LINK "pUtil/TagItem.h/File" 19}    *imny_Tags;
  58.             @{"ULONG" LINK "pExec/Types.h/File" 91}                  imny_Flags;
  59.     } imth_Notify;
  60.  
  61.     struct /* ICLMTH_Update */
  62.       const @{"struct pOS_IClassInfo" LINK "pIntui/ICI.h/File" 18} *imud_Info;
  63.       const @{"struct pOS_TagItem" LINK "pUtil/TagItem.h/File" 19}    *imud_Tags;
  64.             @{"ULONG" LINK "pExec/Types.h/File" 91}                  imud_Flags;
  65.     } imth_Update;
  66.  
  67.     struct /* ICLMTH_Get */
  68.             @{"ULONG" LINK "pExec/Types.h/File" 91}    imgt_ID;
  69.             @{"ULONG" LINK "pExec/Types.h/File" 91}   *imgt_Variable;
  70.     } imth_Get;
  71.  
  72. /********************************************/
  73.  
  74.     struct /* GCLMTH_HitTest */
  75.       const @{"struct pOS_IClassInfo" LINK "pIntui/ICI.h/File" 18} *imht_Info;
  76.             @{"ULONG" LINK "pExec/Types.h/File" 91}                  imht_Pad;      /* damit Mouse mit GoActive... übereinstimmt */
  77.       const @{"struct pOS_Point" LINK "pLayer/Rect.h/File" 26}      *imht_RMouse;   /* relativ zum Gadget */
  78.       const @{"struct pOS_Point" LINK "pLayer/Rect.h/File" 26}      *imht_AMouse;   /* absolut */
  79.             @{"struct pOS_Gadget" LINK "pGadget/Gadget.h/File" 18}     *imht_HitGadget;
  80.             @{"ULONG" LINK "pExec/Types.h/File" 91}                  imht_Result;   /* => Returncode von @{"pOS_DoIMethodA()" LINK "pExecD/pOS_DoIMethodA"}
  81.                                                   ** wird von @{"pOS_GadgetHitTest" LINK "pGadgetD/pOS_GadgetHitTest"} gesetzt
  82.                                                   */
  83.     } imth_HitTest;
  84.  
  85.  
  86.     struct /* GCLMTH_Render */
  87.       const @{"struct pOS_IClassInfo" LINK "pIntui/ICI.h/File" 18} *imre_Info;
  88.             @{"ULONG" LINK "pExec/Types.h/File" 91}                  imre_Type;     /* (enum pOS_GadgetClassRender) */
  89.             @{"ULONG" LINK "pExec/Types.h/File" 91}                  imre_NewTick;  /* wird bei GCLMTHRE_TickFrame verwendet */
  90.             @{"ULONG" LINK "pExec/Types.h/File" 91}                  imre_OldTick;  /* Anzahl der IntuiTicks*100 => 1/1000 sec. */
  91.     } imth_Render;
  92.  
  93.  
  94.     struct /* GCLMTH_GoActive */
  95.       const @{"struct pOS_IClassInfo" LINK "pIntui/ICI.h/File" 18} *imac_Info;
  96.       const @{"struct pOS_InputEvent" LINK "Device/IEvent.h/File" 232} *imac_IE;     /* @{"NULL" LINK "pExec/Types.h/File" 117} => imac_RMouse/imac_AMouse sind nicht gültig */
  97.       const @{"struct pOS_Point" LINK "pLayer/Rect.h/File" 26}      *imac_RMouse;
  98.       const @{"struct pOS_Point" LINK "pLayer/Rect.h/File" 26}      *imac_AMouse;
  99.             @{"ULONG" LINK "pExec/Types.h/File" 91}                  imac_ResCode;  /* => im_Code  */
  100.             @{"struct pOS_Gadget" LINK "pGadget/Gadget.h/File" 18}     *imac_NextActGad; /* zu aktivierendes Gadget */
  101.     } imth_GoActive;
  102.  
  103.  
  104.     struct /* GCLMTH_HandleInput */
  105.       const @{"struct pOS_IClassInfo" LINK "pIntui/ICI.h/File" 18} *imhi_Info;
  106.       const @{"struct pOS_InputEvent" LINK "Device/IEvent.h/File" 232} *imhi_IE;
  107.       const @{"struct pOS_Point" LINK "pLayer/Rect.h/File" 26}      *imhi_RMouse;
  108.       const @{"struct pOS_Point" LINK "pLayer/Rect.h/File" 26}      *imhi_AMouse;
  109.             @{"ULONG" LINK "pExec/Types.h/File" 91}                  imhi_ResCode;  /* => im_Code  */
  110.             @{"struct pOS_Gadget" LINK "pGadget/Gadget.h/File" 18}     *imhi_NextActGad;
  111.     } imth_HandleInput;
  112.  
  113.  
  114.     struct /* GCLMTH_GoInactive */
  115.       const @{"struct pOS_IClassInfo" LINK "pIntui/ICI.h/File" 18} *imia_Info;
  116.             @{"UBYTE" LINK "pExec/Types.h/File" 95}                  imia_Pad[12];
  117.             @{"ULONG" LINK "pExec/Types.h/File" 91}                  imia_ResCode;  /* => im_Code  */
  118.     } imth_GoInactive;
  119.  
  120.  
  121.     struct /* GCLMTH_Abort */
  122.       const @{"struct pOS_IClassInfo" LINK "pIntui/ICI.h/File" 18} *imab_Info;
  123.             @{"UBYTE" LINK "pExec/Types.h/File" 95}                  imab_Pad[12];
  124.             @{"ULONG" LINK "pExec/Types.h/File" 91}                  imab_ResCode;  /* => im_Code  */
  125.             @{"struct pOS_Gadget" LINK "pGadget/Gadget.h/File" 18}     *imab_NextActGad;
  126.     } imth_Abort;
  127.  
  128.  
  129.     struct /* GCLMTH_Add */
  130.       const @{"struct pOS_IClassInfo" LINK "pIntui/ICI.h/File" 18} *imad_Info;
  131.     } imth_Add;
  132.  
  133.  
  134.     struct /* GCLMTH_Rem */
  135.       const @{"struct pOS_IClassInfo" LINK "pIntui/ICI.h/File" 18} *imrm_Info;
  136.     } imth_Rem;
  137.  
  138.  
  139.     struct /* GCLMTH_Layout */
  140.       const @{"struct pOS_IClassInfo" LINK "pIntui/ICI.h/File" 18}   *imly_Info;
  141.             @{"ULONG" LINK "pExec/Types.h/File" 91}                    imly_Flags;   /* (enum pOS_GadgetLayoutFlags) */
  142.       const @{"struct pOS_IBox" LINK "pLayer/Rect.h/File" 42}         *imly_IBox;
  143.             @{"struct pOS_LayoutDamage" LINK "pIntui/LayDam.h/File" 17} *imly_LD;
  144.     } imth_Layout;
  145.  
  146.  
  147.     struct /* GCLMTH_GetIBox */
  148.       const @{"struct pOS_DrawInfo" LINK "pScreen/DrawInfo.h/File" 22}  *imgb_DrawInfo;
  149.             @{"struct pOS_RastPort" LINK "pGFX/RastPort.h/File" 18}  *imgb_RastPort;
  150.             @{"struct pOS_IBox" LINK "pLayer/Rect.h/File" 42}      *imgb_MinIBox;
  151.             @{"struct pOS_IBox" LINK "pLayer/Rect.h/File" 42}      *imgb_MaxIBox;
  152.     } imth_GetIBox;
  153.  
  154.  
  155.     struct /* GCLMTH_Help */
  156.       const @{"struct pOS_IClassInfo" LINK "pIntui/ICI.h/File" 18} *imhp_Info;
  157.             @{"CHAR" LINK "pExec/Types.h/File" 100}                  *imhp_String;
  158.       const @{"struct pOS_Point" LINK "pLayer/Rect.h/File" 26}      *imhp_RMouse;
  159.       const @{"struct pOS_Point" LINK "pLayer/Rect.h/File" 26}      *imhp_AMouse;
  160.             @{"UWORD" LINK "pExec/Types.h/File" 93}                  imhp_StringSize;
  161.             @{"UWORD" LINK "pExec/Types.h/File" 93}                  imhp_Level;      /* 0,1,2... */
  162.     } imth_Help;
  163.  
  164.  
  165.     struct /* GCLMTH_Msg */
  166.       const @{"struct pOS_IClassInfo" LINK "pIntui/ICI.h/File" 18}   *immg_Info;
  167.             @{"struct pOS_IntuiMessage" LINK "pIntui/IntuMsg.h/File" 23} *immg_Msg;
  168.     } imth_Msg;
  169.  
  170.  
  171.     struct /* GCLMTH_WinBorder */
  172.       const @{"struct pOS_IClassInfo" LINK "pIntui/ICI.h/File" 18}   *imwb_Info;
  173.             @{"struct pOS_Region" LINK "pLayer/Region.h/File" 30}       *imwb_Region;
  174.     } imth_WBor;
  175.  
  176.  
  177.     struct /* GCLMTH_BeginDrag */
  178.       const @{"struct pOS_IClassInfo" LINK "pIntui/ICI.h/File" 18}   *imbd_Info;
  179.       const @{"struct pOS_InputEvent" LINK "Device/IEvent.h/File" 232}   *imbd_IE;
  180.       const @{"struct pOS_Point" LINK "pLayer/Rect.h/File" 26}        *imbd_RMouse;
  181.       const @{"struct pOS_Point" LINK "pLayer/Rect.h/File" 26}        *imbd_AMouse;
  182.             struct pOS_Drag         *imbd_Result; /* wird vom Handler erzeugt und
  183.                                                   ** in GCLMTH_EndDrag gelöscht.
  184.                                                   */
  185.             @{"struct pOS_Point" LINK "pLayer/Rect.h/File" 26}        *imbd_Offset; /* PixelOffset, default={0,0} */
  186.     } imth_BDrag;
  187.  
  188.  
  189.     struct /* GCLMTH_EndDrag */
  190.             @{"UBYTE" LINK "pExec/Types.h/File" 95}             imed_Pad[16];
  191.             struct pOS_Drag  *imed_Drag;
  192.     } imth_EDrag;
  193.  
  194.  
  195.     struct /* GCLMTH_DropTest */
  196.       const @{"struct pOS_IClassInfo" LINK "pIntui/ICI.h/File" 18} *imdt_Info;
  197.             @{"ULONG" LINK "pExec/Types.h/File" 91}                  imdt_Pad;
  198.       const @{"struct pOS_Point" LINK "pLayer/Rect.h/File" 26}      *imdt_RMouse;   /* relativ zum Gadget */
  199.       const @{"struct pOS_Point" LINK "pLayer/Rect.h/File" 26}      *imdt_AMouse;   /* absolut */
  200.             @{"struct pOS_Gadget" LINK "pGadget/Gadget.h/File" 18}     *imdt_HitGadget;
  201.             @{"ULONG" LINK "pExec/Types.h/File" 91}                  imdt_Result;  /* => Returncode von @{"pOS_DoIMethodA()" LINK "pExecD/pOS_DoIMethodA"}
  202.                                                  ** wird von @{"pOS_GadgetDropTest" LINK "pGadgetD/pOS_GadgetDropTest"} gesetzt
  203.                                                  ** siehe GCLMTHR_DropHit */
  204.     } imth_DropTest;
  205.  
  206.  
  207.  
  208.     struct /* GCLMTH_ActiveDrop */
  209.       const @{"struct pOS_IClassInfo" LINK "pIntui/ICI.h/File" 18} *imda_Info;
  210.       const @{"struct pOS_InputEvent" LINK "Device/IEvent.h/File" 232} *imda_IE;
  211.       const @{"struct pOS_Point" LINK "pLayer/Rect.h/File" 26}      *imda_RMouse;
  212.       const @{"struct pOS_Point" LINK "pLayer/Rect.h/File" 26}      *imda_AMouse;
  213.             struct pOS_DragList   *imda_DragList;
  214.     } imth_ActiveDrop;
  215.  
  216.  
  217.     struct /* GCLMTH_HandleDrop */
  218.       const @{"struct pOS_IClassInfo" LINK "pIntui/ICI.h/File" 18} *imhd_Info;
  219.       const @{"struct pOS_InputEvent" LINK "Device/IEvent.h/File" 232} *imhd_IE;
  220.       const @{"struct pOS_Point" LINK "pLayer/Rect.h/File" 26}      *imhd_RMouse;
  221.       const @{"struct pOS_Point" LINK "pLayer/Rect.h/File" 26}      *imhd_AMouse;
  222.             struct pOS_DragList   *imhd_DragList;
  223.     } imth_HandleDrop;
  224.  
  225.  
  226.     struct /* GCLMTH_InactiveDrop */
  227.       const @{"struct pOS_IClassInfo" LINK "pIntui/ICI.h/File" 18} *imid_Info;
  228.             @{"UBYTE" LINK "pExec/Types.h/File" 95}                  imid_Pad[12];
  229.             struct pOS_DragList   *imid_DragList;
  230.     } imth_InactiveDrop;
  231.  
  232.  
  233.     struct /* GCLMTH_AbortDrop */
  234.       const @{"struct pOS_IClassInfo" LINK "pIntui/ICI.h/File" 18} *imbb_Info;
  235.             @{"UBYTE" LINK "pExec/Types.h/File" 95}                  imbb_Pad[12];
  236.             struct pOS_DragList   *imbb_DragList;
  237.     } imth_AbortDrop;
  238.  
  239.  
  240.     struct /* GCLMTH_GetQuickDropObject */
  241.       const    @{"struct pOS_IEDragDrop" LINK "Device/IEvent.h/File" 210} *imgqo_IEDD;
  242.                @{"UBYTE" LINK "pExec/Types.h/File" 95}                  imgqo_Pad[12];
  243.       @{"__ARID__" LINK "pExec/Types.h/File" 155} @{"struct pOS_DataType" LINK "pDtType/DtType.h/File" 18}   *imgqo_Result;
  244.     } imth_GetQObj;
  245.  
  246.  
  247.     struct /* GCLMTH_GetDropObject */
  248.       const    @{"struct pOS_IEDragDrop" LINK "Device/IEvent.h/File" 210} *imgo_IEDD;
  249.                @{"UBYTE" LINK "pExec/Types.h/File" 95}                  imgo_Pad[12];
  250.       @{"__ARID__" LINK "pExec/Types.h/File" 155} @{"struct pOS_DataType" LINK "pDtType/DtType.h/File" 18}   *imgo_Result;
  251.     } imth_GetObj;
  252.  
  253.  
  254.     struct /* GCLMTH_SetDropObject */
  255.       const @{"struct pOS_IClassInfo" LINK "pIntui/ICI.h/File" 18} *imso_Info;    /* @{"NULL" LINK "pExec/Types.h/File" 117} => without refresh */
  256.       const @{"struct pOS_InputEvent" LINK "Device/IEvent.h/File" 232} *imso_IE;      /* @{"NULL" LINK "pExec/Types.h/File" 117} => ignore */
  257.       const @{"struct pOS_IEDragDrop" LINK "Device/IEvent.h/File" 210} *imso_IEDD;
  258.             @{"UBYTE" LINK "pExec/Types.h/File" 95}                  imso_Pad[4];
  259.       const @{"struct pOS_DataType" LINK "pDtType/DtType.h/File" 18}   *imso_Object;
  260.     } imth_SetObj;
  261.  
  262.  
  263.     struct /* GCLMTH_HelpTest */
  264.       const @{"struct pOS_IClassInfo" LINK "pIntui/ICI.h/File" 18} *imhs_Info;
  265.             @{"ULONG" LINK "pExec/Types.h/File" 91}                  imhs_Pad;
  266.       const @{"struct pOS_Point" LINK "pLayer/Rect.h/File" 26}      *imhs_RMouse;   /* relativ zum Gadget */
  267.       const @{"struct pOS_Point" LINK "pLayer/Rect.h/File" 26}      *imhs_AMouse;   /* absolut */
  268.             @{"struct pOS_Gadget" LINK "pGadget/Gadget.h/File" 18}     *imhs_HitGadget;
  269.             @{"ULONG" LINK "pExec/Types.h/File" 91}                  imhs_Result;
  270.     } imth_HelpTest;
  271.  
  272.  
  273.     struct /* GCLMTH_DragTest */
  274.       const @{"struct pOS_IClassInfo" LINK "pIntui/ICI.h/File" 18} *imdt_Info;
  275.             @{"ULONG" LINK "pExec/Types.h/File" 91}                  imdt_Pad;
  276.       const @{"struct pOS_Point" LINK "pLayer/Rect.h/File" 26}      *imdt_RMouse;   /* relativ zum Gadget */
  277.       const @{"struct pOS_Point" LINK "pLayer/Rect.h/File" 26}      *imdt_AMouse;   /* absolut */
  278.             @{"struct pOS_Gadget" LINK "pGadget/Gadget.h/File" 18}     *imdt_HitGadget;
  279.             @{"ULONG" LINK "pExec/Types.h/File" 91}                  imdt_Result;
  280.     } imth_DragTest;
  281.  
  282.  
  283.     struct /* GCLMTH_PopUp */
  284.       const @{"struct pOS_IClassInfo" LINK "pIntui/ICI.h/File" 18} *impo_Info;
  285.             @{"SLONG" LINK "pExec/Types.h/File" 90}                  impo_Mode;  /* 1==start, 0==end, -1==abort */
  286.     } imth_PopUp;
  287.  
  288.  
  289.   } imth_U;
  290.  
  291. };
  292.  
  293.  
  294. enum pOS_GadgetClassRender /** imre_Type **/
  295. {
  296.   GCLMTHRE_Update=1,    /* 1 incremental update */
  297.   GCLMTHRE_Redraw,      /*   redraw gadget  */
  298.   GCLMTHRE_Toggle,      /*   toggle highlight */
  299.   GCLMTHRE_TickFrame,   /*   next Frame# */
  300.   GCLMTHRE_ToggleDrop,  /* 5 toggle drop-highlight */
  301.   GCLMTHRE_ToggleFocus, /*   toggle focus-highlight */
  302. };
  303.  
  304.  
  305.  
  306.  
  307.  
  308.  
  309.  
  310. enum pOS_GadgetClassResult      /* Return-Wert vom Gadget-Dispatcher */
  311. {
  312.   GCLMTHR_None=0,
  313.  
  314.   GCLMTHR_Activate=     0x0001, /* Zeigt an, daß das Gadget aktiv sein soll.
  315.                                 ** Wird bei GCLMTH_GoActive oder GCLMTH_HandleInput
  316.                                 ** das Bit gelöscht, wird pIntui keine Events ans
  317.                                 ** Gadget schicken.
  318.                                 */
  319.   GCLMTHR_AbortIE=      0x0002, /* InputEvent wird nicht weitergereicht,
  320.                                 ** IE bleibt gültig. Dies hat zur Folge,
  321.                                 ** alle nachkommenden Handler diesen Event
  322.                                 ** nie bekommen.
  323.                                 */
  324.   GCLMTHR_GadgetHit=    0x0004, /* wird in GCLMTH_HitTest zurückgegeben,
  325.                                 ** fall der Mausklick im Gadget liegt und weiter
  326.                                 ** bearbeitet werden soll. pIntui wird dann ein
  327.                                 ** GCLMTH_GoActive auslösen, auf das das Gadget
  328.                                 ** dann Aggieren kann.
  329.                                 */
  330.   GCLMTHR_InputDone=    0x0004, /* InputHandle beenden.
  331.                                 ** Dieses Bit hat zur Folge, daß ein IECLASS_GADGETUP
  332.                                 ** Event ausgelöst wird. Bei einem GACT_RelVerify-Gadget
  333.                                 ** wird mittels GCLMTHR_Activate entschieden, ob ein
  334.                                 ** IECLASS_GADGETUP erzeugt wird. Ist GCLMTHR_Activate
  335.                                 ** nicht gesetzt, verliert das Gadget immer den
  336.                                 ** Eingabefocus (GACT_ActiveGadget wird gelöscht).
  337.                                 */
  338.   GCLMTHR_DropHit=      0x0004, /* Wird in GCLMTH_DropTest zurückgegeben.
  339.                                 ** Das Gadget signalisiert hiermit, daß ein Drag-
  340.                                 ** Object abgelegt werden kann.
  341.                                 */
  342.   GCLMTHR_DropDone=     0x0004, /* InputHandle beenden.
  343.                                 ** Der User hat das Drag-Objekt abgelegt.
  344.                                 */
  345.  
  346.   GCLMTHR_DragHit=      0x0008, /* wird in GCLMTH_DragTest zurückgegeben,
  347.                                 ** falls ein Drag möglich ist.
  348.                                 ** Ist das Bit gesetzt, so wird gegb. ein
  349.                                 ** GCLMTH_BeginDrag ausgelöst.
  350.                                 */
  351.   GCLMTHR_HelpHit=      0x0004, /* wird in GCLMTH_HelpTest zurückgegeben */
  352.  
  353.  
  354.   GCLMTHR_NextActive=   0x0010,
  355.   GCLMTHR_PrevActive=   0x0020,
  356.  
  357.   GCLMTHR_DoWRefresh=   0x0040, /* Win-Refresh auslösen */
  358.   GCLMTHR_DoGRefresh=   0x0080, /* Gadget-Refresh auslösen */
  359.   GCLMTHR_UpdateGadget= 0x0100, /* Gadget wurde verändert (IECLASS_UPDATEGADGET) */
  360.   GCLMTHR_GadgetAbort=  0x0200, /* */
  361.  
  362.  
  363. /****** GCLMTH_Msg *****/
  364.   GCLMTHR_NoneMsg = 0x00,       /* Msg wurde nicht bearbeitet */
  365.   GCLMTHR_DoneMsg = 0x01,       /* Msg ist bearbeitet und darf nicht an andere
  366.                                 ** Gadgets weitergereicht werden.
  367.                                 */
  368.   GCLMTHR_NoUsed  = 0x40,       /* Msg wurde vom Erzeugen-Gadget erkannt, konnte
  369.                                 ** aber nicht verwendet werden. Damit eine Msg nicht
  370.                                 ** an weitere Gadget zur Bearbeitung weitergereicht
  371.                                 ** wird, dient _NoUsed als Marke. (dient der verkürzten Suche)
  372.                                 */
  373.   GCLMTHR_NewMsg  = 0x80,       /* Msg erneut verschicken. Die Msg wurde modifiziert
  374.                                 ** und soll abermals als IDCMP-Message verschickt
  375.                                 ** werden.
  376.                                 */
  377.  
  378. };
  379.  
  380.  
  381.  
  382.  
  383. enum pOS_GadgetClassMethods
  384. {
  385.   GCLMTH_Dummy=  0x01,
  386.  
  387.   GCLMTH_HitTest,       /* Prüft, ob ein Gadgetklick im Gadget liegt */
  388.   GCLMTH_Render,        /* Gadget zeichnen (je noch Modus) */
  389.   GCLMTH_GoActive,      /* Gadget bekommt den Eingabefokus */
  390.   GCLMTH_HandleInput,   /*5 Gadget bekommt einen Inputevent */
  391.   GCLMTH_GoInactive,    /* Dem Gadget wird der Eingabefokus entzogen. */
  392.   GCLMTH_Help,          /* Help-String wird erstellt */
  393.   GCLMTH_Abort,         /* Der User hat die rechte Maustaste gerückt.
  394.                         ** Aktuell laufende Gadget-Aktion abbrechnen.
  395.                         ** Das Gadget verliert den Eingabefokus.
  396.                         */
  397.   GCLMTH_Add,           /* Gadget wird einem Window zugeordnet =>
  398.                         ** Info->ici_Window ist gültig gesetzt.
  399.                         ** siehe GFLG_UseMthAddRem
  400.                         */
  401.   GCLMTH_Rem,           /*10 Gadget wird aus dem Window entfernt */
  402.   GCLMTH_Layout,        /* Gadgets werden vom System-Layouter ausgerichtet.
  403.                         ** Alle Members der Gadget-Group werden immer über
  404.                         ** GCLMTH_Layout ausgerichtet.
  405.                         ** siehe GFLG_UseMthLayout
  406.                         */
  407.   GCLMTH_GetIBox,       /* Ermittlung der Größe vom Gadget */
  408.   GCLMTH_Msg,           /* Zweite Ebene der Nachrichtenauswertung.
  409.                         ** Mittels @{"pOS_SysIMessage()" LINK "pIntuiD/pOS_SysIMessage"} gelangen IDCMPs
  410.                         ** zu den Gadgets
  411.                         */
  412.   GCLMTH_WinBorder,     /* Border-Gadgets aus dem Border herausschneiden. */
  413.   GCLMTH_BeginDrag,     /*15 Das Gadget wird aufgefordert ein Drag-Objekt bereit-
  414.                         ** zustellen.
  415.                         */
  416.   GCLMTH_EndDrag,       /* Drag-Objekt löschen */
  417.   GCLMTH_DropTest,      /* Es wird geprüft, ob ein Drag-Objekt abgelegt (drop)
  418.                         ** werden kann.
  419.                         */
  420.   GCLMTH_ActiveDrop,    /* Im Gadget kann ein Objekt abgelegt werden. */
  421.   GCLMTH_HandleDrop,    /* War das Gadget mit GCLMTH_ActiveDrop einverstanden,
  422.                         ** so werden alle InputEvents im Drop-Vorgang ans Gadget
  423.                         ** weitergegeben.
  424.                         */
  425.   GCLMTH_InactiveDrop,  /* Das Gadget muß ab jetzt nicht mehr aus Drop achten. */
  426.   GCLMTH_AbortDrop,     /* Drop-Vorgang wurde abgebrochen => rechte Maustaste */
  427.   GCLMTH_GetQuickDropObject,/* DataType-Objekt aus input.task erzeugen
  428.                         (kann verweigert werden)
  429.                         */
  430.   GCLMTH_GetDropObject, /* DataType-Objekt aus dem Anwerder-Prozeß heraus erzeugen. */
  431.  
  432.   GCLMTH_SetDropObject, /* Return von GCLMTHR_InputDone bedeutet, Drop hat
  433.                         ** funktioniert.
  434.                         */
  435.   GCLMTH_HelpTest,      /* Prüft, ob die Maus im Gadget liegt, um ein Bubble zu erzeugen */
  436.   GCLMTH_DragTest,      /* */
  437.   GCLMTH_PopUp,
  438. };
  439.  
  440.  
  441.  
  442. enum pOS_GadgetLayoutFlags
  443. {
  444.   GCLMTHLYF_ReSize   = 0x0001, /* Window-Resize */
  445.   GCLMTHLYF_AddGList = 0x0002, /* @{"pOS_AddGadget()" LINK "pIntuiD/pOS_AddGadget"} or @{"pOS_AddGadgets()" LINK "pIntuiD/pOS_AddGadgets"} */
  446.  
  447.   GCLMTHLYF_Mask     = 0x000f, /* Work-Type-Mask */
  448.  
  449.   GCLMTHLYF_LD       = 0x0100, /* perform imly_LD (zuvor wird @{"pOS_LockLayerInfo()" LINK "pLayerD/pOS_LockLayerInfo"} aufgerufen)*/
  450.   GCLMTHLYF_SizeAbort= 0x0200, /* Bearbeitung wird beim ReSize sofort abgebrochen */
  451. };
  452.  
  453. #endif
  454. @ENDNODE
  455.