steve@gabriela.Tymnet.COM (Steve Sandke) (06/13/91)
Sorry if this is a basic question... I'd like to "turn off" some of the buttons (Help, for example) on an XmMessageBox widget. Simply greying them out would be enough. I know how to do this for a widget, but I don't have an actual widget for the buttons. Any help would be greatly appreciated. -- ------------------- Steve Sandke steve@orchid.tymnet.com
kendall@hottub.b11.ingr.com (Kendall Schmidt) (06/13/91)
In article <500@tymix.Tymnet.COM>, steve@gabriela.Tymnet.COM (Steve Sandke) writes: |> Sorry if this is a basic question... |> |> I'd like to "turn off" some of the buttons (Help, for example) on an XmMessageBox widget. Simply |> greying them out would be enough. I know how to do this for a widget, but I don't have an actual widget |> for the buttons. |> |> Any help would be greatly appreciated. |> |> -- After you create the message box you can get the widget id of one of its children by calling XmMessageBoxGetChild. You can then unmanage the child widget of the message box. Ex: XtUnmanageChild( XmMessageBoxGetChild(myMessageBox, XmDIALOG_CANCEL_BUTTON)); XtUnmanageChild( XmMessageBoxGetChild(myMessageBox, XmDIALOG_HELP_BUTTON)); This will unmanage both the help and cancel buttons of the message box. -- Kendall Schmidt | Intergraph Corp. | e-mail: Graphics Standards | Huntsville, AL. | kendall@ingr.com X Window System | 205-730-4061 | uunet!ingr!kendall
lanzo@wgate.UUCP (Mark Lanzo) (06/13/91)
In a prior article steve@gabriela.Tymnet.COM (Steve Sandke) wrote: SS> I'd like to "turn off" some of the buttons (Help, for example) SS> on an XmMessageBox widget. Simply greying them out would be enough. SS> I know how to do this for a widget, but I don't have an actual widget SS> for the buttons. XmMessageBoxGetChild() will return the actual widgets for the buttons. For instance, to get rid of the help button: XtUnmanageChild(XmMessageBoxGetChild(msgbox,XmDIALOG_HELP_BUTTON)); The components you can request are: XmDIALOG_CANCEL_BUTTON XmDIALOG_DEFAULT_BUTTON XmDIALOG_HELP_BUTTON XmDIALOG_MESSAGE_LABEL XmDIALOG_OK_BUTTON XmDIALOG_SEPARATOR XmDIALOG_SYMBOL_LABEL CAUTION: I believe that some of these components are actually implemented as gadgets rather than widgets. Some operations you may want to do may be illegal. For example, you may not be able to specify a background color for the label. -- Mark -- -------------------------------------------------------------------------- ASIDE: This isn't really related to the subject thread, but my warning above reminds me of a quibble I have with Motif - It seems to me that certain logical operations should transparently work on either widgets or gadgets, without the programmer having to know which class of object he is dealing with. For example, if you want to know the state of a toggle button widget, you need to use the function XmToggleButttonGetState(). If on the other hand you have a toggle button *gadget*, you must call XmToggleButtonGadgetGetState(). It seems to me that XmToggleButtonGetState should work for both the widget and the gadget. I got bitten by this one a while back when I modified a lot of code to use gadgets instead of widgets. I spent a lot of time scratching my head wondering why things didn't work until I discovered that I was still using the widget "GetState" routine. It hadn't even occurred to me that the gadget was not an essentially transparent replacement for the widget. So what's everyone else's opinion on this?
reha@cunixf.cc.columbia.edu (Reha Elci) (06/15/91)
I've tried my best but not from XtSetValues; the only things that seems to work is right after Xm..Create, read widget values from resources & do an XtDestroyWidget on them. Reha Elci
gaf@uucs1.UUCP (gaf) (06/15/91)
For example, to get rid of the HELP button (now why would you want to do that): XtUnmanageChild(XmMessageBoxGetChild(XmDIALOG_HELP_BUTTON)); This will make the button disappear from the message box. The other buttons will be rearranged to fit. -- Guy Finney It's that feeling of deja-vu UUCS inc. Phoenix, Az all over again. ncar!noao!asuvax!hrc!uucs1!gaf sun!sunburn!gtx!uucs1!gaf