OPEN LOOK GUI FAQ 03/04: the XView Toolkit
- Sources Of Information: netnews
newsgroups: alt.toolkits.xview - best for specific XView questions
comp.windows.open-look comp.windows.x - highest volume Watch
for Frequently Asked Questions lists (such as this) in these groups.
The article you are reading is part of the alt.toolkits.xview and
- The Future of XView
- Scrolling Lists
- How do I keep a pop-up window
displayed after a button is pressed? In the button callback, do
xv_set(button, PANEL_NOTIFY_STATUS, XV_ERROR, NULL); This will keep
the window visible. You might also need to investigate
the MENU_NOTIFY_STATUS attribute.
- how do I make an XView button
look pressed? call panel_begin_preview() and panel_cancel_preview();
these are documented in -- er -- the XView 3 source...
- OpenWindows 3 imake doesn't work
properly Here is Greg Earle's patch, to be applied in $OPENWINHOME;
note that you should edit lib/config/sun.cf afterwards to get OSName
and OSMinorVersion right (MinorVersion is 1 in SunOS 4.1.2, for
example). I have edited the patch a little, so any bugs are mine
- The pop-up menu in my canvas has
funny colours You need to use CMS_CONTROL_CMS when you create the CMS for
your canvas. This allocates the OPEN LOOK UI 3D colors at the start of the
colormap. The foreground color lives right at the end.
- The second ttysw in my program
doesn't work XView only supports one ttysw per program!
- How do arrange to have a (Cancel)
button to stop a calacuation? When you are doing cpu-intensive
calculations, your program probably isn't calling the XView notifier, so
that button presses aren't noticed until the co mputation is over. There
are several possible solutions: * use the implicit or explicit notify
displatch mechanism, described in the Notifier chapter of the XView
Programming Manual (O'Reilly); * use multiple processes, and send signals;
* split up the wo rk into small chunks and use notify_stop to return to
the main loop for each chunk.
- How do I put panel items on a
canvas? You don't. You can, however, draw on a panel, as if it was a
canvas. Another alternative is to use olgx to render the controls, but
this is a little tricky.