home *** CD-ROM | disk | FTP | other *** search
/ Otherware / Otherware_1_SB_Development.iso / amiga / utility / misc / toolmana.lha / ToolManager / Source / prefs / ToolManagerConf.h < prev    next >
Encoding:
C/C++ Source or Header  |  1992-09-26  |  7.8 KB  |  265 lines

  1. /*
  2.  * ToolManagerConf.h  V2.0
  3.  *
  4.  * configuration program main include file
  5.  *
  6.  * (c) 1990-1992 Stefan Becker
  7.  */
  8.  
  9. /* System include files */
  10. #include <exec/types.h>
  11. #include <exec/memory.h>
  12. #include <dos/dos.h>
  13. #include <graphics/gfxbase.h>
  14. #include <intuition/gadgetclass.h>
  15. #include <libraries/asl.h>
  16. #include <libraries/iffparse.h>
  17. #include <libraries/locale.h>
  18. #include <libraries/toolmanager.h>
  19. #include <prefs/prefhdr.h>
  20.  
  21. /* System function prototypes */
  22. #include <clib/alib_protos.h>
  23. #include <clib/asl_protos.h>
  24. #include <clib/diskfont_protos.h>
  25. #include <clib/dos_protos.h>
  26. #include <clib/exec_protos.h>
  27. #include <clib/gadtools_protos.h>
  28. #include <clib/graphics_protos.h>
  29. #include <clib/icon_protos.h>
  30. #include <clib/iffparse_protos.h>
  31. #include <clib/intuition_protos.h>
  32. #include <clib/locale_protos.h>
  33. #include <clib/wb_protos.h>
  34.  
  35. /* ANSI C include files */
  36. #include <stdlib.h>
  37. #include <string.h>
  38.  
  39. /* Compiler specific include files */
  40. #include <lists.h>     /* GetHead() et al. */
  41.  
  42. /* Project specific include files */
  43. #undef STRINGARRAY
  44. #include "/locale/toolmanager.h"
  45. #include "ToolManagerPrefs.h"
  46.  
  47. /* Structures */
  48. struct GadgetData {
  49.                    char           *name;
  50.                    ULONG           type;
  51.                    ULONG           flags;
  52.                    struct TagItem *tags;
  53.                    UWORD           left;
  54.                    UWORD           top;
  55.                    UWORD           width;
  56.                    UWORD           height;
  57.                    struct Gadget  *gadget;
  58.                   };
  59.  
  60. struct FileReqParms {
  61.                      struct Window *frp_Window;
  62.                      char          *frp_Title;
  63.                      char          *frp_OKText;
  64.                      ULONG          frp_Flags1;
  65.                      ULONG          frp_Flags2;
  66.                      char          *frp_OldFile;
  67.                     };
  68.  
  69. struct ToolNode {
  70.                  struct Node  tn_Node;
  71.                  char        *tn_Image;
  72.                  char        *tn_Sound;
  73.                 };
  74.  
  75. /* Internal function prototypes */
  76. /* *window.c */
  77. typedef void  InitWindowFunction(UWORD, UWORD);
  78. typedef BOOL  OpenWindowFunction(void *, struct Window *);
  79. typedef void *HandleIDCMPFunction(struct IntuiMessage *msg);
  80. typedef void  UpdateWindowFunction(void *);
  81. typedef void  HandleAppMsgFunction(struct AppMessage *);
  82. typedef struct Node *CopyNodeFunction(struct Node *);
  83. typedef void  FreeNodeFunction(struct Node *);
  84. typedef struct Node *ReadNodeFunction(UBYTE *);
  85. typedef BOOL  WriteNodeFunction(struct IFFHandle *, UBYTE *, struct Node *);
  86.  
  87. /* aslreqs.c */
  88. char *OpenFileRequester(void);
  89. struct TextAttr *OpenFontRequester(struct Window *, struct TextAttr *);
  90.  
  91. /* button.c */
  92. BOOL CalcReqButtonImage(void);
  93. void FreeReqButtonImage(void);
  94. void InitReqButtonGadget(struct Gadget *);
  95.  
  96. /* config.c */
  97. BOOL ReadConfigFile(char *);
  98. BOOL WriteConfigFile(char *);
  99. char *GetConfigStr(UBYTE **);
  100. BOOL PutConfigStr(char *, UBYTE **);
  101.  
  102. /* dockwindow.c */
  103. InitWindowFunction   InitDockEditWindow;
  104. OpenWindowFunction   OpenDockEditWindow;
  105. UpdateWindowFunction UpdateDockEditWindow;
  106. HandleIDCMPFunction  HandleDockEditWindowIDCMP;
  107. CopyNodeFunction     CopyDockNode;
  108. FreeNodeFunction     FreeDockNode;
  109. ReadNodeFunction     ReadDockNode;
  110. WriteNodeFunction    WriteDockNode;
  111.  
  112. /* docklistwindow.c */
  113. InitWindowFunction   InitDockListEditWindow;
  114. OpenWindowFunction   OpenDockListEditWindow;
  115. UpdateWindowFunction UpdateDockListEditWindow;
  116. HandleIDCMPFunction  HandleDockListEditWindowIDCMP;
  117. struct List *CopyToolsList(struct List *);
  118. void FreeToolsList(struct List *toollist);
  119.  
  120. /* execwindow.c */
  121. InitWindowFunction   InitExecEditWindow;
  122. OpenWindowFunction   OpenExecEditWindow;
  123. UpdateWindowFunction UpdateExecEditWindow;
  124. HandleAppMsgFunction HandleExecEditWindowAppMsg;
  125. HandleIDCMPFunction  HandleExecEditWindowIDCMP;
  126. CopyNodeFunction     CopyExecNode;
  127. FreeNodeFunction     FreeExecNode;
  128. ReadNodeFunction     ReadExecNode;
  129. WriteNodeFunction    WriteExecNode;
  130.  
  131. /* gadget.c */
  132. struct Gadget *CreateGadgetList(struct GadgetData *, ULONG);
  133. void DisableGadget(struct Gadget *, struct Window *, BOOL);
  134. char *DuplicateBuffer(struct Gadget *gadget);
  135.  
  136. /* iconwindow.c */
  137. InitWindowFunction   InitIconEditWindow;
  138. OpenWindowFunction   OpenIconEditWindow;
  139. UpdateWindowFunction UpdateIconEditWindow;
  140. HandleIDCMPFunction  HandleIconEditWindowIDCMP;
  141. CopyNodeFunction     CopyIconNode;
  142. FreeNodeFunction     FreeIconNode;
  143. ReadNodeFunction     ReadIconNode;
  144. WriteNodeFunction    WriteIconNode;
  145.  
  146. /* imagewindow.c */
  147. InitWindowFunction   InitImageEditWindow;
  148. OpenWindowFunction   OpenImageEditWindow;
  149. HandleAppMsgFunction HandleImageEditWindowAppMsg;
  150. HandleIDCMPFunction  HandleImageEditWindowIDCMP;
  151. CopyNodeFunction     CopyImageNode;
  152. FreeNodeFunction     FreeImageNode;
  153. ReadNodeFunction     ReadImageNode;
  154. WriteNodeFunction    WriteImageNode;
  155.  
  156. /* listreq.c */
  157. InitWindowFunction   InitListRequester;
  158. BOOL OpenListRequester(ULONG, struct Window *);
  159. HandleIDCMPFunction  HandleListRequesterIDCMP;
  160.  
  161. /* locale.c */
  162. void GetLocale(void);
  163. void FreeLocale(void);
  164.  
  165. /* main.c */
  166. void FreeAllObjects(void);
  167. BOOL CopyFile(char *, char *);
  168.  
  169. /* mainwindow.c */
  170. InitWindowFunction   InitMainWindow;
  171. ULONG OpenMainWindow(void);
  172. void CloseMainWindow(void);
  173. HandleIDCMPFunction  HandleMainWindowIDCMP;
  174. UpdateWindowFunction UpdateMainWindow;
  175.  
  176. /* menuwindow.c */
  177. InitWindowFunction   InitMenuEditWindow;
  178. OpenWindowFunction   OpenMenuEditWindow;
  179. HandleIDCMPFunction  HandleMenuEditWindowIDCMP;
  180. UpdateWindowFunction UpdateMenuEditWindow;
  181. CopyNodeFunction     CopyMenuNode;
  182. FreeNodeFunction     FreeMenuNode;
  183. ReadNodeFunction     ReadMenuNode;
  184. WriteNodeFunction    WriteMenuNode;
  185.  
  186. /* movewindow.c */
  187. InitWindowFunction   InitMoveWindow;
  188. void OpenMoveWindow(struct Window *, struct Gadget *, struct Gadget *);
  189. HandleIDCMPFunction  HandleMoveWindowIDCMP;
  190. void CloseMoveWindow(void);
  191.  
  192. /* soundwindow.c */
  193. InitWindowFunction   InitSoundEditWindow;
  194. OpenWindowFunction   OpenSoundEditWindow;
  195. HandleIDCMPFunction  HandleSoundEditWindowIDCMP;
  196. CopyNodeFunction     CopySoundNode;
  197. FreeNodeFunction     FreeSoundNode;
  198. ReadNodeFunction     ReadSoundNode;
  199. WriteNodeFunction    WriteSoundNode;
  200.  
  201. /* window.c */
  202. void CloseWindowSafely(struct Window *);
  203. void DisableWindow(struct Window *);
  204. void EnableWindow(struct Window *, ULONG);
  205.  
  206. /* Global data */
  207. extern struct Library *WorkbenchBase;
  208. extern char *ProgramName;
  209. extern UpdateWindowFunction *UpdateWindow;
  210. extern HandleAppMsgFunction *HandleAppMsg;
  211. extern struct Window *CurrentWindow;
  212. extern FreeNodeFunction *FreeNodeFunctions[];
  213. extern char *AppStrings[];
  214. extern struct List ObjectLists[];
  215. extern struct List PubScreenList;
  216. extern struct RastPort TmpRastPort;
  217. extern struct NewGadget NewGadget;
  218. extern struct FileReqParms FileReqParms;
  219. extern struct Screen *PublicScreen;
  220. extern void *ScreenVI;
  221. extern struct TextAttr ScreenTextAttr;
  222. extern struct TextFont *ScreenFont;
  223. extern struct MsgPort *IDCMPPort;
  224. extern struct MsgPort *AppMsgPort;
  225. extern struct Window *MoveWindowPtr;
  226. extern ULONG MoveWindowOffX,MoveWindowOffY;
  227. extern BOOL WBScreen;
  228. extern BOOL CreateIcons;
  229. extern UWORD WindowTop;
  230. extern UWORD WBXOffset;
  231. extern UWORD WBYOffset;
  232. extern const struct TagItem DisabledTags[];
  233. extern const char PrefsFileName[];
  234. extern const char SavePrefsFileName[];
  235.  
  236. /* Global defines */
  237. #define TMCONFDATE    "26.9.1992"
  238. #define TMVERSION     "2"
  239. #define TMREVISION    "0"
  240. #define TMCRYEAR      "1990-92"
  241.  
  242. #define CHKBOXWIDTH 26
  243. #define REQBUTTONWIDTH 20
  244.  
  245. #define LISTREQ_EXEC  0
  246. #define LISTREQ_IMAGE 1
  247. #define LISTREQ_SOUND 2
  248. #define LISTREQ_PUBSC 3
  249. #define LREQRET_CANCEL   ((void *) -1)
  250. #define LREQRET_NOSELECT ((void *) -2)
  251.  
  252. #ifdef DEBUG
  253. __stkargs void kputs(char *);
  254. __stkargs char kgetc(void);
  255. __stkargs void kprintf(char *,...);
  256.  
  257. #define DEBUG_PUTSTR(a) kputs(a);
  258. #define DEBUG_GETCHR    kgetc();
  259. #define DEBUG_PRINTF(a,b)  kprintf(a,b);
  260. #else
  261. #define DEBUG_PUTSTR(a)
  262. #define DEBUG_GETCHR
  263. #define DEBUG_PRINTF(a,b)
  264. #endif
  265.