Initial import of the CDE 2.1.30 sources from the Open Group.
[oweals/cde.git] / cde / programs / dtcreate / dtcreate.h
1 /* $XConsortium: dtcreate.h /main/5 1996/09/17 11:01:43 rswiston $ */
2 /***************************************************************************/
3 /*                                                                         */
4 /*  dtcreate.h                                                             */
5 /*                                                                         */
6 /***************************************************************************/
7
8 #ifndef _DTCREATE_H_INCLUDED
9 #define _DTCREATE_H_INCLUDED
10
11 #define __TOOLTALK
12
13 #include <Xm/Xm.h>
14 #include <nl_types.h>
15 #include <sys/param.h>
16
17 #ifndef STORAGECLASS
18 #ifdef  NOEXTERN
19 #define STORAGECLASS
20 #else
21 #define STORAGECLASS extern
22 #endif
23 #endif
24
25 /***************************************************************************/
26 /*                                                                         */
27 /*  Constant Declarations                                                  */
28 /*                                                                         */
29 /***************************************************************************/
30 #define TRUE                  1
31 #define FALSE                 0
32 #define Psz                   (char *)
33
34 #define MAXFILENAME           MAXPATHLEN
35 #define MAXBUFSIZE            256
36
37         /*******************************************************************/
38         /* Icon Sizes                                                      */
39         /*******************************************************************/
40 #define CA_LRG_ICON_SIZE      48
41 #define CA_MED_ICON_SIZE      32
42 #define CA_SML_ICON_SIZE      24
43 #define CA_TINY_ICON_SIZE     16
44
45         /*******************************************************************/
46         /* FILE SELECTION WIDGET VALUES                                    */
47         /*******************************************************************/
48 #define CA_ACTION_ICONS        1
49 #define CA_FILETYPE_ICONS      2
50 #define CA_FILE                3
51
52         /*******************************************************************/
53         /* ActionData fsFlags values                                       */
54         /*******************************************************************/
55 #define CA_WT_XWINDOWS        0x0001
56 #define CA_WT_TERM            0x0002
57 #define CA_WT_PERMTERM        0x0004
58 #define CA_WT_SHELLTERM       0x0008
59
60 #define CA_DF_ONLYFTFILES     0x0010
61
62         /*******************************************************************/
63         /* Filetype flags.                                                 */
64         /*******************************************************************/
65 #define CA_FT_CNTSTRING       0x0001
66 #define CA_FT_CNTBYTE         0x0002
67 #define CA_FT_CNTSHORT        0x0004
68 #define CA_FT_CNTLONG         0x0008
69
70         /*******************************************************************/
71         /* Filetype Internal flags                                         */
72         /*******************************************************************/
73 #define CA_FT_APPLY           0x0001
74 #define CA_FT_EDIT            0x0002
75
76         /*******************************************************************/
77         /* Icon filename extensions                                        */
78         /*******************************************************************/
79 #define LARGE_EXT             ".l"
80 #define MEDIUM_EXT            ".m"
81 #define SMALL_EXT             ".t"
82 #define TINY_EXT              ".t"
83
84 #define PIXMAP_EXT            ".pm"
85 #define BITMAP_EXT            ".bm"
86 #define MAX_EXT_SIZE          5
87
88 #define EXT_DELIMITER         '.'
89
90 #define ICON_BORDER_WIDTH     1
91 #define ICON_NUMBER           5
92
93         /*******************************************************************/
94         /* Help Ids                                                        */
95         /*******************************************************************/
96 #define HELP_OVERVIEW         1
97 #define HELP_TASKS            2
98 #define HELP_REFERENCE        3
99 #define HELP_USING            4
100 #define HELP_ABOUT            5
101 #define HELP_ONITEM           6
102
103 #define HELP_ADDFILETYPE      10
104 #define HELP_FILECHAR         20
105 #define HELP_ICONSELECTOR     30
106 #define HELP_OPENFILE         40
107
108 /*****************************************************************************/
109 /*                                                                           */
110 /*  enums                                                                    */
111 /*                                                                           */
112 /*****************************************************************************/
113 enum icon_size_range {None_Selected, Large_Icon, Medium_Icon, Small_Icon, Tiny_Icon};
114 enum icon_data_range {CA_LRG, CA_MED, CA_TINY, AF_MED, AF_TINY};
115
116 /***************************************************************************/
117 /*                                                                         */
118 /*  Structure Declarations                                                 */
119 /*                                                                         */
120 /***************************************************************************/
121 typedef struct _FiletypeData *pFiletypeData;
122 typedef struct _FiletypeData {
123         char           *pszName;
124         char           *pszIcon;
125         char           *pszMedPmIcon;
126         char           *pszMedBmIcon;
127         char           *pszTinyPmIcon;
128         char           *pszTinyBmIcon;
129         char           *pszHelp;
130         char           *pszOpenCmd;
131         char           *pszPrintCmd;
132         char           *pszPattern;
133         char           *pszPermissions;
134         char           *pszContents;
135         int            sStart;
136         int            sEnd;
137         ushort         fsFlags;
138         ushort         fsInternal;
139 } FiletypeData;
140
141 typedef struct _ActionData *pActionData;
142 typedef struct _ActionData {
143         char           *pszName;
144         char           *pszIcon;
145         char           *pszCmd;
146         char           *pszHelp;
147         char           *pszPrompt;
148         FiletypeData   **papFiletypes;
149         short          cFiletypes;
150         ushort         fsFlags;
151 } ActionData;
152
153 typedef struct {
154     char               *pszSessionFile;
155     Boolean            useSession;
156     Boolean            showExpert;
157     int                iconicState;
158     Position           x, y;
159     Dimension          width, height;
160     char               workspaces[256];
161 } SessionData, *SessionDataPtr;
162
163 typedef struct {
164     Widget                wid;
165     char                  *pmMsgID;
166     char                  *bmMsgID;
167     char                  pmFileName[MAXPATHLEN];
168     char                  bmFileName[MAXPATHLEN];
169     Boolean               pmDirtyBit;
170     Boolean               bmDirtyBit;
171     enum icon_size_range  size;
172 } IconData, *IconDataPtr;
173
174 /***************************************************************************/
175 /*                                                                         */
176 /*  Macro Declarations                                                     */
177 /*                                                                         */
178 /***************************************************************************/
179 #define GETMESSAGE(set, number, defstr) catgets(nlmsg_fd, set, number, defstr)
180
181 /***************************************************************************/
182 /*                                                                         */
183 /*  Global Variable Declarations                                           */
184 /*                                                                         */
185 /***************************************************************************/
186
187         /*******************************************************************/
188         /* Global variables that are not being initialized.                */
189         /*******************************************************************/
190
191 STORAGECLASS  ActionData   AD;
192 STORAGECLASS  ActionData   *pMyCopyAD;
193 STORAGECLASS  char         *pszFileToEdit;
194 STORAGECLASS  Cursor       watch_cursor;
195 STORAGECLASS  Widget       widEditSource;
196 STORAGECLASS  Boolean      bIconEditorDisplayed;
197 STORAGECLASS  nl_catd      nlmsg_fd;
198 STORAGECLASS  char         *pszExecName;
199 STORAGECLASS  Widget       widSelectedIcon;
200 STORAGECLASS  Boolean      bLowRes;
201 STORAGECLASS  IconData     *IconDataList[ICON_NUMBER];
202
203                  /**********************************************************/
204                  /* CreateActionAppShell  globals.                         */
205                  /**********************************************************/
206
207 STORAGECLASS  Widget       CreateActionAppShell;
208 STORAGECLASS  Widget       ExpertOption;
209 STORAGECLASS  Widget       ColorMonoOption;
210 STORAGECLASS  Widget       CA_ActionNameTextField;
211 STORAGECLASS  Widget       CA_MED_IconGadget;
212 STORAGECLASS  Widget       CA_SML_IconGadget;
213 STORAGECLASS  Widget       CA_TINY_IconGadget;
214 STORAGECLASS  Widget       CA_LRG_IconGadget;
215 STORAGECLASS  Widget       CA_DblClkText;
216 STORAGECLASS  Widget       XprtOptionForm;
217 STORAGECLASS  Widget       CA_XprtActionOpenText;
218 STORAGECLASS  Widget       CA_FiletypesList;
219 STORAGECLASS  Widget       CA_WindowTypeArea;
220 STORAGECLASS  Widget       CA_WindowType;
221 STORAGECLASS  Widget       CA_Expand;
222 #if 0
223 STORAGECLASS  Widget       CA_WindowType_OptionMenuShell;
224 STORAGECLASS  Widget       CA_WindowType_Pane;
225 #endif
226 STORAGECLASS  Widget       CA_WinTypeX;
227 STORAGECLASS  Widget       CA_WinTypeAutoClose;
228 STORAGECLASS  Widget       CA_WinTypeManualClose;
229 STORAGECLASS  Widget       CA_WinTypeNoOutput;
230 STORAGECLASS  Widget       CA_HelpTextWindow;
231 STORAGECLASS  Widget       CA_HelpText;
232 STORAGECLASS  Widget       CA_AllFiletypesToggle;
233 STORAGECLASS  Widget       CA_FiletypesInListToggle;
234
235                  /**********************************************************/
236                  /* AddFiletype  globals.                                  */
237                  /**********************************************************/
238
239 STORAGECLASS  Widget       AddFiletype;
240 STORAGECLASS  Widget       AF_FileTypeNameTextField;
241 STORAGECLASS  Widget       AF_IdCharacteristicsText;
242 STORAGECLASS  Widget       AF_IdCharacteristicsEdit;
243 STORAGECLASS  Widget       AF_FiletypePrintCmdTextField;
244 STORAGECLASS  Widget       AF_OpenCmdText;
245 STORAGECLASS  Widget       AF_FiletypeHelpText;
246 STORAGECLASS  Widget       AF_MED_IconGadget;
247 STORAGECLASS  Widget       AF_TINY_IconGadget;
248
249                  /**********************************************************/
250                  /* FileCharacteristics  globals                           */
251                  /**********************************************************/
252
253 STORAGECLASS  Widget       FileCharacteristics;
254 STORAGECLASS  Widget       FC_DirectoryToggle;
255 STORAGECLASS  Widget       FC_FileToggle;
256 STORAGECLASS  Widget       FC_AndLabel2;
257 STORAGECLASS  Widget       FC_ContentsPatternText;
258 STORAGECLASS  Widget       FC_StringToggle;
259 STORAGECLASS  Widget       FC_ByteToggle;
260 STORAGECLASS  Widget       FC_ShortToggle;
261 STORAGECLASS  Widget       FC_LongToggle;
262 STORAGECLASS  Widget       FC_StartByteTextField;
263 /*
264 STORAGECLASS  Widget       FC_EndByteTextField;
265 */
266 STORAGECLASS  Widget       FC_NameOrPathText;
267 STORAGECLASS  Widget       FC_AndLabel1;
268 STORAGECLASS  Widget       FC_PermissionForm;
269 STORAGECLASS  Widget       FC_ReadToggle;
270 STORAGECLASS  Widget       FC_WriteToggle;
271 STORAGECLASS  Widget       FC_ExecuteToggle;
272
273 STORAGECLASS  Widget       FC_NamePatternLabel;
274 STORAGECLASS  Widget       FC_PermissionLabel;
275 STORAGECLASS  Widget       FC_PermissionToggle;
276 STORAGECLASS  Widget       FC_ContentsLabel;
277 STORAGECLASS  Widget       FC_ContentsBox;
278 STORAGECLASS  Widget       FC_TypeRowColumn;
279 STORAGECLASS  Widget       FC_StartByteLabel;
280 STORAGECLASS  Widget       FC_TypeLabel;
281 STORAGECLASS  Widget       FC_ContentsPatternLabel;
282 /*
283 STORAGECLASS  Widget       FC_EndByteLabel;
284 */
285 STORAGECLASS  Widget       FC_ContentsToggle;
286 STORAGECLASS  Widget       FC_NameOrPathToggle;
287
288                  /**********************************************************/
289                  /* icon_selection_dialog  globals                         */
290                  /**********************************************************/
291 STORAGECLASS  Widget       ISD_SelectedIconTextField;
292
293                  /**********************************************************/
294                  /* Other dialog globals                                   */
295                  /**********************************************************/
296 STORAGECLASS  SessionData  sessiondata;
297
298         /*******************************************************************/
299         /* Global variables that are being initialized.                    */
300         /*******************************************************************/
301
302 #ifdef  NOEXTERN
303
304 STORAGECLASS  enum icon_size_range action_icon_size = None_Selected;
305 STORAGECLASS  enum icon_size_range filetype_icon_size = None_Selected;
306 STORAGECLASS  int     pidIconEditor = 0;
307 STORAGECLASS  Boolean bShowPixmaps = TRUE;
308 STORAGECLASS  Widget  IconSelector = (Widget)NULL;
309 STORAGECLASS  Boolean DbInitDone = FALSE;
310 STORAGECLASS  Widget  OpenFile = (Widget)NULL;
311 STORAGECLASS  Widget  Confirmed = (Widget)NULL;
312 STORAGECLASS  Widget  QuestionDialog = (Widget)NULL;
313 STORAGECLASS  Widget  ErrorDialog = (Widget)NULL;
314 STORAGECLASS  Widget  last_action_pushed = (Widget)NULL;
315 STORAGECLASS  Widget  last_filetype_pushed = (Widget)NULL;
316
317
318 STORAGECLASS  const char *ca_icon_default = "Dtactn";
319 STORAGECLASS  const char *ca_full_icon_default =  "/usr/dt/appconfig/icons/C/Dtactn";
320 STORAGECLASS  const char *ca_lrg_icon_default =  "/usr/dt/appconfig/icons/C/Dtactn.l";
321 STORAGECLASS  const char *ca_med_icon_default =  "/usr/dt/appconfig/icons/C/Dtactn.m";
322 STORAGECLASS  const char *ca_sml_icon_default =  "/usr/dt/appconfig/icons/C/Dtactn.s";
323 STORAGECLASS  const char *ca_tiny_icon_default = "/usr/dt/appconfig/icons/C/Dtactn.t";
324
325 STORAGECLASS  const char *af_icon_default = "Dtdata";
326 STORAGECLASS  const char *af_full_icon_default =  "/usr/dt/appconfig/icons/C/Dtdata";
327 STORAGECLASS  const char *af_lrg_icon_default =  "/usr/dt/appconfig/icons/C/Dtdata.l";
328 STORAGECLASS  const char *af_med_icon_default =  "/usr/dt/appconfig/icons/C/Dtdata.m";
329 STORAGECLASS  const char *af_sml_icon_default =  "/usr/dt/appconfig/icons/C/Dtdata.s";
330 STORAGECLASS  const char *af_tiny_icon_default = "/usr/dt/appconfig/icons/C/Dtdata.t";
331
332 #else  /* NOEXTERN */
333
334 STORAGECLASS  enum icon_size_range action_icon_size;
335 STORAGECLASS  enum icon_size_range filetype_icon_size;
336 STORAGECLASS  int     pidIconEditor;
337 STORAGECLASS  Boolean bShowPixmaps;
338 STORAGECLASS  Widget  IconSelector;
339 STORAGECLASS  Boolean DbInitDone;
340 STORAGECLASS  Widget  OpenFile;
341 STORAGECLASS  Widget  Confirmed;
342 STORAGECLASS  Widget  QuestionDialog;
343 STORAGECLASS  Widget  ErrorDialog;
344 STORAGECLASS  Widget  last_action_pushed;
345 STORAGECLASS  Widget  last_filetype_pushed;
346
347
348 STORAGECLASS  const char *ca_icon_default;
349 STORAGECLASS  const char *ca_full_icon_default;
350 STORAGECLASS  const char *ca_lrg_icon_default;
351 STORAGECLASS  const char *ca_med_icon_default;
352 STORAGECLASS  const char *ca_sml_icon_default;
353 STORAGECLASS  const char *ca_tiny_icon_default;
354
355 STORAGECLASS  const char *af_icon_default;
356 STORAGECLASS  const char *af_full_icon_default;
357 STORAGECLASS  const char *af_lrg_icon_default;
358 STORAGECLASS  const char *af_med_icon_default;
359 STORAGECLASS  const char *af_sml_icon_default;
360 STORAGECLASS  const char *af_tiny_icon_default;
361
362 #endif /*  NOEXTERN */
363
364 #endif /* _DTCREATE_H_INCLUDED */