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 librararies 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: Help.h /main/3 1995/10/26 12:23:24 rswiston $ */
24 /*
25  *  (c) Copyright 1993, 1994 Hewlett-Packard Company
26  *  (c) Copyright 1993, 1994 International Business Machines Corp.
27  *  (c) Copyright 1993, 1994 Sun Microsystems, Inc.
28  *  (c) Copyright 1993, 1994 Novell, Inc.
29  */
30 
31 #ifndef _Dt_Help_h
32 #define _Dt_Help_h
33 
34 #include <X11/Intrinsic.h>
35 
36 #ifdef __cplusplus
37 extern "C" {
38 #endif
39 
40 
41 /*
42  * Constants
43  */
44 
45 /* Common DtHelp Resources  */
46 
47 #ifndef DtNcloseCallback
48 #define DtNcloseCallback	   "closeCallback"
49 #endif
50 #ifndef DtNcolumns
51 #define DtNcolumns                 XmNcolumns
52 #endif
53 #ifndef DtNexecutionPolicy
54 #define DtNexecutionPolicy         "executionPolicy"
55 #endif
56 #ifndef DtNhelpFile
57 #define DtNhelpFile                "helpFile"
58 #endif
59 #ifndef DtNhelpOnHelpVolume
60 #define DtNhelpOnHelpVolume		"helpOnHelpVolume"
61 #endif
62 #ifndef DtNhelpPrint
63 #define DtNhelpPrint               "helpPrint"
64 #endif
65 #ifndef DtNhelpType
66 #define DtNhelpType                "helpType"
67 #endif
68 #ifndef DtNhelpVolume
69 #define DtNhelpVolume              "helpVolume"
70 #endif
71 #ifndef DtNhyperLinkCallback
72 #define DtNhyperLinkCallback       "hyperLinkCallback"
73 #endif
74 #ifndef DtNlocationId
75 #define DtNlocationId              "locationId"
76 #endif
77 #ifndef DtNmanPage
78 #define DtNmanPage                 "manPage"
79 #endif
80 #ifndef DtNminimizeButtons
81 #define DtNminimizeButtons         XmNminimizeButtons
82 #endif
83 #ifndef DtNpaperSize
84 #define DtNpaperSize               "paperSize"
85 #endif
86 #ifndef DtNprinter
87 #define DtNprinter                 "printer"
88 #endif
89 #ifndef DtNrows
90 #define DtNrows                    XmNrows
91 #endif
92 #ifndef DtNscrollBarPolicy
93 #define DtNscrollBarPolicy         "scrollBarPolicy"
94 #endif
95 #ifndef DtNstringData
96 #define DtNstringData              "stringData"
97 #endif
98 
99 #ifndef DtCCallback
100 #define DtCCallback                XmCCallback
101 #endif
102 
103 #ifndef DtCCloseCallback
104 #define DtCCloseCallback	   "CloseCallback"
105 #endif
106 #ifndef DtCColumns
107 #define DtCColumns                 XmCColumns
108 #endif
109 #ifndef DtCExecutionPolicy
110 #define DtCExecutionPolicy         "ExecutionPolicy"
111 #endif
112 #ifndef DtCHelpFile
113 #define DtCHelpFile                "HelpFile"
114 #endif
115 #ifndef DtCHelpOnHelpVolume
116 #define DtCHelpOnHelpVolume	   "HelpOnHelpVolume"
117 #endif
118 #ifndef DtCHelpPrint
119 #define DtCHelpPrint               "HelpPrint"
120 #endif
121 #ifndef DtCHelpType
122 #define DtCHelpType                "HelpType"
123 #endif
124 #ifndef DtCHelpVolume
125 #define DtCHelpVolume              "HelpVolume"
126 #endif
127 #ifndef DtCHyperLinkCallback
128 #define DtCHyperLinkCallback       "HyperLinkCallback"
129 #endif
130 #ifndef DtCLocationId
131 #define DtCLocationId              "LocationId"
132 #endif
133 #ifndef DtCManPage
134 #define DtCManPage                 "ManPage"
135 #endif
136 #ifndef DtCMinimizeButtons
137 #define DtCMinimizeButtons         XmCMinimizeButtons
138 #endif
139 #ifndef DtCPaperSize
140 #define DtCPaperSize               "PaperSize"
141 #endif
142 #ifndef DtCPrinter
143 #define DtCPrinter                 "Printer"
144 #endif
145 #ifndef DtCRows
146 #define DtCRows                    XmCRows
147 #endif
148 #ifndef DtCScrollBarPolicy
149 #define DtCScrollBarPolicy         "ScrollBarPolicy"
150 #endif
151 #ifndef DtCStringData
152 #define DtCStringData              "StringData"
153 #endif
154 
155 /* Representation types */
156 
157 #ifndef DtRDtExecutionPolicy
158 #define DtRDtExecutionPolicy         "DtExecutionPolicy"
159 #endif
160 #ifndef DtRDtHelpType
161 #define DtRDtHelpType                "DtHelpType"
162 #endif
163 #ifndef DtRDtPaperSize
164 #define DtRDtPaperSize               "DtPaperSize"
165 #endif
166 #ifndef DtRDtScrollBarPolicy
167 #define DtRDtScrollBarPolicy         "DtScrollBarPolicy"
168 #endif
169 
170 /* DtHelpDialogCallbackStruct windowHint field */
171 
172 #define DtHELP_POPUP_WINDOW       1
173 #define DtHELP_CURRENT_WINDOW     2
174 #define DtHELP_NEW_WINDOW         3
175 
176 /* DtHelpDialogCallbackStruct hyperType field */
177 
178 #define DtHELP_LINK_JUMP_NEW          1
179 #define DtHELP_LINK_TOPIC             1
180 #define DtHELP_LINK_MAN_PAGE          4
181 #define DtHELP_LINK_APP_DEFINE        5
182 #define DtHELP_LINK_TEXT_FILE         8
183 
184 /* DtHelpDialogCallbackStruct reason field */
185 
186 #define DtCR_HELP_LINK_ACTIVATE      1
187 #define DtCR_HELP_CLOSE              2
188 #define DtCR_HELP_HELP               3
189 
190 /* Possible values for DtNscrollBarPolicy resource */
191 
192 #define  DtHELP_NO_SCROLLBARS        0
193 #define  DtHELP_STATIC_SCROLLBARS    1
194 #define  DtHELP_AS_NEEDED_SCROLLBARS 2
195 
196 /* Possible values for DtNexecutionPolicy resource */
197 #define  DtHELP_EXECUTE_NONE			0
198 #define  DtHELP_EXECUTE_QUERY_ALL		1
199 #define  DtHELP_EXECUTE_QUERY_UNALIASED		2
200 #define  DtHELP_EXECUTE_ALL			3
201 
202 /* Possible values for DtNhelpType resource */
203 
204 #define DtHELP_TYPE_TOPIC           0
205 #define DtHELP_TYPE_STRING          1
206 #define DtHELP_TYPE_MAN_PAGE        2
207 #define DtHELP_TYPE_FILE            3
208 #define DtHELP_TYPE_DYNAMIC_STRING  4
209 
210 /* Possible values for DtNpaperSize resource */
211 
212 #define DtHELP_PAPERSIZE_LETTER     0
213 #define DtHELP_PAPERSIZE_LEGAL      1
214 #define DtHELP_PAPERSIZE_EXECUTIVE  2
215 #define DtHELP_PAPERSIZE_A4         3
216 #define DtHELP_PAPERSIZE_B5         4
217 
218 /* DtHelpQuickGetChildGetChild() function */
219 
220 #define DtHELP_QUICK_CLOSE_BUTTON    1
221 #define DtHELP_QUICK_PRINT_BUTTON    2
222 #define DtHELP_QUICK_HELP_BUTTON     3
223 #define DtHELP_QUICK_SEPARATOR       4
224 #define DtHELP_QUICK_MORE_BUTTON     5
225 #define DtHELP_QUICK_BACK_BUTTON     6
226 
227 /* Return values for DtHelpReturnSelectedWidgetId() */
228 
229 #define DtHELP_SELECT_ERROR   -1
230 #define DtHELP_SELECT_VALID    0
231 #define DtHELP_SELECT_ABORT    1
232 #define DtHELP_SELECT_INVALID  2
233 
234 
235 /*
236  * Types
237  */
238 
239 typedef struct {
240 	int	reason;
241 	XEvent	*event;
242 	char	*locationId;
243 	char	*helpVolume;
244 	char	*specification;
245 	int	hyperType;
246 	int	windowHint;
247 } DtHelpDialogCallbackStruct;
248 
249 
250 /*
251  * Functions
252  */
253 
254 extern void DtHelpSetCatalogName(
255 		char		*catFile);
256 
257 extern int DtHelpReturnSelectedWidgetId(
258 		Widget		parent,
259 		Cursor		cursor,
260 		Widget		*widget);
261 
262 #ifdef __cplusplus
263 }
264 #endif
265 
266 #endif /* _Dt_Help_h */
267