home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The World of Computer Software
/
World_Of_Computer_Software-02-385-Vol-1of3.iso
/
n
/
newmarch.zip
/
MENU.C
< prev
next >
Wrap
C/C++ Source or Header
|
1992-09-08
|
3KB
|
143 lines
/* Author: $Author: jan $
* File: $Source: /usr/usrs/jan/desktop/X_Book.boo/programs/RCS/menu.c,v $
* Date: $Date: 1992/09/09 00:10:04 $
* Revision: $Revision: 1.1 $
*/
#include "copyright.h"
#include <Xm/CascadeB.h>
#include <Xm/PushB.h>
#include <Xm/RowColumn.h>
/*-----------------------------------------------------
** Forward Declarations
*/
void main (); /* main logic for application */
void CreateApplication (); /* create main window */
/*-----------------------------------------------------
** Global Variables
*/
#define MAX_ARGS 20
#define Class_name "SampleMenu"
/*-----------------------------------------------------
** main - main logic for application
*/
void
main (argc,argv)
int argc;
char **argv;
{
Widget app_shell;
app_shell = XtInitialize (NULL, /* application
name */
Class_name, /* class name */
NULL, /* options */
0, /* number of
options */
&argc, argv);
/* Create and realize main
application window.
*/
CreateApplication (app_shell);
XtRealizeWidget (app_shell);
/* Get and dispatch events.
*/
XtMainLoop ();
}
/*------------------------------------------------------
** CreateApplication - create main window
*/
void CreateApplication (parent)
Widget parent; /* parent widget */
{
Widget menu_bar; /* MenuBar */
Widget menu_pane; /* MenuPane */
Widget cascade; /* CascadeButton */
Widget button; /* PushButton */
Arg args[MAX_ARGS]; /* arg list */
int n; /* arg count */
/* Create MenuBar in parent
*/
n = 0;
menu_bar = XmCreateMenuBar (parent, "menu_bar",
args, n);
XtManageChild (menu_bar);
/* Create "File" PulldownMenu.
*/
/* Create the file pane
*/
n = 0;
menu_pane = XmCreatePulldownMenu (menu_bar,
"file_pane", args, n);
/* The Save button
*/
n = 0;
button = XmCreatePushButton (menu_pane,
"Save", args, n);
XtManageChild (button);
/* The Exit button
*/
n = 0;
button = XmCreatePushButton (menu_pane,
"Exit", args, n);
XtManageChild (button);
/* Create the cascade button for the menu bar.
Link the menu pane and cascade button by
subMenuId resource
*/
n = 0;
XtSetArg (args[n], XmNsubMenuId,
menu_pane); n++;
cascade = XmCreateCascadeButton (menu_bar,
"File", args, n);
XtManageChild (cascade);
/* Create "Help" menu in a similar way.
*/
n = 0;
menu_pane = XmCreatePulldownMenu (menu_bar,
"help_pane", args, n);
n = 0;
button = XmCreatePushButton (menu_pane,
"About", args, n);
XtManageChild (button);
n = 0;
button = XmCreatePushButton (menu_pane,
"Application", args, n);
XtManageChild (button);
n = 0;
XtSetArg (args[n], XmNsubMenuId,
menu_pane); n++;
cascade = XmCreateCascadeButton (menu_bar,
"Help", args, n);
XtManageChild (cascade);
/* tell the menu bar which is the help button
*/
n = 0;
XtSetArg (args[n], XmNmenuHelpWidget,
cascade); n++;
XtSetValues (menu_bar, args, n);
}