/********* Simple Popup.h ******/
#include < X11/Intrinsic.h >
#include < X11/StringDefs.h >
#include < X11/Shell.h >
#ifdef X11R3
#include < X11/Box.h >
#include < X11/Command.h >
#include < X11/Form.h >
#include < X11/Label.h >
#else
#include < X11/Xaw/Box.h >
#include < X11/Xaw/Command.h >
#include < X11/Xaw/Form.h >
#include < X11/Xaw/Label.h >
#endif
#include < stdio.h >
/*
Functions
*/
void main(), create_main_widtes, create_popup_widgets();
void ActivatePopup(); DeactivatePopup(0, Quit();
/*
Private Widgets
*/
static Widget topLevel, buttonBoxMain, buttonPopup, buttonQuit;
static Widget popupShell, popupLabel, popupBx,
popupButton1, popupButton2;
/*
main() delegates everything
*/
void main(argc, argv)
int argc,
char * argv[];
{
topLevel = XtInitialize(argv[0], "TestPopUp, NULL, 0,
&argc, argv);
create_main_widgets();
create_popup_widgets();
XtRealizeWidget(toplevel);
XtMainLoop();
} /* main() */
/*
create_main_widgets()
*/
void create_main_widgets()
{
Arg args[5]
int i;
buttonBoxMain = XtCreateManagedWidget("buttonBoxMain",
boxWidgetClass, toplevel, NULL, 0);
i = 0;
XtSetArg(args[i], XtNlabel, (XtArgval) "Quit"); i++;
buttonQuit = XtCreateManagedWidget("buttonQuit",
commandWidgetClass,buttonBoxMain, args, i);
XtAddCallback(buttonQuit, XtNcallback, Quit, NULL);
i = 0;
XtSetArg(args[i], XtNlabel, (XtArgval) "Test Popup"); i++;
buttonPopup = XtCreateManagedWidget("buttonPopup",
commandWidgetClass,buttonBoxMain, args, i);
XtAddCallback(buttonPopup, XtNcallback, ActivatePopup, NULL);
} /* create_main_widgets */
/*
create_popup_widgets() ommitted.
*/
/*
Call backs:
*/
void Quit(w, client_data, call_data)
Widget w;
caddr_t client_data;
caddr_t call_data;
{
printf("You pressed quit button\n");
exit(0);
} /* Quit */
void ActivatePopup(w, client_data, call_data)
Widget w;
caddr_t client_data;
caddr_t call_data;
{
XtPopup(popupShell, XtGrabNone);
} /* ActivatePopup */
/*
void DeactivatePopup() is ommitted. (Invoked from popped up
buttons.
*/
Last Changed: 2 July 1995