MenuButton widget


Application Header file <Xraw/MenuButton.h>
Class Header file <Xraw/MenuButtonP.h>
Class menuButtonWidgetClass
Class Name MenuButton
Superclass Command --> Simple --> Core

The MenuButton widget is an area, often rectangular, that contains a text label or bitmap image. When the pointer cursor is on the button, the button becomes highlighted by drawing a rectangle around its perimeter. This highlighting indicates that the button is ready for selection. When a pointer button is pressed, the MenuButton widget will pop up the menu that has been named in the menuName resource.


New Resources

Name Class Type Notes Default Value
menuName MenuName String "menu"
menuName The name of a popup shell to popup as a menu. The MenuButton will search for this name using XtNameToWidget starting with itself as the reference widget. If it is unsuccessful it will continue up the widget tree using each of its ancestors as the reference widget. If it is still unsuccessful it will print a warning message and give up. When the menu is found it will be popped up exclusive and spring_loaded. The MenuButton widget does not copy the value of this resource into newly allocated memory. The application programmer must pass the resource value in nonvolatile memory.


MenuButton Actions

The MenuButton widget supports the following actions:

The following are the default translation bindings used by the MenuButton widget:
	<EnterWindow>:	highlight()
	<LeaveWindow>:	reset()
	<BtnDown>:	reset() PopupMenu()
The full list of actions supported by MenuButton is:
highlight(condition) Displays the internal highlight border in the color (foreground or background ) that contrasts with the interior color of the Command widget. The conditions WhenUnset and Always are understood by this action procedure. If no argument is passed, WhenUnset is assumed.
unhighlight() Displays the internal highlight border in the color (XtNforeground or background ) that matches the interior color of the MenuButton widget.
set() Enters the set state, in which notify is possible. This action causes the button to display its interior in the foreground color. The label or bitmap is displayed in the background color.
unset() Cancels the set state and displays the interior of the button in the background color. The label or bitmap is displayed in the foreground color.
reset() Cancels any set or highlight and displays the interior of the button in the background color, with the label displayed in the foreground color.
notify() When the button is in the set state this action calls all functions in the callback list named by the callback resource. The value of the call_data argument in these callback functions is undefined.
PopupMenu() Pops up the menu specified by the menuName resource.

The MenuButton widget does not place a server grab on itself. Instead, PopupMenu is registered as a grab action. As a result, clients which popup menus without using XtMenuPopup or MenuPopup or PopupMenu in translations will fail to have a grab active. They should make a call to XtRegisterGrabAction on the appropriate action in the application initialization routine, or use a different translation.


[Xraw home] [Xraw widget class hierarchy]
Vladimir T. Romanovski
romsky@hp1.oea.ihep.su