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 //void KPrintF __ARGS((char *,...));
35 int main(int,char **);
38 void giveconfig(void);
39 void readconfig(void);
41 void fixcstuff(struct ConfigStuff
*);
42 void cstufffix(struct ConfigStuff
*);
43 void cleanconfigscreen(void);
44 void showconfigscreen(int);
45 void initsidegads(char **,int,int);
46 void inittickgads(struct ConfigGadget
*,int,int);
47 void removetickgads(void);
48 int processtickgad(struct ConfigGadget
*,int,int,int);
49 struct ConfigUndo
*makeundo(int);
50 void copygadgets(struct dopusgadgetbanks
*,struct dopusgadgetbanks
*,struct DOpusRemember
**);
51 void copyfiletypes(struct dopusfiletype
*,struct dopusfiletype
**,struct DOpusRemember
**);
52 void doundo(struct ConfigUndo
*,int);
53 void freegadgets(struct dopusgadgetbanks
*);
54 void freegadgetbank(struct dopusgadgetbanks
*,int);
55 void freefunction(struct dopusfunction
*);
56 void freenewfunction(struct newdopusfunction
*);
57 char *getcopy(char *,int,struct DOpusRemember
**);
58 void makestring(char *buf
,...);
59 int getstring(char *,char *,int,int);
61 int do_request(char *,char *,char *);
62 void doglassimage(struct Gadget
*);
63 void freestring(char *);
64 void doscreentitle(char *);
65 struct IntuiMessage
*getintuimsg(void);
66 struct TextFont
*getfont(char *,int *,int);
67 void load_palette(struct Screen
*,ULONG
*,int);
68 void get_palette(struct Screen
*,ULONG
*,int);
69 void open_screen(void);
70 void close_screen(void);
71 void get_colour_table(void);
72 void free_colour_table(struct ColorMap
*);
73 void loadrgb4(struct Screen
*,UWORD
*,int);
74 unsigned char getkeyshortcut(const char *str
);
78 int dooperationconfig(void);
79 int dosystemconfig(void);
80 void getnextgadget(struct Gadget
*);
82 void fixdisplaylengths(int);
83 int system_requester(char *,char *,struct Gadget
*,int);
84 void system_makeiconlist(int);
85 void system_showicon(char *,int);
86 void get_language_list(struct DOpusRemember
**);
87 void quicksort(char **,int,int);
88 void sortswap(char **,int,int);
92 int dogadgetconfig(void);
93 void showgadgets(struct dopusgadgetbanks
*,int);
94 void showgadgetname(struct newdopusfunction
*,struct Gadget
*);
96 struct dopusgadgetbanks
*lastbank(struct dopusgadgetbanks
*);
97 void dogadgetinfo(char *);
98 int domenuconfig(void);
100 void showmenuname(struct newdopusfunction
*,struct Gadget
*);
101 void showmenutext(char *,int,int,int,int);
102 void clearmenu(struct newdopusfunction
*);
103 int doinitmenutext(int);
104 void sortmenustrip(int);
105 void do_menuscreen_title(int);
109 int editfunction(struct dopusfunction
*func
,int,APTR
);
110 void setuplist(struct DOpusListView
*,int,int);
111 void makefunclist(char *,char **,char *);
112 void makedispfunc(char *,char,char *);
113 char *compilefunclist(char **,char *,struct DOpusRemember
**);
114 void freefunclist(char **);
115 void docolourbox(struct RastPort
*,int,int,int,int);
116 void docoloursel(struct RastPort
*,int,int,int);
117 void drawcompbox(struct RastPort
*,int,int,int,int);
118 void showkey(UWORD
,UWORD
,int,int,int,int);
119 void showfuncob(struct RastPort
*,char *,int,int,int,int,int);
120 void makeselflags(int,char *);
121 int getselflags(char *);
122 void checkmutflags(char *,int);
123 void editgadsoff(void);
124 void editgadson(int);
125 void deleteentry(char **,char *,char **,int);
127 void setupforedit(int,int);
128 void checkswapgad(void);
129 int funcrequester(int,char *,char *);
130 void makenewentry(char **,char *,char **,int);
131 void setupcolourbox(struct RastPort
*,int,int,int,int);
132 void getfiletypefunc(struct dopusfunction
*,struct dopusfiletype
*,int);
133 void makefiletypefunc(struct dopusfunction
*,struct dopusfiletype
*,int);
134 void fixeditfunction(struct dopusfunction
*,char *,char **,char *,int,int,APTR
,int);
135 void setupeditdisplay(struct dopusfunction
*,int,APTR
,int,char **,char **,char *,char *,int);
136 void erasefunction(struct dopusfunction
*,char **,char **,char *);
137 int fixfunctypelist(struct dopusfiletype
*);
138 void add_appobject(int);
139 void rem_appobject(int);
140 void do_gad_label(char *,int,int);
144 int dodriveconfig(void);
145 void showdrives(void);
146 void showdrivename(struct dopusfunction
*,struct Gadget
*);
147 int doinitdrivetext(int);
148 int docolourgad(struct RastPort
*,int,int,int,int,char *,int *,int *,int);
149 void driveeditoff(void);
150 void deletedrive(struct dopusfunction
*);
151 void sortdrivebank(int);
155 int dofiletypeconfig(void);
156 char **makefiletypelist(struct DOpusRemember
**);
157 void showtypelist(char **);
158 int doinitfiletypetext(int);
159 void filetypetitle(struct dopusfiletype
*);
160 int editfiletype(struct dopusfiletype
*,struct DOpusRemember
**,int);
161 int editclass(struct fileclass
*,int);
162 void addfiletype(struct dopusfiletype
*);
163 void readfileclasses(void);
164 int importfileclasses(void);
165 int savefileclasses(void);
166 int addfileclass(char *,char *,char *);
167 void freefileclasses(void);
168 void removefileclass(struct fileclass
*);
169 char **makeclasslist(struct DOpusRemember
**);
170 int readline(char *,int,char *,int);
171 int editfileclass(struct fileclass
*,int);
172 void makeeditclasslist(struct fileclass
*,char **,char *);
173 void dispclasslist(char **,char *,char **);
174 void seteditclassgads(int);
175 void removeclassentry(char **,char *,int);
176 void insertnewclass(char **,char *,int,char **,char *,int);
177 void endclassedit(int,char **,char *,char **);
178 void makeclassrecog(struct fileclass
*,unsigned char **,unsigned char *);
179 void checkclassswap(void);
180 void showclassop(int);
181 struct fileclass
*getfileclasslist(int);
182 void draw_file_view(void);
183 void free_file_view(void);
184 void load_file_view(void);
185 void file_view_text(char *,int);
186 void show_file_view(void);
187 void show_view_number(int,int);
188 void cursor_fileview(int);
192 int doscreenconfig(void);
193 void makescreenedit(int);
194 void removescreenedit(int);
196 /* screen_colors.c */
198 void showcolourvals(int,int);
199 void updatecolourvals(int,int);
200 void showscreencolours(int,char **,char **,int);
201 void solidblock(struct RastPort
*,char *,int,int,int,int,int,int,int);
202 void showcolourscycle(int,int,int);
204 /* screen_screenmode.c */
206 int initscreenmodes(void);
207 int addscreenmode(char *,UWORD
,UWORD
,UWORD
,UWORD
,UWORD
,UWORD
,UWORD
,ULONG
);
208 struct ScreenMode
*showdisplaydesc(void);
209 void fixmodegads(struct ScreenMode
*);
210 void fixdefaultgads(struct ScreenMode
*);
211 void sortscreenmodes(int,int);
212 struct ScreenMode
*getscreenmode(int);
216 int initfontlist(int,int,int);
217 void sortfontlist(struct AvailFonts
*,int,int);
218 void dofontdemo(char *,int);
220 /* screen_palette.c */
222 void showpalettegad(int);
223 void scalecol(ULONG
*);
224 void scalecolup(ULONG
*);
226 /* screen_arrows.c */
228 void showupdownslider(void);
229 void showleftrightslider(void);
230 void showstringgadget(void);
231 void showarrowborders(int,int);
232 void drawarrowrec(int);
233 void fixarrowgads(int);
235 /* screen_sliders.c */
237 void show_slider_setup(int,int,int);
245 void copyconfigonly(struct Config
*,struct Config
*);
246 int dolistwindow(char *,int,int,char **,int,char *,int *);
247 void copytoclip(struct dopusfunction
*,char **,char *,char *);
248 int pasteclip(struct dopusfunction
*,char **,char *,char **,char *);
249 void makefilebuffer(char *);
250 char *strstri(char *,char *);
254 int dohotkeysconfig(void);
255 void makehotkeylist(void);
256 int doedithotkey(struct dopushotkey
*);
257 void loadpalette(UWORD
*,ULONG
*,int);
258 void loadrgbtable(struct ViewPort
*,ULONG
*,int,int);
259 void drawcornerimage(struct RastPort
*,int,int,int,int);
260 int fixrmbimage(struct RMBGadget
*,struct Gadget
*,int,int,int);
261 void doradiobuttons(void);
262 void fix_gadget_border(struct Gadget
*);
263 void select_gadget(struct Gadget
*,int);
264 void fix_gadget_positions(void);
265 void fix_gad_pos(struct Gadget
*,short *);
270 void makehelpname(char *);
271 void doconfighelp(void);
272 void dohelpmsg(char *);
273 void load_clips(void);
274 void save_clips(void);
275 int readfile(char *,char **,int *);
276 void init_strings(void);
277 void setup_list_window(struct NewWindow
*,struct DOpusListView
*,struct Gadget
*,int);
281 void SwapMem(register char *src
__asm("a0"),register char *dst
__asm("a1"),register int size
__asm("d0"));
282 int lsprintf (char *,const char *,...);
286 void read_strings(void);
290 int get_paint_colours(int *,int *,int);
291 void do3dbox(int,int,int,int);
292 void fix_slider(struct Gadget
*);
293 struct Window
*openwindow(struct NewWindow
*);