disable the unrecognized nls and x flags
[AROS-Contrib.git] / dopus / Config / config.h
blobb6df01b370f9cfd8270743dc596cb0803be4b751
1 /*
3 Directory Opus 4
4 Original GPL release version 4.12
5 Copyright 1993-2000 Jonathan Potter
7 This program is free software; you can redistribute it and/or
8 modify it under the terms of the GNU General Public License
9 as published by the Free Software Foundation; either version 2
10 of the License, or (at your option) any later version.
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
17 You should have received a copy of the GNU General Public License
18 along with this program; if not, write to the Free Software
19 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
21 All users of Directory Opus 4 (including versions distributed
22 under the GPL) are entitled to upgrade to the latest version of
23 Directory Opus version 5 at a reduced price. Please see
24 http://www.gpsoft.com.au for more information.
26 The release of Directory Opus 4 under the GPL in NO WAY affects
27 the existing commercial status of Directory Opus 5.
31 #ifdef DEBUG
32 #define bug kprintf
33 #define D(x) x
34 #else
35 #define D(x)
36 #endif
38 #if defined(__PPC__) || defined(__AROS__)
39 #undef __saveds
40 #define __saveds
41 #define __chip
42 #define __aligned __attribute__((__aligned__(4)))
43 #define lsprintf sprintf
44 #define __asm(A)
45 #define __stdargs
46 #define __regargs
47 #define _exit exit
48 #endif
50 //#include <fctype.h>
51 #include <ctype.h>
52 #include <string.h>
53 #include <stdlib.h>
54 #include <stdarg.h>
55 #include <stddef.h>
56 #include <stdio.h>
57 #include <exec/types.h>
58 #include <exec/memory.h>
59 #include <exec/execbase.h>
60 #include <dos/dos.h>
61 #include <dos/dosextens.h>
62 #include <dos/exall.h>
63 #include <intuition/intuitionbase.h>
64 #include <intuition/iobsolete.h>
65 #include <intuition/sghooks.h>
66 #include <graphics/gfxbase.h>
67 #include <graphics/gfxmacros.h>
68 #include <workbench/workbench.h>
69 #include <workbench/startup.h>
70 #include <diskfont/diskfont.h>
71 #include <proto/exec.h>
72 #include <proto/dos.h>
73 #include <proto/intuition.h>
74 #include <proto/graphics.h>
75 #include <proto/layers.h>
76 #include <proto/asl.h>
77 #include <proto/utility.h>
78 #include <proto/console.h>
79 #include <proto/locale.h>
80 #include <proto/dopus.h>
81 #include <proto/diskfont.h>
82 #include <proto/icon.h>
83 #include <proto/workbench.h>
84 #include <clib/alib_protos.h>
86 #include <proto/dopus.h>
87 #include <dopus/config.h>
88 #include <dopus/configflags.h>
89 #include <dopus/dopusmessage.h>
90 #include <dopus/stringdata.h>
91 #undef CONFIG_VERSION
93 #define NUM_MODULES 4
95 #define OSVER_34 0
96 #define OSVER_37 1
97 #define OSVER_38 2
98 #define OSVER_39 3
99 #define OSVER_40 4
101 #define GAD_BASE 1000
102 #define STRING_BASE 10000
103 #define REQ_BASE 11000
105 #define CONFIG_STRUCTURE_SIZE 9200
107 enum {
108 FONT_GENERAL,
109 FONT_DIRS,
110 FONT_TEXT,
111 FONT_GADGETS,
112 FONT_MENUS,
113 FONT_STATUS,
114 FONT_NAMES,
115 FONT_CLOCK,
116 FONT_REQUEST,
117 FONT_STRING,
118 FONT_ICONIFY,
119 FONT_SCREEN,
121 FONT_COUNT};
123 #define FFLAG_8ONLY 1
124 #define FFLAG_NOPROP 2
126 #define NUMFLAGS 16
127 #define MAXFUNCS 32
128 #define HIDDENLINES 6
130 #define FB_OUTPUTWIN 0
131 #define FB_OUTPUTFILE 1
132 #define FB_WB2F 2
133 #define FB_DOPUS2F 3
134 #define FB_RUNASYNC 4
135 #define FB_CDSOURCE 5
136 #define FB_CDDEST 6
137 #define FB_DOALLFILES 7
138 #define FB_RECURSEDIR 8
139 #define FB_RELOADFILE 9
140 #define FB_AUTOICONIFY 10
141 #define FB_NOQUOTE 11
142 #define FB_RESCANSOURCE 12
143 #define FB_RESCANDEST 13
144 #define FB_SHELLSTARTUP 14
145 #define FB_DOPUSSTARTUP 15
147 #define FF_OUTPUTWIN (1<<FB_OUTPUTWIN)
148 #define FF_OUTPUTFILE (1<<FB_OUTPUTFILE)
149 #define FF_WB2F (1<<FB_WB2F)
150 #define FF_DOPUS2F (1<<FB_DOPUS2F)
151 #define FF_RUNASYNC (1<<FB_RUNASYNC)
152 #define FF_CDSOURCE (1<<FB_CDSOURCE)
153 #define FF_CDDEST (1<<FB_CDDEST)
154 #define FF_DOALLFILES (1<<FB_DOALLFILES)
155 #define FF_RECURSEDIR (1<<FB_RECURSEDIR)
156 #define FF_RELOADFILE (1<<FB_RELOADFILE)
157 #define FF_AUTOICONIFY (1<<FB_AUTOICONIFY)
158 #define FF_NOQUOTE (1<<FB_NOQUOTE)
159 #define FF_RESCANSOURCE (1<<FB_RESCANSOURCE)
160 #define FF_RESCANDEST (1<<FB_RESCANDEST)
161 #define FF_SHELLSTARTUP (1<<FB_SHELLSTARTUP)
162 #define FF_DOPUSSTARTUP (1<<FB_DOPUSSTARTUP)
164 #define SFB_AUTOICONIFY 0
165 #define SFB_CDDEST 1
166 #define SFB_CDSOURCE 2
167 #define SFB_DOPUS2F 3
168 #define SFB_DOALLFILES 4
169 #define SFB_DOPUSSTARTUP 5
170 #define SFB_SHELLSTARTUP 6
171 #define SFB_NOQUOTE 7
172 #define SFB_OUTPUTFILE 8
173 #define SFB_OUTPUTWIN 9
174 #define SFB_RECURSEDIR 10
175 #define SFB_RELOADFILE 11
176 #define SFB_RESCANDEST 12
177 #define SFB_RESCANSOURCE 13
178 #define SFB_RUNASYNC 14
179 #define SFB_WB2F 15
181 #define FT_INTERNAL 0
182 #define FT_EXECUTABLE 1
183 #define FT_WORKBENCH 2
184 #define FT_BATCH 3
185 #define FT_AREXX 4
187 #define FT_REQUESTER 5
188 #define FT_CHDIR 99
190 #define FC_INTERNAL '*'
191 #define FC_WORKBENCH '%'
192 #define FC_BATCH '$'
193 #define FC_AREXX '&'
194 #define FC_REQUESTER '@'
195 #define FC_CHDIR '!'
197 #define MENUCOUNT 100
198 #define GADCOUNT 84
199 #define DRIVECOUNT 32
200 #define NUMFONTS 16
201 #define USEDRIVECOUNT 30
203 #define FTYC_MATCH 1
204 #define FTYC_MATCHNAME 2
205 #define FTYC_MATCHBITS 3
206 #define FTYC_MATCHCOMMENT 4
207 #define FTYC_MATCHSIZE 5
208 #define FTYC_MATCHDATE 6
209 #define FTYC_MOVETO 7
210 #define FTYC_MOVE 8
211 #define FTYC_SEARCHFOR 9
212 #define FTYC_MATCHI 10
213 #define FTYC_OR 253
214 #define FTYC_AND 254
215 #define FTYC_ENDSECTION 255
217 #define FTYC_ENDLIMIT 252
218 #define FTYC_COMMANDOK 11
219 #define FTYC_CYCLEEND 12
221 #define FILETYPE_FUNCNUM 16
223 struct fileclass {
224 struct fileclass *last,*next;
225 char type[32];
226 char typeid[8];
227 unsigned char *recognition;
230 extern struct TagItem scr_taglist[];
231 extern struct ExtNewScreen configscr;
232 extern struct NewWindow configwin,requestwin;
233 extern struct ExecBase *SysBase;
234 extern struct DOpusBase *DOpusBase;
235 extern struct GfxBase *GfxBase;
236 extern struct DosLibrary *DOSBase;
237 extern struct IntuitionBase *IntuitionBase;
238 extern struct muBase *muBase;
239 extern struct Screen *Screen;
240 extern struct Window *Window;
241 extern struct ViewPort *vp;
242 extern struct RastPort *rp;
243 extern struct Process *myproc;
244 extern struct IntuiMessage *IMsg;
245 extern APTR wsave,realwsave;
246 extern char *spacestring;
247 extern char fontbuf[50];
248 extern struct TextAttr sfont,bsfont;
249 extern struct Config *config,*undoconfig;
250 extern struct dopusfiletype *firsttype;
251 extern struct dopushotkey *firsthotkey;
252 extern struct dopusgadgetbanks *firstbank,*curbank;
253 extern struct DOpusRemember *typekey,*fontkey;
254 extern char configname[256],loadnamebuf[256];
255 extern char filebuf[256],dirbuf[258];
256 extern struct DOpusFileReq filereq;
257 extern int version2;
258 extern struct MsgPort *conport,*cmdport,*appport;
260 extern struct MsgPort *clip_port;
261 extern struct IOClipReq *clip_io;
264 struct ConfigStuff {
265 struct Config *config;
266 struct DOpusRemember *typekey;
267 struct dopusfiletype *firsttype;
268 struct dopusgadgetbanks *firstbank,*curbank;
269 struct dopushotkey *firsthotkey;
272 extern struct ConfigStuff cstuff;
273 extern struct DOpusRemember *mainkey,*gadgetkey,*tickkey,*screenkey,*clipkey,*buttonkey;
274 extern struct Gadget *maingad,*tickgad,*gadgads,*menugads,*drivegads;
275 extern int tickcount;
276 extern struct dopusconfigmsg msg;
278 extern struct TagItem taglist[2];
279 extern UWORD drawinfo[];
280 extern int lchanged,changed;
282 extern struct Image
283 *checkonimage,*checkoffimage,
284 *buttononimage,*buttonoffimage,
285 copy_checkonimage,copy_checkoffimage;
287 #define CTYPE_MOVEREL -3
288 #define CTYPE_MOVE -2
289 #define CTYPE_SKIP -1
290 #define CTYPE_TEXT 1
291 #define CTYPE_GAD 2
292 #define CTYPE_STR 3
293 #define CTYPE_REQ 4
294 #define CTYPE_RAD 5
295 #define CTYPE_MRAD 6
297 struct ConfigGadget {
298 char type;
299 char value;
300 int nameentry;
301 short x,y;
302 short w,h;
303 int bit;
304 int mutualex;
305 char *buffer;
306 struct Gadget *gad;
309 #define CFG_MAINMENU 11
310 #define CFG_GADGET 0
311 #define CFG_DRIVE 1
312 #define CFG_FILETYPE 2
313 #define CFG_HOTKEYS 3
314 #define CFG_MENU 4
315 #define CFG_OPERATION 5
316 #define CFG_SCREEN 6
317 #define CFG_SYSTEM 7
318 #define CFG_SAVE 8
319 #define CFG_OKAY 9
320 #define CFG_CANCEL 10
322 #define OP_COPY 0
323 #define OP_DATEFORMAT 1
324 #define OP_DELETE 2
325 #define OP_ERRORCHECK 3
326 #define OP_GENERAL 4
327 #define OP_ICONS 5
328 #define OP_FORMAT 6
329 #define OP_UPDATE 7
330 #define OP_OKAY 8
331 #define OP_CANCEL 9
333 #define SYS_AMIGADOS 0
334 #define SYS_CLOCK 1
335 #define SYS_DIRECTORIES 2
336 #define SYS_HOTKEYS 3
337 #define SYS_ICONS 4
338 #define SYS_MODULES 5
339 #define SYS_SHOWPATTERN 6
340 #define SYS_STARTUP 7
341 #define SYS_VIEWPLAY 8
342 #define SYS_OKAY 9
343 #define SYS_CANCEL 10
345 #define GAD_NEXTBANK 0
346 #define GAD_NEWBANK 1
347 #define GAD_COPYBANK 2
348 #define GAD_SWAPBANK 3
349 #define GAD_DELETEBANK 4
350 #define GAD_COPYGADGET 5
351 #define GAD_SWAPGADGET 6
352 #define GAD_DELETEGADGET 7
353 #define GAD_OKAY 8
354 #define GAD_CANCEL 9
356 #define MENU_COPYMENU 0
357 #define MENU_SWAPMENU 1
358 #define MENU_DELETEMENU 2
359 #define MENU_SORTMENU 3
360 #define MENU_INSERTITEM 4
361 #define MENU_COPYITEM 5
362 #define MENU_SWAPITEM 6
363 #define MENU_DELETEITEM 7
364 #define MENU_OKAY 8
365 #define MENU_CANCEL 9
366 #define MENU_MOVEUP 10
367 #define MENU_MOVEDOWN 11
368 #define MENU_SLIDER 12
370 #define DRIVE_GETDRIVES 0
371 #define DRIVE_COPYBANK 1
372 #define DRIVE_SWAPBANK 2
373 #define DRIVE_DELETEBANK 3
374 #define DRIVE_SORTBANK 4
375 #define DRIVE_COPYDRIVE 5
376 #define DRIVE_SWAPDRIVE 6
377 #define DRIVE_DELETEDRIVE 7
378 #define DRIVE_OKAY 8
379 #define DRIVE_CANCEL 9
380 #define DRIVE_EDITNAME 10
381 #define DRIVE_EDITSAMPLE 11
382 #define DRIVE_EDITREQ 12
383 #define DRIVE_EDITPATH 13
385 #define FILETYPE_NEW 0
386 #define FILETYPE_SWAP 1
387 #define FILETYPE_DELETE 2
388 #define FILETYPE_OKAY 3
389 #define FILETYPE_CANCEL 4
391 #define HOTKEYS_NEWHOTKEY 0
392 #define HOTKEYS_DELETE 1
393 #define HOTKEYS_DUPLICATE 2
394 #define HOTKEYS_OKAY 3
395 #define HOTKEYS_SWAP 4
396 #define HOTKEYS_CANCEL 5
398 #define EDIT_OKAY 0
399 #define EDIT_CANCEL 1
400 #define EDIT_EDITCLASS 2
401 #define EDIT_NAME 3
402 #define EDIT_SAMPLE 4
403 #define EDIT_NEWENTRY 5
404 #define EDIT_DUPLICATE 6
405 #define EDIT_SWAP 7
406 #define EDIT_DELETE 8
407 #define EDIT_STACK 9
408 #define EDIT_PRIORITY 10
409 #define EDIT_DELAY 11
410 #define EDIT_TYPE 12
411 #define EDIT_FUNC 13
412 #define EDIT_REQUESTER 14
413 #define EDIT_PATH 15
414 #define EDIT_ARGREQ 16
415 #define EDIT_FILETYPEACTION 17
417 #define CLASS_OKAY 0
418 #define CLASS_CANCEL 1
419 #define CLASS_TYPE 3
420 #define CLASS_NEWENTRY 4
421 #define CLASS_DUPLICATE 5
422 #define CLASS_SWAP 6
423 #define CLASS_DELETE 7
424 #define CLASS_OPERATION 8
425 #define CLASS_FUNC 9
426 #define CLASS_FILEVIEWREQ 10
427 #define CLASS_FILEVIEW 11
428 #define CLASS_HEXDEC 12
429 #define CLASS_VIEWSLIDER 13
430 #define CLASS_VIEWUP 14
431 #define CLASS_VIEWDOWN 15
432 #define CLASS_TYPEID 16
434 #define EDIT_FUNCTIONS 1
435 #define EDIT_FLAGS 2
436 #define EDIT_FUNCTIONTYPE 3
438 #define SCREEN_ARROWS 0
439 #define SCREEN_COLOURS 1
440 #define SCREEN_FONTS 2
441 #define SCREEN_GENERAL 3
442 #define SCREEN_PALETTE 4
443 #define SCREEN_SCREENMODE 5
444 #define SCREEN_SLIDERS 6
445 #define SCREEN_OKAY 7
446 #define SCREEN_CANCEL 8
448 #define PALETTE_SLIDER 100
449 #define PALETTE_STRING 103
451 #define COLOURS_SELECT 200
453 #define SCREENMODE_WIDTH 300
454 #define SCREENMODE_HEIGHT 301
455 #define SCREENMODE_DEPTH 302
456 #define SCREENMODE_DEFWIDTH 303
457 #define SCREENMODE_DEFHEIGHT 304
458 #define SCREENMODE_HALFHEIGHT 305
459 #define SCREENMODE_SLIDER 306
461 #define HOTKEY_SAMPLE 400
462 #define HOTKEY_MMB 401
464 #define FORMAT_MAXNUM 9
466 #define FORMAT_WINDOW 500
467 #define FORMAT_RESET 501
468 #define FORMAT_CLEAR 502
469 #define FORMAT_LENGTH 503
470 #define FORMAT_SEPARATE 510
471 #define FORMAT_REVERSESORT 511
472 #define FORMAT_SIZEKMG 512 // HUX
474 #define ICON_ICONREQ 600
475 #define ICON_ICONPATH 601
476 #define ICON_TOOLREQ 602
477 #define ICON_TOOLPATH 603
479 #define ARROWBASE 600
480 #define ARROWCYCLE 610
482 #define FONT_SIZE 700
484 #define SCREEN_SLIDER_LEFTCYCLE 800
485 #define SCREEN_SLIDER_RIGHTCYCLE 801
487 #define COLBIT_STATUS 0
488 #define COLBIT_SELDISKNAME 1
489 #define COLBIT_DISKNAME 2
490 #define COLBIT_SELDIRECTORY 3
491 #define COLBIT_DIRECTORY 4
492 #define COLBIT_SELFILE 5
493 #define COLBIT_FILE 6
494 #define COLBIT_SLIDERS 7
495 #define COLBIT_ARROWS 8
496 #define COLBIT_TINYGADS 9
497 #define COLBIT_CLOCK 10
498 #define COLBIT_REQUESTER 11
499 #define COLBIT_3DBOXES 12
500 #define COLBIT_STRINGS 13
501 #define COLBIT_SELSTRINGS 14
503 #define COLOURS_STATUS (1<<COLBIT_STATUS)
504 #define COLOURS_SELDISKNAME (1<<COLBIT_SELDISKNAME)
505 #define COLOURS_DISKNAME (1<<COLBIT_DISKNAME)
506 #define COLOURS_SELDIRECTORY (1<<COLBIT_SELDIRECTORY)
507 #define COLOURS_DIRECTORY (1<<COLBIT_DIRECTORY)
508 #define COLOURS_SELFILE (1<<COLBIT_SELFILE)
509 #define COLOURS_FILE (1<<COLBIT_FILE)
510 #define COLOURS_SLIDERS (1<<COLBIT_SLIDERS)
511 #define COLOURS_ARROWS (1<<COLBIT_ARROWS)
512 #define COLOURS_TINYGADS (1<<COLBIT_TINYGADS)
513 #define COLOURS_CLOCK (1<<COLBIT_CLOCK)
514 #define COLOURS_REQUESTER (1<<COLBIT_REQUESTER)
515 #define COLOURS_3DBOXES (1<<COLBIT_3DBOXES)
516 #define COLOURS_STRINGS (1<<COLBIT_STRINGS)
517 #define COLOURS_SELSTRINGS (1<<COLBIT_SELSTRINGS)
519 #define COLOURS_ALL ~0
521 struct ColourSel {
522 char item;
523 short x1,y1,x2,y2;
526 extern struct ColourSel coloursel[];
528 extern char
529 *mainmenugads[14],
530 *listviewgads[3],
531 *listviewgads2[4],
532 *operationgads[14],
533 *systemgads[14],
534 *gadgetgads[11],
535 *functypelist[],
536 ftype_funcmap[],
537 *functypestr[],
538 *editfuncgads[6],
539 *editfuncgads2[16],
540 *gadflaglist[17],
541 *editclassgads[10],
542 *menugadgets[11],
543 *drivegadgets[11],
544 *drivegadgets2[5],
545 *screengadgets[14],
546 *formatgadgets[11], // JRZ: was 10
547 *hotkeygadgets[3],
548 *arrowgadtxt[4],
549 *arrowtypetxt[3],
550 *filetypeactiongadgets[11],
552 *commandlist[95],
553 *arglist[18],
554 *classopslist[], // JRZ: was 12
556 *formatnames[FORMAT_MAXNUM+1],
557 *selectedformatnames[FORMAT_MAXNUM+1],
559 *defdir[],
560 *palettegadgets[],*coloursgadgets[],
561 *screenmodegadgets[],
562 *hotkeysgadgets[],
563 *windownames[2],*errorcheckingtxt[],*separatenames[3];
565 extern struct ConfigGadget
566 *operationgadgets[8],*systemgadgets[9],scr_generalgadgets[];
569 #define UNDO_MAIN 1
570 #define UNDO_GADGET 2
571 #define UNDO_MENU 4
572 #define UNDO_FILETYPE 8
573 #define UNDO_DRIVE 16
574 #define UNDO_HOTKEYS 32
575 #define UNDO_ALL (UNDO_MAIN|UNDO_GADGET|UNDO_MENU|UNDO_FILETYPE|UNDO_DRIVE|UNDO_HOTKEYS)
577 struct ConfigUndo {
578 struct Config *config;
579 struct newdopusfunction *menu;
580 struct dopusfunction *drive;
581 struct dopusfiletype *firsttype;
582 struct dopusgadgetbanks *firstbank;
583 struct DOpusRemember *key;
584 struct dopushotkey *firsthotkey;
585 char menutit[5][16];
588 extern struct ConfigUndo *makeundo();
589 extern char *getcopy(),*compilefunclist(),**makefiletypelist(),**makeclasslist();
590 extern struct dopusgadgetbanks *lastbank();
592 extern int fontplaceflags[],fontplacevals[];
593 extern struct RMBGadget nextbankrmb,insertbankrmb,formatclearrmb,sampleclearrmb;
594 extern struct DOpusListView
595 editlists[3],cmdlist,screenmodeview,listlist,iconlistview,
596 fontsizelistview,fontlistview,fontplacelist,editclasslist,hotkeyslist,
597 helplist,filetypeactionlist,
598 modulelist/*,languagelist*/;
599 extern char *external_module_list[],*external_module_name[];
600 extern int external_module_map[];
602 extern struct Gadget
603 editfuncgadgets[15],cmdcancelgad,menuslidergads[3],editdrivegadgets[4],
604 palettegads[6],coloursgad,screenmodegads[7],editclassgadgets[14],
605 listokaygad[3],formatgads[11 /* HUX: was 10 */],hotkeygad,hotkeymmbgad,arrowgadgets[8],
606 fontsizegadget,helpgad,helpcancelgad,draggad,icongads[4],depthgads[2],
607 screen_sliders_gadgets[];
609 extern struct Image menusliderimage;
610 extern struct PropInfo menusliderprop,paletteprop[3];
612 extern char
613 edit_namebuf[256],edit_stackbuf[7],edit_prioritybuf[5],edit_delaybuf[3],
614 edit_funcbuf[256],edit_pathbuf[256],edit_actionbuf[40],
615 palette_buf[3][4],screenwidth_buf[6],screenheight_buf[6],screendepth_buf[4],
616 formatlen_buf[5][8],fontsize_buf[12],edit_typeidbuf[8];
618 extern struct StringInfo namesinfo,funcsinfo;
620 #ifdef __SASC_60
621 extern __chip UBYTE
622 glass_data[2][18],uparrow_data[6],downarrow_data[6],
623 pageflip_data1[5],pageflip_data2[3];
624 #else
625 extern UBYTE
626 __chip glass_data[2][36],
627 __chip uparrow_data[12],
628 __chip downarrow_data[12],
629 __chip pageflip_data1[10],
630 __chip pageflip_data2[6];
631 #endif
633 extern struct IntuiMessage *getintuimsg();
635 extern struct newdopusfunction *selgad;
636 extern struct Gadget *seligad;
638 struct ScreenMode {
639 struct ScreenMode *next;
640 char name[80];
641 UWORD minw,minh;
642 UWORD maxw,maxh;
643 UWORD defw,defh;
644 UWORD maxdepth;
645 ULONG mode;
648 #define MODE_WORKBENCHUSE 1
649 #define MODE_WORKBENCHCLONE 2
650 #define MODE_PUBLICSCREENUSE 3
651 #define MODE_PUBLICSCREENCLONE 4
653 extern char **screenmodelist;
654 extern struct ScreenMode *firstmode,*screenmode;
655 extern struct ScreenMode *showdisplaydesc(),*getscreenmode();
657 #define SCRFLAGS_DEFWIDTH 1
658 #define SCRFLAGS_DEFHEIGHT 2
659 #define SCRFLAGS_HALFHEIGHT 4
661 extern struct MenuItem
662 projectitems[],edititems[],gadrowsitems[],classitems[],neatstuffitem;
663 extern struct Menu projectmenu,editmenu,gadrowsmenu,classmenu,neatstuffmenu;
665 extern int changed,curoperation,clipcount;
667 struct Clip {
668 struct Clip *next;
669 char name[256];
670 struct dopusfunction func;
673 extern struct Clip *firstclip;
675 extern UWORD defpalettes[11][4],def_dopus_palette[16];
676 extern struct DOpusListView palettelist,listformatlists[2];
677 extern int rowtrans[5];
679 extern struct Library *DiskfontBase;
680 extern struct Library *WorkbenchBase;
681 extern struct Library *IconBase;
682 extern struct TextFont *tfont;
683 extern char
684 *fontdatabuf,**fontlist,*(**fontsizelist),
685 **noproplist,*(**nopropsizelist),
686 **only8list,*only8sizelist[];
688 extern int gadflagvals[];
690 extern struct fileclass *firstclass;
691 extern int classopvals[];
692 extern char classname[256];
693 extern struct DOpusRemember *helpkey;
694 extern char *helpbuffer;
695 extern int helpsize;
696 extern char currenthelpname[256];
698 extern char **fileclasslist;
699 extern char *fileclasstype[];
700 extern char maxlength[5];
702 extern struct StringExtend stringex;
704 extern struct DiskObject dropboxobj;
705 extern struct DiskObject *dropboxicon;
706 extern void *appobject;
707 extern struct AppMessage *appmsg;
709 #define MY_APPOBJECT 1
711 extern unsigned char *fileview_buf;
712 extern int fileview_lines,fileview_size,fileview_topline,fileview_type,fileview_oldtop;
713 extern int fileview_offset,fileview_position;
714 extern char *fileview_types[];
716 extern char *icontypes[],*palettenames[14],*fontplacenames[FONT_COUNT+1];
718 extern struct IntuiText
719 newtext,opentext,savetext,saveastext,cuttext,copytext,
720 pastetext,erasetext,newclasstext,editclasstext,deleteclasstext,
721 clearclasstext,duplicateclasstext,clearcliptext,
722 gadrowstext[5],paintmodetext;
724 extern int network;
726 extern char *ftype_funcs[];
728 extern struct StringData stringdata;
730 extern short func_list_items[];
732 extern struct Border *gadget_dog_sel_border,*gadget_dog_unsel_border;
733 extern struct Border *gadget_sel_border,*gadget_unsel_border;
735 extern int x_off,y_off,x_bot,y_bot;
736 extern char help_ok;
737 extern int paint_state,paint_fg,paint_bg;
739 extern int screen_depth;
741 extern short
742 editfuncgadgets_xy[15][2],
743 editdrivegadgets_xy[4][2],
744 menuslidergads_xy[3][2],
745 palettegads_xy[6][2],
746 coloursgad_xy[2],
747 screenmodegads_xy[7][2],
748 formatgads_xy[11 /* HUX: was 10 */][2],
749 icongads_xy[4][2],
750 hotkeymmbgad_xy[2],
751 hotkeygad_xy[2],
752 arrowgadgets_xy[8][2],
753 fontsizegadget_xy[2],
754 editclassgadgets_xy[14][2],
755 screen_sliders_gadgets_xy[2][2];
757 #define FTFUNC_AUTOFUNC1 0
758 #define FTFUNC_AUTOFUNC2 1
759 #define FTFUNC_DOUBLECLICK 2
760 #define FTFUNC_CLICKMCLICK 3
761 #define FTFUNC_ANSIREAD 4
762 #define FTFUNC_AUTOFUNC3 5
763 #define FTFUNC_HEXREAD 6
764 #define FTFUNC_LOOPPLAY 7
765 #define FTFUNC_PLAY 8
766 #define FTFUNC_AUTOFUNC4 9
767 #define FTFUNC_READ 10
768 #define FTFUNC_SHOW 11
770 #define FREQ_FILETYPE 10
771 #define FREQ_FILECLASS 11
772 #define FREQ_ARGREQ 12
773 #define FREQ_PATHREQ 20
774 #define FREQ_GENERIC 21
776 struct ColourTable {
777 ULONG red;
778 ULONG green;
779 ULONG blue;
780 unsigned char pen;
781 char alloc;
784 extern struct ColourTable screen_pens[16];
786 extern short colour_box_xy[2][16][4],colour_box_num;
788 extern struct ScreenMode *curmode;
789 extern ULONG palette_backup[48];
790 extern struct DOpusRemember *borderkey;
791 extern short palettegad_xy[16][4];
792 extern int bpg;
794 extern char *left_right_cycle[3];
796 #include "configstrings.h"
798 #include "functions.h"