Adw.ButtonRow
Description: Reference for Adw.ButtonRow

### Class

# AdwButtonRow

since: 1.6

#### Description [src]

    final class Adw.ButtonRow : Adw.PreferencesRow
      implements Gtk.Accessible, Gtk.Actionable, Gtk.Buildable, Gtk.ConstraintTarget {
      /* No available fields */
    }

A `GtkListBoxRow` that looks like a button.

The `AdwButtonRow` widget has a title and two icons: before and after the title.

It is convenient for presenting actions like “Delete” at the end of a boxed list.

`AdwButtonRow` is always activatable.

## CSS nodes

`AdwButtonRow` has a main CSS node with name `row` and the style class `.button`.

It contains the subnode `box` for its main horizontal box, which contains the nodes: `image.icon.start` for the start icon, `label.title` for the title, and `image.icon.end` for the end icon.

## Style classes

The `.suggested-action` style class makes `AdwButtonRow` use accent color for its background. It should be used very sparingly to denote important buttons.

The `.destructive-action` style makes the row use destructive colors. It can be used to draw attention to the potentially damaging consequences of using it. This style acts as a warning to the user.

.

Available since: 1.6

#### Hierarchy

#### Ancestors

- AdwPreferencesRow
- GtkListBoxRow
- GtkWidget
- GInitiallyUnowned
- GObject

#### Implements

- GtkAccessible
- GtkActionable
- GtkBuildable
- GtkConstraintTarget

#### Constructors

###### adw_button_row_new

Creates a new `AdwButtonRow`.

since: 1.6

#### Instance methods

###### adw_button_row_get_end_icon_name

Gets the end icon name for `self`.

since: 1.6

###### adw_button_row_get_start_icon_name

Gets the start icon name for `self`.

since: 1.6

###### adw_button_row_set_end_icon_name

Sets the end icon name for `self`.

since: 1.6

###### adw_button_row_set_start_icon_name

Sets the start icon name for `self`.

since: 1.6

##### Methods inherited from AdwPreferencesRow (8)

###### adw_preferences_row_get_title

Gets the title of the preference represented by `self`.

###### adw_preferences_row_get_title_selectable

Gets whether the user can copy the title from the label.

since: 1.1

###### adw_preferences_row_get_use_markup

Gets whether to use Pango markup for the title label.

since: 1.2

###### adw_preferences_row_get_use_underline

Gets whether an embedded underline in the title indicates a mnemonic.

###### adw_preferences_row_set_title

Sets the title of the preference represented by `self`.

###### adw_preferences_row_set_title_selectable

Sets whether the user can copy the title from the label.

since: 1.1

###### adw_preferences_row_set_use_markup

Sets whether to use Pango markup for the title label.

since: 1.2

###### adw_preferences_row_set_use_underline

Sets whether an embedded underline in the title indicates a mnemonic.

##### Methods inherited from GtkListBoxRow (11)

###### gtk_list_box_row_changed

Marks `row` as changed, causing any state that depends on this to be updated.

###### gtk_list_box_row_get_activatable

Gets whether the row is activatable.

###### gtk_list_box_row_get_child

Gets the child widget of `row`.

###### gtk_list_box_row_get_header

Returns the current header of the `row`.

###### gtk_list_box_row_get_index

Gets the current index of the `row` in its `GtkListBox` container.

###### gtk_list_box_row_get_selectable

Gets whether the row can be selected.

###### gtk_list_box_row_is_selected

Returns whether the child is currently selected in its `GtkListBox` container.

###### gtk_list_box_row_set_activatable

Set whether the row is activatable.

###### gtk_list_box_row_set_child

Sets the child widget of `self`.

###### gtk_list_box_row_set_header

Sets the current header of the `row`.

###### gtk_list_box_row_set_selectable

Set whether the row can be selected.

##### Methods inherited from GtkWidget (162)

Please see GtkWidget for a full list of methods.

##### Methods inherited from GObject (43)

Please see GObject for a full list of methods.

##### Methods inherited from GtkAccessible (19)

###### gtk_accessible_announce

