home *** CD-ROM | disk | FTP | other *** search
/ Amiga Elysian Archive / AmigaElysianArchive.iso / prog / c / dicepj11.lha / diceproject / project.h < prev    next >
C/C++ Source or Header  |  1993-03-12  |  10KB  |  356 lines

  1.  
  2. #include <intuition/intuition.h>
  3. #include <dos/dos.h>
  4.  
  5. #include "prototypes.h"
  6.  
  7. #include "sentences.h"
  8.  
  9.  
  10. #define GetString( g )        ((( struct StringInfo * )g->SpecialInfo )->Buffer  )
  11. #define GetNumber( g )        ((( struct StringInfo * )g->SpecialInfo )->LongInt )
  12.  
  13. #define GD_ModuleList                   0
  14.  
  15. #define GDX_ModuleList                   0
  16.  
  17. #define GD_ScreenList                   0
  18.  
  19. #define GDX_ScreenList                   0
  20.  
  21. #define GD_Source                   0
  22. #define GD_Dest                    1
  23. #define GD_Include                   2
  24. #define GD_Lib                       3
  25. #define GD_Obj                       4
  26. #define GD_SourceString                5
  27. #define GD_DestString                   6
  28. #define GD_IncludeString               7
  29. #define GD_LibString                   8
  30. #define GD_ObjString                   9
  31. #define GD_Prg                       10
  32. #define GD_PrgString                   11
  33.  
  34. #define GDX_Source                   0
  35. #define GDX_Dest                   1
  36. #define GDX_Include                   2
  37. #define GDX_Lib                    3
  38. #define GDX_Obj                    4
  39. #define GDX_SourceString               5
  40. #define GDX_DestString                   6
  41. #define GDX_IncludeString
  42. #define GDX_LibString                   8
  43. #define GDX_ObjString                   9
  44. #define GDX_Prg                    10
  45. #define GDX_PrgString                   11
  46.  
  47. #define GD_CompileName                   0
  48. #define GD_Gadget13                   1
  49.  
  50. #define GDX_CompileName                0
  51. #define GDX_Gadget13                   1
  52.  
  53. #define GD_Reloc                   0
  54. #define GD_Resident                   1
  55. #define GD_DInfo                   2
  56. #define GD_DLevel                   3
  57. #define GD_Stack                   4
  58. #define GD_Chip                    5
  59. #define GD_CPU                       6
  60. #define GD_FPU                       7
  61. #define GD_Data                    8
  62. #define GD_Code                    9
  63. #define GD_Calls                   10
  64. #define GD_Inline                   11
  65. #define GD_Hunk                    12
  66.  
  67. #define GDX_Reloc                   0
  68. #define GDX_Resident                   1
  69. #define GDX_DInfo                   2
  70. #define GDX_DLevel                   3
  71. #define GDX_Stack                   4
  72. #define GDX_Chip                   5
  73. #define GDX_CPU                    6
  74. #define GDX_FPU                    7
  75. #define GDX_Data                   8
  76. #define GDX_Code                   9
  77. #define GDX_Calls                   10
  78. #define GDX_Inline                   11
  79. #define GDX_Hunk                   12
  80.  
  81. #define Project_CNT 1
  82. #define Scr_CNT 1
  83. #define DirSet_CNT 12
  84. #define Compile_CNT 2
  85. #define CompilerOpt_CNT 13
  86.  
  87. extern struct Screen        *Scr;
  88. extern APTR             VisualInfo;
  89. extern struct Window        *ProjectWnd;
  90. extern struct Window        *MessWnd;
  91. extern struct Window        *CListeWnd;
  92. extern struct Window        *DirSetWnd;
  93. extern struct Window        *CompileWnd;
  94. extern struct Window        *CompilerOptWnd;
  95. extern struct Gadget        *ProjectGList;
  96. extern struct Gadget        *MessGList;
  97. extern struct Gadget        *CListeGList;
  98. extern struct Gadget        *DirSetGList;
  99. extern struct Gadget        *CompileGList;
  100. extern struct Gadget        *CompilerOptGList;
  101. extern struct Menu        *ProjectMenus;
  102. extern struct IntuiMessage   ProjectMsg;
  103. extern struct IntuiMessage   MessMsg;
  104. extern struct IntuiMessage   DirSetMsg;
  105. extern struct IntuiMessage   CompileMsg;
  106. extern struct IntuiMessage   CompilerOptMsg;
  107. extern struct TextFont        *NFont;
  108. extern struct Gadget        *ProjectGadgets[1];
  109. extern struct Gadget        *MessGadgets[1];
  110. extern struct Gadget        *CListeGadgets[1];
  111. extern struct Gadget        *DirSetGadgets[10];
  112. extern struct Gadget        *CompileGadgets[2];
  113. extern struct Gadget        *CompilerOptGadgets[13];
  114. extern UBYTE            *ProjectWdt;
  115. extern UBYTE            *DirSetWdt;
  116. extern struct TextAttr        *Font, Attr;
  117. extern UWORD             FontX, FontY;
  118. extern UWORD             OffX, OffY;
  119. extern struct GfxBase        *GfxBase;
  120. extern struct IntuiText      CompileIText[];
  121. extern struct IntuiText      CompileIText[];
  122. extern struct IntuiText      CompilerOptIText[];
  123. extern struct NewMenu         ProjectNewMenu[];
  124. extern UWORD             ProjectGTypes[];
  125. extern UWORD             MessGTypes[];
  126. extern UWORD             CListeGTypes[];
  127. extern UWORD             DirSetGTypes[];
  128. extern UWORD             CompileGTypes[];
  129. extern UWORD             CompilerOptGTypes[];
  130. extern struct NewGadget      ProjectNGad[];
  131. extern struct NewGadget      MessNGad[];
  132. extern struct NewGadget      CListeNGad[];
  133. extern struct NewGadget      DirSetNGad[];
  134. extern struct NewGadget      CompileNGad[];
  135. extern struct NewGadget      CompilerOptNGad[];
  136. extern ULONG             ProjectGTags[];
  137. extern ULONG             MessGTags[];
  138. extern ULONG             CListeGTags[];
  139. extern ULONG             DirSetGTags[];
  140. extern ULONG             CompileGTags[];
  141. extern ULONG             CompilerOptGTags[];
  142. extern struct ColorSpec      ScreenColors[];
  143. extern UWORD             DriPens[];
  144.  
  145. extern int ModuleListClicked( void );
  146. extern int MessListClicked( void );
  147. extern int SourceClicked( void );
  148. extern int DestClicked( void );
  149. extern int IncludeClicked( void );
  150. extern int LibClicked( void );
  151. extern int ObjClicked( void );
  152. extern int PrgClicked( void );
  153.  
  154. extern int RelocClicked( void );
  155. extern int ResidentClicked( void );
  156. extern int DInfoClicked( void );
  157. extern int DLevelClicked( void );
  158. extern int StackClicked( void );
  159. extern int ChipClicked( void );
  160. extern int CPUClicked( void );
  161. extern int FPUClicked( void );
  162. extern int DataClicked( void );
  163. extern int CodeClicked( void );
  164. extern int CallsClicked( void );
  165. extern int InlineClicked( void );
  166. extern int HunkClicked( void );
  167.  
  168. extern int ProjectNew( void );
  169. extern int ProjectOpen( void );
  170. extern int ProjectInfo( void );
  171. extern int ProjectSave( void );
  172. extern int ProjectSaveas( void );
  173. extern int ProjectIcon( void );
  174. extern int ProjectAbout( void );
  175. extern int ProjectQuit( void );
  176. extern int ProjectEdit( void );
  177. extern int ProjectInclude( void );
  178. extern int ProjectComment( void );
  179. extern int ProjectCommentKill( void );
  180. extern int ProjectAdd( void );
  181. extern int ProjectRem( void );
  182. extern int ProjectOther( void );
  183. extern int ProjectGenerate( void );
  184. extern int ProjectLibrary( void );
  185. extern int ProjectMake( void );
  186. extern int ProjectCompile( void );
  187. extern int ProjectLink( void );
  188. extern int ProjectLaunchWB( void );
  189. extern int ProjectLaunch( void );
  190. extern int ProjectCodeInfo( void );
  191. extern int ProjectCompilerOpt( void );
  192. extern int ProjectDirectory( void );
  193. extern int ProjectScreenOpt( void );
  194.  
  195. extern int SetupScreen( void );
  196. extern int CloseDownScreen( void );
  197.  
  198. extern int ProjectNewSize( void );
  199. extern int HandleProjectIDCMP( void );
  200. extern int ProjectCloseWindow( void );
  201. extern int OpenProjectWindow( void );
  202. extern void CloseProjectWindow( void );
  203.  
  204. extern int MessNewSize( void );
  205. extern int HandleMessIDCMP( void );
  206. extern int OpenMessWindow( void );
  207. extern int MessCloseWindow( void );
  208. extern void CloseMessWindow( void );
  209.  
  210. extern int OpenCListeWindow( char * );
  211. extern void CloseCListeWindow( void );
  212.  
  213. extern int HandleDirSetIDCMP( void );
  214. extern int DirSetCloseWindow( void );
  215. extern int OpenDirSetWindow( void );
  216. extern void CloseDirSetWindow( void );
  217.  
  218. extern void CompileRender( char * );
  219. extern int OpenCompileWindow( char * );
  220. extern void CloseCompileWindow( void );
  221.  
  222. extern void CompilerOptRender( void );
  223. extern int HandleCompilerOptIDCMP( void );
  224. extern int CompilerOptCloseWindow( void );
  225. extern int OpenCompilerOptWindow( void );
  226. extern void CloseCompilerOptWindow( void );
  227.  
  228. extern UWORD OffX,OffY;
  229.  
  230. extern UWORD ProjectLeft;
  231. extern UWORD ProjectTop;
  232. extern UWORD ProjectWidth;
  233. extern UWORD ProjectHeight;
  234.  
  235. extern UWORD MessLeft;
  236. extern UWORD MessTop;
  237. extern UWORD MessWidth;
  238. extern UWORD MessHeight;
  239.  
  240. extern BOOL KeepMessages;
  241.  
  242. extern struct Library           *IconBase;
  243. extern struct Library           *WorkbenchBase;
  244. extern struct IntuitionBase       *IntuitionBase;
  245. extern struct GadToolsBase       *GadToolsBase;
  246.  
  247. #define SMALL FALSE
  248. #define LARGE TRUE
  249. #define REGARG FALSE
  250. #define STACKARG TRUE
  251. #define CPU00    0
  252. #define CPU20    1
  253. #define CPU30    2
  254. #define FPU00    0
  255. #define FPU81    1
  256. #define FPU82    2
  257.  
  258. #define MODULE_NODE 200
  259.  
  260. struct ModuleNode {
  261.     struct Node node;
  262.     char *filename;
  263.     char *directory;
  264.     char *pathfile;
  265.     char *namelist;
  266.     char *name;
  267.     char type;
  268. };
  269.  
  270. struct CompilerOpts {
  271.     UBYTE CPU,FPU;
  272.     BOOL Data,Code;
  273.     BOOL Resident;
  274.     BOOL DStack;
  275.     BOOL Chip;
  276.     BOOL Hunk;
  277.     BOOL DebugI;
  278.     BOOL DebugL;
  279.     BOOL RCalls;
  280.     BOOL ICalls;
  281.     UBYTE HunkCode;
  282. };
  283.  
  284. extern struct CompilerOpts Config,Config2;
  285. extern struct List *ModuleList;
  286.  
  287. extern char *DICEDir;
  288. extern char *SourceDir;
  289. extern char *DestDir;
  290. extern char *IncludeDir;
  291. extern char *LibDir;
  292. extern char *ObjDir;
  293.  
  294. extern char *ProgramName;
  295. extern char *ProjectPathName;
  296. extern char *ProjectName;
  297. extern char *WindowTitle;
  298.  
  299. extern BPTR DICELock;
  300. extern BPTR IncludeLock;
  301. extern BPTR AIncludeLock;
  302. extern BPTR LibLock;
  303.  
  304. extern char *OptLine;
  305. extern char *OptFile;
  306. extern char *StartDir;
  307. extern char *PrgDir;
  308.  
  309.  
  310. extern BOOL LoadOptions( char * , FILE * );
  311. extern void SaveOptions( FILE * );
  312. extern BOOL ViewErrors( char * );
  313.  
  314. extern struct TagItem gtag[];
  315.  
  316. extern struct TagItem ttag[];
  317.  
  318. extern unsigned long DisplayScreen;
  319.  
  320. extern void ReplaceChar( char **dest , char *source );
  321.  
  322. extern void ChangeProjectName( char *pathname );
  323.  
  324. extern void ChangeDICEDir( char *dir );
  325.  
  326. extern LONG Overwrite( char *name );
  327.  
  328. extern void EditModule( char *name );
  329.  
  330. extern char *CommentName( char *module );
  331.  
  332. extern BOOL IsCommented( char *module );
  333.  
  334. extern struct ModuleNode *ChooseInList( char *title , struct List *liste );
  335.  
  336. extern void MakeAssign( void );
  337.  
  338. extern void RemoveAssign( void );
  339.  
  340. extern BOOL VerifPrj( char *prj , char *ct , FILE *in );
  341.  
  342. extern void RemModuleNode( struct ModuleNode *wn );
  343.  
  344. extern struct ModuleNode *AddModuleNode( struct List *list , char *name , char *directory );
  345.  
  346. extern void UpdateNameList( void );
  347.  
  348. extern void LoadPrefs( void );
  349.  
  350. extern void SavePrefs( void );
  351.  
  352. extern void MakeOptions( void );
  353.  
  354. extern void UpdateScreen( void );
  355.  
  356.