Advertisement
Guest User

Untitled

a guest
Jul 27th, 2017
48
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.10 KB | None | 0 0
  1. #ifndef _PANELGROUP_H_
  2. #define _PANELGROUP_H_
  3.  
  4. /*
  5. Copyright © 2011, The AROS Development Team. All rights reserved.
  6. $Id$
  7. */
  8.  
  9. #include <exec/types.h>
  10. #include <libraries/mui.h>
  11. #include <zune/customclasses.h>
  12.  
  13. /*** Identifier Base ********************************************************/
  14. #define MUIB_PanelGroup (TAG_USER | 0x11a00000)
  15.  
  16. /*** Public Attributes ******************************************************/
  17. #define MUIA_PanelGroup_Panels (MUIB_PanelGroup | 0x00000001) /* I-- */
  18. #define MUIA_PanelGroup_FloatSpacer (MUIB_PanelGroup | 0x00000002) /* I-- */
  19. #define MUIA_PanelGroup_PanelSize (MUIB_PanelGroup | 0x0000000A) /* I-- */
  20.  
  21. /*** Public Methods *********************************************************/
  22.  
  23. #define MUIM_PanelGroup_AddPanel (MUIB_PanelGroup | 0x00000001)
  24. #define MUIM_PanelGroup_InitChange (MUIB_PanelGroup | 0x00000002)
  25. #define MUIM_PanelGroup_ExitChange (MUIB_PanelGroup | 0x00000003)
  26.  
  27. /*** Private Methods ********************************************************/
  28.  
  29. /*** Private Constants ********************************************************/
  30.  
  31. extern struct MUI_CustomClass *PanelGroup_CLASS;
  32.  
  33. /*** Private Data Structures ********************************************************/
  34.  
  35.  
  36. /*** Private Instance Data **********************************************************/
  37.  
  38. struct PanelGroup_DATA
  39. {
  40. IPTR pg_Flags;
  41. Object *pg_RootGroupObj;
  42. Object *pg_RootGroupSpacer;
  43. ULONG pg_Count;
  44. ULONG pg_HorizWeight;
  45. ULONG pg_VertWeight;
  46. };
  47.  
  48. #define pgFlag_Setup (1<<0)
  49. #define pgFlag_Horizontal (1<<1)
  50.  
  51. /*** Macros *****************************************************************/
  52.  
  53. #define SETUP_PANELGROUP_INST_DATA struct PanelGroup_DATA *data = INST_DATA(CLASS, self)
  54.  
  55. #ifdef __AROS__
  56. #define PanelGroupObject BOOPSIOBJMACRO_START(PanelGroup_CLASS->mcc_Class)
  57. #else
  58. #define PanelGroupObject NewObject(PanelGroup_CLASS->mcc_Class, NULL
  59. #endif
  60.  
  61. #define PANELGROUP_CUSTOMCLASS(name, base, parent_name, parent_class, \
  62. m1, m1_msg_type, \
  63. m2, m2_msg_type, \
  64. m3, m3_msg_type, \
  65. m4, m4_msg_type, \
  66. m5, m5_msg_type, \
  67. m6, m6_msg_type) \
  68. __ZUNE_CUSTOMCLASS_START(name) \
  69. __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m1, m1, m1_msg_type); \
  70. __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m2, m2, m2_msg_type); \
  71. __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m3, m3, m3_msg_type); \
  72. __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m4, m4, m4_msg_type); \
  73. __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m5, m5, m5_msg_type); \
  74. __ZUNE_CUSTOMCLASS_METHOD(name ## __ ## m6, m6, m6_msg_type); \
  75. __ZUNE_CUSTOMCLASS_END(name, base, parent_name, parent_class)
  76.  
  77.  
  78. #endif /* _PANELGROUP_H_ */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement