1 /*
2 **
3 ** FileSel.h
4 **
5 ** Copyright (C) 1995, 1996, 1997 Johannes Plass
6 ** Copyright (C) 2004 Jose E. Marchesi
7 **
8 ** This program is free software; you can redistribute it and/or modify
9 ** it under the terms of the GNU General Public License as published by
10 ** the Free Software Foundation; either version 3 of the License, or
11 ** (at your option) any later version.
12 **
13 ** This program is distributed in the hope that it will be useful,
14 ** but WITHOUT ANY WARRANTY; without even the implied warranty of
15 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16 ** GNU General Public License for more details.
17 **
18 ** You should have received a copy of the GNU General Public License
19 ** along with GNU gv; see the file COPYING.  If not, write to
20 ** the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
21 ** Boston, MA 02111-1307, USA.
22 **
23 ** Author:   Johannes Plass (plass@thep.physik.uni-mainz.de)
24 **           Department of Physics
25 **           Johannes Gutenberg-University
26 **           Mainz, Germany
27 **
28 **           Jose E. Marchesi (jemarch@gnu.org)
29 **           GNU Project
30 **
31 */
32 
33 
34 #ifndef _XawFileSelection_h
35 #define _XawFileSelection_h
36 
37 #include INC_X11(Xfuncproto.h)
38 
39 #define XawFileSelectionRescan 	        (1<<0)
40 #define XawFileSelectionFilter 	        (1<<1)
41 #define XawFileSelectionDefaultScan 	(1<<2)
42 #define XawFileSelectionDone 		(1<<3)
43 #define XawFileSelectionCancel 	        (1<<4)
44 
45 /* New Fields */
46 
47 #define XtNreverseScrolling "reverseScrolling"
48 #define XtCReverseScrolling "ReverseScrolling"
49 
50 #define XtNtmpDir "tmpDir"
51 #define XtCTmpDir "TmpDir"
52 
53 #define XtNpath "path"
54 #define XtCPath "Path"
55 
56 #define XtNfilter "filter"
57 #define XtCFilter "Filter"
58 
59 #define XtNfilters "filters"
60 #define XtCFilters "Filters"
61 
62 #define XtNdirs "dirs"
63 #define XtCDirs "Dirs"
64 
65 #define XtNhighlightPixel "highlightPixel"
66 #define XtCHighlightPixel "HighlightPixel"
67 
68 #define XtNbuttons "buttons"
69 #define XtCButtons "Buttons"
70 
71 #define XtNpreferredButton "preferredButton"
72 #define XtCPreferredButton "PreferredButton"
73 
74 /* Class record constant */
75 
76 extern WidgetClass file_selectionWidgetClass;
77 
78 typedef struct _FileSelectionClassRec	*FileSelectionWidgetClass;
79 typedef struct _FileSelectionRec	*FileSelectionWidget;
80 
81 /*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
82    PUBLIC ROUTINES
83 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=*/
84 
85 _XFUNCPROTOBEGIN
86 
87 extern void			XawFileSelectionSetPath (
88     Widget		/* FileSelectionWidget */,
89     String		/* String to set */
90 );
91 
92 extern char *			XawFileSelectionGetPath (
93     Widget		/* FileSelectionWidget */
94 );
95 
96 extern void			XawFileSelectionScan (
97     Widget		/* FileSelectionWidget */,
98     int			/* indicates the scan mode */
99 );
100 
101 extern void			XawFileSelectionAddButton (
102    Widget              /* FileSelectionWidget */,
103    int                 /* indicates the desired button position */,
104    XtCallbackProc      /* callback for the button */,
105    XtPointer           /* callback parameter */
106 );
107 
108 extern void			XawFileSelectionRemoveButton (
109    Widget               /* FileSelectionWidget */,
110    int                  /* indicates the position of the button */
111 );
112 
113 extern void			XawFileSelectionPreferButton (
114    Widget               /* FileSelectionWidget */,
115    int                  /* indicates the position of the button */
116 );
117 
118 _XFUNCPROTOEND
119 
120 #endif /* _FileSelection_h */
121