home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 22 / AACD 22.iso / AACD / Programming / Emperor_v4.0 / Emperor / Projects / ClicktabExample.c < prev    next >
Encoding:
C/C++ Source or Header  |  2001-05-05  |  137.1 KB  |  1,756 lines

  1. /* code was generated by Emperor */
  2.  
  3. #define CATCOMP_NUMBERS
  4. #define CATCOMP_STRINGS
  5. #define ALL_REACTION_CLASSES
  6. #define ALL_REACTION_MACROS
  7. #include <stdio.h>
  8. #include <stdlib.h>
  9. #include <string.h>
  10. #include <clib/alib_protos.h>
  11. #include <clib/asl_protos.h>
  12. #include <clib/dos_protos.h>
  13. #include <clib/exec_protos.h>
  14. #include <clib/gadtools_protos.h>
  15. #include <clib/graphics_protos.h>
  16. #include <clib/intuition_protos.h>
  17. #include <clib/locale_protos.h>
  18. #include <clib/resource_protos.h>
  19. #include <clib/utility_protos.h>
  20. #include <clib/colorwheel_protos.h>
  21. #include <clib/datebrowser_protos.h>
  22. #include <clib/texteditor_protos.h>
  23. #include <clib/wb_protos.h>
  24. #include <gadgets/colorwheel.h>
  25. #include <gadgets/datebrowser.h>
  26. #include <gadgets/gradientslider.h>
  27. #include <gadgets/tapedeck.h>
  28. #include <gadgets/texteditor.h>
  29. #include <proto/texteditor.h>
  30. #include <intuition/gadgetclass.h>
  31. #include <intuition/icclass.h>
  32. #include <intuition/imageclass.h>
  33. #include <reaction/reaction.h>
  34. #include <workbench/startup.h>
  35. #include <wbstartup.h>
  36.  
  37. #define TapeDeckObject   NewObject(NULL, "tapedeck.gadget"
  38. #define TextEditorObject NewObject(TEXTEDITOR_GetClass(), NULL
  39.  
  40. #define LOCALE_WINDOW_TITLE1 GetCatalogStr(Catalog, 0, "Window")
  41. #define LOCALE_SCREEN_TITLE1 GetCatalogStr(Catalog, 1, "Workbench Screen")
  42. #define LOCALE_ICONIFIED_TITLE1 GetCatalogStr(Catalog, 2, "Iconified Program")
  43. #define Layout1 Gadget1[1]
  44. #define Clicktab1 Gadget1[2]
  45. #define Page1 Gadget1[3]
  46. #define Page2 Gadget1[4]
  47. #define Button1 Gadget1[5]
  48. #define Button2 Gadget1[6]
  49. #define Page3 Gadget1[7]
  50. #define Checkbox1 Gadget1[8]
  51. #define Checkbox2 Gadget1[9]
  52. #define Page4 Gadget1[10]
  53. #define Integer1 Gadget1[11]
  54. #define Label1 Gadget1[12]
  55. #define Integer2 Gadget1[13]
  56. #define Label2 Gadget1[14]
  57. #define Page5 Gadget1[15]
  58. #define Bitmap1 Gadget1[16]
  59. #define Page6 Gadget1[17]
  60. #define Button3 Gadget1[18]
  61. #define Bitmap2 Gadget1[19]
  62. #define Button4 Gadget1[20]
  63. #define Glyph1 Gadget1[21]
  64. #define Page7 Gadget1[22]
  65. #define Button5 Gadget1[23]
  66. #define Button6 Gadget1[24]
  67. #define Page8 Gadget1[25]
  68. #define Layout3 Gadget1[26]
  69. #define Bevel1 Gadget1[27]
  70. #define Page9 Gadget1[28]
  71. #define Clicktab2 Gadget1[29]
  72. #define Page10 Gadget1[30]
  73. #define Page11 Gadget1[31]
  74. #define Scroller1 Gadget1[32]
  75. #define Layout2 Gadget1[33]
  76. #define Slider1 Gadget1[34]
  77. #define Radiobutton1 Gadget1[35]
  78. #define Tapedeck1 Gadget1[36]
  79. #define Page12 Gadget1[37]
  80. #define Listbrowser1 Gadget1[38]
  81. #define Space1 Gadget1[39]
  82. BYTE Emperor_Gadgetkind1[] = { 0, 12, 3, 12, 12, 0, 0, 12, 1, 1, 12, 11, 26, 11, 26, 12, 24, 12, 0, 24, 0, 25, 12, 0, 0, 12, 12, 23, 12, 3, 12, 12, 16, 12, 17, 15, 21, 12, 13, 18, -1 };
  83.  
  84. void Window1_CloseWindow_Event(void);
  85. BOOL Emperor_InitProgram(void);
  86. void Emperor_QuitProgram(void);
  87. void Emperor_CloseWindow_Window1(void);
  88. void Emperor_IconifyWindow_Window1(void);
  89. struct Window *Emperor_OpenWindow_Window1(void);
  90. struct Window *Emperor_UniconifyWindow_Window1(void);
  91. BOOL Emperor_GetMenuItemAttr(UWORD, UWORD);
  92. void Emperor_SetMenuItemAttr(UWORD, UWORD, BOOL);
  93. STRPTR Emperor_GetGadgetAttr(struct Gadget *);
  94. void Emperor_SetGadgetAttr(struct Gadget *, STRPTR);
  95. STRPTR Emperor_GetGadgetAttrComplex(struct Gadget *, ULONG);
  96. void Emperor_SetGadgetAttrComplex(struct Gadget *, ULONG, STRPTR);
  97. BOOL Emperor_GetGadgetDisabledAttr(struct Gadget *);
  98. void Emperor_SetGadgetDisabledAttr(struct Gadget *, BOOL);
  99. BOOL Emperor_GetGadgetReadOnlyAttr(struct Gadget *);
  100. void Emperor_SetGadgetReadOnlyAttr(struct Gadget *, BOOL);
  101. void Emperor_ActivateGadget(struct Gadget *);
  102. void Emperor_RethinkLayout(struct Gadget *);
  103. void Emperor_RefreshGList(struct Gadget *, WORD);
  104. void Emperor_ChangeWindowPosition(struct Window *, WORD, WORD);
  105. void Emperor_ChangeWindowSize(struct Window *, WORD, WORD);
  106. void Emperor_SetWindowBusyPointer(struct Window *, BOOL);
  107. void Emperor_SetWindowTitle(struct Window *, STRPTR);
  108. void Emperor_SetScreenTitle(struct Window *, STRPTR);
  109. void Emperor_AllocChooserNode(struct List *, char **, WORD *);
  110. void Emperor_AllocClicktabNode(struct List *, char **, WORD *);
  111. void Emperor_AllocListbrowserNode(struct List *, char **, WORD *);
  112. void Emperor_AllocRadiobuttonNode(struct List *, char **, WORD *);
  113. void Emperor_AllocListbrowserGadToolsNode(struct List *, char **);
  114. ULONG stringlength(STRPTR buffer);
  115. LONG stringtoint(STRPTR);
  116. DOUBLE stringtofloat(STRPTR);
  117. STRPTR inttostring(LONG);
  118.  
  119. struct Library *IntuitionBase = NULL;
  120. struct Library *LocaleBase = NULL;
  121. struct Library *GadToolsBase = NULL;
  122. struct Library *ASLBase = NULL;
  123. struct Library *DOSLibBase = NULL;
  124. struct Library *ResourceBase = NULL;
  125. struct Library *WindowBase = NULL;
  126. struct Library *RequesterBase = NULL;
  127. struct Library *ButtonBase = NULL;
  128. struct Library *CheckBoxBase = NULL;
  129. struct Library *ChooserBase = NULL;
  130. struct Library *ClickTabBase = NULL;
  131. struct Library *ColorWheelBase = NULL;
  132. struct Library *DateBrowserBase = NULL;
  133. struct Library *FuelGaugeBase = NULL;
  134. struct Library *GetFileBase = NULL;
  135. struct Library *GetFontBase = NULL;
  136. struct Library *GetScreenModeBase = NULL;
  137. struct Library *GradientSliderBase = NULL;
  138. struct Library *IntegerBase = NULL;
  139. struct Library *LayoutBase = NULL;
  140. struct Library *ListBrowserBase = NULL;
  141. struct Library *PaletteBase = NULL;
  142. struct Library *RadioButtonBase = NULL;
  143. struct Library *ScrollerBase = NULL;
  144. struct Library *SliderBase = NULL;
  145. struct Library *SpaceBase = NULL;
  146. struct Library *SpeedBarBase = NULL;
  147. struct Library *StringBase = NULL;
  148. struct Library *TapeDeckBase = NULL;
  149. struct Library *TextEditorBase = NULL;
  150. struct Library *BevelBase = NULL;
  151. struct Library *BitMapBase = NULL;
  152. struct Library *GlyphBase = NULL;
  153. struct Library *LabelBase = NULL;
  154. struct List Chooser_ClicktabArray;
  155. struct List Clicktab_ClicktabArray;
  156. struct List Listbrowser_ClicktabArray;
  157. struct List Radiobutton_ClicktabArray;
  158. struct List Listbrowser_GadTools_ClicktabArray;
  159. struct List Chooser_Clicktab2Array;
  160. struct List Clicktab_Clicktab2Array;
  161. struct List Listbrowser_Clicktab2Array;
  162. struct List Radiobutton_Clicktab2Array;
  163. struct List Listbrowser_GadTools_Clicktab2Array;
  164.  
  165. void *vinfo = NULL;
  166. BOOL os35 = TRUE;
  167. BOOL terminated = FALSE;
  168. ULONG WindowSignals1 = 0L;
  169. Object *WindowObject1 = NULL;
  170. struct Catalog *Catalog = NULL;
  171. struct Gadget *Gadget1[40];
  172. struct MsgPort *AppPort = NULL;
  173. struct MsgPort *MsgPort = NULL;
  174. struct Screen *Screen1 = NULL;
  175. struct Window *Window1 = NULL;
  176.  
  177. const char VERSION[] = "$VER: ClicktabExample 1.7 (16-Feb-2001)";
  178. const char AUTHOR[] = "Matthias Gietzelt";
  179.  
  180. /* global variables declarations */
  181.  
  182. char *ClicktabArrayraw[] = { "node1", "node2", "node3", "node4", "node5", "node6", "node7", "node8", NULL };
  183. WORD ClicktabArrayattr[] = { 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL };
  184. char *Clicktab2Arrayraw[] = { "some stuff", "other stuff", NULL };
  185. WORD Clicktab2Arrayattr[] = { 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, 0, 0, NULL };
  186.  
  187. void main(void)
  188. {
  189.     BYTE Emperor_Exception = 0;
  190.     ULONG Emperor_Input, Emperor_Code;
  191.     char Emperor_ExceptionString[300];
  192.     struct EasyStruct EmperorRequest_InitializationErrorRequest;
  193.     struct IntuiMessage *IntuiMessage = NULL;
  194.     struct Gadget *GadgetMessage = NULL;
  195.  
  196.     Emperor_Input = 0L;
  197.     Emperor_Code = 0L;
  198.     if(!Emperor_InitProgram())
  199.     {
  200.         Screen1 = LockPubScreen(NULL);
  201.         if(Screen1)
  202.         {
  203.             vinfo = GetVisualInfo(Screen1, TAG_DONE);
  204.             if(vinfo)
  205.             {
  206.                     if(os35) Emperor_AllocChooserNode(&Chooser_ClicktabArray, ClicktabArrayraw, ClicktabArrayattr);
  207.                     if(os35) Emperor_AllocClicktabNode(&Clicktab_ClicktabArray, ClicktabArrayraw, ClicktabArrayattr);
  208.                     if(os35) Emperor_AllocListbrowserNode(&Listbrowser_ClicktabArray, ClicktabArrayraw, ClicktabArrayattr);
  209.                     if(os35) Emperor_AllocRadiobuttonNode(&Radiobutton_ClicktabArray, ClicktabArrayraw, ClicktabArrayattr);
  210.                     Emperor_AllocListbrowserGadToolsNode(&Listbrowser_GadTools_ClicktabArray, ClicktabArrayraw);
  211.                     if(os35) Emperor_AllocChooserNode(&Chooser_Clicktab2Array, Clicktab2Arrayraw, Clicktab2Arrayattr);
  212.                     if(os35) Emperor_AllocClicktabNode(&Clicktab_Clicktab2Array, Clicktab2Arrayraw, Clicktab2Arrayattr);
  213.                     if(os35) Emperor_AllocListbrowserNode(&Listbrowser_Clicktab2Array, Clicktab2Arrayraw, Clicktab2Arrayattr);
  214.                     if(os35) Emperor_AllocRadiobuttonNode(&Radiobutton_Clicktab2Array, Clicktab2Arrayraw, Clicktab2Arrayattr);
  215.                     Emperor_AllocListbrowserGadToolsNode(&Listbrowser_GadTools_Clicktab2Array, Clicktab2Arrayraw);
  216.                     AppPort = CreateMsgPort();
  217.                     if(AppPort)
  218.                     {
  219.                         MsgPort = CreatePort("ClicktabExample_Port", 0);
  220.                         if(MsgPort)
  221.                         {
  222.                             if(os35)
  223.                             {
  224.                                 WindowObject1 = (Object *) WindowObject,
  225.                                                 WA_Left, 0,
  226.                                                 WA_Top, 17,
  227.                                                 WA_Width, 320,
  228.                                                 WA_Height, 400,
  229.                                                 WA_SizeGadget, TRUE,
  230.                                                 WA_DragBar, TRUE,
  231.                                                 WA_DepthGadget, TRUE,
  232.                                                 WA_CloseGadget, TRUE,
  233.                                                 WA_Activate, TRUE,
  234.                                                 WA_AutoAdjust, TRUE,
  235.                                                 WA_IDCMP, IDCMP_GADGETDOWN | IDCMP_GADGETUP | IDCMP_GADGETHELP | IDCMP_MENUPICK | IDCMP_MENUHELP | IDCMP_CLOSEWINDOW | IDCMP_ACTIVEWINDOW | IDCMP_INACTIVEWINDOW | IDCMP_RAWKEY | IDCMP_VANILLAKEY | IDCMP_MOUSEBUTTONS | IDCMP_MOUSEMOVE | IDCMP_NEWSIZE | IDCMP_CHANGEWINDOW | IDCMP_SIZEVERIFY | IDCMP_REFRESHWINDOW | IDCMP_INTUITICKS,
  236.                                                 WA_MinWidth, 0,
  237.                                                 WA_MinHeight, 0,
  238.                                                 WA_MaxWidth, 0,
  239.                                                 WA_MaxHeight, 0,
  240.                                                 WA_Title, LOCALE_WINDOW_TITLE1,
  241.                                                 WA_ScreenTitle, LOCALE_SCREEN_TITLE1,
  242.                                                 WA_PubScreen, Screen1,
  243.                                                 WINDOW_GadgetHelp, TRUE,
  244.                                                 WINDOW_IconifyGadget, FALSE,
  245.                                                 WINDOW_IconTitle, LOCALE_ICONIFIED_TITLE1,
  246.                                                 WINDOW_AppPort, AppPort,
  247.                                                 WINDOW_ParentGroup, (Object *) Gadget1[0] = (Object *) VGroupObject,
  248.                                                                         LAYOUT_SpaceOuter, TRUE,
  249.                                                                         LAYOUT_DeferLayout, TRUE,
  250.                                                                         LAYOUT_AddChild, (Object *) Gadget1[1] = (Object *) LayoutObject,
  251.                                                                                          GA_ID, 0,
  252.                                                                                          GA_RelVerify, TRUE,
  253.                                                                                          GA_GadgetHelp, TRUE,
  254.                                                                                          LAYOUT_Label, "",
  255.                                                                                          LAYOUT_Orientation, 1,
  256.                                                                                          LAYOUT_HorizAlignment, LALIGN_LEFT,
  257.                                                                                          LAYOUT_VertAlignment, LALIGN_TOP,
  258.                                                                                          LAYOUT_LabelPlace, BVJ_TOP_LEFT,
  259.                                                                                          LAYOUT_BevelState, IDS_NORMAL,
  260.                                                                                          LAYOUT_BevelStyle, 4,
  261.                                                                                          LAYOUT_AddChild, (Object *) Gadget1[2] = (Object *) ClickTabObject,
  262.                                                                                                           GA_ID, 1,
  263.                                                                                                           GA_RelVerify, TRUE,
  264.                                                                                                           GA_GadgetHelp, TRUE,
  265.                                                                                                           CLICKTAB_Labels, (ULONG) &Clicktab_ClicktabArray,
  266.                                                                                                           CLICKTAB_Current, 0,
  267.                                                                                                           CLICKTAB_PageGroup, (Object *) Gadget1[3] = (Object *) PageObject,
  268.                                                                                                                            GA_ID, 2,
  269.                                                                                                                            GA_RelVerify, TRUE,
  270.                                                                                                                            GA_GadgetHelp, TRUE,
  271.                                                                                                                            LAYOUT_Label, "",
  272.                                                                                                                            LAYOUT_Orientation, 1,
  273.                                                                                                                            LAYOUT_HorizAlignment, LALIGN_LEFT,
  274.                                                                                                                            LAYOUT_VertAlignment, LALIGN_TOP,
  275.                                                                                                                            LAYOUT_LabelPlace, BVJ_TOP_LEFT,
  276.                                                                                                                            LAYOUT_BevelState, IDS_NORMAL,
  277.                                                                                                                            LAYOUT_BevelStyle, 4,
  278.                                                                                                                            LAYOUT_FixedVert, TRUE,
  279.                                                                                                                            PAGE_Add, (Object *) Gadget1[4] = (Object *) LayoutObject,
  280.                                                                                                                                             GA_ID, 3,
  281.                                                                                                                                             GA_RelVerify, TRUE,
  282.                                                                                                                                             GA_GadgetHelp, TRUE,
  283.                                                                                                                                             LAYOUT_Label, "",
  284.                                                                                                                                             LAYOUT_Orientation, 1,
  285.                                                                                                                                             LAYOUT_LeftSpacing, 10,
  286.                                                                                                                                             LAYOUT_TopSpacing, 10,
  287.                                                                                                                                             LAYOUT_BottomSpacing, 10,
  288.                                                                                                                                             LAYOUT_RightSpacing, 10,
  289.                                                                                                                                             LAYOUT_HorizAlignment, LALIGN_LEFT,
  290.                                                                                                                                             LAYOUT_VertAlignment, LALIGN_TOP,
  291.                                                                                                                                             LAYOUT_LabelPlace, BVJ_TOP_LEFT,
  292.                                                                                                                                             LAYOUT_BevelState, IDS_NORMAL,
  293.                                                                                                                                             LAYOUT_BevelStyle, 4,
  294.                                                                                                                                             LAYOUT_FixedVert, TRUE,
  295.                                                                                                                                             LAYOUT_AddChild, (Object *) Gadget1[5] = (Object *) ButtonObject,
  296.                                                                                                                                                              GA_ID, 4,
  297.                                                                                                                                                              GA_RelVerify, TRUE,
  298.                                                                                                                                                              GA_GadgetHelp, TRUE,
  299.                                                                                                                                                              GA_Text, "",
  300.                                                                                                                                                              BUTTON_AutoButton, 4,
  301.                                                                                                                                                              BUTTON_Justification, 1,
  302.                                                                                                                                             End,
  303.                                                                                                                                             LAYOUT_AddChild, (Object *) Gadget1[6] = (Object *) ButtonObject,
  304.                                                                                                                                                              GA_ID, 5,
  305.                                                                                                                                                              GA_RelVerify, TRUE,
  306.                                                                                                                                                              GA_GadgetHelp, TRUE,
  307.                                                                                                                                                              GA_Text, "Button",
  308.                                                                                                                                                              BUTTON_Justification, 1,
  309.                                                                                                                                             End,
  310.                                                                                                                            End,
  311.                                                                                                                            PAGE_Add, (Object *) Gadget1[7] = (Object *) LayoutObject,
  312.                                                                                                                                             GA_ID, 6,
  313.                                                                                                                                             GA_RelVerify, TRUE,
  314.                                                                                                                                             GA_GadgetHelp, TRUE,
  315.                                                                                                                                             LAYOUT_Label, "",
  316.                                                                                                                                             LAYOUT_Orientation, 1,
  317.                                                                                                                                             LAYOUT_LeftSpacing, 10,
  318.                                                                                                                                             LAYOUT_TopSpacing, 10,
  319.                                                                                                                                             LAYOUT_BottomSpacing, 10,
  320.                                                                                                                                             LAYOUT_RightSpacing, 10,
  321.                                                                                                                                             LAYOUT_HorizAlignment, LALIGN_LEFT,
  322.                                                                                                                                             LAYOUT_VertAlignment, LALIGN_TOP,
  323.                                                                                                                                             LAYOUT_LabelPlace, BVJ_TOP_LEFT,
  324.                                                                                                                                             LAYOUT_BevelState, IDS_NORMAL,
  325.                                                                                                                                             LAYOUT_BevelStyle, 4,
  326.                                                                                                                                             LAYOUT_FixedVert, TRUE,
  327.                                                                                                                                             LAYOUT_AddChild, (Object *) Gadget1[8] = (Object *) CheckBoxObject,
  328.                                                                                                                                                              GA_ID, 7,
  329.                                                                                                                                                              GA_RelVerify, TRUE,
  330.                                                                                                                                                              GA_GadgetHelp, TRUE,
  331.                                                                                                                                                              GA_Text, "Checkbox1",
  332.                                                                                                                                                              CHECKBOX_TextPen, 1,
  333.                                                                                                                                                              CHECKBOX_FillTextPen, 1,
  334.                                                                                                                                                              CHECKBOX_BackgroundPen, 0,
  335.                                                                                                                                                              CHECKBOX_TextPlace, PLACETEXT_RIGHT,
  336.                                                                                                                                             End,
  337.                                                                                                                                             LAYOUT_AddChild, (Object *) Gadget1[9] = (Object *) CheckBoxObject,
  338.                                                                                                                                                              GA_ID, 8,
  339.                                                                                                                                                              GA_RelVerify, TRUE,
  340.                                                                                                                                                              GA_GadgetHelp, TRUE,
  341.                                                                                                                                                              GA_Text, "Checkbox2",
  342.                                                                                                                                                              CHECKBOX_TextPen, 1,
  343.                                                                                                                                                              CHECKBOX_FillTextPen, 1,
  344.                                                                                                                                                              CHECKBOX_BackgroundPen, 0,
  345.                                                                                                                                                              CHECKBOX_TextPlace, PLACETEXT_RIGHT,
  346.                                                                                                                                             End,
  347.                                                                                                                            End,
  348.                                                                                                                            PAGE_Add, (Object *) Gadget1[10] = (Object *) LayoutObject,
  349.                                                                                                                                             GA_ID, 9,
  350.                                                                                                                                             GA_RelVerify, TRUE,
  351.                                                                                                                                             GA_GadgetHelp, TRUE,
  352.                                                                                                                                             LAYOUT_Label, "",
  353.                                                                                                                                             LAYOUT_Orientation, 1,
  354.                                                                                                                                             LAYOUT_LeftSpacing, 10,
  355.                                                                                                                                             LAYOUT_TopSpacing, 10,
  356.                                                                                                                                             LAYOUT_BottomSpacing, 10,
  357.                                                                                                                                             LAYOUT_RightSpacing, 10,
  358.                                                                                                                                             LAYOUT_HorizAlignment, LALIGN_LEFT,
  359.                                                                                                                                             LAYOUT_VertAlignment, LALIGN_TOP,
  360.                                                                                                                                             LAYOUT_LabelPlace, BVJ_TOP_LEFT,
  361.                                                                                                                                             LAYOUT_BevelState, IDS_NORMAL,
  362.                                                                                                                                             LAYOUT_BevelStyle, 4,
  363.                                                                                                                                             LAYOUT_FixedVert, TRUE,
  364.                                                                                                                                             LAYOUT_AddChild, (Object *) Gadget1[11] = (Object *) IntegerObject,
  365.                                                                                                                                                              GA_ID, 23,
  366.                                                                                                                                                              GA_RelVerify, TRUE,
  367.                                                                                                                                                              GA_GadgetHelp, TRUE,
  368.                                                                                                                                                              GA_TabCycle, TRUE,
  369.                                                                                                                                                              INTEGER_Number, 0,
  370.                                                                                                                                                              INTEGER_MaxChars, 10,
  371.                                                                                                                                                              INTEGER_Minimum, -30000,
  372.                                                                                                                                                              INTEGER_Maximum, 30000,
  373.                                                                                                                                                              INTEGER_Arrows, TRUE,
  374.                                                                                                                                             End,
  375.                                                                                                                                             CHILD_Label, (Object *) Gadget1[12] = (Object *) LabelObject,
  376.                                                                                                                                                              LABEL_Justification, 0,
  377.                                                                                                                                                              LABEL_Text, "Integer #1",
  378.                                                                                                                                             End,
  379.                                                                                                                                             LAYOUT_AddChild, (Object *) Gadget1[13] = (Object *) IntegerObject,
  380.                                                                                                                                                              GA_ID, 24,
  381.                                                                                                                                                              GA_RelVerify, TRUE,
  382.                                                                                                                                                              GA_GadgetHelp, TRUE,
  383.                                                                                                                                                              GA_TabCycle, TRUE,
  384.                                                                                                                                                              INTEGER_Number, 0,
  385.                                                                                                                                                              INTEGER_MaxChars, 10,
  386.                                                                                                                                                              INTEGER_Minimum, -30000,
  387.                                                                                                                                                              INTEGER_Maximum, 30000,
  388.                                                                                                                                                              INTEGER_Arrows, TRUE,
  389.                                                                                                                                             End,
  390.                                                                                                                                             CHILD_Label, (Object *) Gadget1[14] = (Object *) LabelObject,
  391.                                                                                                                                                              LABEL_Justification, 0,
  392.                                                                                                                                                              LABEL_Text, "Integer #2",
  393.                                                                                                                                             End,
  394.                                                                                                                            End,
  395.                                                                                                                            PAGE_Add, (Object *) Gadget1[15] = (Object *) LayoutObject,
  396.                                                                                                                                             GA_ID, 12,
  397.                                                                                                                                             GA_RelVerify, TRUE,
  398.                                                                                                                                             GA_GadgetHelp, TRUE,
  399.                                                                                                                                             LAYOUT_Label, "",
  400.                                                                                                                                             LAYOUT_Orientation, 1,
  401.                                                                                                                                             LAYOUT_LeftSpacing, 10,
  402.                                                                                                                                             LAYOUT_TopSpacing, 10,
  403.                                                                                                                                             LAYOUT_BottomSpacing, 10,
  404.                                                                                                                                             LAYOUT_RightSpacing, 10,
  405.                                                                                                                                             LAYOUT_HorizAlignment, LALIGN_LEFT,
  406.                                                                                                                                             LAYOUT_VertAlignment, LALIGN_TOP,
  407.                                                                                                                                             LAYOUT_LabelPlace, BVJ_TOP_LEFT,
  408.                                                                                                                                             LAYOUT_BevelState, IDS_NORMAL,
  409.                                                                                                                                             LAYOUT_BevelStyle, 4,
  410.                                                                                                                                             LAYOUT_FixedVert, TRUE,
  411.                                                                                                                                             LAYOUT_AddImage, (Object *) Gadget1[16] = (Object *) BitMapObject,
  412.                                                                                                                                                              BITMAP_SourceFile, "Emperor:Projects/ClicktabExample.jpg",
  413.                                                                                                                                                              BITMAP_Screen, Screen1,
  414.                                                                                                                                                              BITMAP_Precision, PRECISION_EXACT,
  415.                                                                                                                                             End,
  416.                                                                                                                            End,
  417.                                                                                                                            PAGE_Add, (Object *) Gadget1[17] = (Object *) LayoutObject,
  418.                                                                                                                                             GA_ID, 14,
  419.                                                                                                                                             GA_RelVerify, TRUE,
  420.                                                                                                                                             GA_GadgetHelp, TRUE,
  421.                                                                                                                                             LAYOUT_Label, "",
  422.                                                                                                                                             LAYOUT_Orientation, 1,
  423.                                                                                                                                             LAYOUT_LeftSpacing, 10,
  424.                                                                                                                                             LAYOUT_TopSpacing, 10,
  425.                                                                                                                                             LAYOUT_BottomSpacing, 10,
  426.                                                                                                                                             LAYOUT_RightSpacing, 10,
  427.                                                                                                                                             LAYOUT_HorizAlignment, LALIGN_LEFT,
  428.                                                                                                                                             LAYOUT_VertAlignment, LALIGN_TOP,
  429.                                                                                                                                             LAYOUT_LabelPlace, BVJ_TOP_LEFT,
  430.                                                                                                                                             LAYOUT_BevelState, IDS_NORMAL,
  431.                                                                                                                                             LAYOUT_BevelStyle, 4,
  432.                                                                                                                                             LAYOUT_FixedVert, TRUE,
  433.                                                                                                                                             LAYOUT_AddChild, (Object *) Gadget1[18] = (Object *) ButtonObject,
  434.                                                                                                                                                              GA_ID, 15,
  435.                                                                                                                                                              GA_RelVerify, TRUE,
  436.                                                                                                                                                              GA_GadgetHelp, TRUE,
  437.                                                                                                                                                              GA_Text, "",
  438.                                                                                                                                                              BUTTON_Justification, 1,
  439.                                                                                                                                                              BUTTON_RenderImage, (Object *) Gadget1[19] = (Object *) BitMapObject,
  440.                                                                                                                                                                               BITMAP_SourceFile, "Emperor:Projects/ClicktabExample.iff",
  441.                                                                                                                                                                               BITMAP_Screen, Screen1,
  442.                                                                                                                                                                               BITMAP_Precision, PRECISION_EXACT,
  443.                                                                                                                                                              End,
  444.                                                                                                                                             End,
  445.                                                                                                                                             LAYOUT_AddChild, (Object *) Gadget1[20] = (Object *) ButtonObject,
  446.                                                                                                                                                              GA_ID, 17,
  447.                                                                                                                                                              GA_RelVerify, TRUE,
  448.                                                                                                                                                              GA_GadgetHelp, TRUE,
  449.                                                                                                                                                              GA_Text, "",
  450.                                                                                                                                                              BUTTON_Justification, 1,
  451.                                                                                                                                                              BUTTON_RenderImage, (Object *) Gadget1[21] = (Object *) GlyphObject,
  452.                                                                                                                                                                               GLYPH_Glyph, 11,
  453.                                                                                                                                                              End,
  454.                                                                                                                                             End,
  455.                                                                                                                            End,
  456.                                                                                                                            PAGE_Add, (Object *) Gadget1[22] = (Object *) LayoutObject,
  457.                                                                                                                                             GA_ID, 19,
  458.                                                                                                                                             GA_RelVerify, TRUE,
  459.                                                                                                                                             GA_GadgetHelp, TRUE,
  460.                                                                                                                                             LAYOUT_Label, "",
  461.                                                                                                                                             LAYOUT_Orientation, 1,
  462.                                                                                                                                             LAYOUT_LeftSpacing, 10,
  463.                                                                                                                                             LAYOUT_TopSpacing, 10,
  464.                                                                                                                                             LAYOUT_BottomSpacing, 10,
  465.                                                                                                                                             LAYOUT_RightSpacing, 10,
  466.                                                                                                                                             LAYOUT_HorizAlignment, LALIGN_LEFT,
  467.                                                                                                                                             LAYOUT_VertAlignment, LALIGN_TOP,
  468.                                                                                                                                             LAYOUT_LabelPlace, BVJ_TOP_LEFT,
  469.                                                                                                                                             LAYOUT_BevelState, IDS_NORMAL,
  470.                                                                                                                                             LAYOUT_BevelStyle, 4,
  471.                                                                                                                                             LAYOUT_FixedVert, TRUE,
  472.                                                                                                                                             LAYOUT_AddChild, (Object *) Gadget1[23] = (Object *) ButtonObject,
  473.                                                                                                                                                              GA_ID, 20,
  474.                                                                                                                                                              GA_RelVerify, TRUE,
  475.                                                                                                                                                              GA_GadgetHelp, TRUE,
  476.                                                                                                                                                              GA_Text, "",
  477.                                                                                                                                                              BUTTON_Justification, 1,
  478.                                                                                                                                             End,
  479.                                                                                                                                             LAYOUT_AddChild, (Object *) Gadget1[24] = (Object *) ButtonObject,
  480.                                                                                                                                                              GA_ID, 21,
  481.                                                                                                                                                              GA_RelVerify, TRUE,
  482.                                                                                                                                                              GA_GadgetHelp, TRUE,
  483.                                                                                                                                                              GA_Text, "",
  484.                                                                                                                                                              BUTTON_Justification, 1,
  485.                                                                                                                                             End,
  486.                                                                                                                            End,
  487.                                                                                                                            PAGE_Add, (Object *) Gadget1[25] = (Object *) LayoutObject,
  488.                                                                                                                                             GA_ID, 22,
  489.                                                                                                                                             GA_RelVerify, TRUE,
  490.                                                                                                                                             GA_GadgetHelp, TRUE,
  491.                                                                                                                                             LAYOUT_Label, "",
  492.                                                                                                                                             LAYOUT_Orientation, 1,
  493.                                                                                                                                             LAYOUT_LeftSpacing, 10,
  494.                                                                                                                                             LAYOUT_TopSpacing, 10,
  495.                                                                                                                                             LAYOUT_BottomSpacing, 10,
  496.                                                                                                                                             LAYOUT_RightSpacing, 10,
  497.                                                                                                                                             LAYOUT_HorizAlignment, LALIGN_LEFT,
  498.                                                                                                                                             LAYOUT_VertAlignment, LALIGN_TOP,
  499.                                                                                                                                             LAYOUT_LabelPlace, BVJ_TOP_LEFT,
  500.                                                                                                                                             LAYOUT_BevelState, IDS_NORMAL,
  501.                                                                                                                                             LAYOUT_BevelStyle, 4,
  502.                                                                                                                                             LAYOUT_FixedVert, TRUE,
  503.                                                                                                                                             LAYOUT_AddChild, (Object *) Gadget1[26] = (Object *) LayoutObject,
  504.                                                                                                                                                              GA_ID, 26,
  505.                                                                                                                                                              GA_RelVerify, TRUE,
  506.                                                                                                                                                              GA_GadgetHelp, TRUE,
  507.                                                                                                                                                              LAYOUT_Label, "",
  508.                                                                                                                                                              LAYOUT_Orientation, 0,
  509.                                                                                                                                                              LAYOUT_HorizAlignment, LALIGN_LEFT,
  510.                                                                                                                                                              LAYOUT_VertAlignment, LALIGN_TOP,
  511.                                                                                                                                                              LAYOUT_LabelPlace, BVJ_TOP_LEFT,
  512.                                                                                                                                                              LAYOUT_BevelState, IDS_NORMAL,
  513.                                                                                                                                                              LAYOUT_BevelStyle, 4,
  514.                                                                                                                                                              LAYOUT_AddImage, (Object *) Gadget1[27] = (Object *) BevelObject,
  515.                                                                                                                                                                               BEVEL_Label, "",
  516.                                                                                                                                                                               BEVEL_LabelPlace, 0,
  517.                                                                                                                                                                               BEVEL_Style, 5,
  518.                                                                                                                                                              End,
  519.                                                                                                                                             End,
  520.                                                                                                                            End,
  521.                                                                                                                            PAGE_Add, (Object *) Gadget1[28] = (Object *) LayoutObject,
  522.                                                                                                                                             GA_ID, 27,
  523.                                                                                                                                             GA_RelVerify, TRUE,
  524.                                                                                                                                             GA_GadgetHelp, TRUE,
  525.                                                                                                                                             LAYOUT_Label, "",
  526.                                                                                                                                             LAYOUT_Orientation, 1,
  527.                                                                                                                                             LAYOUT_LeftSpacing, 10,
  528.                                                                                                                                             LAYOUT_TopSpacing, 10,
  529.                                                                                                                                             LAYOUT_BottomSpacing, 10,
  530.                                                                                                                                             LAYOUT_RightSpacing, 10,
  531.                                                                                                                                             LAYOUT_HorizAlignment, LALIGN_LEFT,
  532.                                                                                                                                             LAYOUT_VertAlignment, LALIGN_TOP,
  533.                                                                                                                                             LAYOUT_LabelPlace, BVJ_TOP_LEFT,
  534.                                                                                                                                             LAYOUT_BevelState, IDS_NORMAL,
  535.                                                                                                                                             LAYOUT_BevelStyle, 4,
  536.                                                                                                                                             LAYOUT_FixedVert, TRUE,
  537.                                                                                                                                             LAYOUT_AddChild, (Object *) Gadget1[29] = (Object *) ClickTabObject,
  538.                                                                                                                                                              GA_ID, 28,
  539.                                                                                                                                                              GA_RelVerify, TRUE,
  540.                                                                                                                                                              GA_GadgetHelp, TRUE,
  541.                                                                                                                                                              CLICKTAB_Labels, (ULONG) &Clicktab_Clicktab2Array,
  542.                                                                                                                                                              CLICKTAB_Current, 0,
  543.                                                                                                                                                              CLICKTAB_PageGroup, (Object *) Gadget1[30] = (Object *) PageObject,
  544.                                                                                                                                                                               GA_ID, 29,
  545.                                                                                                                                                                               GA_RelVerify, TRUE,
  546.                                                                                                                                                                               GA_GadgetHelp, TRUE,
  547.                                                                                                                                                                               LAYOUT_Label, "",
  548.                                                                                                                                                                               LAYOUT_Orientation, 1,
  549.                                                                                                                                                                               LAYOUT_HorizAlignment, LALIGN_LEFT,
  550.                                                                                                                                                                               LAYOUT_VertAlignment, LALIGN_TOP,
  551.                                                                                                                                                                               LAYOUT_LabelPlace, BVJ_TOP_LEFT,
  552.                                                                                                                                                                               LAYOUT_BevelState, IDS_NORMAL,
  553.                                                                                                                                                                               LAYOUT_BevelStyle, 4,
  554.                                                                                                                                                                               LAYOUT_FixedVert, TRUE,
  555.                                                                                                                                                                               PAGE_Add, (Object *) Gadget1[31] = (Object *) LayoutObject,
  556.                                                                                                                                                                                                GA_ID, 30,
  557.                                                                                                                                                                                                GA_RelVerify, TRUE,
  558.                                                                                                                                                                                                GA_GadgetHelp, TRUE,
  559.                                                                                                                                                                                                LAYOUT_Label, "",
  560.                                                                                                                                                                                                LAYOUT_Orientation, 1,
  561.                                                                                                                                                                                                LAYOUT_LeftSpacing, 10,
  562.                                                                                                                                                                                                LAYOUT_TopSpacing, 10,
  563.                                                                                                                                                                                                LAYOUT_BottomSpacing, 10,
  564.                                                                                                                                                                                                LAYOUT_RightSpacing, 10,
  565.                                                                                                                                                                                                LAYOUT_HorizAlignment, LALIGN_LEFT,
  566.                                                                                                                                                                                                LAYOUT_VertAlignment, LALIGN_TOP,
  567.                                                                                                                                                                                                LAYOUT_LabelPlace, BVJ_TOP_LEFT,
  568.                                                                                                                                                                                                LAYOUT_BevelState, IDS_NORMAL,
  569.                                                                                                                                                                                                LAYOUT_BevelStyle, 4,
  570.                                                                                                                                                                                                LAYOUT_FixedVert, TRUE,
  571.                                                                                                                                                                                                LAYOUT_AddChild, (Object *) Gadget1[32] = (Object *) ScrollerObject,
  572.                                                                                                                                                                                                                 GA_ID, 31,
  573.                                                                                                                                                                                                                 GA_RelVerify, TRUE,
  574.                                                                                                                                                                                                                 GA_GadgetHelp, TRUE,
  575.                                                                                                                                                                                                                 SCROLLER_Orientation, SCROLLER_HORIZONTAL,
  576.                                                                                                                                                                                                                 SCROLLER_Arrows, TRUE,
  577.                                                                                                                                                                                                End,
  578.                                                                                                                                                                                                LAYOUT_AddChild, (Object *) Gadget1[33] = (Object *) LayoutObject,
  579.                                                                                                                                                                                                                 GA_ID, 37,
  580.                                                                                                                                                                                                                 GA_RelVerify, TRUE,
  581.                                                                                                                                                                                                                 GA_GadgetHelp, TRUE,
  582.                                                                                                                                                                                                                 LAYOUT_Label, "",
  583.                                                                                                                                                                                                                 LAYOUT_Orientation, 0,
  584.                                                                                                                                                                                                                 LAYOUT_HorizAlignment, LALIGN_LEFT,
  585.                                                                                                                                                                                                                 LAYOUT_VertAlignment, LALIGN_TOP,
  586.                                                                                                                                                                                                                 LAYOUT_LabelPlace, BVJ_TOP_LEFT,
  587.                                                                                                                                                                                                                 LAYOUT_BevelState, IDS_NORMAL,
  588.                                                                                                                                                                                                                 LAYOUT_BevelStyle, 4,
  589.                                                                                                                                                                                                                 LAYOUT_AddChild, (Object *) Gadget1[34] = (Object *) SliderObject,
  590.                                                                                                                                                                                                                                  GA_ID, 32,
  591.                                                                                                                                                                                                                                  GA_RelVerify, TRUE,
  592.                                                                                                                                                                                                                                  GA_GadgetHelp, TRUE,
  593.                                                                                                                                                                                                                                  SLIDER_Min, 0,
  594.                                                                                                                                                                                                                                  SLIDER_Max, 100,
  595.                                                                                                                                                                                                                                  SLIDER_Ticks, 9,
  596.                                                                                                                                                                                                                                  SLIDER_TickSize, 5,
  597.                                                                                                                                                                                                                                  SLIDER_Level, 0,
  598.                                                                                                                                                                                                                                  SLIDER_Orientation, SLIDER_VERTICAL,
  599.                                                                                                                                                                                                                                  SLIDER_ShortTicks, TRUE,
  600.                                                                                                                                                                                                                 End,
  601.                                                                                                                                                                                                                 LAYOUT_AddChild, (Object *) Gadget1[35] = (Object *) RadioButtonObject,
  602.                                                                                                                                                                                                                                  GA_ID, 36,
  603.                                                                                                                                                                                                                                  GA_RelVerify, TRUE,
  604.                                                                                                                                                                                                                                  GA_GadgetHelp, TRUE,
  605.                                                                                                                                                                                                                                  RADIOBUTTON_Labels, (ULONG) &Radiobutton_ClicktabArray,
  606.                                                                                                                                                                                                                                  RADIOBUTTON_LabelPlace, 0,
  607.                                                                                                                                                                                                                                  RADIOBUTTON_Spacing, 0,
  608.                                                                                                                                                                                                                 End,
  609.                                                                                                                                                                                                End,
  610.                                                                                                                                                                                                LAYOUT_AddChild, (Object *) Gadget1[36] = (Object *) TapeDeckObject,
  611.                                                                                                                                                                                                                 GA_ID, 34,
  612.                                                                                                                                                                                                                 GA_RelVerify, TRUE,
  613.                                                                                                                                                                                                                 GA_GadgetHelp, TRUE,
  614.                                                                                                                                                                                                                 TDECK_Frames, 1,
  615.                                                                                                                                                                                                                 TDECK_Mode, 0,
  616.                                                                                                                                                                                                End,
  617.                                                                                                                                                                               End,
  618.                                                                                                                                                                               PAGE_Add, (Object *) Gadget1[37] = (Object *) LayoutObject,
  619.                                                                                                                                                                                                GA_ID, 33,
  620.                                                                                                                                                                                                GA_RelVerify, TRUE,
  621.                                                                                                                                                                                                GA_GadgetHelp, TRUE,
  622.                                                                                                                                                                                                LAYOUT_Label, "",
  623.                                                                                                                                                                                                LAYOUT_Orientation, 1,
  624.                                                                                                                                                                                                LAYOUT_LeftSpacing, 10,
  625.                                                                                                                                                                                                LAYOUT_TopSpacing, 10,
  626.                                                                                                                                                                                                LAYOUT_BottomSpacing, 10,
  627.                                                                                                                                                                                                LAYOUT_RightSpacing, 10,
  628.                                                                                                                                                                                                LAYOUT_HorizAlignment, LALIGN_LEFT,
  629.                                                                                                                                                                                                LAYOUT_VertAlignment, LALIGN_TOP,
  630.                                                                                                                                                                                                LAYOUT_LabelPlace, BVJ_TOP_LEFT,
  631.                                                                                                                                                                                                LAYOUT_BevelState, IDS_NORMAL,
  632.                                                                                                                                                                                                LAYOUT_BevelStyle, 4,
  633.                                                                                                                                                                                                LAYOUT_FixedVert, TRUE,
  634.                                                                                                                                                                                                LAYOUT_AddChild, (Object *) Gadget1[38] = (Object *) ListBrowserObject,
  635.                                                                                                                                                                                                                 GA_ID, 35,
  636.                                                                                                                                                                                                                 GA_RelVerify, TRUE,
  637.                                                                                                                                                                                                                 GA_GadgetHelp, TRUE,
  638.                                                                                                                                                                                                                 LISTBROWSER_AutoFit, TRUE,
  639.                                                                                                                                                                                                                 LISTBROWSER_ShowSelected, TRUE,
  640.                                                                                                                                                                                                                 LISTBROWSER_VerticalProp, TRUE,
  641.                                                                                                                                                                                                                 LISTBROWSER_HorizontalProp, TRUE,
  642.                                                                                                                                                                                                End,
  643.                                                                                                                                                                                                LAYOUT_AddChild, (Object *) Gadget1[39] = (Object *) SpaceObject,
  644.                                                                                                                                                                                                                 GA_ID, 39,
  645.                                                                                                                                                                                                                 GA_RelVerify, TRUE,
  646.                                                                                                                                                                                                                 GA_GadgetHelp, TRUE,
  647.                                                                                                                                                                                                End,
  648.                                                                                                                                                                               End,
  649.                                                                                                                                                              End,
  650.                                                                                                                                                              CHILD_MinWidth, 6408,
  651.                                                                                                                                             End,
  652.                                                                                                                                             CHILD_MinWidth, 6408,
  653.                                                                                                                            End,
  654.                                                                                                                            CHILD_MinWidth, 6408,
  655.                                                                                                           End,
  656.                                                                                                           CHILD_MinWidth, 6408,
  657.                                                                                          End,
  658.                                                                                          CHILD_MinWidth, 6408,
  659.                                                                         End,
  660.                                                                         CHILD_MinWidth, 6408,
  661.                                                 EndGroup,
  662.                                 EndWindow;
  663.                             }
  664.  
  665.                             if(os35) SetAttrs(Button5, BUTTON_RenderImage, Bitmap2, TAG_DONE);
  666.                             if(os35) SetAttrs(Button6, BUTTON_RenderImage, Glyph1, TAG_DONE);
  667.                             SetProgramName("ClicktabExample");
  668.                             Emperor_OpenWindow_Window1();
  669.                             while(!terminated)
  670.                             {
  671.                                 Wait(WindowSignals1 | WindowSignals1);
  672.                                 while((Emperor_Input = RA_HandleInput(WindowObject1, &Emperor_Code)) != WMHI_LASTMSG)
  673.                                 {
  674.                                     switch(Emperor_Input & WMHI_CLASSMASK)
  675.                                     {
  676.                                         case WMHI_GADGETUP:
  677.                                             switch(Emperor_Input & WMHI_GADGETMASK)
  678.                                             {
  679.                                                 default: break;
  680.                                             }
  681.                                             break;
  682.                                         case WMHI_GADGETHELP:
  683.                                             switch(Emperor_Input & WMHI_GADGETMASK)
  684.                                             {
  685.                                                 default: break;
  686.                                             }
  687.                                             break;
  688.                                         case WMHI_MENUPICK:
  689.                                             switch(Emperor_Input & WMHI_MENUMASK)
  690.                                             {
  691.                                                 default: break;
  692.                                             }
  693.                                             break;
  694.                                         case WMHI_MENUHELP:
  695.                                             switch(Emperor_Input & WMHI_MENUMASK)
  696.                                             {
  697.                                                 default: break;
  698.                                             }
  699.                                             break;
  700.                                         case WMHI_CLOSEWINDOW:
  701.                                             Window1_CloseWindow_Event();
  702.                                             break;
  703.                                         case WMHI_ICONIFY:
  704.                                             break;
  705.                                         case WMHI_UNICONIFY:
  706.                                             break;
  707.                                         case WMHI_ACTIVE:
  708.                                             break;
  709.                                         case WMHI_INACTIVE:
  710.                                             break;
  711.                                         case WMHI_RAWKEY:
  712.                                             break;
  713.                                         case WMHI_VANILLAKEY:
  714.                                             break;
  715.                                         case WMHI_MOUSEBUTTONS:
  716.                                             break;
  717.                                         case WMHI_MOUSEMOVE:
  718.                                             break;
  719.                                         case WMHI_NEWSIZE:
  720.                                             break;
  721.                                         case WMHI_CHANGEWINDOW:
  722.                                             break;
  723.                                         case WMHI_DISPOSEDWINDOW:
  724.                                             break;
  725.                                         case WMHI_INTUITICK:
  726.                                             break;
  727.                                     }
  728.                                 }
  729.                             }
  730.                         }
  731.                         else Emperor_Exception = 4;
  732.                     }
  733.                     else Emperor_Exception = 4;
  734.             }
  735.             else Emperor_Exception = 2;
  736.         }
  737.         else Emperor_Exception = 1;
  738.     }
  739.     if(Emperor_Exception)
  740.     {
  741.         strcpy(Emperor_ExceptionString, "Error during initialization:\n\n");
  742.         switch(Emperor_Exception)
  743.         {
  744.             case 1: strcat(Emperor_ExceptionString, "Can't lock your public-screen."); break;
  745.             case 2: strcat(Emperor_ExceptionString, "Can't get visualinfo of your public-screen."); break;
  746.             case 3: strcat(Emperor_ExceptionString, "Can't create menu."); break;
  747.             case 4: strcat(Emperor_ExceptionString, "Can't create message-port."); break;
  748.         }
  749.         strcat(Emperor_ExceptionString, "\n\nMaybe there isn't enough memory !");
  750.         EmperorRequest_InitializationErrorRequest.es_StructSize = sizeof(struct EasyStruct);
  751.         EmperorRequest_InitializationErrorRequest.es_Flags = 0L;
  752.         EmperorRequest_InitializationErrorRequest.es_Title = (UBYTE *) "Program error";
  753.         EmperorRequest_InitializationErrorRequest.es_TextFormat = (UBYTE *) Emperor_ExceptionString;
  754.         EmperorRequest_InitializationErrorRequest.es_GadgetFormat = (UBYTE *) "Okay";
  755.         EasyRequest(Window1, &EmperorRequest_InitializationErrorRequest, NULL, NULL);
  756.     }
  757.     Emperor_QuitProgram();
  758. }
  759.  
  760. void wbmain(struct WBStartup *Emperor_ArgMsg)
  761. {
  762.     main();
  763. }
  764.  
  765.  
  766. BOOL Emperor_InitProgram(void)
  767. {
  768.     UWORD Emperor_InitVar = 0;
  769.     char Emperor_OccuredError[50], Emperor_ExceptionString[300];
  770.     struct Task *Emperor_ThisTask = NULL;
  771.     struct EasyStruct EmperorRequest_InitializationErrorRequest;
  772.  
  773.     IntuitionBase = OpenLibrary("intuition.library", 0L);
  774.     if(!IntuitionBase)
  775.     {
  776.         Emperor_InitVar = 1;
  777.         strcpy(Emperor_OccuredError, "intuition.library");
  778.     }
  779.     LocaleBase = OpenLibrary("locale.library", 0L);
  780.     if(!LocaleBase)
  781.     {
  782.         Emperor_InitVar = 1;
  783.         strcpy(Emperor_OccuredError, "locale.library");
  784.     }
  785.     GadToolsBase = OpenLibrary("gadtools.library", 0L);
  786.     if(!GadToolsBase)
  787.     {
  788.         Emperor_InitVar = 1;
  789.         strcpy(Emperor_OccuredError, "gadtools.library");
  790.     }
  791.     ASLBase = OpenLibrary("asl.library", 0L);
  792.     if(!ASLBase)
  793.     {
  794.         Emperor_InitVar = 1;
  795.         strcpy(Emperor_OccuredError, "asl.library");
  796.     }
  797.     DOSLibBase = OpenLibrary("dos.library", 0L);
  798.     if(!DOSLibBase)
  799.     {
  800.         Emperor_InitVar = 1;
  801.         strcpy(Emperor_OccuredError, "dos.library");
  802.     }
  803.     ResourceBase = OpenLibrary("resource.library", 0L);
  804.     if(!ResourceBase)
  805.     {
  806.         Emperor_InitVar = 1;
  807.         strcpy(Emperor_OccuredError, "resource.library");
  808.     }
  809.     WindowBase = OpenLibrary("window.class", 0L);
  810.     if(!WindowBase)
  811.     {
  812.         Emperor_InitVar = 1;
  813.         strcpy(Emperor_OccuredError, "window.class");
  814.     }
  815.     RequesterBase = OpenLibrary("requester.class", 0L);
  816.     if(!RequesterBase)
  817.     {
  818.         Emperor_InitVar = 1;
  819.         strcpy(Emperor_OccuredError, "requester.class");
  820.     }
  821.     ButtonBase = OpenLibrary("gadgets/button.gadget", 0L);
  822.     if(!ButtonBase)
  823.     {
  824.         Emperor_InitVar = 1;
  825.         strcpy(Emperor_OccuredError, "gadgets/button.gadget");
  826.     }
  827.     CheckBoxBase = OpenLibrary("gadgets/checkbox.gadget", 0L);
  828.     if(!CheckBoxBase)
  829.     {
  830.         Emperor_InitVar = 1;
  831.         strcpy(Emperor_OccuredError, "gadgets/checkbox.gadget");
  832.     }
  833.     ChooserBase = OpenLibrary("gadgets/chooser.gadget", 0L);
  834.     if(!ChooserBase)
  835.     {
  836.         Emperor_InitVar = 1;
  837.         strcpy(Emperor_OccuredError, "gadgets/chooser.gadget");
  838.     }
  839.     ClickTabBase = OpenLibrary("gadgets/clicktab.gadget", 0L);
  840.     if(!ClickTabBase)
  841.     {
  842.         Emperor_InitVar = 1;
  843.         strcpy(Emperor_OccuredError, "gadgets/clicktab.gadget");
  844.     }
  845.     ColorWheelBase = OpenLibrary("gadgets/colorwheel.gadget", 0L);
  846.     if(!ColorWheelBase)
  847.     {
  848.         Emperor_InitVar = 1;
  849.         strcpy(Emperor_OccuredError, "gadgets/colorwheel.gadget");
  850.     }
  851.     DateBrowserBase = OpenLibrary("gadgets/datebrowser.gadget", 0L);
  852.     if(!DateBrowserBase)
  853.     {
  854.         Emperor_InitVar = 1;
  855.         strcpy(Emperor_OccuredError, "gadgets/datebrowser.gadget");
  856.     }
  857.     FuelGaugeBase = OpenLibrary("gadgets/fuelgauge.gadget", 0L);
  858.     if(!FuelGaugeBase)
  859.     {
  860.         Emperor_InitVar = 1;
  861.         strcpy(Emperor_OccuredError, "gadgets/fuelgauge.gadget");
  862.     }
  863.     GetFileBase = OpenLibrary("gadgets/getfile.gadget", 0L);
  864.     if(!GetFileBase)
  865.     {
  866.         Emperor_InitVar = 1;
  867.         strcpy(Emperor_OccuredError, "gadgets/getfile.gadget");
  868.     }
  869.     GetFontBase = OpenLibrary("gadgets/getfont.gadget", 0L);
  870.     if(!GetFontBase)
  871.     {
  872.         Emperor_InitVar = 1;
  873.         strcpy(Emperor_OccuredError, "gadgets/getfont.gadget");
  874.     }
  875.     GetScreenModeBase = OpenLibrary("gadgets/getscreenmode.gadget", 0L);
  876.     if(!GetScreenModeBase)
  877.     {
  878.         Emperor_InitVar = 1;
  879.         strcpy(Emperor_OccuredError, "gadgets/getscreenmode.gadget");
  880.     }
  881.     GradientSliderBase = OpenLibrary("gadgets/gradientslider.gadget", 0L);
  882.     if(!GradientSliderBase)
  883.     {
  884.         Emperor_InitVar = 1;
  885.         strcpy(Emperor_OccuredError, "gadgets/gradientslider.gadget");
  886.     }
  887.     IntegerBase = OpenLibrary("gadgets/integer.gadget", 0L);
  888.     if(!IntegerBase)
  889.     {
  890.         Emperor_InitVar = 1;
  891.         strcpy(Emperor_OccuredError, "gadgets/integer.gadget");
  892.     }
  893.     LayoutBase = OpenLibrary("gadgets/layout.gadget", 0L);
  894.     if(!LayoutBase)
  895.     {
  896.         Emperor_InitVar = 1;
  897.         strcpy(Emperor_OccuredError, "gadgets/layout.gadget");
  898.     }
  899.     ListBrowserBase = OpenLibrary("gadgets/listbrowser.gadget", 0L);
  900.     if(!ListBrowserBase)
  901.     {
  902.         Emperor_InitVar = 1;
  903.         strcpy(Emperor_OccuredError, "gadgets/listbrowser.gadget");
  904.     }
  905.     PaletteBase = OpenLibrary("gadgets/palette.gadget", 0L);
  906.     if(!PaletteBase)
  907.     {
  908.         Emperor_InitVar = 1;
  909.         strcpy(Emperor_OccuredError, "gadgets/palette.gadget");
  910.     }
  911.     RadioButtonBase = OpenLibrary("gadgets/radiobutton.gadget", 0L);
  912.     if(!RadioButtonBase)
  913.     {
  914.         Emperor_InitVar = 1;
  915.         strcpy(Emperor_OccuredError, "gadgets/radiobutton.gadget");
  916.     }
  917.     ScrollerBase = OpenLibrary("gadgets/scroller.gadget", 0L);
  918.     if(!ScrollerBase)
  919.     {
  920.         Emperor_InitVar = 1;
  921.         strcpy(Emperor_OccuredError, "gadgets/scroller.gadget");
  922.     }
  923.     SliderBase = OpenLibrary("gadgets/slider.gadget", 0L);
  924.     if(!SliderBase)
  925.     {
  926.         Emperor_InitVar = 1;
  927.         strcpy(Emperor_OccuredError, "gadgets/slider.gadget");
  928.     }
  929.     SpaceBase = OpenLibrary("gadgets/space.gadget", 0L);
  930.     if(!SpaceBase)
  931.     {
  932.         Emperor_InitVar = 1;
  933.         strcpy(Emperor_OccuredError, "gadgets/space.gadget");
  934.     }
  935.     SpeedBarBase = OpenLibrary("gadgets/speedbar.gadget", 0L);
  936.     if(!SpeedBarBase)
  937.     {
  938.         Emperor_InitVar = 1;
  939.         strcpy(Emperor_OccuredError, "gadgets/speedbar.gadget");
  940.     }
  941.     StringBase = OpenLibrary("gadgets/string.gadget", 0L);
  942.     if(!StringBase)
  943.     {
  944.         Emperor_InitVar = 1;
  945.         strcpy(Emperor_OccuredError, "gadgets/string.gadget");
  946.     }
  947.     TapeDeckBase = OpenLibrary("gadgets/tapedeck.gadget", 0L);
  948.     if(!TapeDeckBase)
  949.     {
  950.         Emperor_InitVar = 1;
  951.         strcpy(Emperor_OccuredError, "gadgets/tapedeck.gadget");
  952.     }
  953.     TextEditorBase = OpenLibrary("gadgets/texteditor.gadget", 0L);
  954.     if(!TextEditorBase)
  955.     {
  956.         Emperor_InitVar = 1;
  957.         strcpy(Emperor_OccuredError, "gadgets/texteditor.gadget");
  958.     }
  959.     BevelBase = OpenLibrary("images/bevel.image", 0L);
  960.     if(!BevelBase)
  961.     {
  962.         Emperor_InitVar = 1;
  963.         strcpy(Emperor_OccuredError, "images/bevel.image");
  964.     }
  965.     BitMapBase = OpenLibrary("images/bitmap.image", 0L);
  966.     if(!BitMapBase)
  967.     {
  968.         Emperor_InitVar = 1;
  969.         strcpy(Emperor_OccuredError, "images/bitmap.image");
  970.     }
  971.     GlyphBase = OpenLibrary("images/glyph.image", 0L);
  972.     if(!GlyphBase)
  973.     {
  974.         Emperor_InitVar = 1;
  975.         strcpy(Emperor_OccuredError, "images/glyph.image");
  976.     }
  977.     LabelBase = OpenLibrary("images/label.image", 0L);
  978.     if(!LabelBase)
  979.     {
  980.         Emperor_InitVar = 1;
  981.         strcpy(Emperor_OccuredError, "images/label.image");
  982.     }
  983.     Catalog = OpenCatalogA(NULL, "ClicktabExample.catalog", NULL);
  984.     Emperor_ThisTask = FindTask(NULL);
  985.     if(((ULONG) Emperor_ThisTask->tc_SPUpper - (ULONG) Emperor_ThisTask->tc_SPLower) < 4096) Emperor_InitVar = 4;
  986.     if(Emperor_InitVar)
  987.     {
  988.         strcpy(Emperor_ExceptionString, "Error during initialization:\n\n");
  989.         if(Emperor_InitVar == 1)
  990.         {
  991.             strcat(Emperor_ExceptionString, "Can't open Amiga-library\n\"");
  992.             strcat(Emperor_ExceptionString, Emperor_OccuredError);
  993.             strcat(Emperor_ExceptionString, "\"\n\nProbably you haven't got a\ncorrect installed AmigaOS system !");
  994.         }
  995.         if(Emperor_InitVar == 4) strcat(Emperor_ExceptionString, "This program needs about 4096 bytes of stack to run.\n\n * when using CLI: type <stack 4096\n * when using Workbench: check icon information\n * when using DOpus5: modify Menu-Preferences-Environment-CLI-Start");
  996.         EmperorRequest_InitializationErrorRequest.es_StructSize = sizeof(struct EasyStruct);
  997.         EmperorRequest_InitializationErrorRequest.es_Flags = 0L;
  998.         EmperorRequest_InitializationErrorRequest.es_Title = (UBYTE *) "Program error";
  999.         EmperorRequest_InitializationErrorRequest.es_TextFormat = (UBYTE *) Emperor_ExceptionString;
  1000.         EmperorRequest_InitializationErrorRequest.es_GadgetFormat = (UBYTE *) "Okay";
  1001.         EasyRequest(Window1, &EmperorRequest_InitializationErrorRequest, NULL, NULL);
  1002.     }
  1003.     return(Emperor_InitVar);
  1004. }
  1005.  
  1006. void Emperor_QuitProgram(void)
  1007. {
  1008.     Emperor_CloseWindow_Window1();
  1009.     if(WindowObject1) DisposeObject(WindowObject1);
  1010.     if(AppPort) DeleteMsgPort(AppPort);
  1011.     if(MsgPort) DeletePort(MsgPort);
  1012.     if(vinfo) FreeVisualInfo(vinfo);
  1013.     if(Screen1) UnlockPubScreen(NULL, Screen1);
  1014.     if(Catalog) CloseCatalog(Catalog);
  1015.     if(LabelBase) CloseLibrary(LabelBase);
  1016.     if(GlyphBase) CloseLibrary(GlyphBase);
  1017.     if(BitMapBase) CloseLibrary(BitMapBase);
  1018.     if(BevelBase) CloseLibrary(BevelBase);
  1019.     if(TextEditorBase) CloseLibrary(TextEditorBase);
  1020.     if(TapeDeckBase) CloseLibrary(TapeDeckBase);
  1021.     if(StringBase) CloseLibrary(StringBase);
  1022.     if(SpeedBarBase) CloseLibrary(SpeedBarBase);
  1023.     if(SpaceBase) CloseLibrary(SpaceBase);
  1024.     if(SliderBase) CloseLibrary(SliderBase);
  1025.     if(ScrollerBase) CloseLibrary(ScrollerBase);
  1026.     if(RadioButtonBase) CloseLibrary(RadioButtonBase);
  1027.     if(PaletteBase) CloseLibrary(PaletteBase);
  1028.     if(ListBrowserBase) CloseLibrary(ListBrowserBase);
  1029.     if(LayoutBase) CloseLibrary(LayoutBase);
  1030.     if(IntegerBase) CloseLibrary(IntegerBase);
  1031.     if(GradientSliderBase) CloseLibrary(GradientSliderBase);
  1032.     if(GetScreenModeBase) CloseLibrary(GetScreenModeBase);
  1033.     if(GetFontBase) CloseLibrary(GetFontBase);
  1034.     if(GetFileBase) CloseLibrary(GetFileBase);
  1035.     if(FuelGaugeBase) CloseLibrary(FuelGaugeBase);
  1036.     if(DateBrowserBase) CloseLibrary(DateBrowserBase);
  1037.     if(ColorWheelBase) CloseLibrary(ColorWheelBase);
  1038.     if(ClickTabBase) CloseLibrary(ClickTabBase);
  1039.     if(ChooserBase) CloseLibrary(ChooserBase);
  1040.     if(CheckBoxBase) CloseLibrary(CheckBoxBase);
  1041.     if(ButtonBase) CloseLibrary(ButtonBase);
  1042.     if(RequesterBase) CloseLibrary(RequesterBase);
  1043.     if(WindowBase) CloseLibrary(WindowBase);
  1044.     if(ResourceBase) CloseLibrary(ResourceBase);
  1045.     if(DOSLibBase) CloseLibrary(DOSLibBase);
  1046.     if(ASLBase) CloseLibrary(ASLBase);
  1047.     if(GadToolsBase) CloseLibrary(GadToolsBase);
  1048.     if(LocaleBase) CloseLibrary(LocaleBase);
  1049.     if(IntuitionBase) CloseLibrary(IntuitionBase);
  1050.     exit(0);
  1051. }
  1052.  
  1053. void Emperor_CloseWindow_Window1(void)
  1054. {
  1055.     if(os35)
  1056.     {
  1057.         DoMethod(WindowObject1, WM_CLOSE, NULL);
  1058.         Window1 = NULL;
  1059.         WindowSignals1 = 0L;
  1060.     }
  1061. }
  1062.  
  1063. void Emperor_IconifyWindow_Window1(void)
  1064. {
  1065.     if(os35)
  1066.     {
  1067.         DoMethod(WindowObject1, WM_ICONIFY, NULL);
  1068.     }
  1069. }
  1070.  
  1071. struct Window *Emperor_OpenWindow_Window1(void)
  1072. {
  1073.     if(os35)
  1074.     {
  1075.         Window1 = RA_OpenWindow(WindowObject1);
  1076.         GetAttr(WINDOW_SigMask, WindowObject1, &WindowSignals1);
  1077.     }
  1078.     return(Window1);
  1079. }
  1080.  
  1081. struct Window *Emperor_UniconifyWindow_Window1(void)
  1082. {
  1083.     return(Emperor_OpenWindow_Window1());
  1084. }
  1085.  
  1086. STRPTR Emperor_GetGadgetAttr(struct Gadget *Emperor_GadgetName)
  1087. {
  1088.     LONG Emperor_GadgetAttrBuffer, Emperor_GadgetCounter;
  1089.     STRPTR Emperor_GadgetAttrReturn = "";
  1090.  
  1091.     Emperor_GadgetAttrBuffer = 0L;
  1092.     for(Emperor_GadgetCounter = 0;Emperor_GadgetCounter < 1023;Emperor_GadgetCounter++)
  1093.     {
  1094.         if(Gadget1[Emperor_GadgetCounter] == Emperor_GadgetName)
  1095.         {
  1096.             switch(Emperor_Gadgetkind1[Emperor_GadgetCounter])
  1097.             {
  1098.                 case 0:
  1099.                     GetAttr(GA_Selected, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  1100.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  1101.                     break;
  1102.                 case 1:
  1103.                     GetAttr(GA_Selected, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  1104.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  1105.                     break;
  1106.                 case 2:
  1107.                     GetAttr(CHOOSER_Selected, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  1108.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  1109.                     break;
  1110.                 case 3:
  1111.                     GetAttr(CLICKTAB_Current, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  1112.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  1113.                     break;
  1114.                 case 6:
  1115.                     GetAttr(FUELGAUGE_Level, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  1116.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  1117.                     break;
  1118.                 case 10:
  1119.                     GetAttr(GRAD_CurVal, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  1120.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  1121.                     break;
  1122.                 case 11:
  1123.                     GetAttr(INTEGER_Number, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  1124.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  1125.                     break;
  1126.                 case 13:
  1127.                     GetAttr(LISTBROWSER_Selected, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  1128.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  1129.                     break;
  1130.                 case 14:
  1131.                     GetAttr(PALETTE_Colour, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  1132.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  1133.                     break;
  1134.                 case 15:
  1135.                     GetAttr(RADIOBUTTON_Selected, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  1136.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  1137.                     break;
  1138.                 case 16:
  1139.                     GetAttr(SCROLLER_Top, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  1140.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  1141.                     break;
  1142.                 case 17:
  1143.                     GetAttr(SLIDER_Level, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  1144.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  1145.                     break;
  1146.                 case 19:
  1147.                     GetAttr(SPEEDBAR_Selected, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  1148.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  1149.                     break;
  1150.                 case 20:
  1151.                     GetAttr(STRINGA_TextVal, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  1152.                     strcpy(Emperor_GadgetAttrReturn, (char *) Emperor_GadgetAttrBuffer);
  1153.                     break;
  1154.                 case 22:
  1155.                     GetAttr(GA_TEXTEDITOR_Contents, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  1156.                     strcpy(Emperor_GadgetAttrReturn, (char *) Emperor_GadgetAttrBuffer);
  1157.                     break;
  1158.             }
  1159.             break;
  1160.         }
  1161.     }
  1162.     return(Emperor_GadgetAttrReturn);
  1163. }
  1164.  
  1165. void Emperor_SetGadgetAttr(struct Gadget *Emperor_GadgetName, STRPTR Emperor_GadgetValue)
  1166. {
  1167.     LONG Emperor_GadgetAttrBuffer, Emperor_GadgetCounter;
  1168.     struct Window *Emperor_Whichwindow = NULL;
  1169.  
  1170.     Emperor_GadgetAttrBuffer = 0L;
  1171.     for(Emperor_GadgetCounter = 0;Emperor_GadgetCounter < 1023;Emperor_GadgetCounter++)
  1172.     {
  1173.         if(Gadget1[Emperor_GadgetCounter] == Emperor_GadgetName)
  1174.         {
  1175.             Emperor_Whichwindow = Window1;
  1176.             switch(Emperor_Gadgetkind1[Emperor_GadgetCounter])
  1177.             {
  1178.                 case 0:
  1179.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, GA_Selected, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1180.                     break;
  1181.                 case 1:
  1182.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, GA_Selected, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1183.                     break;
  1184.                 case 2:
  1185.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, CHOOSER_Selected, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1186.                     break;
  1187.                 case 3:
  1188.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, CLICKTAB_Current, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1189.                     break;
  1190.                 case 6:
  1191.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, FUELGAUGE_Level, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1192.                     break;
  1193.                 case 10:
  1194.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, INTEGER_Number, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1195.                     break;
  1196.                 case 11:
  1197.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, GRAD_CurVal, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1198.                     break;
  1199.                 case 13:
  1200.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, LISTBROWSER_Selected, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1201.                     break;
  1202.                 case 14:
  1203.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, PALETTE_Colour, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1204.                     break;
  1205.                 case 15:
  1206.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, RADIOBUTTON_Selected, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1207.                     break;
  1208.                 case 16:
  1209.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, SCROLLER_Top, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1210.                     break;
  1211.                 case 17:
  1212.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, SLIDER_Level, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1213.                     break;
  1214.                 case 19:
  1215.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, SPEEDBAR_Selected, Emperor_GadgetValue, TAG_DONE);
  1216.                     break;
  1217.                 case 20:
  1218.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, STRINGA_TextVal, Emperor_GadgetValue, TAG_DONE);
  1219.                     break;
  1220.                 case 22:
  1221.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, GA_TEXTEDITOR_Contents, Emperor_GadgetValue, TAG_DONE);
  1222.                     break;
  1223.             }
  1224.             if(Emperor_GadgetAttrBuffer) RefreshGList(Emperor_GadgetName, Emperor_Whichwindow, NULL, 1);
  1225.             break;
  1226.         }
  1227.     }
  1228. }
  1229.  
  1230. STRPTR Emperor_GetGadgetAttrComplex(struct Gadget *Emperor_GadgetName, ULONG Emperor_GadgetFlagMask)
  1231. {
  1232.     LONG Emperor_GadgetAttrBuffer, Emperor_GadgetCounter;
  1233.     STRPTR Emperor_GadgetAttrReturn = "";
  1234.  
  1235.     Emperor_GadgetAttrBuffer = 0L;
  1236.     for(Emperor_GadgetCounter = 0;Emperor_GadgetCounter < 1023;Emperor_GadgetCounter++)
  1237.     {
  1238.         if(Gadget1[Emperor_GadgetCounter] == Emperor_GadgetName)
  1239.         {
  1240.             GetAttr(Emperor_GadgetFlagMask, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  1241.             switch(Emperor_Gadgetkind1[Emperor_GadgetCounter])
  1242.             {
  1243.                 case 0:
  1244.                     if(Emperor_GadgetFlagMask == GA_Text) strcpy(Emperor_GadgetAttrReturn, (char *) Emperor_GadgetAttrBuffer);
  1245.                     else strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  1246.                     break;
  1247.                 case 1:
  1248.                     if(Emperor_GadgetFlagMask == GA_Text) strcpy(Emperor_GadgetAttrReturn, (char *) Emperor_GadgetAttrBuffer);
  1249.                     else strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  1250.                     break;
  1251.                 case 2:
  1252.                     if(Emperor_GadgetFlagMask == CHOOSER_Title) strcpy(Emperor_GadgetAttrReturn, (char *) Emperor_GadgetAttrBuffer);
  1253.                     else strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  1254.                     break;
  1255.                 case 3: strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer)); break;
  1256.                 case 4:
  1257.                     if(Emperor_GadgetFlagMask == WHEEL_Abbrv) strcpy(Emperor_GadgetAttrReturn, (char *) Emperor_GadgetAttrBuffer);
  1258.                     else
  1259.                     {
  1260.                         if((Emperor_GadgetFlagMask == WHEEL_Red) || (Emperor_GadgetFlagMask == WHEEL_Green) || (Emperor_GadgetFlagMask == WHEEL_Blue) || (Emperor_GadgetFlagMask == WHEEL_Hue) || (Emperor_GadgetFlagMask == WHEEL_Saturation) || (Emperor_GadgetFlagMask == WHEEL_Brightness)) strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer >> 24));
  1261.                         else strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  1262.                     }
  1263.                     break;
  1264.                 case 5:
  1265.                     if(Emperor_GadgetFlagMask == DATEBROWSER_DayTitles) strcpy(Emperor_GadgetAttrReturn, (char *) Emperor_GadgetAttrBuffer);
  1266.                     else strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  1267.                     break;
  1268.                 case 6:
  1269.                     if(Emperor_GadgetFlagMask == GA_Text) strcpy(Emperor_GadgetAttrReturn, (char *) Emperor_GadgetAttrBuffer);
  1270.                     else strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  1271.                     break;
  1272.                 case 7:
  1273.                     if((Emperor_GadgetFlagMask == GETFILE_TitleText) || (Emperor_GadgetFlagMask == GETFILE_File) || (Emperor_GadgetFlagMask == GETFILE_Drawer) || (Emperor_GadgetFlagMask == GETFILE_FullFile) || (Emperor_GadgetFlagMask == GETFILE_Pattern) || (Emperor_GadgetFlagMask == GETFILE_AcceptPattern) || (Emperor_GadgetFlagMask == GETFILE_RejectPattern)) strcpy(Emperor_GadgetAttrReturn, (char *) Emperor_GadgetAttrBuffer);
  1274.                     else strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  1275.                     break;
  1276.                 case 8:
  1277.                     if(Emperor_GadgetFlagMask == GETFONT_TitleText) strcpy(Emperor_GadgetAttrReturn, (char *) Emperor_GadgetAttrBuffer);
  1278.                     else strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  1279.                     break;
  1280.                 case 9:
  1281.                     if(Emperor_GadgetFlagMask == GETSCREENMODE_TitleText) strcpy(Emperor_GadgetAttrReturn, (char *) Emperor_GadgetAttrBuffer);
  1282.                     else strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  1283.                     break;
  1284.                 case 10: strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer)); break;
  1285.                 case 11: strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer)); break;
  1286.                 case 13: strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer)); break;
  1287.                 case 14: strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer)); break;
  1288.                 case 15: strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer)); break;
  1289.                 case 16: strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer)); break;
  1290.                 case 17: strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer)); break;
  1291.                 case 18: strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer)); break;
  1292.                 case 19: strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer)); break;
  1293.                 case 20:
  1294.                     if((Emperor_GadgetFlagMask == STRINGA_TextVal) || (Emperor_GadgetFlagMask == STRINGA_Buffer) || (Emperor_GadgetFlagMask == STRINGA_UndoBuffer) || (Emperor_GadgetFlagMask == STRINGA_WorkBuffer)) strcpy(Emperor_GadgetAttrReturn, (char *) Emperor_GadgetAttrBuffer);
  1295.                     else strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  1296.                     break;
  1297.                 case 21: strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer)); break;
  1298.                 case 22:
  1299.                     if(Emperor_GadgetFlagMask == GA_TEXTEDITOR_Contents) strcpy(Emperor_GadgetAttrReturn, (char *) Emperor_GadgetAttrBuffer);
  1300.                     else strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  1301.                     break;
  1302.             }
  1303.             break;
  1304.         }
  1305.     }
  1306.     return(Emperor_GadgetAttrReturn);
  1307. }
  1308.  
  1309. void Emperor_SetGadgetAttrComplex(struct Gadget *Emperor_GadgetName, ULONG Emperor_GadgetFlagMask, STRPTR Emperor_GadgetValue)
  1310. {
  1311.     LONG Emperor_GadgetAttrBuffer, Emperor_GadgetCounter;
  1312.     struct Window *Emperor_Whichwindow = NULL;
  1313.  
  1314.     Emperor_GadgetAttrBuffer = 0L;
  1315.     for(Emperor_GadgetCounter = 0;Emperor_GadgetCounter < 255;Emperor_GadgetCounter++)
  1316.     {
  1317.         if(Gadget1[Emperor_GadgetCounter] == Emperor_GadgetName)
  1318.         {
  1319.             Emperor_Whichwindow = Window1;
  1320.             switch(Emperor_Gadgetkind1[Emperor_GadgetCounter])
  1321.             {
  1322.                 case 0:
  1323.                     if(Emperor_GadgetFlagMask == GA_Text) Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, GA_Text, Emperor_GadgetValue, TAG_DONE);
  1324.                     else Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1325.                     break;
  1326.                 case 1:
  1327.                     if(Emperor_GadgetFlagMask == GA_Text) Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, GA_Text, Emperor_GadgetValue, TAG_DONE);
  1328.                     else Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1329.                     break;
  1330.                 case 2:
  1331.                     if(Emperor_GadgetFlagMask == CHOOSER_Title) Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, CHOOSER_Title, Emperor_GadgetValue, TAG_DONE);
  1332.                     else
  1333.                     {
  1334.                         if(Emperor_GadgetFlagMask == CHOOSER_Labels)
  1335.                         {
  1336.                             SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, CHOOSER_Labels, (ULONG) ~0, TAG_DONE);
  1337.                             if(Emperor_GadgetValue != NULL) SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, CHOOSER_Labels, Emperor_GadgetValue, TAG_DONE);
  1338.                             Emperor_GadgetAttrBuffer = 1;
  1339.                         }
  1340.                         else Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1341.                     }
  1342.                     break;
  1343.                 case 3:
  1344.                     if(Emperor_GadgetFlagMask == CLICKTAB_Labels)
  1345.                     {
  1346.                         SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, CLICKTAB_Labels, (ULONG) ~0, TAG_DONE);
  1347.                         if(Emperor_GadgetValue != NULL) SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, CLICKTAB_Labels, Emperor_GadgetValue, TAG_DONE);
  1348.                         Emperor_GadgetAttrBuffer = 1;
  1349.                     }
  1350.                     else Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1351.                     break;
  1352.                 case 4:
  1353.                     if(Emperor_GadgetFlagMask == WHEEL_Abbrv) Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, WHEEL_Abbrv, Emperor_GadgetValue, TAG_DONE);
  1354.                     else
  1355.                     {
  1356.                         if((Emperor_GadgetFlagMask == WHEEL_Red) || (Emperor_GadgetFlagMask == WHEEL_Green) || (Emperor_GadgetFlagMask == WHEEL_Blue) || (Emperor_GadgetFlagMask == WHEEL_Hue) || (Emperor_GadgetFlagMask == WHEEL_Saturation) || (Emperor_GadgetFlagMask == WHEEL_Brightness)) Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue) << 24, TAG_DONE);
  1357.                         else Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1358.                     }
  1359.                     break;
  1360.                 case 5:
  1361.                     if(Emperor_GadgetFlagMask == DATEBROWSER_DayTitles) Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, DATEBROWSER_DayTitles, Emperor_GadgetValue, TAG_DONE);
  1362.                     else Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1363.                     break;
  1364.                 case 6:
  1365.                     if(Emperor_GadgetFlagMask == GA_Text) Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, GA_Text, Emperor_GadgetValue, TAG_DONE);
  1366.                     else Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1367.                     break;
  1368.                 case 7:
  1369.                     if((Emperor_GadgetFlagMask == GETFILE_TitleText) || (Emperor_GadgetFlagMask == GETFILE_File) || (Emperor_GadgetFlagMask == GETFILE_Drawer) || (Emperor_GadgetFlagMask == GETFILE_FullFile) || (Emperor_GadgetFlagMask == GETFILE_Pattern) || (Emperor_GadgetFlagMask == GETFILE_AcceptPattern) || (Emperor_GadgetFlagMask == GETFILE_RejectPattern)) Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, Emperor_GadgetValue, TAG_DONE);
  1370.                     else Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1371.                     break;
  1372.                 case 8:
  1373.                     if(Emperor_GadgetFlagMask == GETFONT_TitleText) Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, GETFONT_TitleText, Emperor_GadgetValue, TAG_DONE);
  1374.                     else Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1375.                     break;
  1376.                 case 9:
  1377.                     if(Emperor_GadgetFlagMask == GETSCREENMODE_TitleText) Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, GETSCREENMODE_TitleText, Emperor_GadgetValue, TAG_DONE);
  1378.                     else Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1379.                     break;
  1380.                 case 10: Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE); break;
  1381.                 case 11: Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE); break;
  1382.                 case 13:
  1383.                     if(Emperor_GadgetFlagMask == LISTBROWSER_Labels)
  1384.                     {
  1385.                         SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, LISTBROWSER_Labels, (ULONG) ~0, TAG_DONE);
  1386.                         if(Emperor_GadgetValue != NULL) SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, LISTBROWSER_Labels, Emperor_GadgetValue, TAG_DONE);
  1387.                         Emperor_GadgetAttrBuffer = 1;
  1388.                     }
  1389.                     else
  1390.                     {
  1391.                         if(Emperor_GadgetFlagMask == LISTBROWSER_ColumnInfo)
  1392.                         {
  1393.                             SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, LISTBROWSER_ColumnInfo, (ULONG) ~0, TAG_DONE);
  1394.                             if(Emperor_GadgetValue != NULL) SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, LISTBROWSER_ColumnInfo, Emperor_GadgetValue, TAG_DONE);
  1395.                             Emperor_GadgetAttrBuffer = 1;
  1396.                         }
  1397.                         else Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1398.                     }
  1399.                     break;
  1400.                 case 14: Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE); break;
  1401.                 case 15:
  1402.                     if(Emperor_GadgetFlagMask == RADIOBUTTON_Labels)
  1403.                     {
  1404.                         SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, RADIOBUTTON_Labels, (ULONG) ~0, TAG_DONE);
  1405.                         if(Emperor_GadgetValue != NULL) SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, RADIOBUTTON_Labels, Emperor_GadgetValue, TAG_DONE);
  1406.                         Emperor_GadgetAttrBuffer = 1;
  1407.                     }
  1408.                     else Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1409.                     break;
  1410.                 case 16: Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE); break;
  1411.                 case 17: Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE); break;
  1412.                 case 18: Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE); break;
  1413.                 case 19: Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE); break;
  1414.                 case 20:
  1415.                     if((Emperor_GadgetFlagMask == STRINGA_TextVal) || (Emperor_GadgetFlagMask == STRINGA_Buffer) || (Emperor_GadgetFlagMask == STRINGA_UndoBuffer) || (Emperor_GadgetFlagMask == STRINGA_WorkBuffer)) Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, Emperor_GadgetValue, TAG_DONE);
  1416.                     else Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1417.                     break;
  1418.                 case 21: Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE); break;
  1419.                 case 22:
  1420.                     if(Emperor_GadgetFlagMask == GA_TEXTEDITOR_Contents) Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, GA_TEXTEDITOR_Contents, Emperor_GadgetValue, TAG_DONE);
  1421.                     else Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1422.                     break;
  1423.             }
  1424.             if(Emperor_GadgetAttrBuffer) RefreshGList(Emperor_GadgetName, Emperor_Whichwindow, NULL, 1);
  1425.             break;
  1426.         }
  1427.     }
  1428. }
  1429.  
  1430. BOOL Emperor_GetGadgetDisabledAttr(struct Gadget *Emperor_GadgetName)
  1431. {
  1432.     LONG Emperor_GadgetAttrBuffer, Emperor_GadgetCounter;
  1433.     BOOL Emperor_GadgetAttrReturn;
  1434.  
  1435.     Emperor_GadgetAttrBuffer = 0L;
  1436.     for(Emperor_GadgetCounter = 0;Emperor_GadgetCounter < 255;Emperor_GadgetCounter++)
  1437.     {
  1438.         if(Gadget1[Emperor_GadgetCounter] == Emperor_GadgetName)
  1439.         {
  1440.             GetAttr(GA_Disabled, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  1441.             break;
  1442.         }
  1443.     }
  1444.     Emperor_GadgetAttrReturn = Emperor_GadgetAttrBuffer;
  1445.     return(Emperor_GadgetAttrReturn);
  1446. }
  1447.  
  1448. void Emperor_SetGadgetDisabledAttr(struct Gadget *Emperor_GadgetName, BOOL Emperor_GadgetValue)
  1449. {
  1450.     LONG Emperor_GadgetAttrBuffer, Emperor_GadgetCounter;
  1451.     struct Window *Emperor_Whichwindow = NULL;
  1452.  
  1453.     Emperor_GadgetAttrBuffer = 0L;
  1454.     for(Emperor_GadgetCounter = 0;Emperor_GadgetCounter < 255;Emperor_GadgetCounter++)
  1455.     {
  1456.         if(Gadget1[Emperor_GadgetCounter] == Emperor_GadgetName)
  1457.         {
  1458.             Emperor_Whichwindow = Window1;
  1459.             Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, GA_Disabled, Emperor_GadgetValue, TAG_DONE);
  1460.             if(Emperor_GadgetAttrBuffer) RefreshGList(Emperor_GadgetName, Emperor_Whichwindow, NULL, 1);
  1461.             break;
  1462.         }
  1463.     }
  1464. }
  1465.  
  1466. BOOL Emperor_GetGadgetAttrReadOnly(struct Gadget *Emperor_GadgetName)
  1467. {
  1468.     LONG Emperor_GadgetAttrBuffer, Emperor_GadgetCounter;
  1469.     BOOL Emperor_GadgetAttrReturn;
  1470.  
  1471.     Emperor_GadgetAttrBuffer = 0L;
  1472.     for(Emperor_GadgetCounter = 0;Emperor_GadgetCounter < 255;Emperor_GadgetCounter++)
  1473.     {
  1474.         if(Gadget1[Emperor_GadgetCounter] == Emperor_GadgetName)
  1475.         {
  1476.             GetAttr(GA_ReadOnly, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  1477.             break;
  1478.         }
  1479.     }
  1480.     Emperor_GadgetAttrReturn = Emperor_GadgetAttrBuffer;
  1481.     return(Emperor_GadgetAttrReturn);
  1482. }
  1483.  
  1484. void Emperor_SetGadgetReadOnlyAttr(struct Gadget *Emperor_GadgetName, BOOL Emperor_GadgetValue)
  1485. {
  1486.     LONG Emperor_GadgetAttrBuffer, Emperor_GadgetCounter;
  1487.     struct Window *Emperor_Whichwindow = NULL;
  1488.  
  1489.     Emperor_GadgetAttrBuffer = 0L;
  1490.     for(Emperor_GadgetCounter = 0;Emperor_GadgetCounter < 255;Emperor_GadgetCounter++)
  1491.     {
  1492.         if(Gadget1[Emperor_GadgetCounter] == Emperor_GadgetName)
  1493.         {
  1494.             Emperor_Whichwindow = Window1;
  1495.             Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, GA_ReadOnly, Emperor_GadgetValue, TAG_DONE);
  1496.             if(Emperor_GadgetAttrBuffer) RefreshGList(Emperor_GadgetName, Emperor_Whichwindow, NULL, 1);
  1497.             break;
  1498.         }
  1499.     }
  1500. }
  1501.  
  1502. void Emperor_ActivateGadget(struct Gadget *Emperor_GadgetName)
  1503. {
  1504.     LONG Emperor_GadgetCounter;
  1505.     struct Window *Emperor_Whichwindow = NULL;
  1506.  
  1507.     for(Emperor_GadgetCounter = 0;Emperor_GadgetCounter < 255;Emperor_GadgetCounter++)
  1508.     {
  1509.         if(Gadget1[Emperor_GadgetCounter] == Emperor_GadgetName)
  1510.         {
  1511.             Emperor_Whichwindow = Window1;
  1512.             break;
  1513.         }
  1514.     }
  1515.     ActivateGadget(Emperor_GadgetName, Emperor_Whichwindow, NULL);
  1516. }
  1517.  
  1518. void Emperor_RethinkLayout(struct Gadget *Emperor_GadgetName)
  1519. {
  1520.     LONG Emperor_GadgetCounter;
  1521.     struct Window *Emperor_Whichwindow = NULL;
  1522.  
  1523.     for(Emperor_GadgetCounter = 0;Emperor_GadgetCounter < 255;Emperor_GadgetCounter++)
  1524.     {
  1525.         if(Gadget1[Emperor_GadgetCounter] == Emperor_GadgetName)
  1526.         {
  1527.             Emperor_Whichwindow = Window1;
  1528.             break;
  1529.         }
  1530.     }
  1531.     RethinkLayout(Emperor_GadgetName, Emperor_Whichwindow, NULL, TRUE);
  1532. }
  1533.  
  1534. void Emperor_RefreshGList(struct Gadget *Emperor_GadgetName, WORD Emperor_NumberRefresh)
  1535. {
  1536.     LONG Emperor_GadgetCounter;
  1537.     struct Window *Emperor_Whichwindow = NULL;
  1538.  
  1539.     for(Emperor_GadgetCounter = 0;Emperor_GadgetCounter < 255;Emperor_GadgetCounter++)
  1540.     {
  1541.         if(Gadget1[Emperor_GadgetCounter] == Emperor_GadgetName)
  1542.         {
  1543.             Emperor_Whichwindow = Window1;
  1544.             break;
  1545.         }
  1546.     }
  1547.     RefreshGList(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_NumberRefresh);
  1548. }
  1549.  
  1550. void Emperor_ChangeWindowPosition(struct Window *Emperor_ApplicationWindow, WORD Emperor_Left, WORD Emperor_Top)
  1551. {
  1552.     WORD Emperor_Width, Emperor_Height;
  1553.  
  1554.     Emperor_Width = Emperor_ApplicationWindow->Width;
  1555.     Emperor_Height = Emperor_ApplicationWindow->Height;
  1556.     ChangeWindowBox(Emperor_ApplicationWindow, Emperor_Left, Emperor_Top, Emperor_Width, Emperor_Height);
  1557. }
  1558.  
  1559. void Emperor_ChangeWindowSize(struct Window *Emperor_ApplicationWindow, WORD Emperor_Width, WORD Emperor_Height)
  1560. {
  1561.     WORD Emperor_Left, Emperor_Top;
  1562.  
  1563.     Emperor_Left = Emperor_ApplicationWindow->LeftEdge;
  1564.     Emperor_Top = Emperor_ApplicationWindow->TopEdge;
  1565.     ChangeWindowBox(Emperor_ApplicationWindow, Emperor_Left, Emperor_Top, Emperor_Width, Emperor_Height);
  1566. }
  1567.  
  1568. void Emperor_SetWindowBusyPointer(struct Window *Emperor_ApplicationWindow, BOOL Emperor_SetReset)
  1569. {
  1570.     if(Emperor_SetReset) SetWindowPointer(Emperor_ApplicationWindow, WA_BusyPointer, TRUE, WA_PointerDelay, TRUE, TAG_DONE);
  1571.     else SetWindowPointer(Emperor_ApplicationWindow, TAG_DONE);
  1572. }
  1573.  
  1574. void Emperor_SetWindowTitle(struct Window *Emperor_ApplicationWindow, STRPTR Emperor_Title)
  1575. {
  1576.     SetWindowTitles(Emperor_ApplicationWindow, (UBYTE *) Emperor_Title, ((UBYTE *) ~0));
  1577. }
  1578.  
  1579. void Emperor_SetScreenTitle(struct Window *Emperor_ApplicationWindow, STRPTR Emperor_Title)
  1580. {
  1581.     SetWindowTitles(Emperor_ApplicationWindow, ((UBYTE *) ~0), (UBYTE *) Emperor_Title);
  1582. }
  1583.  
  1584. void Emperor_AllocChooserNode(struct List *Emperor_List, char **Emperor_Labels, WORD *Emperor_Attributes)
  1585. {
  1586.     WORD Emperor_Counter1 = 0;
  1587.     struct Node *Emperor_Node;
  1588.  
  1589.     if(os35)
  1590.     {
  1591.         NewList(Emperor_List);
  1592.         while(*Emperor_Labels)
  1593.         {
  1594.             Emperor_Node = AllocChooserNode(CNA_Text, *Emperor_Labels, CNA_Disabled, Emperor_Attributes[Emperor_Counter1], CNA_ReadOnly, Emperor_Attributes[Emperor_Counter1 + 1], TAG_DONE);
  1595.             AddTail(Emperor_List, Emperor_Node);
  1596.             Emperor_Labels++;
  1597.             Emperor_Counter1 += 12;
  1598.         }
  1599.     }
  1600. }
  1601.  
  1602. void Emperor_AllocClicktabNode(struct List *Emperor_List, char **Emperor_Labels, WORD *Emperor_Attributes)
  1603. {
  1604.     WORD Emperor_Counter1 = 0, Emperor_Counter2 = 0;
  1605.     struct Node *Emperor_Node;
  1606.  
  1607.     if(os35)
  1608.     {
  1609.         NewList(Emperor_List);
  1610.         while(*Emperor_Labels)
  1611.         {
  1612.             Emperor_Node = AllocClickTabNode(TNA_Text, *Emperor_Labels, TNA_Disabled, Emperor_Attributes[Emperor_Counter1], TNA_Number, Emperor_Counter2, TAG_DONE);
  1613.             AddTail(Emperor_List, Emperor_Node);
  1614.             Emperor_Labels++;
  1615.             Emperor_Counter1 += 12;
  1616.             Emperor_Counter2++;
  1617.         }
  1618.     }
  1619. }
  1620.  
  1621. void Emperor_AllocListbrowserNode(struct List *Emperor_List, char **Emperor_Labels, WORD *Emperor_Attributes)
  1622. {
  1623.     WORD Emperor_Counter1 = 0, Emperor_Counter2 = 0;
  1624.     struct Node *Emperor_Node;
  1625.  
  1626.     if(os35)
  1627.     {
  1628.         NewList(Emperor_List);
  1629.         while(*Emperor_Labels)
  1630.         {
  1631.             Emperor_Counter2 = 0;
  1632.             if(Emperor_Attributes[Emperor_Counter1 + 1]) Emperor_Counter2 += 1;
  1633.             if(Emperor_Attributes[Emperor_Counter1 + 2]) Emperor_Counter2 += 4;
  1634.             if(Emperor_Attributes[Emperor_Counter1 + 3]) Emperor_Counter2 += 8;
  1635.             if(Emperor_Attributes[Emperor_Counter1 + 4]) Emperor_Counter2 += 16;
  1636.             Emperor_Node = AllocListBrowserNode(1, LBNCA_Text, *Emperor_Labels, LBNCA_CopyText, TRUE, LBNA_Generation, Emperor_Attributes[Emperor_Counter1 + 10], LBNA_Column, Emperor_Attributes[Emperor_Counter1 + 11], LBNA_Flags, Emperor_Counter2, LBNA_Selected, Emperor_Attributes[Emperor_Counter1 + 5], LBNA_CheckBox, Emperor_Attributes[Emperor_Counter1 + 6], LBNA_Checked, Emperor_Attributes[Emperor_Counter1 + 7], TAG_DONE);
  1637.             AddTail(Emperor_List, Emperor_Node);
  1638.             Emperor_Labels++;
  1639.             Emperor_Counter1 += 12;
  1640.         }
  1641.     }
  1642. }
  1643.  
  1644. void Emperor_AllocListbrowserGadToolsNode(struct List *Emperor_List, char **Emperor_Labels)
  1645. {
  1646.     struct Node *Emperor_Node;
  1647.     struct Remember *Emperor_RememberKey;
  1648.  
  1649.     NewList(Emperor_List);
  1650.     while(*Emperor_Labels)
  1651.     {
  1652.         Emperor_Node = (struct Node *) AllocRemember(&Emperor_RememberKey, sizeof(struct Node), MEMF_CLEAR);
  1653.         Emperor_Node->ln_Name = *Emperor_Labels;
  1654.         AddTail(Emperor_List, Emperor_Node);
  1655.         Emperor_Labels++;
  1656.     }
  1657. }
  1658.  
  1659. void Emperor_AllocRadiobuttonNode(struct List *Emperor_List, char **Emperor_Labels, WORD *Emperor_Attributes)
  1660. {
  1661.     struct Node *Emperor_Node;
  1662.  
  1663.     if(os35)
  1664.     {
  1665.         NewList(Emperor_List);
  1666.         while(*Emperor_Labels)
  1667.         {
  1668.             Emperor_Node = AllocRadioButtonNode(1, RBNA_Labels, *Emperor_Labels, TAG_DONE);
  1669.             AddTail(Emperor_List, Emperor_Node);
  1670.             Emperor_Labels++;
  1671.         }
  1672.     }
  1673. }
  1674.  
  1675. ULONG stringlength(STRPTR Emperor_StringBuffer)
  1676. {
  1677.     ULONG Emperor_Counter = 0;
  1678.  
  1679.     while(Emperor_StringBuffer[Emperor_Counter] != NULL) Emperor_Counter++;
  1680.     return(Emperor_Counter);
  1681. }
  1682.  
  1683. LONG stringtoint(STRPTR Emperor_StringBuffer)
  1684. {
  1685.     return(atol(Emperor_StringBuffer));
  1686. }
  1687.  
  1688. DOUBLE stringtofloat(STRPTR Emperor_StringBuffer)
  1689. {
  1690.     return(atof(Emperor_StringBuffer));
  1691. }
  1692.  
  1693. STRPTR inttostring(LONG Emperor_NumberBuffer1)
  1694. {
  1695.     LONG Emperor_NumberBuffer2;
  1696.     BYTE Emperor_NumberLength = 0;
  1697.     BYTE Emperor_Counter = 0;
  1698.     char *Emperor_ReturnBuffer = "abcdefghij";
  1699.  
  1700.     strcpy(Emperor_ReturnBuffer, "");
  1701.     Emperor_ReturnBuffer[0] = NULL;
  1702.     if(Emperor_NumberBuffer1 < 0)
  1703.     {
  1704.         strcpy(Emperor_ReturnBuffer, "-");
  1705.         Emperor_NumberBuffer1 = -Emperor_NumberBuffer1;
  1706.     }
  1707.     if(Emperor_NumberBuffer1 > 0) Emperor_NumberLength = 1;
  1708.     if(Emperor_NumberBuffer1/10 > 0) Emperor_NumberLength = 2;
  1709.     if(Emperor_NumberBuffer1/100 > 0) Emperor_NumberLength = 3;
  1710.     if(Emperor_NumberBuffer1/1000 > 0) Emperor_NumberLength = 4;
  1711.     if(Emperor_NumberBuffer1/10000 > 0) Emperor_NumberLength = 5;
  1712.     if(Emperor_NumberBuffer1/100000 > 0) Emperor_NumberLength = 6;
  1713.     if(Emperor_NumberBuffer1/1000000 > 0) Emperor_NumberLength = 7;
  1714.     if(Emperor_NumberBuffer1/10000000 > 0) Emperor_NumberLength = 8;
  1715.     if(Emperor_NumberBuffer1/100000000 > 0) Emperor_NumberLength = 9;
  1716.     if(Emperor_NumberBuffer1 == 0)  strcpy(Emperor_ReturnBuffer, "0");
  1717.     else
  1718.     {
  1719.         Emperor_Counter = Emperor_NumberLength;
  1720.         for(;Emperor_Counter > 0;Emperor_Counter--)
  1721.         {
  1722.             if(Emperor_Counter == 9) Emperor_NumberBuffer2 = Emperor_NumberBuffer1/100000000;
  1723.             if(Emperor_Counter == 8) Emperor_NumberBuffer2 = Emperor_NumberBuffer1/10000000;
  1724.             if(Emperor_Counter == 7) Emperor_NumberBuffer2 = Emperor_NumberBuffer1/1000000;
  1725.             if(Emperor_Counter == 6) Emperor_NumberBuffer2 = Emperor_NumberBuffer1/100000;
  1726.             if(Emperor_Counter == 5) Emperor_NumberBuffer2 = Emperor_NumberBuffer1/10000;
  1727.             if(Emperor_Counter == 4) Emperor_NumberBuffer2 = Emperor_NumberBuffer1/1000;
  1728.             if(Emperor_Counter == 3) Emperor_NumberBuffer2 = Emperor_NumberBuffer1/100;
  1729.             if(Emperor_Counter == 2) Emperor_NumberBuffer2 = Emperor_NumberBuffer1/10;
  1730.             if(Emperor_Counter == 1) Emperor_NumberBuffer2 = Emperor_NumberBuffer1;
  1731.             if(Emperor_NumberBuffer2 == 0) strcat(Emperor_ReturnBuffer, "0");
  1732.             if(Emperor_NumberBuffer2 == 1) strcat(Emperor_ReturnBuffer, "1");
  1733.             if(Emperor_NumberBuffer2 == 2) strcat(Emperor_ReturnBuffer, "2");
  1734.             if(Emperor_NumberBuffer2 == 3) strcat(Emperor_ReturnBuffer, "3");
  1735.             if(Emperor_NumberBuffer2 == 4) strcat(Emperor_ReturnBuffer, "4");
  1736.             if(Emperor_NumberBuffer2 == 5) strcat(Emperor_ReturnBuffer, "5");
  1737.             if(Emperor_NumberBuffer2 == 6) strcat(Emperor_ReturnBuffer, "6");
  1738.             if(Emperor_NumberBuffer2 == 7) strcat(Emperor_ReturnBuffer, "7");
  1739.             if(Emperor_NumberBuffer2 == 8) strcat(Emperor_ReturnBuffer, "8");
  1740.             if(Emperor_NumberBuffer2 == 9) strcat(Emperor_ReturnBuffer, "9");
  1741.             if(Emperor_Counter == 9) Emperor_NumberBuffer1 -= Emperor_NumberBuffer2*100000000;
  1742.             if(Emperor_Counter == 8) Emperor_NumberBuffer1 -= Emperor_NumberBuffer2*10000000;
  1743.             if(Emperor_Counter == 7) Emperor_NumberBuffer1 -= Emperor_NumberBuffer2*1000000;
  1744.             if(Emperor_Counter == 6) Emperor_NumberBuffer1 -= Emperor_NumberBuffer2*100000;
  1745.             if(Emperor_Counter == 5) Emperor_NumberBuffer1 -= Emperor_NumberBuffer2*10000;
  1746.             if(Emperor_Counter == 4) Emperor_NumberBuffer1 -= Emperor_NumberBuffer2*1000;
  1747.             if(Emperor_Counter == 3) Emperor_NumberBuffer1 -= Emperor_NumberBuffer2*100;
  1748.             if(Emperor_Counter == 2) Emperor_NumberBuffer1 -= Emperor_NumberBuffer2*10;
  1749.             if(Emperor_Counter == 1) Emperor_NumberBuffer1 -= Emperor_NumberBuffer2;
  1750.         }
  1751.     }
  1752.     return(Emperor_ReturnBuffer);
  1753. }
  1754.  
  1755. #include <ClicktabExample.h>
  1756.