adw.button_content

Module for [ButtonContent] class

Types 3

A helper widget for creating buttons.

button-content

[adw.button_content.ButtonContent] is a box-like widget with an icon and a label.

It's intended to be used as a direct child of [gtk.button.Button], [gtk.menu_button.MenuButton] or class@SplitButton, when they need to have both an icon and a label, as follows:

<object class="GtkButton">
 <property name="child">
   <object class="AdwButtonContent">
     <property name="icon-name">document-open-symbolic</property>
     <property name="label" translatable="yes">_Open</property>
     <property name="use-underline">True</property>
   </object>
 </property>
</object>

[adw.button_content.ButtonContent] handles style classes and connecting the mnemonic to the button automatically.

CSS nodes

buttoncontent
╰── box
   ├── image
   ╰── label

[adw.button_content.ButtonContent]'s CSS node is called buttoncontent. It contains a box subnode that serves as a container for the image and label nodes.

When inside a [gtk.button.Button] or [adw.split_button.SplitButton], the button will receive the .image-text-button style class. When inside a [gtk.menu_button.MenuButton], the internal [gtk.button.Button] will receive it instead.

Accessibility

[adw.button_content.ButtonContent] uses the [gtk.types.AccessibleRole.Group] role.

Methods
GType _gType() @property
ButtonContent self()Returns `this`, for use in `with` statements.
ButtonContentGidBuilder builder()Get builder for [adw.button_content.ButtonContent] Returns: New builder object
bool canShrink() @propertyGet `canShrink` property. Returns: Whether the button can be smaller than the natural size of its contents.
void canShrink(bool propval) @propertySet `canShrink` property. Params: propval = Whether the button can be smaller than the natural size of its contents.
string iconName() @propertyGet `iconName` property. Returns: The name of the displayed icon.
void iconName(string propval) @propertySet `iconName` property. Params: propval = The name of the displayed icon.
string label() @propertyGet `label` property. Returns: The displayed label.
void label(string propval) @propertySet `label` property. Params: propval = The displayed label.
bool useUnderline() @propertyGet `useUnderline` property. Returns: Whether an underline in the text indicates a mnemonic.
void useUnderline(bool propval) @propertySet `useUnderline` property. Params: propval = Whether an underline in the text indicates a mnemonic.
bool getCanShrink()gets whether the button can be smaller than the natural size of its contents. Returns: whether the button can shrink
string getIconName()Gets the name of the displayed icon. Returns: the icon name
string getLabel()Gets the displayed label. Returns: the label
bool getUseUnderline()Gets whether an underline in the text indicates a mnemonic. Returns: whether an underline in the text indicates a mnemonic
void setCanShrink(bool canShrink)Sets whether the button can be smaller than the natural size of its contents.
void setIconName(string iconName)Sets the name of the displayed icon.
void setLabel(string label)Sets the displayed label.
void setUseUnderline(bool useUnderline)Sets whether an underline in the text indicates a mnemonic.
Constructors
this(void * ptr, Flag!"Take" take)
this()Creates a new [adw.buttoncontent.ButtonContent]. Returns: the new created [adw.buttoncontent.ButtonContent]
Methods
T canShrink(bool propval)Set `canShrink` property. Params: propval = Whether the button can be smaller than the natural size of its contents.
T iconName(string propval)Set `iconName` property. Params: propval = The name of the displayed icon.
T label(string propval)Set `label` property. Params: propval = The displayed label. Returns: Builder instance for fluent chaining
T useUnderline(bool propval)Set `useUnderline` property. Params: propval = Whether an underline in the text indicates a mnemonic.

Fluent builder for [adw.button_content.ButtonContent]