Requests the user’s screen reader to announce the given message.

###### gtk_accessible_get_accessible_parent

Retrieves the accessible parent for an accessible object.

###### gtk_accessible_get_accessible_role

Retrieves the accessible role of an accessible object.

###### gtk_accessible_get_at_context

Retrieves the accessible implementation for the given `GtkAccessible`.

###### gtk_accessible_get_bounds

Queries the coordinates and dimensions of this accessible.

###### gtk_accessible_get_first_accessible_child

Retrieves the first accessible child of an accessible object.

###### gtk_accessible_get_next_accessible_sibling

Retrieves the next accessible sibling of an accessible object.

###### gtk_accessible_get_platform_state

Query a platform state, such as focus.

###### gtk_accessible_reset_property

Resets the accessible `property` to its default value.

###### gtk_accessible_reset_relation

Resets the accessible `relation` to its default value.

###### gtk_accessible_reset_state

Resets the accessible `state` to its default value.

###### gtk_accessible_set_accessible_parent

Sets the parent and sibling of an accessible object.

###### gtk_accessible_update_next_accessible_sibling

Updates the next accessible sibling of `self`.

###### gtk_accessible_update_property

Updates a list of accessible properties.

###### gtk_accessible_update_property_value

Updates an array of accessible properties.

###### gtk_accessible_update_relation

Updates a list of accessible relations.

###### gtk_accessible_update_relation_value

Updates an array of accessible relations.

###### gtk_accessible_update_state

Updates a list of accessible states. See the `GtkAccessibleState` documentation for the value types of accessible states.

###### gtk_accessible_update_state_value

Updates an array of accessible states.

##### Methods inherited from GtkActionable (6)

###### gtk_actionable_get_action_name

Gets the action name for `actionable`.

###### gtk_actionable_get_action_target_value

Gets the current target value of `actionable`.

###### gtk_actionable_set_action_name

Specifies the name of the action with which this widget should be associated.

###### gtk_actionable_set_action_target

Sets the target of an actionable widget.

###### gtk_actionable_set_action_target_value

Sets the target value of an actionable widget.

###### gtk_actionable_set_detailed_action_name

Sets the action-name and associated string target value of an actionable widget.

##### Methods inherited from GtkBuildable (1)

###### gtk_buildable_get_buildable_id

Gets the ID of the `buildable` object.

#### Properties

###### Adw.ButtonRow:end-icon-name

The icon name to show after the title.

since: 1.6

###### Adw.ButtonRow:start-icon-name

The icon name to show before the title.

since: 1.6

##### Properties inherited from AdwPreferencesRow (4)

###### Adw.PreferencesRow:title

The title of the preference represented by this row.

###### Adw.PreferencesRow:title-selectable

Whether the user can copy the title from the label.

since: 1.1

###### Adw.PreferencesRow:use-markup

Whether to use Pango markup for the title label.

since: 1.2

###### Adw.PreferencesRow:use-underline

Whether an embedded underline in the title indicates a mnemonic.

##### Properties inherited from GtkListBoxRow (3)

###### Gtk.ListBoxRow:activatable

Determines whether the ::row-activated signal will be emitted for this row.

###### Gtk.ListBoxRow:child

The child widget.

###### Gtk.ListBoxRow:selectable

Determines whether this row can be selected.

##### Properties inherited from GtkWidget (34)

###### Gtk.Widget:can-focus

Whether the widget or any of its descendents can accept the input focus.

###### Gtk.Widget:can-target

Whether the widget can receive pointer events.

###### Gtk.Widget:css-classes

A list of css classes applied to this widget.

###### Gtk.Widget:css-name

The name of this widget in the CSS tree.

###### Gtk.Widget:cursor

The cursor used by `widget`.

###### Gtk.Widget:focus-on-click

Whether the widget should grab focus when it is clicked with the mouse.

###### Gtk.Widget:focusable

Whether this widget itself will accept the input focus.

###### Gtk.Widget:halign

How to distribute horizontal space if widget gets extra space.

###### Gtk.Widget:has-default

