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