1
/* $XConsortium: onHelp.c /main/4 1995/07/15 20:44:13 drk $ */
3
* @OPENGROUP_COPYRIGHT@
5
* Copyright (c) 1990, 1991, 1992, 1993 Open Software Foundation, Inc.
6
* Copyright (c) 1996, 1997, 1998, 1999, 2000 The Open Group
7
* ALL RIGHTS RESERVED (MOTIF). See the file named COPYRIGHT.MOTIF for
8
* the full copyright text.
10
* This software is subject to an open license. It may only be
11
* used on, with or for operating systems which are themselves open
12
* source systems. You must contact The Open Group for a license
13
* allowing distribution and sublicensing of this software on, with,
14
* or for operating systems which are not Open Source programs.
16
* See http://www.opengroup.org/openmotif/license for full
17
* details of the license agreement. Any use, reproduction, or
18
* distribution of the program constitutes recipient's acceptance of
21
* EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS
22
* PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
23
* KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY
24
* WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY
25
* OR FITNESS FOR A PARTICULAR PURPOSE
27
* EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT
28
* NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT,
29
* INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
30
* DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED
31
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
32
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
33
* ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE
34
* EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE
35
* POSSIBILITY OF SUCH DAMAGES.
46
void quitCB( Widget widget, char *tag, XmAnyCallbackStruct *callback_data )
54
int main(int argc, String argv[])
57
XtAppContext app_context;
59
Widget toplevel, help;
68
toplevel = XtVaAppInitialize(&app_context, "HelpOnHelp", NULL, 0,
69
&argc, argv, NULL, 0);
71
XtSetArg(args[n], XmdNhelpFile, "helpOn"); n++;
72
help = XmdCreateHelp(toplevel, "help", args, n);
73
dismiss = XtNameToWidget(help, "*Dismiss");
74
XtAddCallback(dismiss, XmNactivateCallback,
75
(XtCallbackProc) quitCB, NULL);
76
/* Get the rendertable and add some new renditions */
77
XtVaGetValues(help, XmNrenderTable, &rt, NULL, NULL);
78
/* Make the tabs for the tables */
80
tabs[n] = XmTabCreate(2.0, XmINCHES, XmABSOLUTE,
81
XmALIGNMENT_BEGINNING, NULL); n++;
82
tabs[n] = XmTabCreate(4.0, XmINCHES, XmABSOLUTE,
83
XmALIGNMENT_BEGINNING, NULL); n++;
84
tablist = XmTabListInsertTabs(NULL, tabs, n, 0);
85
for(i = 0; i < n; i++) XmTabFree(tabs[i]);
87
/* Add extra renditions needed for the help file */
89
XtSetArg(args[n], XmNtabList, tablist); n++;
90
rend[i] = XmRenditionCreate(help, "table", args, n); i++;
92
XtSetArg(args[n], XmNfontName, "*courier-medium-r-*-12-*"); n++;
93
XtSetArg(args[n], XmNfontType, XmFONT_IS_FONT); n++;
94
rend[i] = XmRenditionCreate(help, "program", args, n); i++;
96
XtSetArg(args[n], XmNunderlineType, XmSINGLE_LINE); n++;
97
rend[i] = XmRenditionCreate(help, "underline", args, n); i++;
98
/* Make a copy so that setvalues will work correctly */
99
rt = XmRenderTableCopy(rt, NULL, 0);
100
rt = XmRenderTableAddRenditions(rt, rend, i, XmMERGE_NEW);
101
for(n = 0; n < i; n++) XmRenditionFree(rend[n]);
103
XtVaSetValues(help, XmNrenderTable, rt, NULL, NULL);
104
XmRenderTableFree(rt);
108
XtRealizeWidget(toplevel);
110
XtAppMainLoop(app_context);
112
return 0; /* make compiler happy */