home *** CD-ROM | disk | FTP | other *** search
/ Aminet 18 / aminetcdnumber181997.iso / Aminet / dev / gui / GenCodeC2_2d.lha / GenCodeC2.2d / source / WriteCatalog / WriteCatalogGUI.c < prev    next >
Encoding:
C/C++ Source or Header  |  1996-07-04  |  3.1 KB  |  146 lines

  1. #ifndef MAKE_ID
  2. #define MAKE_ID(a,b,c,d) ((ULONG) (a)<<24 | (ULONG) (b)<<16 | (ULONG) (c)<<8 | (ULONG) (d))
  3. #endif
  4.  
  5. /* Libraries */
  6. #include <libraries/mui.h>
  7. #include <libraries/gadtools.h> /* for Barlabel in MenuItem */
  8. #include <exec/memory.h>
  9.  
  10. /* Prototypes */
  11. #include <proto/muimaster.h>
  12. #include <clib/exec_protos.h>
  13. #include <clib/alib_protos.h>
  14.  
  15. #include "WriteCatalogGUI.h"
  16.  
  17. struct ObjApp * CreateApp(void)
  18. {
  19.     struct ObjApp * Object;
  20.  
  21.     APTR    GROUP_ROOT_0, obj_aux0, obj_aux1, GR_Buttons, Space_0, Space_1;
  22.  
  23.     if (!(Object = AllocVec(sizeof(struct ObjApp),MEMF_PUBLIC|MEMF_CLEAR)))
  24.         return(NULL);
  25.  
  26.     Object->STR_GetStringName = StringObject,
  27.         MUIA_Frame, MUIV_Frame_String,
  28.         MUIA_ControlChar, 'n',
  29.     End;
  30.  
  31.     obj_aux1 = KeyLabel2("GetString Name", 'n');
  32.  
  33.     obj_aux0 = GroupObject,
  34.         MUIA_Group_Columns, 2,
  35.         Child, obj_aux1,
  36.         Child, Object->STR_GetStringName,
  37.     End;
  38.  
  39.     Object->GR_GetStringName = GroupObject,
  40.         Child, obj_aux0,
  41.     End;
  42.  
  43.     Object->GR_Text = GroupObject,
  44.         MUIA_Frame, MUIV_Frame_Group,
  45.     End;
  46.  
  47.     Space_0 = HVSpace;
  48.  
  49.     Object->BT_GenerateFiles = TextObject,
  50.         ButtonFrame,
  51.         MUIA_Background, MUII_ButtonBack,
  52.         MUIA_ControlChar, 'g',
  53.         MUIA_Text_Contents, "Generate Files",
  54.         MUIA_Text_PreParse, "\033c",
  55.         MUIA_Text_HiChar, 'g',
  56.         MUIA_InputMode, MUIV_InputMode_RelVerify,
  57.     End;
  58.  
  59.     Object->BT_Save = TextObject,
  60.         ButtonFrame,
  61.         MUIA_Background, MUII_ButtonBack,
  62.         MUIA_ControlChar, 's',
  63.         MUIA_Text_Contents, "Save",
  64.         MUIA_Text_PreParse, "\033c",
  65.         MUIA_Text_HiChar, 's',
  66.         MUIA_InputMode, MUIV_InputMode_RelVerify,
  67.     End;
  68.  
  69.     Space_1 = HVSpace;
  70.  
  71.     GR_Buttons = GroupObject,
  72.         MUIA_Group_Horiz, TRUE,
  73.         Child, Space_0,
  74.         Child, Object->BT_GenerateFiles,
  75.         Child, Object->BT_Save,
  76.         Child, Space_1,
  77.     End;
  78.  
  79.     GROUP_ROOT_0 = GroupObject,
  80.         Child, Object->GR_GetStringName,
  81.         Child, Object->GR_Text,
  82.         Child, GR_Buttons,
  83.     End;
  84.  
  85.     Object->WI_WriteCatalog = WindowObject,
  86.         MUIA_Window_Title, "WriteCatalog",
  87.         MUIA_Window_ID, MAKE_ID('0', 'W', 'I', 'N'),
  88.         WindowContents, GROUP_ROOT_0,
  89.     End;
  90.  
  91.     Object->App = ApplicationObject,
  92.         MUIA_Application_Author, "Billault(s)",
  93.         MUIA_Application_Base, "WriteCatalog",
  94.         MUIA_Application_Title, "WriteCatalog",
  95.         MUIA_Application_Version, "$VER: WriteCatalog 1.0 (20.09.95)",
  96.         MUIA_Application_Copyright, "Billault(s)",
  97.         MUIA_Application_Description, "Générateur C pour la localisation",
  98.         SubWindow, Object->WI_WriteCatalog,
  99.     End;
  100.  
  101.  
  102.     if (!Object->App)
  103.     {
  104.         FreeVec(Object);
  105.         return(NULL);
  106.     }
  107.  
  108.     DoMethod(Object->WI_WriteCatalog,
  109.         MUIM_Notify, MUIA_Window_CloseRequest, TRUE,
  110.         Object->App,
  111.         2,
  112.         MUIM_Application_ReturnID, MUIV_Application_ReturnID_Quit
  113.         );
  114.  
  115.     DoMethod(Object->BT_GenerateFiles,
  116.         MUIM_Notify, MUIA_Pressed, FALSE,
  117.         Object->App,
  118.         2,
  119.         MUIM_Application_ReturnID, ID_BT_GenerateFiles
  120.         );
  121.  
  122.     DoMethod(Object->BT_Save,
  123.         MUIM_Notify, MUIA_Pressed, TRUE,
  124.         Object->App,
  125.         2,
  126.         MUIM_Application_ReturnID, ID_BT_Save
  127.         );
  128.  
  129.     DoMethod(Object->WI_WriteCatalog,
  130.         MUIM_Window_SetCycleChain, Object->GR_GetStringName,
  131.         Object->STR_GetStringName,
  132.         Object->GR_Text,
  133.         Object->BT_GenerateFiles,
  134.         Object->BT_Save,
  135.         0
  136.         );
  137.  
  138.     return(Object);
  139. }
  140.  
  141. void DisposeApp(struct ObjApp * Object)
  142. {
  143.     MUI_DisposeObject(Object->App);
  144.     FreeVec(Object);
  145. }
  146.