Creates a new #GtkMenuButton widget with downwards-pointing arrow as the only child. You can replace the child widget with another #GtkWidget should you wish to.
Returns the parent #GtkWidget to use to line up with menu.
Returns the direction the popup will be pointing at when popped up.
Returns the #GMenuModel used to generate the popup.
Returns the #GtkPopover that pops out of the button. If the button is not using a #GtkPopover, this function returns null.
Returns the #GtkMenu that pops out of the button. If the button does not use a #GtkMenu, this function returns null.
Returns whether a #GtkPopover or a #GtkMenu will be constructed from the menu model.
Returns this, for use in with statements.
Sets the #GtkWidget to use to line the menu with when popped up. Note that the align_widget must contain the #GtkMenuButton itself.
Sets the direction in which the popup will be popped up, as well as changing the arrow’s direction. The child will not be changed to an arrow if it was customized.
Sets the #GMenuModel from which the popup will be constructed, or null to dissociate any existing menu model and disable the button.
Sets the #GtkPopover that will be popped up when the menu_button is clicked, or null to dissociate any existing popover and disable the button.
Sets the #GtkMenu that will be popped up when the menu_button is clicked, or null to dissociate any existing menu and disable the button.
Sets whether to construct a #GtkPopover instead of #GtkMenu when gtk.menu_button.MenuButton.setMenuModel is called. Note that this property is only consulted when a new menu model is set.
Get alignWidget property.
Set alignWidget property.
Get direction property.
Set direction property.
Get menuModel property.
Set menuModel property.
Get popover property.
Set popover property.
Get popup property.
Set popup property.
Get usePopover property.
Set usePopover property.
Get builder for gtk.menu_button.MenuButton
Returns this, for use in with statements.
Get builder for gtk.toggle_button.ToggleButton
Creates a new toggle button with a text label.
Creates a new #GtkToggleButton containing a label. The label will be created using gtk.label.Label.newWithMnemonic, so underscores in label indicate the mnemonic for the button.
Queries a #GtkToggleButton and returns its current state. Returns true if the toggle button is pressed in and false if it is raised.
Gets the value set by gtk.toggle_button.ToggleButton.setInconsistent.
Retrieves whether the button is displayed as a separate indicator and label. See gtk.toggle_button.ToggleButton.setMode.
Sets the status of the toggle button. Set to true if you want the GtkToggleButton to be “pressed in”, and false to raise it. This action causes the #GtkToggleButton::toggled signal and the #GtkButton::clicked signal to be emitted.
If the user has selected a range of elements (such as some text or spreadsheet cells) that are affected by a toggle button, and the current values in that range are inconsistent, you may want to display the toggle in an “in between” state. This function turns on “in between” display. Normally you would turn off the inconsistent state again if the user toggles the toggle button. This has to be done manually, gtk.toggle_button.ToggleButton.setInconsistent only affects visual appearance, it doesn’t affect the semantics of the button.
Sets whether the button is displayed as a separate indicator and label. You can call this function on a checkbutton or a radiobutton with draw_indicator = false to make the button look like a normal button.
Emits the #GtkToggleButton::toggled signal on the #GtkToggleButton. There is no good reason for an application ever to call this function.
Connect to Toggled signal.
The #GtkMenuButton widget is used to display a popup when clicked on. This popup can be provided either as a #GtkMenu, a #GtkPopover or an abstract #GMenuModel.
The #GtkMenuButton widget can hold any valid child widget. That is, it can hold almost any other standard #GtkWidget. The most commonly used child is #GtkImage. If no widget is explicitely added to the #GtkMenuButton, a #GtkImage is automatically created, using an arrow image oriented according to #GtkMenuButton:direction or the generic “open-menu-symbolic” icon if the direction is not set.
The positioning of the popup is determined by the #GtkMenuButton:direction property of the menu button.
For menus, the #GtkWidget:halign and #GtkWidget:valign properties of the menu are also taken into account. For example, when the direction is gtk.types.ArrowType.Down and the horizontal alignment is gtk.types.Align.Start, the menu will be positioned below the button, with the starting edge (depending on the text direction) of the menu aligned with the starting edge of the button. If there is not enough space below the button, the menu is popped up above the button instead. If the alignment would move part of the menu offscreen, it is “pushed in”.
Direction = Down
Direction = Up
Direction = Left
Direction = Right
CSS nodes
GtkMenuButton has a single CSS node with name button. To differentiate it from a plain #GtkButton, it gets the .popup style class.