2 * CDE - Common Desktop Environment
4 * Copyright (c) 1993-2012, The Open Group. All rights reserved.
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)
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
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
23 /* $XConsortium: help.c /main/4 1995/11/02 14:05:18 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 Unix System Labs, Inc., a subsidiary of
30 **********************************************************************/
31 /******************************************************************************
34 ** Description: X11-based multi-color icon editor
36 ** File: help.c, which contains the following subroutines or
38 ** AssignHelpCallbacks()
43 ** HelpSetVolAndLocation()
46 ** DisplayHelpDialog()
49 ******************************************************************************
51 ** Copyright 1991 by Hewlett-Packard Company, 1990, 1991, 1992.
52 ** All rights are reserved. Copying or reproduction of this program,
53 ** except for archival purposes, is prohibited without prior written
54 ** consent of Hewlett-Packard Company.
56 ** Hewlett-Packard makes no representations about the suitibility of this
57 ** software for any purpose. It is provided "as is" without express or
60 ******************************************************************************/
63 #include <Xm/DialogS.h>
65 #include <Xm/MwmUtil.h>
66 #include <Dt/HelpDialog.h>
70 extern Widget circleButton, editMenu_addHS_pb, editMenu_clear_pb;
71 extern Widget editMenu_copy_pb, editMenu_cut_pb, editMenu_deleteHS_pb;
72 extern Widget editMenu_flip_pb, editMenu_paste_pb, editMenu_resize_pb;
73 extern Widget editMenu_rotate_pb, editMenu_scale_pb, editMenu_top_pb;
74 extern Widget editMenu_undo_pb, ellipseButton, eraseButton, floodButton;
75 extern Widget fileMenu_new_pb, fileMenu_open_pb, fileMenu_quit_pb;
76 extern Widget fileMenu_saveAs_pb, fileMenu_save_pb, fileMenu_top_pb;
77 extern Widget lineButton, menu1, optionsMenu_format, optionsMenu_grid;
78 extern Widget optionsMenu_magnify, optionsMenu_top_pb, pointButton;
79 extern Widget polygonButton, polylineButton, queryDialog, rectangleButton;
80 extern Widget selectButton, fillToggle;
81 extern Widget editMenu_grabImage_pb;
82 extern Widget helpMenu_top_pb, helpMenu_intro_pb, helpMenu_tasks_pb,
83 helpMenu_ref_pb, helpMenu_item_pb, helpMenu_using_pb,
85 extern Widget rotateMenu, flipMenu, formatMenu, magnificationMenu;
86 extern Widget staticColorsBox, symbolicColorsBox, staticGreysBox;
87 extern Widget viewport;
89 void HelpTriggerCB(Widget w, caddr_t client_data, caddr_t call_data);
90 void HelpOnItemCB(Widget w, caddr_t client_data, caddr_t call_data);
91 void HelpSetVolAndLocation(int topic);
92 void DisplayNewHelp(char *helpVolume, char *locationId);
93 void DisplayHelp(char *helpVolume, char *locationId);
94 void DisplayHelpDialog(Widget dialog, char *helpVolume, char *locationId);
95 Widget CreateHelpDialog(HelpStruct *pHelp);
99 AssignHelpCallbacks( void )
103 stat_out("Entering AssignHelpCallbacks\n");
106 /*** Set Help callbacks for the graphic tools ***/
107 XtAddCallback(pointButton, XmNhelpCallback,
108 (XtCallbackProc) HelpTriggerCB,
109 (XtPointer)HELP_POINT_BUTTON);
110 XtAddCallback(floodButton, XmNhelpCallback,
111 (XtCallbackProc) HelpTriggerCB,
112 (XtPointer)HELP_FLOOD_BUTTON);
113 XtAddCallback(lineButton, XmNhelpCallback,
114 (XtCallbackProc) HelpTriggerCB,
115 (XtPointer)HELP_LINE_BUTTON);
116 XtAddCallback(polylineButton, XmNhelpCallback,
117 (XtCallbackProc) HelpTriggerCB,
118 (XtPointer)HELP_POLYLINE_BUTTON);
119 XtAddCallback(rectangleButton, XmNhelpCallback,
120 (XtCallbackProc) HelpTriggerCB,
121 (XtPointer)HELP_RECTANGLE_BUTTON);
122 XtAddCallback(polygonButton, XmNhelpCallback,
123 (XtCallbackProc) HelpTriggerCB,
124 (XtPointer)HELP_POLYGON_BUTTON);
125 XtAddCallback(circleButton, XmNhelpCallback,
126 (XtCallbackProc) HelpTriggerCB,
127 (XtPointer)HELP_CIRCLE_BUTTON);
128 XtAddCallback(ellipseButton, XmNhelpCallback,
129 (XtCallbackProc) HelpTriggerCB,
130 (XtPointer)HELP_ELLIPSE_BUTTON);
131 XtAddCallback(eraseButton, XmNhelpCallback,
132 (XtCallbackProc) HelpTriggerCB,
133 (XtPointer)HELP_ERASER_BUTTON);
134 XtAddCallback(selectButton, XmNhelpCallback,
135 (XtCallbackProc) HelpTriggerCB,
136 (XtPointer)HELP_SELECT_BUTTON);
137 XtAddCallback(fillToggle, XmNhelpCallback,
138 (XtCallbackProc) HelpTriggerCB,
139 (XtPointer)HELP_FILL_BUTTON);
141 /*** Set Help callbacks for the pen groups ***/
142 XtAddCallback(staticColorsBox, XmNhelpCallback,
143 (XtCallbackProc) HelpTriggerCB,
144 (XtPointer)HELP_STATIC_COLOR_BUTTON);
145 XtAddCallback(staticGreysBox, XmNhelpCallback,
146 (XtCallbackProc) HelpTriggerCB,
147 (XtPointer)HELP_STATIC_GREY_BUTTON);
148 XtAddCallback(symbolicColorsBox, XmNhelpCallback,
149 (XtCallbackProc) HelpTriggerCB,
150 (XtPointer)HELP_DYNAMIC_COLOR_BUTTON);
152 /*** Set Help callbacks for the File menu ***/
153 XtAddCallback(fileMenu_top_pb, XmNhelpCallback,
154 (XtCallbackProc) HelpTriggerCB,
155 (XtPointer)HELP_FILE_BUTTON);
156 XtAddCallback(fileMenu_new_pb, XmNhelpCallback,
157 (XtCallbackProc) HelpTriggerCB,
158 (XtPointer)HELP_NEW_BUTTON);
159 XtAddCallback(fileMenu_open_pb, XmNhelpCallback,
160 (XtCallbackProc) HelpTriggerCB,
161 (XtPointer)HELP_OPEN_BUTTON);
162 XtAddCallback(fileMenu_save_pb, XmNhelpCallback,
163 (XtCallbackProc) HelpTriggerCB,
164 (XtPointer)HELP_SAVE_BUTTON);
165 XtAddCallback(fileMenu_saveAs_pb, XmNhelpCallback,
166 (XtCallbackProc) HelpTriggerCB,
167 (XtPointer)HELP_SAVE_AS_BUTTON);
168 XtAddCallback(fileMenu_quit_pb, XmNhelpCallback,
169 (XtCallbackProc) HelpTriggerCB,
170 (XtPointer)HELP_QUIT_BUTTON);
172 /*** Set Help callbacks for the Edit menu ***/
173 XtAddCallback(editMenu_top_pb, XmNhelpCallback,
174 (XtCallbackProc) HelpTriggerCB,
175 (XtPointer)HELP_EDIT_BUTTON);
176 XtAddCallback(editMenu_undo_pb, XmNhelpCallback,
177 (XtCallbackProc) HelpTriggerCB,
178 (XtPointer)HELP_UNDO_BUTTON);
179 XtAddCallback(editMenu_cut_pb, XmNhelpCallback,
180 (XtCallbackProc) HelpTriggerCB,
181 (XtPointer)HELP_CUT_BUTTON);
182 XtAddCallback(editMenu_copy_pb, XmNhelpCallback,
183 (XtCallbackProc) HelpTriggerCB,
184 (XtPointer)HELP_COPY_BUTTON);
185 XtAddCallback(editMenu_paste_pb, XmNhelpCallback,
186 (XtCallbackProc) HelpTriggerCB,
187 (XtPointer)HELP_PASTE_BUTTON);
188 XtAddCallback(editMenu_rotate_pb, XmNhelpCallback,
189 (XtCallbackProc) HelpTriggerCB,
190 (XtPointer)HELP_ROTATE_BUTTON);
191 XtAddCallback(rotateMenu, XmNhelpCallback,
192 (XtCallbackProc) HelpTriggerCB,
193 (XtPointer)HELP_ROTATE_BUTTON);
194 XtAddCallback(editMenu_flip_pb, XmNhelpCallback,
195 (XtCallbackProc) HelpTriggerCB,
196 (XtPointer)HELP_FLIP_BUTTON);
197 XtAddCallback(flipMenu, XmNhelpCallback,
198 (XtCallbackProc) HelpTriggerCB,
199 (XtPointer)HELP_FLIP_BUTTON);
200 XtAddCallback(editMenu_scale_pb, XmNhelpCallback,
201 (XtCallbackProc) HelpTriggerCB,
202 (XtPointer)HELP_SCALE_BUTTON);
203 XtAddCallback(editMenu_resize_pb, XmNhelpCallback,
204 (XtCallbackProc) HelpTriggerCB,
205 (XtPointer)HELP_RESIZE_ICON_BUTTON);
206 XtAddCallback(editMenu_addHS_pb, XmNhelpCallback,
207 (XtCallbackProc) HelpTriggerCB,
208 (XtPointer)HELP_ADD_HOTSPOT_BUTTON);
209 XtAddCallback(editMenu_deleteHS_pb, XmNhelpCallback,
210 (XtCallbackProc) HelpTriggerCB,
211 (XtPointer)HELP_DELETE_HOTSPOT_BUTTON);
212 XtAddCallback(editMenu_grabImage_pb, XmNhelpCallback,
213 (XtCallbackProc) HelpTriggerCB,
214 (XtPointer)HELP_GRAB_BUTTON);
215 XtAddCallback(editMenu_clear_pb, XmNhelpCallback,
216 (XtCallbackProc) HelpTriggerCB,
217 (XtPointer)HELP_CLEAR_ICON_BUTTON);
219 /*** Set Help callbacks for the Options menu ***/
220 XtAddCallback(optionsMenu_top_pb, XmNhelpCallback,
221 (XtCallbackProc) HelpTriggerCB,
222 (XtPointer)HELP_OPTIONS_BUTTON);
223 XtAddCallback(optionsMenu_grid, XmNhelpCallback,
224 (XtCallbackProc) HelpTriggerCB,
225 (XtPointer)HELP_VISIBLE_GRID_BUTTON);
226 XtAddCallback(optionsMenu_format, XmNhelpCallback,
227 (XtCallbackProc) HelpTriggerCB,
228 (XtPointer)HELP_OUTPUT_FORMAT_BUTTON);
229 XtAddCallback(formatMenu, XmNhelpCallback,
230 (XtCallbackProc) HelpTriggerCB,
231 (XtPointer)HELP_OUTPUT_FORMAT_BUTTON);
232 XtAddCallback(optionsMenu_magnify, XmNhelpCallback,
233 (XtCallbackProc) HelpTriggerCB,
234 (XtPointer)HELP_MAGNIFICATION_BUTTON);
235 XtAddCallback(magnificationMenu, XmNhelpCallback,
236 (XtCallbackProc) HelpTriggerCB,
237 (XtPointer)HELP_MAGNIFICATION_BUTTON);
239 /*** Set Help callbacks for the Help menu (menu items activated) ***/
240 XtAddCallback(helpMenu_intro_pb,
242 (XtCallbackProc) HelpTriggerCB,
243 (XtPointer)HELP_INTRODUCTION);
244 XtAddCallback(helpMenu_tasks_pb,
246 (XtCallbackProc) HelpTriggerCB,
247 (XtPointer)HELP_TASKS);
248 XtAddCallback(helpMenu_ref_pb,
250 (XtCallbackProc) HelpTriggerCB,
251 (XtPointer)HELP_REFERENCE);
252 XtAddCallback(helpMenu_item_pb,
254 (XtCallbackProc) HelpOnItemCB,
255 (XtPointer)HELP_ON_ITEM);
256 XtAddCallback(helpMenu_using_pb,
258 (XtCallbackProc) HelpTriggerCB,
259 (XtPointer)HELP_USING_HELP);
260 XtAddCallback(helpMenu_version_pb,
262 (XtCallbackProc) HelpTriggerCB,
263 (XtPointer)HELP_VERSION);
265 /*** Set Help callbacks for the Help menu (help on menu items themselves) ***/
266 XtAddCallback(helpMenu_top_pb,
268 (XtCallbackProc) HelpTriggerCB,
269 (XtPointer)HELP_HELP_BUTTON);
270 XtAddCallback(helpMenu_intro_pb,
272 (XtCallbackProc) HelpTriggerCB,
273 (XtPointer)HELP_HELP_INTRODUCTION);
274 XtAddCallback(helpMenu_tasks_pb,
276 (XtCallbackProc) HelpTriggerCB,
277 (XtPointer)HELP_HELP_TASKS);
278 XtAddCallback(helpMenu_ref_pb,
280 (XtCallbackProc) HelpTriggerCB,
281 (XtPointer)HELP_HELP_REFERENCE);
282 XtAddCallback(helpMenu_item_pb,
284 (XtCallbackProc) HelpTriggerCB,
285 (XtPointer)HELP_HELP_ON_ITEM);
286 XtAddCallback(helpMenu_using_pb,
288 (XtCallbackProc) HelpTriggerCB,
289 (XtPointer)HELP_HELP_USING_HELP);
290 XtAddCallback(helpMenu_version_pb,
292 (XtCallbackProc) HelpTriggerCB,
293 (XtPointer)HELP_HELP_VERSION);
295 /*** Set Help callbacks for other GUI components ***/
296 XtAddCallback(menu1, XmNhelpCallback,
297 (XtCallbackProc) HelpTriggerCB,
298 (XtPointer)HELP_MENUBAR);
299 XtAddCallback(queryDialog, XmNhelpCallback,
300 (XtCallbackProc) HelpTriggerCB,
301 (XtPointer)HELP_QUERY);
302 XtAddCallback(stdErrDialog, XmNhelpCallback,
303 (XtCallbackProc) HelpTriggerCB,
304 (XtPointer)HELP_ERROR);
305 XtAddCallback(newIconDialog, XmNhelpCallback,
306 (XtCallbackProc) HelpTriggerCB,
307 (XtPointer)HELP_NEW_ICON);
308 XtAddCallback(fileIODialog, XmNhelpCallback,
309 (XtCallbackProc) HelpTriggerCB,
310 (XtPointer)HELP_FILEIO_ICON);
311 XtAddCallback(viewport, XmNhelpCallback,
312 (XtCallbackProc) HelpTriggerCB,
313 (XtPointer)HELP_VIEWPORT);
314 XtAddCallback(mainWindow, XmNhelpCallback,
315 (XtCallbackProc) HelpTriggerCB,
316 (XtPointer)HELP_MAIN_WINDOW);
320 stat_out("Leaving AssignHelpCallbacks\n");
333 stat_out("Entering HelpTriggerCB: help-tag=%d\n", (int) client_data);
336 HelpSetVolAndLocation((int) (intptr_t) client_data);
340 stat_out("Leaving HelpTriggerCB\n");
356 stat_out("Entering HelpOnItemCB: help-tag=%d\n", (int) client_data);
360 while (!XtIsSubclass(w, applicationShellWidgetClass))
363 status = DtHelpReturnSelectedWidgetId(w, 0, &selWidget);
364 /* NULL value for cursor, uses default cursor value. */
368 case DtHELP_SELECT_ERROR:
369 /* Display error dialog here, function call failed */
371 case DtHELP_SELECT_VALID:
372 while (selWidget != (Widget)NULL)
374 if ( (XtHasCallbacks(selWidget, XmNhelpCallback)
375 == XtCallbackHasSome) )
377 XtCallCallbacks(selWidget, XmNhelpCallback, NULL);
381 selWidget = XtParent(selWidget);
384 case DtHELP_SELECT_ABORT:
385 /* Display error dialog here,
386 * "Selection Aborted by user."
389 case DtHELP_SELECT_INVALID:
390 DoErrorDialog( GETSTR(14,4,"You must select an item\nwithin the Icon Editor.") );
397 stat_out("Leaving HelpOnItemCB\n");
405 caddr_t client_data_unused,
408 DtHelpDialogCallbackStruct *pHyper =
409 (DtHelpDialogCallbackStruct *) call_data;
411 switch(pHyper->hyperType) {
412 case DtHELP_LINK_JUMP_NEW :
413 DisplayNewHelp(pHyper->helpVolume, pHyper->locationId);
415 default : ; /* application defined link code goes here */
424 caddr_t call_data_unused )
426 HelpStruct *pHelp = (HelpStruct *)client_data;
430 stat_out("Entering HelpCloseCB\n");
433 if(pHelp != (HelpStruct *)NULL)
435 /* this is a "cached" help dialog */
436 pHelp->inUse = False;
443 stat_out("Leaving HelpCloseCB\n");
449 GetHelpDialog( void )
457 stat_out("Entering GetHelpDialog\n");
460 if(help_head == (HelpStruct *)NULL) {
461 pHelp = (HelpStruct *)XtMalloc(sizeof(HelpStruct));
462 pHelp->pNext = (HelpStruct *)NULL;
463 pHelp->pPrev = (HelpStruct *)NULL;
465 pHelp->dialog = CreateHelpDialog(pHelp);
470 stat_out("Leaving GetHelpDialog: Created the 1st help dialog\n");
473 return pHelp->dialog;
479 if(pHelp->inUse == False) {
484 stat_out("Leaving GetHelpDialog: activated an existing help dialog\n");
487 return pHelp->dialog;
489 if(pHelp->pNext != (HelpStruct *)NULL)
490 pHelp = pHelp->pNext;
494 pHelp->pNext = (HelpStruct *) XtMalloc(sizeof(HelpStruct));
495 pHelp->pNext->pPrev = pHelp;
496 pHelp = pHelp->pNext;
497 pHelp->pNext = (HelpStruct *)NULL;
499 pHelp->dialog = CreateHelpDialog(pHelp);
503 stat_out("Leaving GetHelpDialog: Created a new help dialog\n");
506 return pHelp->dialog;
512 HelpSetVolAndLocation(
515 char *helpVolume, *locationId;
519 stat_out("Entering HelpSetVolAndLocation: topic = %d\n", topic);
522 helpVolume = HELP_VOLUME;
525 /*** choices for the 'Help' pulldown menu ***/
526 case HELP_INTRODUCTION:
527 locationId = HELP_INTRODUCTION_STR;
530 locationId = HELP_TASKS_STR;
533 locationId = HELP_REFERENCE_STR;
536 locationId = HELP_ON_ITEM_STR;
538 case HELP_USING_HELP:
539 helpVolume = HELP_HELP_VOLUME;
540 locationId = HELP_USING_HELP_STR;
543 locationId = HELP_VERSION_STR;
546 /*** choices for the top-level menus on the main menubar ***/
547 case HELP_FILE_BUTTON:
548 locationId = HELP_FILE_BUTTON_STR;
550 case HELP_EDIT_BUTTON:
551 locationId = HELP_EDIT_BUTTON_STR;
553 case HELP_OPTIONS_BUTTON:
554 locationId = HELP_OPTIONS_BUTTON_STR;
556 case HELP_HELP_BUTTON:
557 locationId = HELP_HELP_BUTTON_STR;
560 /*** choices for the 'File' pulldown menu ***/
561 case HELP_NEW_BUTTON:
562 locationId = HELP_NEW_BUTTON_STR;
564 case HELP_OPEN_BUTTON:
565 locationId = HELP_OPEN_BUTTON_STR;
567 case HELP_SAVE_BUTTON:
568 locationId = HELP_SAVE_BUTTON_STR;
570 case HELP_SAVE_AS_BUTTON:
571 locationId = HELP_SAVE_AS_BUTTON_STR;
573 case HELP_QUIT_BUTTON:
574 locationId = HELP_QUIT_BUTTON_STR;
577 /*** choices for the 'Edit' pulldown menu ***/
578 case HELP_UNDO_BUTTON:
579 locationId = HELP_UNDO_BUTTON_STR;
581 case HELP_CUT_BUTTON:
582 locationId = HELP_CUT_BUTTON_STR;
584 case HELP_COPY_BUTTON:
585 locationId = HELP_COPY_BUTTON_STR;
587 case HELP_PASTE_BUTTON:
588 locationId = HELP_PASTE_BUTTON_STR;
590 case HELP_ROTATE_BUTTON:
591 locationId = HELP_ROTATE_BUTTON_STR;
593 case HELP_FLIP_BUTTON:
594 locationId = HELP_FLIP_BUTTON_STR;
596 case HELP_SCALE_BUTTON:
597 locationId = HELP_SCALE_BUTTON_STR;
599 case HELP_RESIZE_ICON_BUTTON:
600 locationId = HELP_RESIZE_ICON_BUTTON_STR;
602 case HELP_ADD_HOTSPOT_BUTTON:
603 locationId = HELP_ADD_HOTSPOT_BUTTON_STR;
605 case HELP_DELETE_HOTSPOT_BUTTON:
606 locationId = HELP_DELETE_HOTSPOT_BUTTON_STR;
608 case HELP_GRAB_BUTTON:
609 locationId = HELP_GRAB_BUTTON_STR;
611 case HELP_CLEAR_ICON_BUTTON:
612 locationId = HELP_CLEAR_ICON_BUTTON_STR;
615 /*** choices for the 'Options' pulldown menu ***/
616 case HELP_VISIBLE_GRID_BUTTON:
617 locationId = HELP_VISIBLE_GRID_BUTTON_STR;
619 case HELP_OUTPUT_FORMAT_BUTTON:
620 locationId = HELP_OUTPUT_FORMAT_BUTTON_STR;
622 case HELP_MAGNIFICATION_BUTTON:
623 locationId = HELP_MAGNIFICATION_BUTTON_STR;
626 /*** choices for the 'Help' pulldown menu ***/
627 case HELP_HELP_INTRODUCTION:
628 locationId = HELP_HELP_INTRODUCTION_STR;
631 case HELP_HELP_TASKS:
632 locationId = HELP_HELP_TASKS_STR;
635 case HELP_HELP_REFERENCE:
636 locationId = HELP_HELP_REFERENCE_STR;
639 case HELP_HELP_ON_ITEM:
640 locationId = HELP_HELP_ON_ITEM_STR;
643 case HELP_HELP_USING_HELP:
644 locationId = HELP_HELP_USING_HELP_STR;
647 case HELP_HELP_VERSION:
648 locationId = HELP_HELP_VERSION_STR;
651 /*** choices for each of the Graphics Tool pushbuttons ***/
652 case HELP_POINT_BUTTON:
653 locationId = HELP_POINT_BUTTON_STR;
655 case HELP_FLOOD_BUTTON:
656 locationId = HELP_FLOOD_BUTTON_STR;
658 case HELP_LINE_BUTTON:
659 locationId = HELP_LINE_BUTTON_STR;
661 case HELP_POLYLINE_BUTTON:
662 locationId = HELP_POLYLINE_BUTTON_STR;
664 case HELP_RECTANGLE_BUTTON:
665 locationId = HELP_RECTANGLE_BUTTON_STR;
667 case HELP_POLYGON_BUTTON:
668 locationId = HELP_POLYGON_BUTTON_STR;
670 case HELP_CIRCLE_BUTTON:
671 locationId = HELP_CIRCLE_BUTTON_STR;
673 case HELP_ELLIPSE_BUTTON:
674 locationId = HELP_ELLIPSE_BUTTON_STR;
676 case HELP_ERASER_BUTTON:
677 locationId = HELP_ERASER_BUTTON_STR;
679 case HELP_SELECT_BUTTON:
680 locationId = HELP_SELECT_BUTTON_STR;
682 case HELP_FILL_BUTTON:
683 locationId = HELP_FILL_BUTTON_STR;
686 /*** choices for each of the Pen Color Group pushbuttons ***/
687 case HELP_STATIC_COLOR_BUTTON:
688 locationId = HELP_STATIC_COLOR_BUTTON_STR;
690 case HELP_STATIC_GREY_BUTTON:
691 locationId = HELP_STATIC_GREY_BUTTON_STR;
693 case HELP_DYNAMIC_COLOR_BUTTON:
694 locationId = HELP_DYNAMIC_COLOR_BUTTON_STR;
697 /*** choice for other GUI components ***/
699 locationId = HELP_MENUBAR_STR;
702 locationId = HELP_QUERY_STR;
705 locationId = HELP_ERROR_STR;
708 locationId = HELP_NEW_ICON_STR;
710 case HELP_FILEIO_ICON:
711 locationId = HELP_FILEIO_ICON_STR;
714 locationId = HELP_VIEWPORT_STR;
716 case HELP_MAIN_WINDOW:
717 locationId = HELP_MAIN_WINDOW_STR;
720 locationId = HELP_MAIN_WINDOW_STR;
723 DisplayHelp(helpVolume, locationId);
727 stat_out("Leaving HelpSetVolAndLocation\n");
737 static Widget mainHelpDialog = NULL;
741 stat_out("Entering DisplayHelp\n");
744 if (mainHelpDialog == NULL)
745 mainHelpDialog = CreateHelpDialog(NULL);
747 DisplayHelpDialog (mainHelpDialog, helpVolume, locationId);
751 stat_out("Leaving DisplayHelp\n");
765 stat_out("Entering DisplayNewHelp\n");
768 helpDialog = GetHelpDialog();
769 DisplayHelpDialog (helpDialog, helpVolume, locationId);
773 stat_out("Leaving DisplayNewHelp\n");
788 stat_out("Entering DisplayHelpDialog\n");
792 XtSetArg(args[n], DtNhelpVolume, helpVolume); n++;
793 XtSetArg(args[n], DtNhelpType, DtHELP_TYPE_TOPIC); n++;
794 XtSetArg(args[n], DtNlocationId, locationId); n++;
795 XtSetValues(helpDialog, args, n);
797 XtManageChild(helpDialog);
801 stat_out("Leaving DisplayHelpDialog\n");
807 CreateHelpDialog (HelpStruct *pHelp)
815 stat_out("Entering CreateHelpDialog, pHelp is %x\n", pHelp);
819 XtSetArg(args[i], XmNtitle, GETSTR(14,2, "Icon Editor - Help")); i++;
820 XtSetArg(args[i], XmNiconName,GETSTR(14,2, "Icon Editor - Help"));i++;
821 helpDialog = DtCreateHelpDialog(dtIconShell, "helpDlg",
823 XtAddCallback(helpDialog, DtNhyperLinkCallback,
824 (XtCallbackProc)HelpHyperlinkCB, NULL);
825 XtAddCallback(helpDialog, DtNcloseCallback,
826 (XtCallbackProc)HelpCloseCB, pHelp);
830 stat_out("Leaving CreateHelpDialog\n");