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