home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 22 / AACD 22.iso / AACD / Programming / Emperor_v4.0 / Emperor / Projects / DevsManager.c < prev    next >
Encoding:
C/C++ Source or Header  |  2001-05-05  |  91.1 KB  |  1,599 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, "DevsManager Version 1.4  created by Emperor")
  42. #define LOCALE_ICONIFIED_TITLE1 GetCatalogStr(Catalog, 2, "Iconified Program")
  43. #define LOCALE_MENU_PROJECT GetCatalogStr(Catalog, 3, "Project")
  44. #define LOCALE_MENU_INFO GetCatalogStr(Catalog, 4, "Information")
  45. #define LOCALE_MENU_QUIT GetCatalogStr(Catalog, 5, "Quit")
  46. #define LOCALE_MENU_TYPE GetCatalogStr(Catalog, 6, "Type")
  47. #define LOCALE_SELECTED_STRING GetCatalogStr(Catalog, 7, "Selected: NOTHING")
  48. #define LOCALE_REQUEST_QUIT_TITLE GetCatalogStr(Catalog, 8, "Program request")
  49. #define LOCALE_REQUEST_QUIT_BODY GetCatalogStr(Catalog, 9, " Do you really want to quit this program ?")
  50. #define LOCALE_REQUEST_QUIT_GADGET GetCatalogStr(Catalog, 10, "Okay|No")
  51. #define LOCALE_REQUEST_INFO_TITLE GetCatalogStr(Catalog, 11, "Program information")
  52. #define LOCALE_REQUEST_INFO_BODY GetCatalogStr(Catalog, 12, " DevsManager was written by Matthias Gietzelt\n DevsManager was created by Emperor")
  53. #define LOCALE_REQUEST_INFO_GADGET GetCatalogStr(Catalog, 13, "Okay")
  54. #define LOCALE_DELETE GetCatalogStr(Catalog, 14, "Delete")
  55. #define Layout1 Gadget1[1]
  56. #define Layout2 Gadget1[2]
  57. #define Layout3 Gadget1[3]
  58. #define Listbrowser1 Gadget1[4]
  59. #define Layout4 Gadget1[5]
  60. #define Space1 Gadget1[6]
  61. #define Chooser1 Gadget1[7]
  62. #define Space5 Gadget1[8]
  63. #define Button1 Gadget1[9]
  64. #define Button2 Gadget1[10]
  65. #define Space4 Gadget1[11]
  66. #define Button4 Gadget1[12]
  67. #define Space3 Gadget1[13]
  68. #define Button3 Gadget1[14]
  69. #define Space2 Gadget1[15]
  70. #define Layout5 Gadget1[16]
  71. #define Listbrowser2 Gadget1[17]
  72. #define String1 Gadget1[18]
  73. #define Menu_Project 65504
  74. #define Menu_Information 63488
  75. #define Menu_Quit 63552
  76. #define Menu_Type 65505
  77. #define Menu_DataTypes 63489
  78. #define Menu_DOSDrivers 63521
  79. #define Menu_Keymaps 63553
  80. #define Menu_Monitors 63585
  81. #define Menu_Printers 63617
  82. BYTE Emperor_Gadgetkind1[] = { 0, 12, 12, 12, 13, 12, 18, 2, 18, 0, 0, 18, 0, 18, 0, 18, 12, 13, 20, -1 };
  83.  
  84. LONG Quitrequest1(void);
  85. LONG Inforequest1(void);
  86. void Listbrowser1_GadgetUp_Event(void);
  87. void Chooser1_GadgetUp_Event(void);
  88. void Button1_GadgetUp_Event(void);
  89. void Button2_GadgetUp_Event(void);
  90. void Button4_GadgetUp_Event(void);
  91. void Button3_GadgetUp_Event(void);
  92. void Listbrowser2_GadgetUp_Event(void);
  93. void Menu_Information_MenuPick_Event(void);
  94. void Menu_Quit_MenuPick_Event(void);
  95. void Menu_DataTypes_MenuPick_Event(void);
  96. void Menu_DOSDrivers_MenuPick_Event(void);
  97. void Menu_Keymaps_MenuPick_Event(void);
  98. void Menu_Monitors_MenuPick_Event(void);
  99. void Menu_Printers_MenuPick_Event(void);
  100. void Window1_CloseWindow_Event(void);
  101. void Window1_ShowWindow_Event(void);
  102. void Startup(void);
  103. void Shutdown(void);
  104. BOOL Emperor_InitProgram(void);
  105. void Emperor_QuitProgram(void);
  106. void Emperor_CloseWindow_Window1(void);
  107. void Emperor_IconifyWindow_Window1(void);
  108. struct Window *Emperor_OpenWindow_Window1(void);
  109. struct Window *Emperor_UniconifyWindow_Window1(void);
  110. BOOL Emperor_GetMenuItemAttr(UWORD, UWORD);
  111. void Emperor_SetMenuItemAttr(UWORD, UWORD, BOOL);
  112. STRPTR Emperor_GetGadgetAttr(struct Gadget *);
  113. void Emperor_SetGadgetAttr(struct Gadget *, STRPTR);
  114. STRPTR Emperor_GetGadgetAttrComplex(struct Gadget *, ULONG);
  115. void Emperor_SetGadgetAttrComplex(struct Gadget *, ULONG, STRPTR);
  116. BOOL Emperor_GetGadgetDisabledAttr(struct Gadget *);
  117. void Emperor_SetGadgetDisabledAttr(struct Gadget *, BOOL);
  118. BOOL Emperor_GetGadgetReadOnlyAttr(struct Gadget *);
  119. void Emperor_SetGadgetReadOnlyAttr(struct Gadget *, BOOL);
  120. void Emperor_ActivateGadget(struct Gadget *);
  121. void Emperor_RethinkLayout(struct Gadget *);
  122. void Emperor_RefreshGList(struct Gadget *, WORD);
  123. void Emperor_ChangeWindowPosition(struct Window *, WORD, WORD);
  124. void Emperor_ChangeWindowSize(struct Window *, WORD, WORD);
  125. void Emperor_SetWindowBusyPointer(struct Window *, BOOL);
  126. void Emperor_SetWindowTitle(struct Window *, STRPTR);
  127. void Emperor_SetScreenTitle(struct Window *, STRPTR);
  128. void Emperor_AllocChooserNode(struct List *, char **, WORD *);
  129. void Emperor_AllocClicktabNode(struct List *, char **, WORD *);
  130. void Emperor_AllocListbrowserNode(struct List *, char **, WORD *);
  131. void Emperor_AllocRadiobuttonNode(struct List *, char **, WORD *);
  132. void Emperor_AllocListbrowserGadToolsNode(struct List *, char **);
  133. ULONG stringlength(STRPTR buffer);
  134. LONG stringtoint(STRPTR);
  135. DOUBLE stringtofloat(STRPTR);
  136. STRPTR inttostring(LONG);
  137.  
  138. struct Library *IntuitionBase = NULL;
  139. struct Library *LocaleBase = NULL;
  140. struct Library *GadToolsBase = NULL;
  141. struct Library *ASLBase = NULL;
  142. struct Library *DOSLibBase = NULL;
  143. struct Library *ResourceBase = NULL;
  144. struct Library *WindowBase = NULL;
  145. struct Library *RequesterBase = NULL;
  146. struct Library *ButtonBase = NULL;
  147. struct Library *CheckBoxBase = NULL;
  148. struct Library *ChooserBase = NULL;
  149. struct Library *ClickTabBase = NULL;
  150. struct Library *ColorWheelBase = NULL;
  151. struct Library *DateBrowserBase = NULL;
  152. struct Library *FuelGaugeBase = NULL;
  153. struct Library *GetFileBase = NULL;
  154. struct Library *GetFontBase = NULL;
  155. struct Library *GetScreenModeBase = NULL;
  156. struct Library *GradientSliderBase = NULL;
  157. struct Library *IntegerBase = NULL;
  158. struct Library *LayoutBase = NULL;
  159. struct Library *ListBrowserBase = NULL;
  160. struct Library *PaletteBase = NULL;
  161. struct Library *RadioButtonBase = NULL;
  162. struct Library *ScrollerBase = NULL;
  163. struct Library *SliderBase = NULL;
  164. struct Library *SpaceBase = NULL;
  165. struct Library *SpeedBarBase = NULL;
  166. struct Library *StringBase = NULL;
  167. struct Library *TapeDeckBase = NULL;
  168. struct Library *TextEditorBase = NULL;
  169. struct Library *BevelBase = NULL;
  170. struct Library *BitMapBase = NULL;
  171. struct Library *GlyphBase = NULL;
  172. struct Library *LabelBase = NULL;
  173. struct List Chooser_Nodearray1;
  174. struct List Clicktab_Nodearray1;
  175. struct List Listbrowser_Nodearray1;
  176. struct List Radiobutton_Nodearray1;
  177. struct List Listbrowser_GadTools_Nodearray1;
  178.  
  179. struct NewMenu NewMenu[] =
  180. {
  181.     { NM_TITLE, 0, 0, 0, 0, 0 },
  182.     { NM_ITEM, 0, "I", 0, 0, 0 },
  183.     { NM_ITEM, NM_BARLABEL, 0, 0, 0, 0 },
  184.     { NM_ITEM, 0, "Q", 0, 0, 0 },
  185.     { NM_TITLE, 0, 0, 0, 0, 0 },
  186.     { NM_ITEM, 0, "1", 0, 0, 0 },
  187.     { NM_ITEM, 0, "2", 0, 0, 0 },
  188.     { NM_ITEM, 0, "3", 0, 0, 0 },
  189.     { NM_ITEM, 0, "4", 0, 0, 0 },
  190.     { NM_ITEM, 0, "5", 0, 0, 0 },
  191.     { NM_END, 0, 0, 0, 0, 0 }
  192. };
  193.  
  194. void *vinfo = NULL;
  195. BOOL os35 = TRUE;
  196. BOOL terminated = FALSE;
  197. ULONG WindowSignals1 = 0L;
  198. Object *WindowObject1 = NULL;
  199. struct Catalog *Catalog = NULL;
  200. struct Gadget *Gadget1[19];
  201. struct Menu *Menu = NULL;
  202. struct MsgPort *AppPort = NULL;
  203. struct MsgPort *MsgPort = NULL;
  204. struct Screen *Screen1 = NULL;
  205. struct Window *Window1 = NULL;
  206.  
  207. const char VERSION[] = "$VER: DevsManager 1.4 (16-Feb-2001)";
  208. const char AUTHOR[] = "Matthias Gietzelt";
  209.  
  210. /* global variables declarations */
  211.  
  212. char *Nodearray1raw[] = { "DataTypes", "DOSDrivers", "Keymaps", "Monitors", "Printers", NULL };
  213. WORD Nodearray1attr[] = { 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, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, 0, 0, NULL };
  214.  
  215. void main(void)
  216. {
  217.     BYTE Emperor_Exception = 0;
  218.     ULONG Emperor_Input, Emperor_Code;
  219.     char Emperor_ExceptionString[300];
  220.     struct EasyStruct EmperorRequest_InitializationErrorRequest;
  221.     struct IntuiMessage *IntuiMessage = NULL;
  222.     struct Gadget *GadgetMessage = NULL;
  223.  
  224.     Emperor_Input = 0L;
  225.     Emperor_Code = 0L;
  226.     if(!Emperor_InitProgram())
  227.     {
  228.         Screen1 = LockPubScreen(NULL);
  229.         if(Screen1)
  230.         {
  231.             vinfo = GetVisualInfo(Screen1, TAG_DONE);
  232.             if(vinfo)
  233.             {
  234.                 NewMenu[0].nm_Label = LOCALE_MENU_PROJECT;
  235.                 NewMenu[1].nm_Label = LOCALE_MENU_INFO;
  236.                 NewMenu[2].nm_Label = NM_BARLABEL;
  237.                 NewMenu[3].nm_Label = LOCALE_MENU_QUIT;
  238.                 NewMenu[4].nm_Label = LOCALE_MENU_TYPE;
  239.                 NewMenu[5].nm_Label = "DataTypes";
  240.                 NewMenu[6].nm_Label = "DOSDrivers";
  241.                 NewMenu[7].nm_Label = "Keymaps";
  242.                 NewMenu[8].nm_Label = "Monitors";
  243.                 NewMenu[9].nm_Label = "Printers";
  244.                 Menu = CreateMenus(NewMenu, GTMN_FullMenu, TRUE, TAG_DONE);
  245.                 if(Menu)
  246.                 {
  247.                     LayoutMenus(Menu, vinfo, GTMN_FrontPen, 0, TAG_DONE);
  248.                     if(os35) Emperor_AllocChooserNode(&Chooser_Nodearray1, Nodearray1raw, Nodearray1attr);
  249.                     if(os35) Emperor_AllocClicktabNode(&Clicktab_Nodearray1, Nodearray1raw, Nodearray1attr);
  250.                     if(os35) Emperor_AllocListbrowserNode(&Listbrowser_Nodearray1, Nodearray1raw, Nodearray1attr);
  251.                     if(os35) Emperor_AllocRadiobuttonNode(&Radiobutton_Nodearray1, Nodearray1raw, Nodearray1attr);
  252.                     Emperor_AllocListbrowserGadToolsNode(&Listbrowser_GadTools_Nodearray1, Nodearray1raw);
  253.                     AppPort = CreateMsgPort();
  254.                     if(AppPort)
  255.                     {
  256.                         MsgPort = CreatePort("DevsManager_Port", 0);
  257.                         if(MsgPort)
  258.                         {
  259.                             if(os35)
  260.                             {
  261.                                 WindowObject1 = (Object *) WindowObject,
  262.                                                 WA_Width, 400,
  263.                                                 WA_Height, 190,
  264.                                                 WA_SizeGadget, TRUE,
  265.                                                 WA_DragBar, TRUE,
  266.                                                 WA_DepthGadget, TRUE,
  267.                                                 WA_CloseGadget, TRUE,
  268.                                                 WA_Activate, TRUE,
  269.                                                 WA_AutoAdjust, TRUE,
  270.                                                 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,
  271.                                                 WA_MinWidth, 0,
  272.                                                 WA_MinHeight, 0,
  273.                                                 WA_MaxWidth, 0,
  274.                                                 WA_MaxHeight, 0,
  275.                                                 WA_Title, LOCALE_WINDOW_TITLE1,
  276.                                                 WA_ScreenTitle, LOCALE_SCREEN_TITLE1,
  277.                                                 WA_PubScreen, Screen1,
  278.                                                 WINDOW_GadgetHelp, TRUE,
  279.                                                 WINDOW_IconifyGadget, FALSE,
  280.                                                 WINDOW_IconTitle, LOCALE_ICONIFIED_TITLE1,
  281.                                                 WINDOW_AppPort, AppPort,
  282.                                                 WINDOW_Position, WPOS_CENTERMOUSE,
  283.                                                 WINDOW_ParentGroup, (Object *) Gadget1[0] = (Object *) VGroupObject,
  284.                                                                         LAYOUT_SpaceOuter, TRUE,
  285.                                                                         LAYOUT_DeferLayout, TRUE,
  286.                                                                         LAYOUT_AddChild, (Object *) Gadget1[1] = (Object *) LayoutObject,
  287.                                                                                          GA_ID, 0,
  288.                                                                                          GA_RelVerify, TRUE,
  289.                                                                                          GA_GadgetHelp, TRUE,
  290.                                                                                          LAYOUT_Label, "",
  291.                                                                                          LAYOUT_Orientation, 1,
  292.                                                                                          LAYOUT_HorizAlignment, LALIGN_LEFT,
  293.                                                                                          LAYOUT_VertAlignment, LALIGN_TOP,
  294.                                                                                          LAYOUT_LabelPlace, BVJ_TOP_LEFT,
  295.                                                                                          LAYOUT_BevelState, IDS_NORMAL,
  296.                                                                                          LAYOUT_BevelStyle, 4,
  297.                                                                                          LAYOUT_AddChild, (Object *) Gadget1[2] = (Object *) LayoutObject,
  298.                                                                                                           GA_ID, 1,
  299.                                                                                                           GA_RelVerify, TRUE,
  300.                                                                                                           GA_GadgetHelp, TRUE,
  301.                                                                                                           LAYOUT_Label, "",
  302.                                                                                                           LAYOUT_Orientation, 0,
  303.                                                                                                           LAYOUT_HorizAlignment, LALIGN_LEFT,
  304.                                                                                                           LAYOUT_VertAlignment, LALIGN_TOP,
  305.                                                                                                           LAYOUT_LabelPlace, BVJ_TOP_LEFT,
  306.                                                                                                           LAYOUT_BevelState, IDS_NORMAL,
  307.                                                                                                           LAYOUT_BevelStyle, 4,
  308.                                                                                                           LAYOUT_AddChild, (Object *) Gadget1[3] = (Object *) LayoutObject,
  309.                                                                                                                            GA_ID, 2,
  310.                                                                                                                            GA_RelVerify, TRUE,
  311.                                                                                                                            GA_GadgetHelp, TRUE,
  312.                                                                                                                            LAYOUT_Label, "Devices",
  313.                                                                                                                            LAYOUT_Orientation, 0,
  314.                                                                                                                            LAYOUT_HorizAlignment, LALIGN_LEFT,
  315.                                                                                                                            LAYOUT_VertAlignment, LALIGN_TOP,
  316.                                                                                                                            LAYOUT_LabelPlace, BVJ_TOP_CENTER,
  317.                                                                                                                            LAYOUT_BevelState, IDS_NORMAL,
  318.                                                                                                                            LAYOUT_BevelStyle, 4,
  319.                                                                                                                            LAYOUT_AddChild, (Object *) Gadget1[4] = (Object *) ListBrowserObject,
  320.                                                                                                                                             GA_ID, 3,
  321.                                                                                                                                             GA_RelVerify, TRUE,
  322.                                                                                                                                             GA_GadgetHelp, TRUE,
  323.                                                                                                                                             LISTBROWSER_AutoFit, TRUE,
  324.                                                                                                                                             LISTBROWSER_ShowSelected, TRUE,
  325.                                                                                                                                             LISTBROWSER_VerticalProp, TRUE,
  326.                                                                                                                                             LISTBROWSER_HorizontalProp, TRUE,
  327.                                                                                                                            End,
  328.                                                                                                           End,
  329.                                                                                                           LAYOUT_AddChild, (Object *) Gadget1[5] = (Object *) LayoutObject,
  330.                                                                                                                            GA_ID, 4,
  331.                                                                                                                            GA_RelVerify, TRUE,
  332.                                                                                                                            GA_GadgetHelp, TRUE,
  333.                                                                                                                            LAYOUT_Label, "",
  334.                                                                                                                            LAYOUT_Orientation, 1,
  335.                                                                                                                            LAYOUT_HorizAlignment, LALIGN_LEFT,
  336.                                                                                                                            LAYOUT_VertAlignment, LALIGN_TOP,
  337.                                                                                                                            LAYOUT_LabelPlace, BVJ_TOP_LEFT,
  338.                                                                                                                            LAYOUT_BevelState, IDS_NORMAL,
  339.                                                                                                                            LAYOUT_BevelStyle, 4,
  340.                                                                                                                            LAYOUT_AddChild, (Object *) Gadget1[6] = (Object *) SpaceObject,
  341.                                                                                                                                             GA_ID, 11,
  342.                                                                                                                                             GA_RelVerify, TRUE,
  343.                                                                                                                                             GA_GadgetHelp, TRUE,
  344.                                                                                                                            End,
  345.                                                                                                                            LAYOUT_AddChild, (Object *) Gadget1[7] = (Object *) ChooserObject,
  346.                                                                                                                                             GA_ID, 8,
  347.                                                                                                                                             GA_RelVerify, TRUE,
  348.                                                                                                                                             GA_GadgetHelp, TRUE,
  349.                                                                                                                                             CHOOSER_Title, "Type",
  350.                                                                                                                                             CHOOSER_AutoFit, TRUE,
  351.                                                                                                                                             CHOOSER_PopUp, TRUE,
  352.                                                                                                                                             CHOOSER_MaxLabels, 10,
  353.                                                                                                                                             CHOOSER_Offset, 0,
  354.                                                                                                                                             CHOOSER_Selected, -1,
  355.                                                                                                                                             CHOOSER_Labels, (ULONG) &Chooser_Nodearray1,
  356.                                                                                                                            End,
  357.                                                                                                                            LAYOUT_AddChild, (Object *) Gadget1[8] = (Object *) SpaceObject,
  358.                                                                                                                                             GA_ID, 17,
  359.                                                                                                                                             GA_RelVerify, TRUE,
  360.                                                                                                                                             GA_GadgetHelp, TRUE,
  361.                                                                                                                            End,
  362.                                                                                                                            LAYOUT_AddChild, (Object *) Gadget1[9] = (Object *) ButtonObject,
  363.                                                                                                                                             GA_ID, 5,
  364.                                                                                                                                             GA_RelVerify, TRUE,
  365.                                                                                                                                             GA_GadgetHelp, TRUE,
  366.                                                                                                                                             GA_Disabled, TRUE,
  367.                                                                                                                                             GA_Text, "Emport ->",
  368.                                                                                                                                             BUTTON_Justification, 1,
  369.                                                                                                                            End,
  370.                                                                                                                            LAYOUT_AddChild, (Object *) Gadget1[10] = (Object *) ButtonObject,
  371.                                                                                                                                             GA_ID, 6,
  372.                                                                                                                                             GA_RelVerify, TRUE,
  373.                                                                                                                                             GA_GadgetHelp, TRUE,
  374.                                                                                                                                             GA_Disabled, TRUE,
  375.                                                                                                                                             GA_Text, "<- Import",
  376.                                                                                                                                             BUTTON_Justification, 1,
  377.                                                                                                                            End,
  378.                                                                                                                            LAYOUT_AddChild, (Object *) Gadget1[11] = (Object *) SpaceObject,
  379.                                                                                                                                             GA_ID, 16,
  380.                                                                                                                                             GA_RelVerify, TRUE,
  381.                                                                                                                                             GA_GadgetHelp, TRUE,
  382.                                                                                                                            End,
  383.                                                                                                                            LAYOUT_AddChild, (Object *) Gadget1[12] = (Object *) ButtonObject,
  384.                                                                                                                                             GA_ID, 13,
  385.                                                                                                                                             GA_RelVerify, TRUE,
  386.                                                                                                                                             GA_GadgetHelp, TRUE,
  387.                                                                                                                                             GA_Text, LOCALE_DELETE,
  388.                                                                                                                                             BUTTON_Justification, 1,
  389.                                                                                                                            End,
  390.                                                                                                                            LAYOUT_AddChild, (Object *) Gadget1[13] = (Object *) SpaceObject,
  391.                                                                                                                                             GA_ID, 15,
  392.                                                                                                                                             GA_RelVerify, TRUE,
  393.                                                                                                                                             GA_GadgetHelp, TRUE,
  394.                                                                                                                            End,
  395.                                                                                                                            LAYOUT_AddChild, (Object *) Gadget1[14] = (Object *) ButtonObject,
  396.                                                                                                                                             GA_ID, 7,
  397.                                                                                                                                             GA_RelVerify, TRUE,
  398.                                                                                                                                             GA_GadgetHelp, TRUE,
  399.                                                                                                                                             GA_Text, "Refresh",
  400.                                                                                                                                             BUTTON_Justification, 1,
  401.                                                                                                                            End,
  402.                                                                                                                            LAYOUT_AddChild, (Object *) Gadget1[15] = (Object *) SpaceObject,
  403.                                                                                                                                             GA_ID, 12,
  404.                                                                                                                                             GA_RelVerify, TRUE,
  405.                                                                                                                                             GA_GadgetHelp, TRUE,
  406.                                                                                                                            End,
  407.                                                                                                           End,
  408.                                                                                                           LAYOUT_AddChild, (Object *) Gadget1[16] = (Object *) LayoutObject,
  409.                                                                                                                            GA_ID, 9,
  410.                                                                                                                            GA_RelVerify, TRUE,
  411.                                                                                                                            GA_GadgetHelp, TRUE,
  412.                                                                                                                            LAYOUT_Label, "Storage",
  413.                                                                                                                            LAYOUT_Orientation, 0,
  414.                                                                                                                            LAYOUT_HorizAlignment, LALIGN_LEFT,
  415.                                                                                                                            LAYOUT_VertAlignment, LALIGN_TOP,
  416.                                                                                                                            LAYOUT_LabelPlace, BVJ_TOP_CENTER,
  417.                                                                                                                            LAYOUT_BevelState, IDS_NORMAL,
  418.                                                                                                                            LAYOUT_BevelStyle, 4,
  419.                                                                                                                            LAYOUT_AddChild, (Object *) Gadget1[17] = (Object *) ListBrowserObject,
  420.                                                                                                                                             GA_ID, 10,
  421.                                                                                                                                             GA_RelVerify, TRUE,
  422.                                                                                                                                             GA_GadgetHelp, TRUE,
  423.                                                                                                                                             LISTBROWSER_AutoFit, TRUE,
  424.                                                                                                                                             LISTBROWSER_ShowSelected, TRUE,
  425.                                                                                                                                             LISTBROWSER_VerticalProp, TRUE,
  426.                                                                                                                                             LISTBROWSER_HorizontalProp, TRUE,
  427.                                                                                                                            End,
  428.                                                                                                           End,
  429.                                                                                          End,
  430.                                                                                          LAYOUT_AddChild, (Object *) Gadget1[18] = (Object *) StringObject,
  431.                                                                                                           GA_ID, 17,
  432.                                                                                                           GA_RelVerify, TRUE,
  433.                                                                                                           GA_GadgetHelp, TRUE,
  434.                                                                                                           GA_TabCycle, TRUE,
  435.                                                                                                           STRINGA_TextVal, "",
  436.                                                                                                           STRINGA_MaxChars, 50,
  437.                                                                                                           STRINGA_Justification, GACT_STRINGLEFT,
  438.                                                                                                           STRINGA_MinVisible, 0,
  439.                                                                                          End,
  440.                                                                         End,
  441.                                                 EndGroup,
  442.                                 EndWindow;
  443.                             }
  444.  
  445.                             SetProgramName("DevsManager");
  446.                             Startup();
  447.                             Emperor_OpenWindow_Window1();
  448.                             while(!terminated)
  449.                             {
  450.                                 Wait(WindowSignals1 | WindowSignals1);
  451.                                 while((Emperor_Input = RA_HandleInput(WindowObject1, &Emperor_Code)) != WMHI_LASTMSG)
  452.                                 {
  453.                                     switch(Emperor_Input & WMHI_CLASSMASK)
  454.                                     {
  455.                                         case WMHI_GADGETUP:
  456.                                             switch(Emperor_Input & WMHI_GADGETMASK)
  457.                                             {
  458.                                                 case 3: Listbrowser1_GadgetUp_Event(); break;
  459.                                                 case 8: Chooser1_GadgetUp_Event(); break;
  460.                                                 case 5: Button1_GadgetUp_Event(); break;
  461.                                                 case 6: Button2_GadgetUp_Event(); break;
  462.                                                 case 13: Button4_GadgetUp_Event(); break;
  463.                                                 case 7: Button3_GadgetUp_Event(); break;
  464.                                                 case 10: Listbrowser2_GadgetUp_Event(); break;
  465.                                                 default: break;
  466.                                             }
  467.                                             break;
  468.                                         case WMHI_GADGETHELP:
  469.                                             switch(Emperor_Input & WMHI_GADGETMASK)
  470.                                             {
  471.                                                 default: break;
  472.                                             }
  473.                                             break;
  474.                                         case WMHI_MENUPICK:
  475.                                             switch(Emperor_Input & WMHI_MENUMASK)
  476.                                             {
  477.                                                 case Menu_Information: Menu_Information_MenuPick_Event(); break;
  478.                                                 case Menu_Quit: Menu_Quit_MenuPick_Event(); break;
  479.                                                 case Menu_DataTypes: Menu_DataTypes_MenuPick_Event(); break;
  480.                                                 case Menu_DOSDrivers: Menu_DOSDrivers_MenuPick_Event(); break;
  481.                                                 case Menu_Keymaps: Menu_Keymaps_MenuPick_Event(); break;
  482.                                                 case Menu_Monitors: Menu_Monitors_MenuPick_Event(); break;
  483.                                                 case Menu_Printers: Menu_Printers_MenuPick_Event(); break;
  484.                                                 default: break;
  485.                                             }
  486.                                             break;
  487.                                         case WMHI_MENUHELP:
  488.                                             switch(Emperor_Input & WMHI_MENUMASK)
  489.                                             {
  490.                                                 default: break;
  491.                                             }
  492.                                             break;
  493.                                         case WMHI_CLOSEWINDOW:
  494.                                             Window1_CloseWindow_Event();
  495.                                             break;
  496.                                         case WMHI_ICONIFY:
  497.                                             break;
  498.                                         case WMHI_UNICONIFY:
  499.                                             break;
  500.                                         case WMHI_ACTIVE:
  501.                                             break;
  502.                                         case WMHI_INACTIVE:
  503.                                             break;
  504.                                         case WMHI_RAWKEY:
  505.                                             break;
  506.                                         case WMHI_VANILLAKEY:
  507.                                             break;
  508.                                         case WMHI_MOUSEBUTTONS:
  509.                                             break;
  510.                                         case WMHI_MOUSEMOVE:
  511.                                             break;
  512.                                         case WMHI_NEWSIZE:
  513.                                             break;
  514.                                         case WMHI_CHANGEWINDOW:
  515.                                             break;
  516.                                         case WMHI_DISPOSEDWINDOW:
  517.                                             break;
  518.                                         case WMHI_INTUITICK:
  519.                                             break;
  520.                                     }
  521.                                 }
  522.                             }
  523.                             Shutdown();
  524.                         }
  525.                         else Emperor_Exception = 4;
  526.                     }
  527.                     else Emperor_Exception = 4;
  528.                 }
  529.                 else Emperor_Exception = 3;
  530.             }
  531.             else Emperor_Exception = 2;
  532.         }
  533.         else Emperor_Exception = 1;
  534.     }
  535.     if(Emperor_Exception)
  536.     {
  537.         strcpy(Emperor_ExceptionString, "Error during initialization:\n\n");
  538.         switch(Emperor_Exception)
  539.         {
  540.             case 1: strcat(Emperor_ExceptionString, "Can't lock your public-screen."); break;
  541.             case 2: strcat(Emperor_ExceptionString, "Can't get visualinfo of your public-screen."); break;
  542.             case 3: strcat(Emperor_ExceptionString, "Can't create menu."); break;
  543.             case 4: strcat(Emperor_ExceptionString, "Can't create message-port."); break;
  544.         }
  545.         strcat(Emperor_ExceptionString, "\n\nMaybe there isn't enough memory !");
  546.         EmperorRequest_InitializationErrorRequest.es_StructSize = sizeof(struct EasyStruct);
  547.         EmperorRequest_InitializationErrorRequest.es_Flags = 0L;
  548.         EmperorRequest_InitializationErrorRequest.es_Title = (UBYTE *) "Program error";
  549.         EmperorRequest_InitializationErrorRequest.es_TextFormat = (UBYTE *) Emperor_ExceptionString;
  550.         EmperorRequest_InitializationErrorRequest.es_GadgetFormat = (UBYTE *) "Okay";
  551.         EasyRequest(Window1, &EmperorRequest_InitializationErrorRequest, NULL, NULL);
  552.     }
  553.     Emperor_QuitProgram();
  554. }
  555.  
  556. void wbmain(struct WBStartup *Emperor_ArgMsg)
  557. {
  558.     main();
  559. }
  560.  
  561.  
  562. LONG Quitrequest1(void)
  563. {
  564.     struct EasyStruct EmperorRequest_Quitrequest1;
  565.  
  566.     EmperorRequest_Quitrequest1.es_StructSize = sizeof(struct EasyStruct);
  567.     EmperorRequest_Quitrequest1.es_Flags = 0L;
  568.     EmperorRequest_Quitrequest1.es_Title = (UBYTE *) LOCALE_REQUEST_QUIT_TITLE;
  569.     EmperorRequest_Quitrequest1.es_TextFormat = (UBYTE *) LOCALE_REQUEST_QUIT_BODY;
  570.     EmperorRequest_Quitrequest1.es_GadgetFormat = (UBYTE *) LOCALE_REQUEST_QUIT_GADGET;
  571.     return(EasyRequest(Window1, &EmperorRequest_Quitrequest1, NULL, NULL));
  572. }
  573.  
  574. LONG Inforequest1(void)
  575. {
  576.     struct EasyStruct EmperorRequest_Inforequest1;
  577.  
  578.     EmperorRequest_Inforequest1.es_StructSize = sizeof(struct EasyStruct);
  579.     EmperorRequest_Inforequest1.es_Flags = 0L;
  580.     EmperorRequest_Inforequest1.es_Title = (UBYTE *) LOCALE_REQUEST_INFO_TITLE;
  581.     EmperorRequest_Inforequest1.es_TextFormat = (UBYTE *) LOCALE_REQUEST_INFO_BODY;
  582.     EmperorRequest_Inforequest1.es_GadgetFormat = (UBYTE *) LOCALE_REQUEST_INFO_GADGET;
  583.     return(EasyRequest(Window1, &EmperorRequest_Inforequest1, NULL, NULL));
  584. }
  585.  
  586. BOOL Emperor_InitProgram(void)
  587. {
  588.     UWORD Emperor_InitVar = 0;
  589.     char Emperor_OccuredError[50], Emperor_ExceptionString[300];
  590.     struct Task *Emperor_ThisTask = NULL;
  591.     struct EasyStruct EmperorRequest_InitializationErrorRequest;
  592.  
  593.     IntuitionBase = OpenLibrary("intuition.library", 0L);
  594.     if(!IntuitionBase)
  595.     {
  596.         Emperor_InitVar = 1;
  597.         strcpy(Emperor_OccuredError, "intuition.library");
  598.     }
  599.     LocaleBase = OpenLibrary("locale.library", 0L);
  600.     if(!LocaleBase)
  601.     {
  602.         Emperor_InitVar = 1;
  603.         strcpy(Emperor_OccuredError, "locale.library");
  604.     }
  605.     GadToolsBase = OpenLibrary("gadtools.library", 0L);
  606.     if(!GadToolsBase)
  607.     {
  608.         Emperor_InitVar = 1;
  609.         strcpy(Emperor_OccuredError, "gadtools.library");
  610.     }
  611.     ASLBase = OpenLibrary("asl.library", 0L);
  612.     if(!ASLBase)
  613.     {
  614.         Emperor_InitVar = 1;
  615.         strcpy(Emperor_OccuredError, "asl.library");
  616.     }
  617.     DOSLibBase = OpenLibrary("dos.library", 0L);
  618.     if(!DOSLibBase)
  619.     {
  620.         Emperor_InitVar = 1;
  621.         strcpy(Emperor_OccuredError, "dos.library");
  622.     }
  623.     ResourceBase = OpenLibrary("resource.library", 0L);
  624.     if(!ResourceBase)
  625.     {
  626.         Emperor_InitVar = 1;
  627.         strcpy(Emperor_OccuredError, "resource.library");
  628.     }
  629.     WindowBase = OpenLibrary("window.class", 0L);
  630.     if(!WindowBase)
  631.     {
  632.         Emperor_InitVar = 1;
  633.         strcpy(Emperor_OccuredError, "window.class");
  634.     }
  635.     RequesterBase = OpenLibrary("requester.class", 0L);
  636.     if(!RequesterBase)
  637.     {
  638.         Emperor_InitVar = 1;
  639.         strcpy(Emperor_OccuredError, "requester.class");
  640.     }
  641.     ButtonBase = OpenLibrary("gadgets/button.gadget", 0L);
  642.     if(!ButtonBase)
  643.     {
  644.         Emperor_InitVar = 1;
  645.         strcpy(Emperor_OccuredError, "gadgets/button.gadget");
  646.     }
  647.     CheckBoxBase = OpenLibrary("gadgets/checkbox.gadget", 0L);
  648.     if(!CheckBoxBase)
  649.     {
  650.         Emperor_InitVar = 1;
  651.         strcpy(Emperor_OccuredError, "gadgets/checkbox.gadget");
  652.     }
  653.     ChooserBase = OpenLibrary("gadgets/chooser.gadget", 0L);
  654.     if(!ChooserBase)
  655.     {
  656.         Emperor_InitVar = 1;
  657.         strcpy(Emperor_OccuredError, "gadgets/chooser.gadget");
  658.     }
  659.     ClickTabBase = OpenLibrary("gadgets/clicktab.gadget", 0L);
  660.     if(!ClickTabBase)
  661.     {
  662.         Emperor_InitVar = 1;
  663.         strcpy(Emperor_OccuredError, "gadgets/clicktab.gadget");
  664.     }
  665.     ColorWheelBase = OpenLibrary("gadgets/colorwheel.gadget", 0L);
  666.     if(!ColorWheelBase)
  667.     {
  668.         Emperor_InitVar = 1;
  669.         strcpy(Emperor_OccuredError, "gadgets/colorwheel.gadget");
  670.     }
  671.     DateBrowserBase = OpenLibrary("gadgets/datebrowser.gadget", 0L);
  672.     if(!DateBrowserBase)
  673.     {
  674.         Emperor_InitVar = 1;
  675.         strcpy(Emperor_OccuredError, "gadgets/datebrowser.gadget");
  676.     }
  677.     FuelGaugeBase = OpenLibrary("gadgets/fuelgauge.gadget", 0L);
  678.     if(!FuelGaugeBase)
  679.     {
  680.         Emperor_InitVar = 1;
  681.         strcpy(Emperor_OccuredError, "gadgets/fuelgauge.gadget");
  682.     }
  683.     GetFileBase = OpenLibrary("gadgets/getfile.gadget", 0L);
  684.     if(!GetFileBase)
  685.     {
  686.         Emperor_InitVar = 1;
  687.         strcpy(Emperor_OccuredError, "gadgets/getfile.gadget");
  688.     }
  689.     GetFontBase = OpenLibrary("gadgets/getfont.gadget", 0L);
  690.     if(!GetFontBase)
  691.     {
  692.         Emperor_InitVar = 1;
  693.         strcpy(Emperor_OccuredError, "gadgets/getfont.gadget");
  694.     }
  695.     GetScreenModeBase = OpenLibrary("gadgets/getscreenmode.gadget", 0L);
  696.     if(!GetScreenModeBase)
  697.     {
  698.         Emperor_InitVar = 1;
  699.         strcpy(Emperor_OccuredError, "gadgets/getscreenmode.gadget");
  700.     }
  701.     GradientSliderBase = OpenLibrary("gadgets/gradientslider.gadget", 0L);
  702.     if(!GradientSliderBase)
  703.     {
  704.         Emperor_InitVar = 1;
  705.         strcpy(Emperor_OccuredError, "gadgets/gradientslider.gadget");
  706.     }
  707.     IntegerBase = OpenLibrary("gadgets/integer.gadget", 0L);
  708.     if(!IntegerBase)
  709.     {
  710.         Emperor_InitVar = 1;
  711.         strcpy(Emperor_OccuredError, "gadgets/integer.gadget");
  712.     }
  713.     LayoutBase = OpenLibrary("gadgets/layout.gadget", 0L);
  714.     if(!LayoutBase)
  715.     {
  716.         Emperor_InitVar = 1;
  717.         strcpy(Emperor_OccuredError, "gadgets/layout.gadget");
  718.     }
  719.     ListBrowserBase = OpenLibrary("gadgets/listbrowser.gadget", 0L);
  720.     if(!ListBrowserBase)
  721.     {
  722.         Emperor_InitVar = 1;
  723.         strcpy(Emperor_OccuredError, "gadgets/listbrowser.gadget");
  724.     }
  725.     PaletteBase = OpenLibrary("gadgets/palette.gadget", 0L);
  726.     if(!PaletteBase)
  727.     {
  728.         Emperor_InitVar = 1;
  729.         strcpy(Emperor_OccuredError, "gadgets/palette.gadget");
  730.     }
  731.     RadioButtonBase = OpenLibrary("gadgets/radiobutton.gadget", 0L);
  732.     if(!RadioButtonBase)
  733.     {
  734.         Emperor_InitVar = 1;
  735.         strcpy(Emperor_OccuredError, "gadgets/radiobutton.gadget");
  736.     }
  737.     ScrollerBase = OpenLibrary("gadgets/scroller.gadget", 0L);
  738.     if(!ScrollerBase)
  739.     {
  740.         Emperor_InitVar = 1;
  741.         strcpy(Emperor_OccuredError, "gadgets/scroller.gadget");
  742.     }
  743.     SliderBase = OpenLibrary("gadgets/slider.gadget", 0L);
  744.     if(!SliderBase)
  745.     {
  746.         Emperor_InitVar = 1;
  747.         strcpy(Emperor_OccuredError, "gadgets/slider.gadget");
  748.     }
  749.     SpaceBase = OpenLibrary("gadgets/space.gadget", 0L);
  750.     if(!SpaceBase)
  751.     {
  752.         Emperor_InitVar = 1;
  753.         strcpy(Emperor_OccuredError, "gadgets/space.gadget");
  754.     }
  755.     SpeedBarBase = OpenLibrary("gadgets/speedbar.gadget", 0L);
  756.     if(!SpeedBarBase)
  757.     {
  758.         Emperor_InitVar = 1;
  759.         strcpy(Emperor_OccuredError, "gadgets/speedbar.gadget");
  760.     }
  761.     StringBase = OpenLibrary("gadgets/string.gadget", 0L);
  762.     if(!StringBase)
  763.     {
  764.         Emperor_InitVar = 1;
  765.         strcpy(Emperor_OccuredError, "gadgets/string.gadget");
  766.     }
  767.     TapeDeckBase = OpenLibrary("gadgets/tapedeck.gadget", 0L);
  768.     if(!TapeDeckBase)
  769.     {
  770.         Emperor_InitVar = 1;
  771.         strcpy(Emperor_OccuredError, "gadgets/tapedeck.gadget");
  772.     }
  773.     TextEditorBase = OpenLibrary("gadgets/texteditor.gadget", 0L);
  774.     if(!TextEditorBase)
  775.     {
  776.         Emperor_InitVar = 1;
  777.         strcpy(Emperor_OccuredError, "gadgets/texteditor.gadget");
  778.     }
  779.     BevelBase = OpenLibrary("images/bevel.image", 0L);
  780.     if(!BevelBase)
  781.     {
  782.         Emperor_InitVar = 1;
  783.         strcpy(Emperor_OccuredError, "images/bevel.image");
  784.     }
  785.     BitMapBase = OpenLibrary("images/bitmap.image", 0L);
  786.     if(!BitMapBase)
  787.     {
  788.         Emperor_InitVar = 1;
  789.         strcpy(Emperor_OccuredError, "images/bitmap.image");
  790.     }
  791.     GlyphBase = OpenLibrary("images/glyph.image", 0L);
  792.     if(!GlyphBase)
  793.     {
  794.         Emperor_InitVar = 1;
  795.         strcpy(Emperor_OccuredError, "images/glyph.image");
  796.     }
  797.     LabelBase = OpenLibrary("images/label.image", 0L);
  798.     if(!LabelBase)
  799.     {
  800.         Emperor_InitVar = 1;
  801.         strcpy(Emperor_OccuredError, "images/label.image");
  802.     }
  803.     Catalog = OpenCatalogA(NULL, "DevsManager.catalog", NULL);
  804.     Emperor_ThisTask = FindTask(NULL);
  805.     if(((ULONG) Emperor_ThisTask->tc_SPUpper - (ULONG) Emperor_ThisTask->tc_SPLower) < 4096) Emperor_InitVar = 4;
  806.     if(Emperor_InitVar)
  807.     {
  808.         strcpy(Emperor_ExceptionString, "Error during initialization:\n\n");
  809.         if(Emperor_InitVar == 1)
  810.         {
  811.             strcat(Emperor_ExceptionString, "Can't open Amiga-library\n\"");
  812.             strcat(Emperor_ExceptionString, Emperor_OccuredError);
  813.             strcat(Emperor_ExceptionString, "\"\n\nProbably you haven't got a\ncorrect installed AmigaOS system !");
  814.         }
  815.         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");
  816.         EmperorRequest_InitializationErrorRequest.es_StructSize = sizeof(struct EasyStruct);
  817.         EmperorRequest_InitializationErrorRequest.es_Flags = 0L;
  818.         EmperorRequest_InitializationErrorRequest.es_Title = (UBYTE *) "Program error";
  819.         EmperorRequest_InitializationErrorRequest.es_TextFormat = (UBYTE *) Emperor_ExceptionString;
  820.         EmperorRequest_InitializationErrorRequest.es_GadgetFormat = (UBYTE *) "Okay";
  821.         EasyRequest(Window1, &EmperorRequest_InitializationErrorRequest, NULL, NULL);
  822.     }
  823.     return(Emperor_InitVar);
  824. }
  825.  
  826. void Emperor_QuitProgram(void)
  827. {
  828.     Emperor_CloseWindow_Window1();
  829.     if(WindowObject1) DisposeObject(WindowObject1);
  830.     if(AppPort) DeleteMsgPort(AppPort);
  831.     if(MsgPort) DeletePort(MsgPort);
  832.     if(Menu) FreeMenus(Menu);
  833.     if(vinfo) FreeVisualInfo(vinfo);
  834.     if(Screen1) UnlockPubScreen(NULL, Screen1);
  835.     if(Catalog) CloseCatalog(Catalog);
  836.     if(LabelBase) CloseLibrary(LabelBase);
  837.     if(GlyphBase) CloseLibrary(GlyphBase);
  838.     if(BitMapBase) CloseLibrary(BitMapBase);
  839.     if(BevelBase) CloseLibrary(BevelBase);
  840.     if(TextEditorBase) CloseLibrary(TextEditorBase);
  841.     if(TapeDeckBase) CloseLibrary(TapeDeckBase);
  842.     if(StringBase) CloseLibrary(StringBase);
  843.     if(SpeedBarBase) CloseLibrary(SpeedBarBase);
  844.     if(SpaceBase) CloseLibrary(SpaceBase);
  845.     if(SliderBase) CloseLibrary(SliderBase);
  846.     if(ScrollerBase) CloseLibrary(ScrollerBase);
  847.     if(RadioButtonBase) CloseLibrary(RadioButtonBase);
  848.     if(PaletteBase) CloseLibrary(PaletteBase);
  849.     if(ListBrowserBase) CloseLibrary(ListBrowserBase);
  850.     if(LayoutBase) CloseLibrary(LayoutBase);
  851.     if(IntegerBase) CloseLibrary(IntegerBase);
  852.     if(GradientSliderBase) CloseLibrary(GradientSliderBase);
  853.     if(GetScreenModeBase) CloseLibrary(GetScreenModeBase);
  854.     if(GetFontBase) CloseLibrary(GetFontBase);
  855.     if(GetFileBase) CloseLibrary(GetFileBase);
  856.     if(FuelGaugeBase) CloseLibrary(FuelGaugeBase);
  857.     if(DateBrowserBase) CloseLibrary(DateBrowserBase);
  858.     if(ColorWheelBase) CloseLibrary(ColorWheelBase);
  859.     if(ClickTabBase) CloseLibrary(ClickTabBase);
  860.     if(ChooserBase) CloseLibrary(ChooserBase);
  861.     if(CheckBoxBase) CloseLibrary(CheckBoxBase);
  862.     if(ButtonBase) CloseLibrary(ButtonBase);
  863.     if(RequesterBase) CloseLibrary(RequesterBase);
  864.     if(WindowBase) CloseLibrary(WindowBase);
  865.     if(ResourceBase) CloseLibrary(ResourceBase);
  866.     if(DOSLibBase) CloseLibrary(DOSLibBase);
  867.     if(ASLBase) CloseLibrary(ASLBase);
  868.     if(GadToolsBase) CloseLibrary(GadToolsBase);
  869.     if(LocaleBase) CloseLibrary(LocaleBase);
  870.     if(IntuitionBase) CloseLibrary(IntuitionBase);
  871.     exit(0);
  872. }
  873.  
  874. void Emperor_CloseWindow_Window1(void)
  875. {
  876.     if(os35)
  877.     {
  878.         if(Menu) ClearMenuStrip(Window1);
  879.         DoMethod(WindowObject1, WM_CLOSE, NULL);
  880.         Window1 = NULL;
  881.         WindowSignals1 = 0L;
  882.     }
  883. }
  884.  
  885. void Emperor_IconifyWindow_Window1(void)
  886. {
  887.     if(os35)
  888.     {
  889.         if(Menu) ClearMenuStrip(Window1);
  890.         DoMethod(WindowObject1, WM_ICONIFY, NULL);
  891.     }
  892. }
  893.  
  894. struct Window *Emperor_OpenWindow_Window1(void)
  895. {
  896.     if(os35)
  897.     {
  898.         Window1 = RA_OpenWindow(WindowObject1);
  899.         GetAttr(WINDOW_SigMask, WindowObject1, &WindowSignals1);
  900.         SetMenuStrip(Window1, Menu);
  901.         Window1_ShowWindow_Event();
  902.     }
  903.     return(Window1);
  904. }
  905.  
  906. struct Window *Emperor_UniconifyWindow_Window1(void)
  907. {
  908.     return(Emperor_OpenWindow_Window1());
  909. }
  910.  
  911. BOOL Emperor_GetMenuItemAttr(UWORD Emperor_MenuObject, UWORD Emperor_MenuFlagMask)
  912. {
  913.     struct MenuItem *Emperor_MenuItem = NULL;
  914.  
  915.     Emperor_MenuItem = ItemAddress(Menu, Emperor_MenuObject);
  916.     if(Emperor_MenuItem->Flags & Emperor_MenuFlagMask) return(TRUE);
  917.     else return(FALSE);
  918. }
  919.  
  920. void Emperor_SetMenuItemAttr(UWORD Emperor_MenuObject, UWORD Emperor_MenuFlagMask, BOOL Emperor_SetReset)
  921. {
  922.     struct MenuItem *Emperor_MenuItem = NULL;
  923.  
  924.     Emperor_MenuItem = ItemAddress(Menu, Emperor_MenuObject);
  925.     if(Emperor_SetReset) Emperor_MenuItem->Flags += Emperor_MenuFlagMask;
  926.     else Emperor_MenuItem->Flags -= Emperor_MenuFlagMask;
  927. }
  928.  
  929. STRPTR Emperor_GetGadgetAttr(struct Gadget *Emperor_GadgetName)
  930. {
  931.     LONG Emperor_GadgetAttrBuffer, Emperor_GadgetCounter;
  932.     STRPTR Emperor_GadgetAttrReturn = "";
  933.  
  934.     Emperor_GadgetAttrBuffer = 0L;
  935.     for(Emperor_GadgetCounter = 0;Emperor_GadgetCounter < 1023;Emperor_GadgetCounter++)
  936.     {
  937.         if(Gadget1[Emperor_GadgetCounter] == Emperor_GadgetName)
  938.         {
  939.             switch(Emperor_Gadgetkind1[Emperor_GadgetCounter])
  940.             {
  941.                 case 0:
  942.                     GetAttr(GA_Selected, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  943.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  944.                     break;
  945.                 case 1:
  946.                     GetAttr(GA_Selected, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  947.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  948.                     break;
  949.                 case 2:
  950.                     GetAttr(CHOOSER_Selected, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  951.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  952.                     break;
  953.                 case 3:
  954.                     GetAttr(CLICKTAB_Current, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  955.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  956.                     break;
  957.                 case 6:
  958.                     GetAttr(FUELGAUGE_Level, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  959.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  960.                     break;
  961.                 case 10:
  962.                     GetAttr(GRAD_CurVal, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  963.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  964.                     break;
  965.                 case 11:
  966.                     GetAttr(INTEGER_Number, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  967.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  968.                     break;
  969.                 case 13:
  970.                     GetAttr(LISTBROWSER_Selected, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  971.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  972.                     break;
  973.                 case 14:
  974.                     GetAttr(PALETTE_Colour, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  975.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  976.                     break;
  977.                 case 15:
  978.                     GetAttr(RADIOBUTTON_Selected, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  979.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  980.                     break;
  981.                 case 16:
  982.                     GetAttr(SCROLLER_Top, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  983.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  984.                     break;
  985.                 case 17:
  986.                     GetAttr(SLIDER_Level, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  987.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  988.                     break;
  989.                 case 19:
  990.                     GetAttr(SPEEDBAR_Selected, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  991.                     strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  992.                     break;
  993.                 case 20:
  994.                     GetAttr(STRINGA_TextVal, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  995.                     strcpy(Emperor_GadgetAttrReturn, (char *) Emperor_GadgetAttrBuffer);
  996.                     break;
  997.                 case 22:
  998.                     GetAttr(GA_TEXTEDITOR_Contents, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  999.                     strcpy(Emperor_GadgetAttrReturn, (char *) Emperor_GadgetAttrBuffer);
  1000.                     break;
  1001.             }
  1002.             break;
  1003.         }
  1004.     }
  1005.     return(Emperor_GadgetAttrReturn);
  1006. }
  1007.  
  1008. void Emperor_SetGadgetAttr(struct Gadget *Emperor_GadgetName, STRPTR Emperor_GadgetValue)
  1009. {
  1010.     LONG Emperor_GadgetAttrBuffer, Emperor_GadgetCounter;
  1011.     struct Window *Emperor_Whichwindow = NULL;
  1012.  
  1013.     Emperor_GadgetAttrBuffer = 0L;
  1014.     for(Emperor_GadgetCounter = 0;Emperor_GadgetCounter < 1023;Emperor_GadgetCounter++)
  1015.     {
  1016.         if(Gadget1[Emperor_GadgetCounter] == Emperor_GadgetName)
  1017.         {
  1018.             Emperor_Whichwindow = Window1;
  1019.             switch(Emperor_Gadgetkind1[Emperor_GadgetCounter])
  1020.             {
  1021.                 case 0:
  1022.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, GA_Selected, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1023.                     break;
  1024.                 case 1:
  1025.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, GA_Selected, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1026.                     break;
  1027.                 case 2:
  1028.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, CHOOSER_Selected, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1029.                     break;
  1030.                 case 3:
  1031.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, CLICKTAB_Current, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1032.                     break;
  1033.                 case 6:
  1034.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, FUELGAUGE_Level, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1035.                     break;
  1036.                 case 10:
  1037.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, INTEGER_Number, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1038.                     break;
  1039.                 case 11:
  1040.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, GRAD_CurVal, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1041.                     break;
  1042.                 case 13:
  1043.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, LISTBROWSER_Selected, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1044.                     break;
  1045.                 case 14:
  1046.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, PALETTE_Colour, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1047.                     break;
  1048.                 case 15:
  1049.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, RADIOBUTTON_Selected, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1050.                     break;
  1051.                 case 16:
  1052.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, SCROLLER_Top, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1053.                     break;
  1054.                 case 17:
  1055.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, SLIDER_Level, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1056.                     break;
  1057.                 case 19:
  1058.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, SPEEDBAR_Selected, Emperor_GadgetValue, TAG_DONE);
  1059.                     break;
  1060.                 case 20:
  1061.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, STRINGA_TextVal, Emperor_GadgetValue, TAG_DONE);
  1062.                     break;
  1063.                 case 22:
  1064.                     Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, GA_TEXTEDITOR_Contents, Emperor_GadgetValue, TAG_DONE);
  1065.                     break;
  1066.             }
  1067.             if(Emperor_GadgetAttrBuffer) RefreshGList(Emperor_GadgetName, Emperor_Whichwindow, NULL, 1);
  1068.             break;
  1069.         }
  1070.     }
  1071. }
  1072.  
  1073. STRPTR Emperor_GetGadgetAttrComplex(struct Gadget *Emperor_GadgetName, ULONG Emperor_GadgetFlagMask)
  1074. {
  1075.     LONG Emperor_GadgetAttrBuffer, Emperor_GadgetCounter;
  1076.     STRPTR Emperor_GadgetAttrReturn = "";
  1077.  
  1078.     Emperor_GadgetAttrBuffer = 0L;
  1079.     for(Emperor_GadgetCounter = 0;Emperor_GadgetCounter < 1023;Emperor_GadgetCounter++)
  1080.     {
  1081.         if(Gadget1[Emperor_GadgetCounter] == Emperor_GadgetName)
  1082.         {
  1083.             GetAttr(Emperor_GadgetFlagMask, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  1084.             switch(Emperor_Gadgetkind1[Emperor_GadgetCounter])
  1085.             {
  1086.                 case 0:
  1087.                     if(Emperor_GadgetFlagMask == GA_Text) strcpy(Emperor_GadgetAttrReturn, (char *) Emperor_GadgetAttrBuffer);
  1088.                     else strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  1089.                     break;
  1090.                 case 1:
  1091.                     if(Emperor_GadgetFlagMask == GA_Text) strcpy(Emperor_GadgetAttrReturn, (char *) Emperor_GadgetAttrBuffer);
  1092.                     else strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  1093.                     break;
  1094.                 case 2:
  1095.                     if(Emperor_GadgetFlagMask == CHOOSER_Title) strcpy(Emperor_GadgetAttrReturn, (char *) Emperor_GadgetAttrBuffer);
  1096.                     else strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  1097.                     break;
  1098.                 case 3: strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer)); break;
  1099.                 case 4:
  1100.                     if(Emperor_GadgetFlagMask == WHEEL_Abbrv) strcpy(Emperor_GadgetAttrReturn, (char *) Emperor_GadgetAttrBuffer);
  1101.                     else
  1102.                     {
  1103.                         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));
  1104.                         else strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  1105.                     }
  1106.                     break;
  1107.                 case 5:
  1108.                     if(Emperor_GadgetFlagMask == DATEBROWSER_DayTitles) strcpy(Emperor_GadgetAttrReturn, (char *) Emperor_GadgetAttrBuffer);
  1109.                     else strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  1110.                     break;
  1111.                 case 6:
  1112.                     if(Emperor_GadgetFlagMask == GA_Text) strcpy(Emperor_GadgetAttrReturn, (char *) Emperor_GadgetAttrBuffer);
  1113.                     else strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  1114.                     break;
  1115.                 case 7:
  1116.                     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);
  1117.                     else strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  1118.                     break;
  1119.                 case 8:
  1120.                     if(Emperor_GadgetFlagMask == GETFONT_TitleText) strcpy(Emperor_GadgetAttrReturn, (char *) Emperor_GadgetAttrBuffer);
  1121.                     else strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  1122.                     break;
  1123.                 case 9:
  1124.                     if(Emperor_GadgetFlagMask == GETSCREENMODE_TitleText) strcpy(Emperor_GadgetAttrReturn, (char *) Emperor_GadgetAttrBuffer);
  1125.                     else strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  1126.                     break;
  1127.                 case 10: strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer)); break;
  1128.                 case 11: strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer)); break;
  1129.                 case 13: strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer)); break;
  1130.                 case 14: strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer)); break;
  1131.                 case 15: strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer)); break;
  1132.                 case 16: strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer)); break;
  1133.                 case 17: strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer)); break;
  1134.                 case 18: strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer)); break;
  1135.                 case 19: strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer)); break;
  1136.                 case 20:
  1137.                     if((Emperor_GadgetFlagMask == STRINGA_TextVal) || (Emperor_GadgetFlagMask == STRINGA_Buffer) || (Emperor_GadgetFlagMask == STRINGA_UndoBuffer) || (Emperor_GadgetFlagMask == STRINGA_WorkBuffer)) strcpy(Emperor_GadgetAttrReturn, (char *) Emperor_GadgetAttrBuffer);
  1138.                     else strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  1139.                     break;
  1140.                 case 21: strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer)); break;
  1141.                 case 22:
  1142.                     if(Emperor_GadgetFlagMask == GA_TEXTEDITOR_Contents) strcpy(Emperor_GadgetAttrReturn, (char *) Emperor_GadgetAttrBuffer);
  1143.                     else strcpy(Emperor_GadgetAttrReturn, inttostring(Emperor_GadgetAttrBuffer));
  1144.                     break;
  1145.             }
  1146.             break;
  1147.         }
  1148.     }
  1149.     return(Emperor_GadgetAttrReturn);
  1150. }
  1151.  
  1152. void Emperor_SetGadgetAttrComplex(struct Gadget *Emperor_GadgetName, ULONG Emperor_GadgetFlagMask, STRPTR Emperor_GadgetValue)
  1153. {
  1154.     LONG Emperor_GadgetAttrBuffer, Emperor_GadgetCounter;
  1155.     struct Window *Emperor_Whichwindow = NULL;
  1156.  
  1157.     Emperor_GadgetAttrBuffer = 0L;
  1158.     for(Emperor_GadgetCounter = 0;Emperor_GadgetCounter < 255;Emperor_GadgetCounter++)
  1159.     {
  1160.         if(Gadget1[Emperor_GadgetCounter] == Emperor_GadgetName)
  1161.         {
  1162.             Emperor_Whichwindow = Window1;
  1163.             switch(Emperor_Gadgetkind1[Emperor_GadgetCounter])
  1164.             {
  1165.                 case 0:
  1166.                     if(Emperor_GadgetFlagMask == GA_Text) Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, GA_Text, Emperor_GadgetValue, TAG_DONE);
  1167.                     else Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1168.                     break;
  1169.                 case 1:
  1170.                     if(Emperor_GadgetFlagMask == GA_Text) Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, GA_Text, Emperor_GadgetValue, TAG_DONE);
  1171.                     else Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1172.                     break;
  1173.                 case 2:
  1174.                     if(Emperor_GadgetFlagMask == CHOOSER_Title) Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, CHOOSER_Title, Emperor_GadgetValue, TAG_DONE);
  1175.                     else
  1176.                     {
  1177.                         if(Emperor_GadgetFlagMask == CHOOSER_Labels)
  1178.                         {
  1179.                             SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, CHOOSER_Labels, (ULONG) ~0, TAG_DONE);
  1180.                             if(Emperor_GadgetValue != NULL) SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, CHOOSER_Labels, Emperor_GadgetValue, TAG_DONE);
  1181.                             Emperor_GadgetAttrBuffer = 1;
  1182.                         }
  1183.                         else Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1184.                     }
  1185.                     break;
  1186.                 case 3:
  1187.                     if(Emperor_GadgetFlagMask == CLICKTAB_Labels)
  1188.                     {
  1189.                         SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, CLICKTAB_Labels, (ULONG) ~0, TAG_DONE);
  1190.                         if(Emperor_GadgetValue != NULL) SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, CLICKTAB_Labels, Emperor_GadgetValue, TAG_DONE);
  1191.                         Emperor_GadgetAttrBuffer = 1;
  1192.                     }
  1193.                     else Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1194.                     break;
  1195.                 case 4:
  1196.                     if(Emperor_GadgetFlagMask == WHEEL_Abbrv) Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, WHEEL_Abbrv, Emperor_GadgetValue, TAG_DONE);
  1197.                     else
  1198.                     {
  1199.                         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);
  1200.                         else Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1201.                     }
  1202.                     break;
  1203.                 case 5:
  1204.                     if(Emperor_GadgetFlagMask == DATEBROWSER_DayTitles) Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, DATEBROWSER_DayTitles, Emperor_GadgetValue, TAG_DONE);
  1205.                     else Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1206.                     break;
  1207.                 case 6:
  1208.                     if(Emperor_GadgetFlagMask == GA_Text) Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, GA_Text, Emperor_GadgetValue, TAG_DONE);
  1209.                     else Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1210.                     break;
  1211.                 case 7:
  1212.                     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);
  1213.                     else Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1214.                     break;
  1215.                 case 8:
  1216.                     if(Emperor_GadgetFlagMask == GETFONT_TitleText) Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, GETFONT_TitleText, Emperor_GadgetValue, TAG_DONE);
  1217.                     else Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1218.                     break;
  1219.                 case 9:
  1220.                     if(Emperor_GadgetFlagMask == GETSCREENMODE_TitleText) Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, GETSCREENMODE_TitleText, Emperor_GadgetValue, TAG_DONE);
  1221.                     else Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1222.                     break;
  1223.                 case 10: Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE); break;
  1224.                 case 11: Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE); break;
  1225.                 case 13:
  1226.                     if(Emperor_GadgetFlagMask == LISTBROWSER_Labels)
  1227.                     {
  1228.                         SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, LISTBROWSER_Labels, (ULONG) ~0, TAG_DONE);
  1229.                         if(Emperor_GadgetValue != NULL) SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, LISTBROWSER_Labels, Emperor_GadgetValue, TAG_DONE);
  1230.                         Emperor_GadgetAttrBuffer = 1;
  1231.                     }
  1232.                     else
  1233.                     {
  1234.                         if(Emperor_GadgetFlagMask == LISTBROWSER_ColumnInfo)
  1235.                         {
  1236.                             SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, LISTBROWSER_ColumnInfo, (ULONG) ~0, TAG_DONE);
  1237.                             if(Emperor_GadgetValue != NULL) SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, LISTBROWSER_ColumnInfo, Emperor_GadgetValue, TAG_DONE);
  1238.                             Emperor_GadgetAttrBuffer = 1;
  1239.                         }
  1240.                         else Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1241.                     }
  1242.                     break;
  1243.                 case 14: Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE); break;
  1244.                 case 15:
  1245.                     if(Emperor_GadgetFlagMask == RADIOBUTTON_Labels)
  1246.                     {
  1247.                         SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, RADIOBUTTON_Labels, (ULONG) ~0, TAG_DONE);
  1248.                         if(Emperor_GadgetValue != NULL) SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, RADIOBUTTON_Labels, Emperor_GadgetValue, TAG_DONE);
  1249.                         Emperor_GadgetAttrBuffer = 1;
  1250.                     }
  1251.                     else Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1252.                     break;
  1253.                 case 16: Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE); break;
  1254.                 case 17: Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE); break;
  1255.                 case 18: Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE); break;
  1256.                 case 19: Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE); break;
  1257.                 case 20:
  1258.                     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);
  1259.                     else Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1260.                     break;
  1261.                 case 21: Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE); break;
  1262.                 case 22:
  1263.                     if(Emperor_GadgetFlagMask == GA_TEXTEDITOR_Contents) Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, GA_TEXTEDITOR_Contents, Emperor_GadgetValue, TAG_DONE);
  1264.                     else Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_GadgetFlagMask, stringtoint(Emperor_GadgetValue), TAG_DONE);
  1265.                     break;
  1266.             }
  1267.             if(Emperor_GadgetAttrBuffer) RefreshGList(Emperor_GadgetName, Emperor_Whichwindow, NULL, 1);
  1268.             break;
  1269.         }
  1270.     }
  1271. }
  1272.  
  1273. BOOL Emperor_GetGadgetDisabledAttr(struct Gadget *Emperor_GadgetName)
  1274. {
  1275.     LONG Emperor_GadgetAttrBuffer, Emperor_GadgetCounter;
  1276.     BOOL Emperor_GadgetAttrReturn;
  1277.  
  1278.     Emperor_GadgetAttrBuffer = 0L;
  1279.     for(Emperor_GadgetCounter = 0;Emperor_GadgetCounter < 255;Emperor_GadgetCounter++)
  1280.     {
  1281.         if(Gadget1[Emperor_GadgetCounter] == Emperor_GadgetName)
  1282.         {
  1283.             GetAttr(GA_Disabled, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  1284.             break;
  1285.         }
  1286.     }
  1287.     Emperor_GadgetAttrReturn = Emperor_GadgetAttrBuffer;
  1288.     return(Emperor_GadgetAttrReturn);
  1289. }
  1290.  
  1291. void Emperor_SetGadgetDisabledAttr(struct Gadget *Emperor_GadgetName, BOOL Emperor_GadgetValue)
  1292. {
  1293.     LONG Emperor_GadgetAttrBuffer, Emperor_GadgetCounter;
  1294.     struct Window *Emperor_Whichwindow = NULL;
  1295.  
  1296.     Emperor_GadgetAttrBuffer = 0L;
  1297.     for(Emperor_GadgetCounter = 0;Emperor_GadgetCounter < 255;Emperor_GadgetCounter++)
  1298.     {
  1299.         if(Gadget1[Emperor_GadgetCounter] == Emperor_GadgetName)
  1300.         {
  1301.             Emperor_Whichwindow = Window1;
  1302.             Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, GA_Disabled, Emperor_GadgetValue, TAG_DONE);
  1303.             if(Emperor_GadgetAttrBuffer) RefreshGList(Emperor_GadgetName, Emperor_Whichwindow, NULL, 1);
  1304.             break;
  1305.         }
  1306.     }
  1307. }
  1308.  
  1309. BOOL Emperor_GetGadgetAttrReadOnly(struct Gadget *Emperor_GadgetName)
  1310. {
  1311.     LONG Emperor_GadgetAttrBuffer, Emperor_GadgetCounter;
  1312.     BOOL Emperor_GadgetAttrReturn;
  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.             GetAttr(GA_ReadOnly, Emperor_GadgetName, (ULONG *) &Emperor_GadgetAttrBuffer);
  1320.             break;
  1321.         }
  1322.     }
  1323.     Emperor_GadgetAttrReturn = Emperor_GadgetAttrBuffer;
  1324.     return(Emperor_GadgetAttrReturn);
  1325. }
  1326.  
  1327. void Emperor_SetGadgetReadOnlyAttr(struct Gadget *Emperor_GadgetName, BOOL Emperor_GadgetValue)
  1328. {
  1329.     LONG Emperor_GadgetAttrBuffer, Emperor_GadgetCounter;
  1330.     struct Window *Emperor_Whichwindow = NULL;
  1331.  
  1332.     Emperor_GadgetAttrBuffer = 0L;
  1333.     for(Emperor_GadgetCounter = 0;Emperor_GadgetCounter < 255;Emperor_GadgetCounter++)
  1334.     {
  1335.         if(Gadget1[Emperor_GadgetCounter] == Emperor_GadgetName)
  1336.         {
  1337.             Emperor_Whichwindow = Window1;
  1338.             Emperor_GadgetAttrBuffer = SetGadgetAttrs(Emperor_GadgetName, Emperor_Whichwindow, NULL, GA_ReadOnly, Emperor_GadgetValue, TAG_DONE);
  1339.             if(Emperor_GadgetAttrBuffer) RefreshGList(Emperor_GadgetName, Emperor_Whichwindow, NULL, 1);
  1340.             break;
  1341.         }
  1342.     }
  1343. }
  1344.  
  1345. void Emperor_ActivateGadget(struct Gadget *Emperor_GadgetName)
  1346. {
  1347.     LONG Emperor_GadgetCounter;
  1348.     struct Window *Emperor_Whichwindow = NULL;
  1349.  
  1350.     for(Emperor_GadgetCounter = 0;Emperor_GadgetCounter < 255;Emperor_GadgetCounter++)
  1351.     {
  1352.         if(Gadget1[Emperor_GadgetCounter] == Emperor_GadgetName)
  1353.         {
  1354.             Emperor_Whichwindow = Window1;
  1355.             break;
  1356.         }
  1357.     }
  1358.     ActivateGadget(Emperor_GadgetName, Emperor_Whichwindow, NULL);
  1359. }
  1360.  
  1361. void Emperor_RethinkLayout(struct Gadget *Emperor_GadgetName)
  1362. {
  1363.     LONG Emperor_GadgetCounter;
  1364.     struct Window *Emperor_Whichwindow = NULL;
  1365.  
  1366.     for(Emperor_GadgetCounter = 0;Emperor_GadgetCounter < 255;Emperor_GadgetCounter++)
  1367.     {
  1368.         if(Gadget1[Emperor_GadgetCounter] == Emperor_GadgetName)
  1369.         {
  1370.             Emperor_Whichwindow = Window1;
  1371.             break;
  1372.         }
  1373.     }
  1374.     RethinkLayout(Emperor_GadgetName, Emperor_Whichwindow, NULL, TRUE);
  1375. }
  1376.  
  1377. void Emperor_RefreshGList(struct Gadget *Emperor_GadgetName, WORD Emperor_NumberRefresh)
  1378. {
  1379.     LONG Emperor_GadgetCounter;
  1380.     struct Window *Emperor_Whichwindow = NULL;
  1381.  
  1382.     for(Emperor_GadgetCounter = 0;Emperor_GadgetCounter < 255;Emperor_GadgetCounter++)
  1383.     {
  1384.         if(Gadget1[Emperor_GadgetCounter] == Emperor_GadgetName)
  1385.         {
  1386.             Emperor_Whichwindow = Window1;
  1387.             break;
  1388.         }
  1389.     }
  1390.     RefreshGList(Emperor_GadgetName, Emperor_Whichwindow, NULL, Emperor_NumberRefresh);
  1391. }
  1392.  
  1393. void Emperor_ChangeWindowPosition(struct Window *Emperor_ApplicationWindow, WORD Emperor_Left, WORD Emperor_Top)
  1394. {
  1395.     WORD Emperor_Width, Emperor_Height;
  1396.  
  1397.     Emperor_Width = Emperor_ApplicationWindow->Width;
  1398.     Emperor_Height = Emperor_ApplicationWindow->Height;
  1399.     ChangeWindowBox(Emperor_ApplicationWindow, Emperor_Left, Emperor_Top, Emperor_Width, Emperor_Height);
  1400. }
  1401.  
  1402. void Emperor_ChangeWindowSize(struct Window *Emperor_ApplicationWindow, WORD Emperor_Width, WORD Emperor_Height)
  1403. {
  1404.     WORD Emperor_Left, Emperor_Top;
  1405.  
  1406.     Emperor_Left = Emperor_ApplicationWindow->LeftEdge;
  1407.     Emperor_Top = Emperor_ApplicationWindow->TopEdge;
  1408.     ChangeWindowBox(Emperor_ApplicationWindow, Emperor_Left, Emperor_Top, Emperor_Width, Emperor_Height);
  1409. }
  1410.  
  1411. void Emperor_SetWindowBusyPointer(struct Window *Emperor_ApplicationWindow, BOOL Emperor_SetReset)
  1412. {
  1413.     if(Emperor_SetReset) SetWindowPointer(Emperor_ApplicationWindow, WA_BusyPointer, TRUE, WA_PointerDelay, TRUE, TAG_DONE);
  1414.     else SetWindowPointer(Emperor_ApplicationWindow, TAG_DONE);
  1415. }
  1416.  
  1417. void Emperor_SetWindowTitle(struct Window *Emperor_ApplicationWindow, STRPTR Emperor_Title)
  1418. {
  1419.     SetWindowTitles(Emperor_ApplicationWindow, (UBYTE *) Emperor_Title, ((UBYTE *) ~0));
  1420. }
  1421.  
  1422. void Emperor_SetScreenTitle(struct Window *Emperor_ApplicationWindow, STRPTR Emperor_Title)
  1423. {
  1424.     SetWindowTitles(Emperor_ApplicationWindow, ((UBYTE *) ~0), (UBYTE *) Emperor_Title);
  1425. }
  1426.  
  1427. void Emperor_AllocChooserNode(struct List *Emperor_List, char **Emperor_Labels, WORD *Emperor_Attributes)
  1428. {
  1429.     WORD Emperor_Counter1 = 0;
  1430.     struct Node *Emperor_Node;
  1431.  
  1432.     if(os35)
  1433.     {
  1434.         NewList(Emperor_List);
  1435.         while(*Emperor_Labels)
  1436.         {
  1437.             Emperor_Node = AllocChooserNode(CNA_Text, *Emperor_Labels, CNA_Disabled, Emperor_Attributes[Emperor_Counter1], CNA_ReadOnly, Emperor_Attributes[Emperor_Counter1 + 1], TAG_DONE);
  1438.             AddTail(Emperor_List, Emperor_Node);
  1439.             Emperor_Labels++;
  1440.             Emperor_Counter1 += 12;
  1441.         }
  1442.     }
  1443. }
  1444.  
  1445. void Emperor_AllocClicktabNode(struct List *Emperor_List, char **Emperor_Labels, WORD *Emperor_Attributes)
  1446. {
  1447.     WORD Emperor_Counter1 = 0, Emperor_Counter2 = 0;
  1448.     struct Node *Emperor_Node;
  1449.  
  1450.     if(os35)
  1451.     {
  1452.         NewList(Emperor_List);
  1453.         while(*Emperor_Labels)
  1454.         {
  1455.             Emperor_Node = AllocClickTabNode(TNA_Text, *Emperor_Labels, TNA_Disabled, Emperor_Attributes[Emperor_Counter1], TNA_Number, Emperor_Counter2, TAG_DONE);
  1456.             AddTail(Emperor_List, Emperor_Node);
  1457.             Emperor_Labels++;
  1458.             Emperor_Counter1 += 12;
  1459.             Emperor_Counter2++;
  1460.         }
  1461.     }
  1462. }
  1463.  
  1464. void Emperor_AllocListbrowserNode(struct List *Emperor_List, char **Emperor_Labels, WORD *Emperor_Attributes)
  1465. {
  1466.     WORD Emperor_Counter1 = 0, Emperor_Counter2 = 0;
  1467.     struct Node *Emperor_Node;
  1468.  
  1469.     if(os35)
  1470.     {
  1471.         NewList(Emperor_List);
  1472.         while(*Emperor_Labels)
  1473.         {
  1474.             Emperor_Counter2 = 0;
  1475.             if(Emperor_Attributes[Emperor_Counter1 + 1]) Emperor_Counter2 += 1;
  1476.             if(Emperor_Attributes[Emperor_Counter1 + 2]) Emperor_Counter2 += 4;
  1477.             if(Emperor_Attributes[Emperor_Counter1 + 3]) Emperor_Counter2 += 8;
  1478.             if(Emperor_Attributes[Emperor_Counter1 + 4]) Emperor_Counter2 += 16;
  1479.             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);
  1480.             AddTail(Emperor_List, Emperor_Node);
  1481.             Emperor_Labels++;
  1482.             Emperor_Counter1 += 12;
  1483.         }
  1484.     }
  1485. }
  1486.  
  1487. void Emperor_AllocListbrowserGadToolsNode(struct List *Emperor_List, char **Emperor_Labels)
  1488. {
  1489.     struct Node *Emperor_Node;
  1490.     struct Remember *Emperor_RememberKey;
  1491.  
  1492.     NewList(Emperor_List);
  1493.     while(*Emperor_Labels)
  1494.     {
  1495.         Emperor_Node = (struct Node *) AllocRemember(&Emperor_RememberKey, sizeof(struct Node), MEMF_CLEAR);
  1496.         Emperor_Node->ln_Name = *Emperor_Labels;
  1497.         AddTail(Emperor_List, Emperor_Node);
  1498.         Emperor_Labels++;
  1499.     }
  1500. }
  1501.  
  1502. void Emperor_AllocRadiobuttonNode(struct List *Emperor_List, char **Emperor_Labels, WORD *Emperor_Attributes)
  1503. {
  1504.     struct Node *Emperor_Node;
  1505.  
  1506.     if(os35)
  1507.     {
  1508.         NewList(Emperor_List);
  1509.         while(*Emperor_Labels)
  1510.         {
  1511.             Emperor_Node = AllocRadioButtonNode(1, RBNA_Labels, *Emperor_Labels, TAG_DONE);
  1512.             AddTail(Emperor_List, Emperor_Node);
  1513.             Emperor_Labels++;
  1514.         }
  1515.     }
  1516. }
  1517.  
  1518. ULONG stringlength(STRPTR Emperor_StringBuffer)
  1519. {
  1520.     ULONG Emperor_Counter = 0;
  1521.  
  1522.     while(Emperor_StringBuffer[Emperor_Counter] != NULL) Emperor_Counter++;
  1523.     return(Emperor_Counter);
  1524. }
  1525.  
  1526. LONG stringtoint(STRPTR Emperor_StringBuffer)
  1527. {
  1528.     return(atol(Emperor_StringBuffer));
  1529. }
  1530.  
  1531. DOUBLE stringtofloat(STRPTR Emperor_StringBuffer)
  1532. {
  1533.     return(atof(Emperor_StringBuffer));
  1534. }
  1535.  
  1536. STRPTR inttostring(LONG Emperor_NumberBuffer1)
  1537. {
  1538.     LONG Emperor_NumberBuffer2;
  1539.     BYTE Emperor_NumberLength = 0;
  1540.     BYTE Emperor_Counter = 0;
  1541.     char *Emperor_ReturnBuffer = "abcdefghij";
  1542.  
  1543.     strcpy(Emperor_ReturnBuffer, "");
  1544.     Emperor_ReturnBuffer[0] = NULL;
  1545.     if(Emperor_NumberBuffer1 < 0)
  1546.     {
  1547.         strcpy(Emperor_ReturnBuffer, "-");
  1548.         Emperor_NumberBuffer1 = -Emperor_NumberBuffer1;
  1549.     }
  1550.     if(Emperor_NumberBuffer1 > 0) Emperor_NumberLength = 1;
  1551.     if(Emperor_NumberBuffer1/10 > 0) Emperor_NumberLength = 2;
  1552.     if(Emperor_NumberBuffer1/100 > 0) Emperor_NumberLength = 3;
  1553.     if(Emperor_NumberBuffer1/1000 > 0) Emperor_NumberLength = 4;
  1554.     if(Emperor_NumberBuffer1/10000 > 0) Emperor_NumberLength = 5;
  1555.     if(Emperor_NumberBuffer1/100000 > 0) Emperor_NumberLength = 6;
  1556.     if(Emperor_NumberBuffer1/1000000 > 0) Emperor_NumberLength = 7;
  1557.     if(Emperor_NumberBuffer1/10000000 > 0) Emperor_NumberLength = 8;
  1558.     if(Emperor_NumberBuffer1/100000000 > 0) Emperor_NumberLength = 9;
  1559.     if(Emperor_NumberBuffer1 == 0)  strcpy(Emperor_ReturnBuffer, "0");
  1560.     else
  1561.     {
  1562.         Emperor_Counter = Emperor_NumberLength;
  1563.         for(;Emperor_Counter > 0;Emperor_Counter--)
  1564.         {
  1565.             if(Emperor_Counter == 9) Emperor_NumberBuffer2 = Emperor_NumberBuffer1/100000000;
  1566.             if(Emperor_Counter == 8) Emperor_NumberBuffer2 = Emperor_NumberBuffer1/10000000;
  1567.             if(Emperor_Counter == 7) Emperor_NumberBuffer2 = Emperor_NumberBuffer1/1000000;
  1568.             if(Emperor_Counter == 6) Emperor_NumberBuffer2 = Emperor_NumberBuffer1/100000;
  1569.             if(Emperor_Counter == 5) Emperor_NumberBuffer2 = Emperor_NumberBuffer1/10000;
  1570.             if(Emperor_Counter == 4) Emperor_NumberBuffer2 = Emperor_NumberBuffer1/1000;
  1571.             if(Emperor_Counter == 3) Emperor_NumberBuffer2 = Emperor_NumberBuffer1/100;
  1572.             if(Emperor_Counter == 2) Emperor_NumberBuffer2 = Emperor_NumberBuffer1/10;
  1573.             if(Emperor_Counter == 1) Emperor_NumberBuffer2 = Emperor_NumberBuffer1;
  1574.             if(Emperor_NumberBuffer2 == 0) strcat(Emperor_ReturnBuffer, "0");
  1575.             if(Emperor_NumberBuffer2 == 1) strcat(Emperor_ReturnBuffer, "1");
  1576.             if(Emperor_NumberBuffer2 == 2) strcat(Emperor_ReturnBuffer, "2");
  1577.             if(Emperor_NumberBuffer2 == 3) strcat(Emperor_ReturnBuffer, "3");
  1578.             if(Emperor_NumberBuffer2 == 4) strcat(Emperor_ReturnBuffer, "4");
  1579.             if(Emperor_NumberBuffer2 == 5) strcat(Emperor_ReturnBuffer, "5");
  1580.             if(Emperor_NumberBuffer2 == 6) strcat(Emperor_ReturnBuffer, "6");
  1581.             if(Emperor_NumberBuffer2 == 7) strcat(Emperor_ReturnBuffer, "7");
  1582.             if(Emperor_NumberBuffer2 == 8) strcat(Emperor_ReturnBuffer, "8");
  1583.             if(Emperor_NumberBuffer2 == 9) strcat(Emperor_ReturnBuffer, "9");
  1584.             if(Emperor_Counter == 9) Emperor_NumberBuffer1 -= Emperor_NumberBuffer2*100000000;
  1585.             if(Emperor_Counter == 8) Emperor_NumberBuffer1 -= Emperor_NumberBuffer2*10000000;
  1586.             if(Emperor_Counter == 7) Emperor_NumberBuffer1 -= Emperor_NumberBuffer2*1000000;
  1587.             if(Emperor_Counter == 6) Emperor_NumberBuffer1 -= Emperor_NumberBuffer2*100000;
  1588.             if(Emperor_Counter == 5) Emperor_NumberBuffer1 -= Emperor_NumberBuffer2*10000;
  1589.             if(Emperor_Counter == 4) Emperor_NumberBuffer1 -= Emperor_NumberBuffer2*1000;
  1590.             if(Emperor_Counter == 3) Emperor_NumberBuffer1 -= Emperor_NumberBuffer2*100;
  1591.             if(Emperor_Counter == 2) Emperor_NumberBuffer1 -= Emperor_NumberBuffer2*10;
  1592.             if(Emperor_Counter == 1) Emperor_NumberBuffer1 -= Emperor_NumberBuffer2;
  1593.         }
  1594.     }
  1595.     return(Emperor_ReturnBuffer);
  1596. }
  1597.  
  1598. #include <DevsManager.h>
  1599.