|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* Motif
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* Copyright (c) 1987-2012, The Open Group. All rights reserved.
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* These libraries and programs are free software; you can
|
|
Packit |
b099d7 |
* redistribute them and/or modify them under the terms of the GNU
|
|
Packit |
b099d7 |
* Lesser General Public License as published by the Free Software
|
|
Packit |
b099d7 |
* Foundation; either version 2 of the License, or (at your option)
|
|
Packit |
b099d7 |
* any later version.
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* These libraries and programs are distributed in the hope that
|
|
Packit |
b099d7 |
* they will be useful, but WITHOUT ANY WARRANTY; without even the
|
|
Packit |
b099d7 |
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
|
Packit |
b099d7 |
* PURPOSE. See the GNU Lesser General Public License for more
|
|
Packit |
b099d7 |
* details.
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* You should have received a copy of the GNU Lesser General Public
|
|
Packit |
b099d7 |
* License along with these librararies and programs; if not, write
|
|
Packit |
b099d7 |
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
|
Packit |
b099d7 |
* Floor, Boston, MA 02110-1301 USA
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* HISTORY
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
#ifdef REV_INFO
|
|
Packit |
b099d7 |
#ifndef lint
|
|
Packit |
b099d7 |
static char rcsid[] = "$XConsortium: PMenuBar1.c /main/8 1995/07/14 12:00:52 drk $"
|
|
Packit |
b099d7 |
#endif
|
|
Packit |
b099d7 |
#endif
|
|
Packit |
b099d7 |
/* Standard C headers */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* X headers */
|
|
Packit |
b099d7 |
#include <X11/Xlib.h>
|
|
Packit |
b099d7 |
#include <X11/StringDefs.h>
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#include <testlib.h>
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* Private Functions */
|
|
Packit |
b099d7 |
static void quitCB();
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#define BUFSIZE 128
|
|
Packit |
b099d7 |
#define MAXBUTTONS 12
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
Widget menubar = NULL;
|
|
Packit |
b099d7 |
Widget BB,
|
|
Packit |
b099d7 |
menu1 = NULL,
|
|
Packit |
b099d7 |
submenu1 = NULL,
|
|
Packit |
b099d7 |
submenu2 = NULL,
|
|
Packit |
b099d7 |
pb1 = NULL,
|
|
Packit |
b099d7 |
pb2 = NULL,
|
|
Packit |
b099d7 |
toggle_RC = NULL,
|
|
Packit |
b099d7 |
toggle_MS = NULL,
|
|
Packit |
b099d7 |
toggle_CB = NULL,
|
|
Packit |
b099d7 |
toggle_CBG = NULL;
|
|
Packit |
b099d7 |
Widget Text;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
Widget LabelScale, BorderScale, ChildrenScale;
|
|
Packit |
b099d7 |
Widget BBD, defBtn, quitBtn;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
Boolean ownms;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XmStringCharSet CharSet = (XmStringCharSet) XmSTRING_DEFAULT_CHARSET;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
void PrintMe (w, client_data, call_data)
|
|
Packit |
b099d7 |
Widget w;
|
|
Packit |
b099d7 |
XtPointer client_data, call_data;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
printf ("Accelerator activated this button...\n");
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
void DoItJoe (w, client_data, call_data)
|
|
Packit |
b099d7 |
Widget w;
|
|
Packit |
b099d7 |
XtPointer client_data, call_data;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
int border, num_chars, num_children;
|
|
Packit |
b099d7 |
char buf[BUFSIZE];
|
|
Packit |
b099d7 |
char buf2[32];
|
|
Packit |
b099d7 |
static int created = 0;
|
|
Packit |
b099d7 |
int n, i;
|
|
Packit |
b099d7 |
Arg args[30];
|
|
Packit |
b099d7 |
Widget cascadeButtons[MAXBUTTONS];
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
if (created)
|
|
Packit |
b099d7 |
XtDestroyWidget (menubar);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* get some info */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNvalue, &border); n++;
|
|
Packit |
b099d7 |
XtGetValues (BorderScale, args, n);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNvalue, &num_chars); n++;
|
|
Packit |
b099d7 |
XtGetValues (LabelScale, args, n);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNvalue, &num_children); n++;
|
|
Packit |
b099d7 |
XtGetValues(ChildrenScale, args, n);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg (args[n], XmNborderWidth, border); n++;
|
|
Packit |
b099d7 |
menubar = XmCreateMenuBar(BB, "menubar", args, n);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* XmPulldownMenu: submenu1
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
submenu1 = XmCreatePulldownMenu(menubar, "submenu1", args, n);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* XmPulldownMenu: submenu2
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
submenu2 = XmCreatePulldownMenu(menubar, "submenu2", args, n);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* XmPushButton: toggle_MS
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNlabelString,
|
|
Packit |
b099d7 |
XmStringLtoRCreate("Toggle MenuShell", CharSet)); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNaccelerator, "Ctrl<Key>M"); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNacceleratorText,
|
|
Packit |
b099d7 |
XmStringCreate("Ctrl-M", XmSTRING_DEFAULT_CHARSET)); n++;
|
|
Packit |
b099d7 |
toggle_MS = XmCreatePushButton(submenu1, "toggle_MS", args, n);
|
|
Packit |
b099d7 |
XtAddCallback (toggle_MS, XmNactivateCallback, PrintMe, NULL);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XtManageChild(toggle_MS);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* XmPushButton: toggle_RC
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNlabelString,
|
|
Packit |
b099d7 |
XmStringLtoRCreate("Toggle RowColumn", CharSet)); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNaccelerator, "Ctrl<Key>R"); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNacceleratorText,
|
|
Packit |
b099d7 |
XmStringCreate("Ctrl-R", XmSTRING_DEFAULT_CHARSET)); n++;
|
|
Packit |
b099d7 |
toggle_RC = XmCreatePushButton(submenu1, "toggle_RC", args, n);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XtManageChild(toggle_RC);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* XmPushButton: toggle_CB
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
toggle_CB = XmCreatePushButton(submenu1, "toggle_CB", args, n);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XtManageChild(toggle_CB);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* XmPushButton: toggle_CBG
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNlabelString,
|
|
Packit |
b099d7 |
XmStringLtoRCreate("Toggle CascadeButtonGadget", CharSet)); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNaccelerator, "Ctrl<Key>G"); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNacceleratorText,
|
|
Packit |
b099d7 |
XmStringCreate("Ctrl-G", XmSTRING_DEFAULT_CHARSET)); n++;
|
|
Packit |
b099d7 |
toggle_CBG = XmCreatePushButton(submenu1, "toggle_CBG", args, n);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XtManageChild(toggle_CBG);
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* XmCascadeButton: menu1
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* some children of submenu2 */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
pb1 = XmCreatePushButtonGadget (submenu2, "pb1", args, n);
|
|
Packit |
b099d7 |
pb2 = XmCreatePushButtonGadget (submenu2, "pb2", args, n);
|
|
Packit |
b099d7 |
XtManageChild (pb1);
|
|
Packit |
b099d7 |
XtManageChild (pb2);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/***/
|
|
Packit |
b099d7 |
printf ("num_children is %d\n", num_children);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* We need several button children, let's try this */
|
|
Packit |
b099d7 |
for (i = 0; i <= (num_children - 1); i++)
|
|
Packit |
b099d7 |
{ n = 0;
|
|
Packit |
b099d7 |
for (n = 0; n <= (num_chars - 1); n++)
|
|
Packit |
b099d7 |
buf[n] = '+';
|
|
Packit |
b099d7 |
buf[n] = '\0';
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNlabelString,
|
|
Packit |
b099d7 |
XmStringCreate (&buf[0], XmSTRING_DEFAULT_CHARSET)); n++;
|
|
Packit |
b099d7 |
if (i%2)
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNsubMenuId, submenu1); n++;
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
else
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNsubMenuId, submenu2); n++;
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
sprintf(buf2, "CascadeButton%d", i);
|
|
Packit |
b099d7 |
printf ("I am creating child %d\n", i);
|
|
Packit |
b099d7 |
/* cascadeButtons[i] = XmCreateCascadeButtonGadget(menubar,
|
|
Packit |
b099d7 |
buf2,
|
|
Packit |
b099d7 |
args, n);
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
cascadeButtons[i] = XmCreateCascadeButton(menubar,
|
|
Packit |
b099d7 |
buf2,
|
|
Packit |
b099d7 |
args, n);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XtManageChild(cascadeButtons[i]);
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XtManageChild(menubar);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
created = 1;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
void main(argc, argv)
|
|
Packit |
b099d7 |
int argc;
|
|
Packit |
b099d7 |
char *argv[];
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
Arg args[20];
|
|
Packit |
b099d7 |
XmString tcs, tcs1, tcs2;
|
|
Packit |
b099d7 |
int n;
|
|
Packit |
b099d7 |
int border;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
CommonTestInit(argc, argv);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* create a dialog shell to run things */
|
|
Packit |
b099d7 |
/* a scale for border width, a scale for number of chars in label */
|
|
Packit |
b099d7 |
/* and an okay button to make things go! */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNautoUnmanage, False); n++;
|
|
Packit |
b099d7 |
BBD = XmCreateFormDialog (Shell1, "BBD", args, n);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
/* XtSetArg (args[n], XmNgeometry, "+300+300"); n++; */
|
|
Packit |
b099d7 |
XtSetArg (args[n], XmNtopAttachment, XmATTACH_FORM); n++;
|
|
Packit |
b099d7 |
XtSetArg (args[n], XmNlabelString,
|
|
Packit |
b099d7 |
XmStringCreateSimple("Set 'em up, Joe")); n++;
|
|
Packit |
b099d7 |
defBtn = XmCreatePushButtonGadget (BBD, "defBtn", args, n);
|
|
Packit |
b099d7 |
XtManageChild (defBtn);
|
|
Packit |
b099d7 |
XtAddCallback (defBtn, XmNactivateCallback, DoItJoe, NULL);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg (args[n], XmNdefaultButton, defBtn);
|
|
Packit |
b099d7 |
XtSetValues (BBD, args, n);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNorientation, XmHORIZONTAL); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNshowValue, True); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNtitleString,
|
|
Packit |
b099d7 |
XmStringCreateSimple("Border Width")); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNminimum, 0); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNmaximum, 100); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNvalue, 0); n++;
|
|
Packit |
b099d7 |
/* XtSetArg(args[n], XmNx, 10); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNy, 50); n++; */
|
|
Packit |
b099d7 |
XtSetArg (args[n], XmNtopAttachment, XmATTACH_WIDGET); n++;
|
|
Packit |
b099d7 |
XtSetArg (args[n], XmNtopWidget, defBtn); n++;
|
|
Packit |
b099d7 |
XtSetArg (args[n], XmNtopOffset, 10); n++;
|
|
Packit |
b099d7 |
BorderScale = XmCreateScale (BBD, "BorderScale", args, n);
|
|
Packit |
b099d7 |
XtManageChild (BorderScale);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNorientation, XmHORIZONTAL); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNshowValue, True); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNtitleString,
|
|
Packit |
b099d7 |
XmStringCreateSimple("# Chars in Label")); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNminimum, 1); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNmaximum, BUFSIZE - 1); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNvalue, 1); n++;
|
|
Packit |
b099d7 |
/* XtSetArg(args[n], XmNx, 10); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNy, 150); n++; */
|
|
Packit |
b099d7 |
XtSetArg (args[n], XmNtopAttachment, XmATTACH_WIDGET); n++;
|
|
Packit |
b099d7 |
XtSetArg (args[n], XmNtopWidget, BorderScale); n++;
|
|
Packit |
b099d7 |
XtSetArg (args[n], XmNtopOffset, 10); n++;
|
|
Packit |
b099d7 |
LabelScale = XmCreateScale (BBD, "LabelScale", args, n);
|
|
Packit |
b099d7 |
XtManageChild (LabelScale);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNorientation, XmHORIZONTAL); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNshowValue, True); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNtitleString,
|
|
Packit |
b099d7 |
XmStringCreateSimple("# Children")); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNminimum, 1); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNmaximum, MAXBUTTONS - 1); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNvalue, 1); n++;
|
|
Packit |
b099d7 |
/* XtSetArg(args[n], XmNx, 10); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNy, 200); n++; */
|
|
Packit |
b099d7 |
XtSetArg (args[n], XmNtopAttachment, XmATTACH_WIDGET); n++;
|
|
Packit |
b099d7 |
XtSetArg (args[n], XmNtopWidget, LabelScale); n++;
|
|
Packit |
b099d7 |
XtSetArg (args[n], XmNtopOffset, 10); n++;
|
|
Packit |
b099d7 |
ChildrenScale = XmCreateScale (BBD, "ChildrenScale", args, n);
|
|
Packit |
b099d7 |
XtManageChild (ChildrenScale);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg (args[n], XmNlabelString,
|
|
Packit |
b099d7 |
XmStringCreateSimple ("Quit")); n++;
|
|
Packit |
b099d7 |
XtSetArg (args[n], XmNtopAttachment, XmATTACH_WIDGET); n++;
|
|
Packit |
b099d7 |
XtSetArg (args[n], XmNtopWidget, ChildrenScale); n++;
|
|
Packit |
b099d7 |
XtSetArg (args[n], XmNtopOffset, 10); n++;
|
|
Packit |
b099d7 |
quitBtn = XmCreatePushButtonGadget (BBD, "quitBtn", args, n);
|
|
Packit |
b099d7 |
XtAddCallback (quitBtn, XmNactivateCallback, quitCB, NULL);
|
|
Packit |
b099d7 |
XtManageChild(quitBtn);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg (args[n], XmNeditable, False); n++;
|
|
Packit |
b099d7 |
XtSetArg (args[n], XmNeditMode, XmMULTI_LINE_EDIT); n++;
|
|
Packit |
b099d7 |
XtSetArg (args[n], XmNvalue, "Use the sliders\nto select the\nnumber of children,\nthe border width,\nand how many\ncharacters in\neach child\'s\nlabel. These will\nbe displayed\nwhen you create\nthe menubar using\nthe Set Up button."); n++;
|
|
Packit |
b099d7 |
XtSetArg (args[n], XmNrows, 13); n++;
|
|
Packit |
b099d7 |
XtSetArg (args[n], XmNbottomAttachment, XmATTACH_FORM); n++;
|
|
Packit |
b099d7 |
XtSetArg (args[n], XmNtopAttachment, XmATTACH_WIDGET); n++;
|
|
Packit |
b099d7 |
XtSetArg (args[n], XmNtopWidget, quitBtn); n++;
|
|
Packit |
b099d7 |
XtSetArg (args[n], XmNtopOffset, 10); n++;
|
|
Packit |
b099d7 |
Text = XmCreateText (BBD, "Text", args, n);
|
|
Packit |
b099d7 |
XtManageChild (Text);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XtManageChild (BBD);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* XmMenuBar: menubar
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg (args[n], XmNheight, 400); n++;
|
|
Packit |
b099d7 |
XtSetArg (args[n], XmNwidth, 300); n++;
|
|
Packit |
b099d7 |
BB = XmCreateBulletinBoard (Shell1, "BB", args, n);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
/* call the callback */
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XtManageChild (BB);
|
|
Packit |
b099d7 |
XtRealizeWidget(Shell1);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XtAppMainLoop(app_context);
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
static void quitCB(w, client_data, call_data)
|
|
Packit |
b099d7 |
Widget w;
|
|
Packit |
b099d7 |
XtPointer client_data;
|
|
Packit |
b099d7 |
XtPointer call_data;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
printf("Exiting...Please Standby...\n");
|
|
Packit |
b099d7 |
exit(0);
|
|
Packit |
b099d7 |
}
|