gi-gtk-3.0.32: Gtk bindings
CopyrightWill Thompson Iñaki García Etxebarria and Jonas Platte
LicenseLGPL-2.1
MaintainerIñaki García Etxebarria
Safe HaskellNone
LanguageHaskell2010

GI.Gtk.Objects.MenuToolButton

Description

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: > >class="GtkMenuToolButton" > type="menu" > class="GtkMenu"/ > /child >/object

Synopsis

Exported types

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

Instances details
(GObject o, IsDescendantOf MenuToolButton o) => IsMenuToolButton o Source # 
Instance details

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

Overloaded methods

getMenu

menuToolButtonGetMenu Source #

Arguments

:: (HasCallStack, MonadIO m, IsMenuToolButton a) 
=> a

button: a MenuToolButton

-> m Widget

Returns: the Menu associated with MenuToolButton

Gets the Menu associated with MenuToolButton.

Since: 2.6

new

menuToolButtonNew Source #

Arguments

:: (HasCallStack, MonadIO m, IsWidget a) 
=> Maybe a

iconWidget: a widget that will be used as icon widget, or Nothing

-> Maybe Text

label: a string that will be used as label, or Nothing

-> m MenuToolButton

Returns: the new MenuToolButton

Creates a new MenuToolButton using iconWidget as icon and label as label.

Since: 2.6

newFromStock

menuToolButtonNewFromStock Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> Text

stockId: the name of a stock item

-> m MenuToolButton

Returns: the new MenuToolButton

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 #

Arguments

:: (HasCallStack, MonadIO m, IsMenuToolButton a) 
=> a

button: a MenuToolButton

-> Text

markup: markup text to be used as tooltip text for button’s arrow button

-> 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 #

Arguments

:: (HasCallStack, MonadIO m, IsMenuToolButton a) 
=> a

button: a MenuToolButton

-> Text

text: text to be used as tooltip text for button’s arrow button

-> 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 #

Arguments

:: (HasCallStack, MonadIO m, IsMenuToolButton a, IsWidget b) 
=> a

button: a MenuToolButton

-> b

menu: the Menu associated with MenuToolButton

-> 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, IsMenu a) => a -> IO (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 C_MenuToolButtonShowMenuCallback = Ptr () -> Ptr () -> IO () Source #

Type for the callback on the (unwrapped) C side.

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 -> 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

onMenuToolButtonShowMenu :: (IsMenuToolButton a, MonadIO m) => 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