1 /* $XConsortium: Help.c /main/4 1995/10/30 13:09:47 rswiston $ */
2 /****************************************************************************
3 ****************************************************************************
9 ** Description: Routines that create/cache the dialogs for Help
12 ** (c) Copyright Hewlett-Packard Company, 1990, 1991, 1992. All rights are
13 ** reserved. Copying or other reproduction of this program
14 ** except for archival purposes is prohibited without prior
15 ** written consent of Hewlett-Packard Company.
19 ****************************************************************************/
23 #include <Xm/DialogS.h>
25 #include <Xm/MwmUtil.h>
29 #include <Dt/HelpDialog.h>
37 static HelpStruct *pHelpCache;
43 if(pHelpCache == (HelpStruct *)NULL)
45 pHelp = pHelpCache = (HelpStruct *)XtMalloc(sizeof(HelpStruct));
46 pHelp->pNext = (HelpStruct *)NULL;
47 pHelp->pPrev = (HelpStruct *)NULL;
51 XtSetArg(args[n], XmNtitle,
52 ((char *)GETMESSAGE(2, 7, "Style Manager - Help"))); n++;
53 pHelp->dialog = DtCreateHelpDialog(style.shell, "helpDlg",
56 DtWsmRemoveWorkspaceFunctions(style.display,
57 XtWindow(XtParent(pHelp->dialog)));
58 XtAddCallback(pHelp->dialog, DtNhyperLinkCallback,
59 (XtCallbackProc)HelpHyperlinkCB, NULL);
60 XtAddCallback(pHelp->dialog, DtNcloseCallback,
61 (XtCallbackProc)HelpCloseCB, pHelpCache);
66 for(pHelp = pHelpCache;
67 pHelp != (HelpStruct *)NULL;
70 if(pHelp->inUse == False)
76 pHelp = (HelpStruct *) XtMalloc(sizeof(HelpStruct));
77 pHelpCache->pPrev = pHelp;
78 pHelp->pNext = pHelpCache;
80 pHelp->pPrev = (HelpStruct *)NULL;
84 XtSetArg(args[n], XmNtitle,
85 ((char *)GETMESSAGE(2, 7, "Style Manager - Help"))); n++;
86 pHelp->dialog = DtCreateHelpDialog(style.shell, "helpDlg",
88 DtWsmRemoveWorkspaceFunctions(style.display,
89 XtWindow(XtParent(pHelp->dialog)));
90 XtAddCallback(pHelp->dialog, DtNhyperLinkCallback,
91 (XtCallbackProc)HelpHyperlinkCB, NULL);
92 XtAddCallback(pHelp->dialog, DtNcloseCallback,
93 (XtCallbackProc)HelpCloseCB, pHelpCache);
107 helpDialog = GetHelpDialog();
110 XtSetArg(args[n], DtNhelpType, DtHELP_TYPE_TOPIC); n++;
111 XtSetArg(args[n], DtNhelpVolume, helpVolume); n++;
112 XtSetArg(args[n], DtNlocationId, locationId); n++;
113 XtSetValues(helpDialog, args, n);
115 XtManageChild(helpDialog);
116 XtMapWidget(XtParent(helpDialog));
124 static Widget helpDialog = NULL;
128 if(helpDialog == NULL)
131 XtSetArg(args[n], DtNhelpType, DtHELP_TYPE_TOPIC); n++;
132 XtSetArg(args[n], DtNhelpVolume, helpVolume); n++;
133 XtSetArg(args[n], DtNlocationId, locationId); n++;
134 XtSetArg (args[n], XmNtitle,
135 ((char *)GETMESSAGE(2, 7, "Style Manager - Help"))); n++;
136 helpDialog = DtCreateHelpDialog(style.shell, "helpDlg", args, n);
138 DtWsmRemoveWorkspaceFunctions(style.display,
139 XtWindow(XtParent(helpDialog)));
140 XtAddCallback(helpDialog, DtNhyperLinkCallback,
141 (XtCallbackProc)HelpHyperlinkCB, NULL);
142 XtAddCallback(helpDialog, DtNcloseCallback,
143 (XtCallbackProc)HelpCloseCB, NULL);
145 XtManageChild(helpDialog);
150 XtSetArg(args[n], DtNhelpType, DtHELP_TYPE_TOPIC); n++;
151 XtSetArg(args[n], DtNhelpVolume, helpVolume); n++;
152 XtSetArg(args[n], DtNlocationId, locationId); n++;
153 XtSetValues(helpDialog, args, n);
156 XtMapWidget(XtParent(helpDialog));