Copyright | Will Thompson and Iñaki García Etxebarria |
---|---|
License | LGPL-2.1 |
Maintainer | Iñaki García Etxebarria |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
A MenuToolButton
is a ToolItem
that contains a button and
a small additional button with an arrow. When clicked, the arrow
button pops up a dropdown menu.
Use menuToolButtonNew
to create a new
MenuToolButton
.
GtkMenuToolButton as GtkBuildable
The GtkMenuToolButton implementation of the GtkBuildable interface
supports adding a menu by specifying “menu” as the “type” attribute
of a <child>
element.
An example for a UI definition fragment with menus:
xml code
<object class="GtkMenuToolButton"> <child type="menu"> <object class="GtkMenu"/> </child> </object>
Synopsis
- newtype MenuToolButton = MenuToolButton (ManagedPtr MenuToolButton)
- class (GObject o, IsDescendantOf MenuToolButton o) => IsMenuToolButton o
- toMenuToolButton :: (MonadIO m, IsMenuToolButton o) => o -> m MenuToolButton
- menuToolButtonGetMenu :: (HasCallStack, MonadIO m, IsMenuToolButton a) => a -> m Widget
- menuToolButtonNew :: (HasCallStack, MonadIO m, IsWidget a) => Maybe a -> Maybe Text -> m MenuToolButton
- menuToolButtonNewFromStock :: (HasCallStack, MonadIO m) => Text -> m MenuToolButton
- menuToolButtonSetArrowTooltipMarkup :: (HasCallStack, MonadIO m, IsMenuToolButton a) => a -> Text -> m ()
- menuToolButtonSetArrowTooltipText :: (HasCallStack, MonadIO m, IsMenuToolButton a) => a -> Text -> m ()
- menuToolButtonSetMenu :: (HasCallStack, MonadIO m, IsMenuToolButton a, IsWidget b) => a -> b -> m ()
- clearMenuToolButtonMenu :: (MonadIO m, IsMenuToolButton o) => o -> m ()
- constructMenuToolButtonMenu :: (IsMenuToolButton o, MonadIO m, IsMenu a) => a -> m (GValueConstruct o)
- getMenuToolButtonMenu :: (MonadIO m, IsMenuToolButton o) => o -> m (Maybe Menu)
- setMenuToolButtonMenu :: (MonadIO m, IsMenuToolButton o, IsMenu a) => o -> a -> m ()
- type MenuToolButtonShowMenuCallback = IO ()
- afterMenuToolButtonShowMenu :: (IsMenuToolButton a, MonadIO m) => a -> ((?self :: a) => MenuToolButtonShowMenuCallback) -> m SignalHandlerId
- onMenuToolButtonShowMenu :: (IsMenuToolButton a, MonadIO m) => a -> ((?self :: a) => MenuToolButtonShowMenuCallback) -> m SignalHandlerId
Exported types
newtype MenuToolButton Source #
Memory-managed wrapper type.
MenuToolButton (ManagedPtr MenuToolButton) |
Instances
class (GObject o, IsDescendantOf MenuToolButton o) => IsMenuToolButton o Source #
Type class for types which can be safely cast to MenuToolButton
, for instance with toMenuToolButton
.
Instances
(GObject o, IsDescendantOf MenuToolButton o) => IsMenuToolButton o Source # | |
Defined in GI.Gtk.Objects.MenuToolButton |
toMenuToolButton :: (MonadIO m, IsMenuToolButton o) => o -> m MenuToolButton Source #
Cast to MenuToolButton
, for types for which this is known to be safe. For general casts, use castTo
.
Methods
Click to display all available methods, including inherited ones
Methods
activate, add, addAccelerator, addChild, addDeviceEvents, addEvents, addMnemonicLabel, addTickCallback, bindProperty, bindPropertyFull, canActivateAccel, checkResize, childFocus, childGetProperty, childNotify, childNotifyByPspec, childSetProperty, childType, classPath, computeExpand, constructChild, createPangoContext, createPangoLayout, customFinished, customTagEnd, customTagStart, destroy, destroyed, deviceIsShadowed, doSetRelatedAction, dragBegin, dragBeginWithCoordinates, dragCheckThreshold, dragDestAddImageTargets, dragDestAddTextTargets, dragDestAddUriTargets, dragDestFindTarget, dragDestGetTargetList, dragDestGetTrackMotion, dragDestSet, dragDestSetProxy, dragDestSetTargetList, dragDestSetTrackMotion, dragDestUnset, dragGetData, dragHighlight, dragSourceAddImageTargets, dragSourceAddTextTargets, dragSourceAddUriTargets, dragSourceGetTargetList, dragSourceSet, dragSourceSetIconGicon, dragSourceSetIconName, dragSourceSetIconPixbuf, dragSourceSetIconStock, dragSourceSetTargetList, dragSourceUnset, dragUnhighlight, draw, ensureStyle, errorBell, event, forall, forceFloating, foreach, freezeChildNotify, freezeNotify, getv, grabAdd, grabDefault, grabFocus, grabRemove, hasDefault, hasFocus, hasGrab, hasRcStyle, hasScreen, hasVisibleFocus, hide, hideOnDelete, inDestruction, initTemplate, inputShapeCombineRegion, insertActionGroup, intersect, isAncestor, isComposited, isDrawable, isFloating, isFocus, isSensitive, isToplevel, isVisible, keynavFailed, listAccelClosures, listActionPrefixes, listMnemonicLabels, map, mnemonicActivate, modifyBase, modifyBg, modifyCursor, modifyFg, modifyFont, modifyStyle, modifyText, notify, notifyByPspec, overrideBackgroundColor, overrideColor, overrideCursor, overrideFont, overrideSymbolicColor, parserFinished, path, propagateDraw, queueAllocate, queueComputeExpand, queueDraw, queueDrawArea, queueDrawRegion, queueResize, queueResizeNoRedraw, realize, rebuildMenu, ref, refSink, regionIntersect, registerWindow, remove, removeAccelerator, removeMnemonicLabel, removeTickCallback, renderIcon, renderIconPixbuf, reparent, resetRcStyles, resetStyle, resizeChildren, retrieveProxyMenuItem, runDispose, sendExpose, sendFocusChange, shapeCombineRegion, show, showAll, showNow, sizeAllocate, sizeAllocateWithBaseline, sizeRequest, stealData, stealQdata, styleAttach, styleGetProperty, syncActionProperties, thawChildNotify, thawNotify, toolbarReconfigured, translateCoordinates, triggerTooltipQuery, unmap, unparent, unrealize, unref, unregisterWindow, unsetFocusChain, unsetStateFlags, watchClosure.
Getters
getAccessible, getActionGroup, getActionName, getActionTargetValue, getAllocatedBaseline, getAllocatedHeight, getAllocatedSize, getAllocatedWidth, getAllocation, getAncestor, getAppPaintable, getBorderWidth, getCanDefault, getCanFocus, getChild, getChildRequisition, getChildVisible, getChildren, getClip, getClipboard, getCompositeName, getData, getDeviceEnabled, getDeviceEvents, getDirection, getDisplay, getDoubleBuffered, getEllipsizeMode, getEvents, getExpand, getFocusChain, getFocusChild, getFocusHadjustment, getFocusOnClick, getFocusVadjustment, getFontMap, getFontOptions, getFrameClock, getHalign, getHasTooltip, getHasWindow, getHexpand, getHexpandSet, getHomogeneous, getIconName, getIconSize, getIconWidget, getInternalChild, getIsImportant, getLabel, getLabelWidget, getMapped, getMarginBottom, getMarginEnd, getMarginLeft, getMarginRight, getMarginStart, getMarginTop, getMenu, getModifierMask, getModifierStyle, getName, getNoShowAll, getOpacity, getOrientation, getPangoContext, getParent, getParentWindow, getPath, getPathForChild, getPointer, getPreferredHeight, getPreferredHeightAndBaselineForWidth, getPreferredHeightForWidth, getPreferredSize, getPreferredWidth, getPreferredWidthForHeight, getProperty, getProxyMenuItem, getQdata, getRealized, getReceivesDefault, getRelatedAction, getReliefStyle, getRequestMode, getRequisition, getResizeMode, getRootWindow, getScaleFactor, getScreen, getSensitive, getSettings, getSizeRequest, getState, getStateFlags, getStockId, getStyle, getStyleContext, getSupportMultidevice, getTemplateChild, getTextAlignment, getTextOrientation, getTextSizeGroup, getToolbarStyle, getTooltipMarkup, getTooltipText, getTooltipWindow, getToplevel, getUseActionAppearance, getUseDragWindow, getUseUnderline, getValign, getValignWithBaseline, getVexpand, getVexpandSet, getVisible, getVisibleHorizontal, getVisibleVertical, getVisual, getWindow.
Setters
setAccelPath, setActionName, setActionTargetValue, setAllocation, setAppPaintable, setArrowTooltipMarkup, setArrowTooltipText, setBorderWidth, setBuildableProperty, setCanDefault, setCanFocus, setChildVisible, setClip, setCompositeName, setData, setDataFull, setDetailedActionName, setDeviceEnabled, setDeviceEvents, setDirection, setDoubleBuffered, setEvents, setExpand, setFocusChain, setFocusChild, setFocusHadjustment, setFocusOnClick, setFocusVadjustment, setFontMap, setFontOptions, setHalign, setHasTooltip, setHasWindow, setHexpand, setHexpandSet, setHomogeneous, setIconName, setIconWidget, setIsImportant, setLabel, setLabelWidget, setMapped, setMarginBottom, setMarginEnd, setMarginLeft, setMarginRight, setMarginStart, setMarginTop, setMenu, setName, setNoShowAll, setOpacity, setParent, setParentWindow, setProperty, setProxyMenuItem, setRealized, setReallocateRedraws, setReceivesDefault, setRedrawOnAllocate, setRelatedAction, setResizeMode, setSensitive, setSizeRequest, setState, setStateFlags, setStockId, setStyle, setSupportMultidevice, setTooltipMarkup, setTooltipText, setTooltipWindow, setUseActionAppearance, setUseDragWindow, setUseUnderline, setValign, setVexpand, setVexpandSet, setVisible, setVisibleHorizontal, setVisibleVertical, setVisual, setWindow.
getMenu
menuToolButtonGetMenu Source #
:: (HasCallStack, MonadIO m, IsMenuToolButton a) | |
=> a |
|
-> m Widget | Returns: the |
Gets the Menu
associated with MenuToolButton
.
Since: 2.6
new
:: (HasCallStack, MonadIO m, IsWidget a) | |
=> Maybe a |
|
-> Maybe Text |
|
-> m MenuToolButton | Returns: the new |
Creates a new MenuToolButton
using iconWidget
as icon and
label
as label.
Since: 2.6
newFromStock
menuToolButtonNewFromStock Source #
:: (HasCallStack, MonadIO m) | |
=> Text |
|
-> m MenuToolButton | Returns: the new |
Deprecated: (Since version 3.10)Use menuToolButtonNew
instead.
Creates a new MenuToolButton
.
The new MenuToolButton
will contain an icon and label from
the stock item indicated by stockId
.
Since: 2.6
setArrowTooltipMarkup
menuToolButtonSetArrowTooltipMarkup Source #
:: (HasCallStack, MonadIO m, IsMenuToolButton a) | |
=> a |
|
-> Text |
|
-> m () |
Sets the tooltip markup text to be used as tooltip for the arrow button
which pops up the menu. See toolItemSetTooltipText
for setting
a tooltip on the whole MenuToolButton
.
Since: 2.12
setArrowTooltipText
menuToolButtonSetArrowTooltipText Source #
:: (HasCallStack, MonadIO m, IsMenuToolButton a) | |
=> a |
|
-> Text |
|
-> m () |
Sets the tooltip text to be used as tooltip for the arrow button which
pops up the menu. See toolItemSetTooltipText
for setting a tooltip
on the whole MenuToolButton
.
Since: 2.12
setMenu
menuToolButtonSetMenu Source #
:: (HasCallStack, MonadIO m, IsMenuToolButton a, IsWidget b) | |
=> a |
|
-> b |
|
-> m () |
Sets the Menu
that is popped up when the user clicks on the arrow.
If menu
is NULL, the arrow button becomes insensitive.
Since: 2.6
Properties
menu
No description available in the introspection data.
clearMenuToolButtonMenu :: (MonadIO m, IsMenuToolButton o) => o -> m () Source #
Set the value of the “menu
” property to Nothing
.
When overloading is enabled, this is equivalent to
clear
#menu
constructMenuToolButtonMenu :: (IsMenuToolButton o, MonadIO m, IsMenu a) => a -> m (GValueConstruct o) Source #
Construct a GValueConstruct
with valid value for the “menu
” property. This is rarely needed directly, but it is used by new
.
getMenuToolButtonMenu :: (MonadIO m, IsMenuToolButton o) => o -> m (Maybe Menu) Source #
Get the value of the “menu
” property.
When overloading is enabled, this is equivalent to
get
menuToolButton #menu
setMenuToolButtonMenu :: (MonadIO m, IsMenuToolButton o, IsMenu a) => o -> a -> m () Source #
Set the value of the “menu
” property.
When overloading is enabled, this is equivalent to
set
menuToolButton [ #menu:=
value ]
Signals
showMenu
type MenuToolButtonShowMenuCallback = IO () Source #
The showMenu signal is emitted before the menu is shown.
It can be used to populate the menu on demand, using
menuToolButtonSetMenu
.
Note that even if you populate the menu dynamically in this way,
you must set an empty menu on the MenuToolButton
beforehand,
since the arrow is made insensitive if the menu is not set.
afterMenuToolButtonShowMenu :: (IsMenuToolButton a, MonadIO m) => a -> ((?self :: a) => MenuToolButtonShowMenuCallback) -> m SignalHandlerId Source #
Connect a signal handler for the showMenu signal, to be run after the default handler. When overloading is enabled, this is equivalent to
after
menuToolButton #showMenu callback
By default the object invoking the signal is not passed to the callback.
If you need to access it, you can use the implit ?self
parameter.
Note that this requires activating the ImplicitParams
GHC extension.
onMenuToolButtonShowMenu :: (IsMenuToolButton a, MonadIO m) => a -> ((?self :: a) => MenuToolButtonShowMenuCallback) -> m SignalHandlerId Source #
Connect a signal handler for the showMenu signal, to be run before the default handler. When overloading is enabled, this is equivalent to
on
menuToolButton #showMenu callback