Class: Fox::FXMenuButton
Overview
An FXMenuButton posts a popup menu when clicked. There are many ways to control the placement where the popup will appear; first, the popup may be placed on either of the four sides relative to the menu button; this is controlled by the flags MENUBUTTON_DOWN
, etc. Next, there are several attachment modes; the popup’s left/bottom edge may attach to the menu button’s left/top edge, or the popup’s right/top edge may attach to the menu button’s right/bottom edge, or both. Also, the popup may appear centered relative to the menu button. Finally, a small offset may be specified to displace the location of the popup by a few pixels so as to account for borders and so on. Normally, the menu button shows an arrow pointing to the direction where the popup is set to appear; this can be turned off by passing the option MENUBUTTON_NOARROWS
.
Events
The following messages are sent by FXMenuButton to its target:
SEL_KEYPRESS
-
sent when a key goes down; the message data is an FXEvent instance.
SEL_KEYRELEASE
-
sent when a key goes up; the message data is an FXEvent instance.
SEL_LEFTBUTTONPRESS
-
sent when the left mouse button goes down; the message data is an FXEvent instance.
SEL_LEFTBUTTONRELEASE
-
sent when the left mouse button goes up; the message data is an FXEvent instance.
Menu Button Style Flags
Any combination of the following flags can be assigned as the menu button style flags.
MENUBUTTON_AUTOGRAY
-
Automatically gray out when no target
MENUBUTTON_AUTOHIDE
-
Automatically hide when no target
MENUBUTTON_TOOLBAR
-
Toolbar style
MENUBUTTON_NOARROWS
-
Do not show arrows
Menu Button Popup Style
Any one of the following options can be assigned as the menu button’s popup style.
MENUBUTTON_DOWN
-
Popup window appears below menu button
MENUBUTTON_UP
-
Popup window appears above menu button
MENUBUTTON_LEFT
-
Popup window to the left of the menu button
MENUBUTTON_RIGHT
-
Popup window to the right of the menu button
Menu Button Attachment
Any combination of the following flags can be assigned as the menu button’s attachment flags.
MENUBUTTON_ATTACH_LEFT
-
Popup attaches to the left side of the menu button
MENUBUTTON_ATTACH_TOP
-
Popup attaches to the top of the menu button
MENUBUTTON_ATTACH_RIGHT
-
Popup attaches to the right side of the menu button
MENUBUTTON_ATTACH_BOTTOM
-
Popup attaches to the bottom of the menu button
MENUBUTTON_ATTACH_CENTER
-
Popup attaches to the center of the menu button
MENUBUTTON_ATTACH_BOTH
-
Popup attaches to both sides of the menu button
Direct Known Subclasses
Instance Attribute Summary collapse
-
#attachment ⇒ Object
Attachment [Integer].
-
#buttonStyle ⇒ Object
Menu button style [Integer].
-
#menu ⇒ Object
The popup menu FXPopup.
-
#popupStyle ⇒ Object
Popup style [Integer].
-
#xOffset ⇒ Object
X-offset where menu pops up relative to button [Integer].
-
#yOffset ⇒ Object
Y-offset where menu pops up relative to button [Integer].
Attributes inherited from FXLabel
#font, #helpText, #icon, #iconPosition, #justify, #text, #textColor, #tipText
Attributes inherited from FXFrame
#baseColor, #borderColor, #borderWidth, #frameStyle, #hiliteColor, #padBottom, #padLeft, #padRight, #padTop, #shadowColor
Attributes inherited from FXWindow
#accelTable, #backColor, #defaultCursor, #dragCursor, #first, #focus, #key, #last, #layoutHints, #next, #numChildren, #owner, #parent, #prev, #root, #selector, #shell, #target, #x, #y
Attributes inherited from FXDrawable
Attributes inherited from FXId
Instance Method Summary collapse
Methods inherited from FXLabel
Methods inherited from FXWindow
#acceptDrop, #acquireClipboard, #acquireSelection, #active?, #addHotKey, after?, #after?, before?, #before?, #beginDrag, #canFocus?, #changeFocus, #childAtIndex, #childOf?, #children, #clearDragRectangle, #clearShape, colorType, colorTypeName, commonAncestor, #composeContext, #composite?, #contains?, #containsChild?, #create, #createComposeContext, #cursorPosition, #default?, #defaultHeight, #defaultWidth, deleteType, deleteTypeName, #destroy, #destroyComposeContext, #detach, #didAccept, #disable, #doesSaveUnder?, #dragging?, #dropDisable, #dropEnable, #dropEnabled?, #dropFinished, #dropTarget?, #each_child, #each_child_recursive, #enable, #enabled?, #endDrag, #forceRefresh, #getChildAt, #getDNDData, #getHeightForWidth, #getWidthForHeight, #grab, #grabKeyboard, #grabbed?, #grabbedKeyboard?, #handleDrag, #hasClipboard?, #hasFocus?, #hasSelection?, #height, #height=, #hide, imageType, #inFocusChain?, #indexOfChild, #initial?, #inquireDNDAction, #inquireDNDTypes, #killFocus, #layout, #linkAfter, #linkBefore, #lower, #move, octetType, octetTypeName, #offeredDNDType?, #position, #raiseWindow, #recalc, #releaseClipboard, #releaseSelection, #remHotKey, #removeChild, #repaint, #reparent, #resize, #scroll, #setCursorPosition, #setDNDData, #setDefault, #setDragRectangle, #setFocus, #setInitial, #setShape, #shell?, #show, #shown?, stringType, textType, textTypeName, #tr, #translateCoordinatesFrom, #translateCoordinatesTo, #underCursor?, #ungrab, #ungrabKeyboard, #update, urilistType, urilistTypeName, utf16Type, utf16TypeName, utf8Type, utf8TypeName, #visible=, #width, #width=
Methods included from Responder2
Methods inherited from FXDrawable
Methods inherited from FXId
#create, #created?, #destroy, #detach, #runOnUiThread
Methods inherited from FXObject
#bind, #handle, #load, #save, subclasses
Constructor Details
#initialize(parent, text, icon = nil, popupMenu = nil, opts = JUSTIFY_NORMAL|ICON_BEFORE_TEXT|MENUBUTTON_DOWN, x = 0, y = 0, width = 0, height = 0, padLeft = DEFAULT_SPACING, padRight = DEFAULT_SPACING, padTop = DEFAULT_SPACING, padBottom = DEFAULT_SPACING) ⇒ FXMenuButton
Constructor
81 82 |
# File 'rdoc-sources/FXMenuButton.rb', line 81 def initialize(parent, text, icon=nil, popupMenu=nil, opts=JUSTIFY_NORMAL|ICON_BEFORE_TEXT|MENUBUTTON_DOWN, x=0, y=0, width=0, height=0, padLeft=DEFAULT_SPACING, padRight=DEFAULT_SPACING, padTop=DEFAULT_SPACING, padBottom=DEFAULT_SPACING) # :yields: theMenuButton end |
Instance Attribute Details
#attachment ⇒ Object
Attachment [Integer]
76 77 78 |
# File 'rdoc-sources/FXMenuButton.rb', line 76 def @attachment end |
#buttonStyle ⇒ Object
Menu button style [Integer]
70 71 72 |
# File 'rdoc-sources/FXMenuButton.rb', line 70 def @buttonStyle end |
#menu ⇒ Object
The popup menu Fox::FXPopup
61 62 63 |
# File 'rdoc-sources/FXMenuButton.rb', line 61 def @menu end |
#popupStyle ⇒ Object
Popup style [Integer]
73 74 75 |
# File 'rdoc-sources/FXMenuButton.rb', line 73 def popupStyle @popupStyle end |
#xOffset ⇒ Object
X-offset where menu pops up relative to button [Integer]
64 65 66 |
# File 'rdoc-sources/FXMenuButton.rb', line 64 def xOffset @xOffset end |
#yOffset ⇒ Object
Y-offset where menu pops up relative to button [Integer]
67 68 69 |
# File 'rdoc-sources/FXMenuButton.rb', line 67 def yOffset @yOffset end |