jaysun@citron..cs.clemson.edu (Jay Williamson - System Manager) (04/22/91)
I am new to Motif programming so bear with me. We are running
Motif 1.1.1 and X11 R4 patch level 18.
I want to create an application that has a control panel and another
completely separate window also.
This should be very simple yet a can't make it work. I have looked
at the demos and I follow their lead but with no luck.
I have tried many different ways an my present stage is below.
Here is a code fragment with many extras taken out:
XtToolkitInitialize();
app_context = XtCreateApplicationContext();
display = XtOpenDisplay(app_context, NULL, argv[0], "MNSFEdit",
NULL, 0, &argc, argv);
toplevel = XtAppCreateShell (argv[0], NULL, applicationShellWidgetClass,
display, arglist, n);
mainW = XmCreateMainWindow (toplevel, "mainW", arglist, n);
XtManageChild (mainW);
pageW = XmCreateBulletinBoard (toplevel, "PageW", arglist, n);
XtManageChild (pageW);
controlW = XmCreateDialogShell (toplevel, "PageDisplayControlPanel",
arglist, n);
XtManageChild(controlW);
XtRealizeWidget(toplevel);
XtAppMainLoop(app_context);
-------------------------------------
Something like this would be nice with mainW and controlW being
different windows entirely.
toplevel
/ \
mainW controlW
/
pageW
I understand most of the Widget/child stuff but I am a little fuzzy
on how the top level widget ties things together.
Reply straight to me if possible.
Thanks,
Jay Williamson, Systems Manager Clemson University
jaysun@cs.clemson.edu Computer Science Dept.
(803) 656-2639 Clemson, S.C. 29634-1906wwang@osf.org ("Weidong Wang from OSF") (04/22/91)
> > I want to create an application that has a control panel and another > completely separate window also. > What you should do is to create two shells, not just two widgets under one shell. > > Here is a code fragment with many extras taken out: > > XtToolkitInitialize(); > app_context = XtCreateApplicationContext(); > display = XtOpenDisplay(app_context, NULL, argv[0], "MNSFEdit", > NULL, 0, &argc, argv); > toplevel = XtAppCreateShell (argv[0], NULL, applicationShellWidgetClass, > display, arglist, n); > XtManageChild(XmCreateFileSelectionBox(toplevel, "fb", args, 0)); shell2 = XtCreateWidget("shell2", topLevelShellWidgetClass, toplevel, args, 0); > mainW = XmCreateMainWindow (shell2, "mainW", arglist, n); > XtManageChild (mainW); > > controlW = XmCreateBulletinBoardDialog (toplevel, "PageDisplayControlPanel", > arglist, n); > > XtRealizeWidget(toplevel); > XtRealizeWidget(shell2); XtManageChild(controlW); > XtAppMainLoop(app_context); > ------------------------------------- > This will give you a shell with a file selectionbox in it, another shell with a main window init, and a dialog bulletin board shell. 3 windows. Hope this helps. Weidong Wang Systems, Engineering, OSF