Title: | DECWINDOWS 26-JAN-89 to 29-NOV-90 |
Notice: | See 1639.0 for VMS V5.3 kit; 2043.0 for 5.4 IFT kit |
Moderator: | STAR::VATNE |
Created: | Mon Oct 30 1989 |
Last Modified: | Mon Dec 31 1990 |
Last Successful Update: | Fri Jun 06 1997 |
Number of topics: | 3726 |
Total number of notes: | 19516 |
I have a question about how to most effectively use UIL. I am creating a main window widget, then another window within it that I actually write graphics into. The code segment below shows how I am doing this with two calls to DwtFetchWidgets. I have also included the UIL segment. This works perfectly well, but it doesn't strike me as very elegant. I feel like I am missing a point somewhere. Shouldn't I be able to declare this somewhere as a heirarchy and with one call go off and create the whole thing? This is a simple case, but obviously it generalizes very quickly into large hierarchies. Is there a place within UIL where I indicate that one window is a child of another? Thanks for any and all suggestions. Ken B. Here is the relevant C code: . . . DwtInitializeDRM(); toplevel = XtInitialize( "Yadman", "TopLevel", NULL, 0, &argc, &argv ); if ( DwtOpenHierarchy( 1, UID_database, NULL, &Hierarchy ) != DRMSuccess ) error( "Can't open hierarchy!" ); DwtRegisterDRMNames( callback_namevec, callback_num ); if ( DwtFetchWidget( Hierarchy, "MainWindow", toplevel, &mainwidget, &dummy ) != DRMSuccess ) error( "Can't fetch main window!" ); if ( DwtFetchWidget( Hierarchy, "WorkWindow", mainwidget, &workwidget, &dummy ) != DRMSuccess ) error( "Can't fetch work window!" ); XtManageChild ( workwidget); XtManageChild ( mainwidget); XtRealizeWidget( toplevel); . . . And here is the UIL code: . . . object MainWindow : exported main_window { arguments { x = 100; y = 100; width = 400; height = 400; }; callbacks { create = procedure WidgetIDproc( k_MainWindow ); }; controls { menu_bar MenuBar; }; }; WorkWindow : exported window { arguments { x = 100; y = 100; width = 400; height = 400; }; callbacks { create = procedure WidgetIDproc (k_WorkWindow ); expose = procedure MyExpoproc ( k_WorkWindow ); }; }; . . .
T.R | Title | User | Personal Name | Date | Lines |
---|---|---|---|---|---|
444.1 | One fetch is better | TBD1::BURLEIGH | Dave, DECwindows Training | Tue Mar 21 1989 06:59 | 6 |
In your uil module, include the work window in the CONTROLS list of the main-window widget. Then fetching the main window will get you the work window too. Dave | |||||
444.2 | Thanks | HGOVC::KENBERKUN | Klaatu Barato Nikto | Tue Mar 21 1989 20:14 | 4 |
Thanks very much, I'll give that a go. Ken B. | |||||
444.3 | More detail please... | HGOVC::KENBERKUN | Klaatu Barato Nikto | Wed Mar 22 1989 06:09 | 18 |
Well... I'm still missing something. I added the following line in the controls section of MainWindow Window WorkWindow; Then I eleminated the second call to DwtFetchWidget. No good. It still doesn't bring up the workwindow widget. I tried all kinds of combinations of fetching and managing, etc. I wasn't getting anywhere, so can someone please be kind enough to post an example. thanks in advance, Ken B. | |||||
444.4 | case_sensitive? | TBD1::BURLEIGH | Dave, DECwindows Training | Wed Mar 22 1989 06:37 | 6 |
Well, if you included *exactly* "Window WorkWindow", and you're using the "case_sensitive" mode of UIL, you should use instead "window WorkWindow". Keywords must be lowercase. Dave | |||||
444.5 | the beginner's Bible | SMAUG::FLOWERS | IBM Interconnect Eng. 226-7716 | Wed Mar 22 1989 09:26 | 6 |
Can I suggest taking a look at the decburger example...on VMS it's in decw$examples:decburger.* It may look confusing at first, but it's really a great place to start when learning UIL. Dan | |||||
444.6 | argh... | HGOVC::KENBERKUN | Klaatu Barato Nikto | Thu Mar 23 1989 05:16 | 2 |
Still having problems, question continued in note 463. | |||||
444.7 | Try UIL Conference | FUEL::graham | if ya want home cookin, stay home | Thu Mar 23 1989 20:48 | 6 |
Ken, have you looked at the UIL conference on CLT? Kris.. | |||||
444.8 | Thanks | HGOVC::KENBERKUN | Klaatu Barato Nikto | Fri Mar 24 1989 05:39 | 8 |
re .7 Good Idea, Kris, I hadn't looked there. I will. Thanks, Ken | |||||
444.9 | Take_focus to simple text widget | 57727::FARRELL | Money, there is no substitute! | Fri May 26 1989 11:10 | 9 |
How can I get a specific simple text widget to take_focus. i.e. Like the password widget on the login screen after you type a username. advaTHANKSnce, $$$$ ted $$$$ |