Whether the widget is the default widget.

###### Gtk.Widget:has-focus

Whether the widget has the input focus.

###### Gtk.Widget:has-tooltip

Enables or disables the emission of the ::query-tooltip signal on `widget`.

###### Gtk.Widget:height-request

Override for height request of the widget.

###### Gtk.Widget:hexpand

Whether to expand horizontally.

###### Gtk.Widget:hexpand-set

Whether to use the `hexpand` property.

###### Gtk.Widget:layout-manager

The `GtkLayoutManager` instance to use to compute the preferred size of the widget, and allocate its children.

###### Gtk.Widget:margin-bottom

Margin on bottom side of widget.

###### Gtk.Widget:margin-end

Margin on end of widget, horizontally.

###### Gtk.Widget:margin-start

Margin on start of widget, horizontally.

###### Gtk.Widget:margin-top

Margin on top side of widget.

###### Gtk.Widget:name

The name of the widget.

###### Gtk.Widget:opacity

The requested opacity of the widget.

###### Gtk.Widget:overflow

How content outside the widget’s content area is treated.

###### Gtk.Widget:parent

The parent widget of this widget.

###### Gtk.Widget:receives-default

Whether the widget will receive the default action when it is focused.

###### Gtk.Widget:root

The `GtkRoot` widget of the widget tree containing this widget.

###### Gtk.Widget:scale-factor

The scale factor of the widget.

###### Gtk.Widget:sensitive

Whether the widget responds to input.

###### Gtk.Widget:tooltip-markup

Sets the text of tooltip to be the given string, which is marked up with Pango markup.

###### Gtk.Widget:tooltip-text

Sets the text of tooltip to be the given string.

###### Gtk.Widget:valign

How to distribute vertical space if widget gets extra space.

###### Gtk.Widget:vexpand

Whether to expand vertically.

###### Gtk.Widget:vexpand-set

Whether to use the `vexpand` property.

###### Gtk.Widget:visible

Whether the widget is visible.

###### Gtk.Widget:width-request

Override for width request of the widget.

##### Properties inherited from GtkAccessible (1)

###### Gtk.Accessible:accessible-role

The accessible role of the given `GtkAccessible` implementation.

##### Properties inherited from GtkActionable (2)

###### Gtk.Actionable:action-name

The name of the action with which this widget should be associated.

###### Gtk.Actionable:action-target

The target value of the actionable widget’s action.

#### Signals

###### Adw.ButtonRow::activated

This signal is emitted after the row has been activated.

since: 1.6

##### Signals inherited from GtkListBoxRow (1)

###### GtkListBoxRow::activate

This is a keybinding signal, which will cause this row to be activated.

##### Signals inherited from GtkWidget (13)

###### GtkWidget::destroy

Signals that all holders of a reference to the widget should release the reference that they hold.

###### GtkWidget::direction-changed

Emitted when the text direction of a widget changes.

###### GtkWidget::hide

Emitted when `widget` is hidden.

###### GtkWidget::keynav-failed

Emitted if keyboard navigation fails.

###### GtkWidget::map

Emitted when `widget` is going to be mapped.

###### GtkWidget::mnemonic-activate

Emitted when a widget is activated via a mnemonic.

###### GtkWidget::move-focus

Emitted when the focus is moved.

###### GtkWidget::query-tooltip

Emitted when the widget’s tooltip is about to be shown.

###### GtkWidget::realize

Emitted when `widget` is associated with a `GdkSurface`.

###### GtkWidget::show

Emitted when `widget` is shown.

###### GtkWidget::state-flags-changed

Emitted when the widget state changes.

###### GtkWidget::unmap

Emitted when `widget` is going to be unmapped.

###### GtkWidget::unrealize

Emitted when the `GdkSurface` associated with `widget` is destroyed.

##### Signals inherited from GObject (1)

###### GObject::notify

The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.

#### Class structure

    struct AdwButtonRowClass {
      AdwPreferencesRowClass parent_class;

    }

No description available.

###### Class members

`parent_class: AdwPreferencesRowClass`

  No description available.