Check bindings before updating
Updating if there's no change could lead to an infinite loop in rare cases
This commit is contained in:
parent
adfea3f581
commit
3a1ca63ef2
@ -37,6 +37,7 @@
|
|||||||
- [FlowBox](structs/FlowBox.md)
|
- [FlowBox](structs/FlowBox.md)
|
||||||
- [ForEach](structs/ForEach.md)
|
- [ForEach](structs/ForEach.md)
|
||||||
- [Form](structs/Form.md)
|
- [Form](structs/Form.md)
|
||||||
|
- [Freeze](structs/Freeze.md)
|
||||||
- [HStack](structs/HStack.md)
|
- [HStack](structs/HStack.md)
|
||||||
- [HeaderBar](structs/HeaderBar.md)
|
- [HeaderBar](structs/HeaderBar.md)
|
||||||
- [InspectorWrapper](structs/InspectorWrapper.md)
|
- [InspectorWrapper](structs/InspectorWrapper.md)
|
||||||
@ -58,6 +59,8 @@
|
|||||||
- [PreferencesRow](structs/PreferencesRow.md)
|
- [PreferencesRow](structs/PreferencesRow.md)
|
||||||
- [ProgressBar](structs/ProgressBar.md)
|
- [ProgressBar](structs/ProgressBar.md)
|
||||||
- [ScrolledWindow](structs/ScrolledWindow.md)
|
- [ScrolledWindow](structs/ScrolledWindow.md)
|
||||||
|
- [SearchBar](structs/SearchBar.md)
|
||||||
|
- [SearchEntry](structs/SearchEntry.md)
|
||||||
- [Signal](structs/Signal.md)
|
- [Signal](structs/Signal.md)
|
||||||
- [SpinRow](structs/SpinRow.md)
|
- [SpinRow](structs/SpinRow.md)
|
||||||
- [Spinner](structs/Spinner.md)
|
- [Spinner](structs/Spinner.md)
|
||||||
|
|||||||
@ -71,6 +71,12 @@ Replace every occurrence of a certain view type in the content.
|
|||||||
- modify: Modify the view.
|
- modify: Modify the view.
|
||||||
- Returns: A view.
|
- Returns: A view.
|
||||||
|
|
||||||
|
### `freeze(_:)`
|
||||||
|
|
||||||
|
Prevent a view from being updated.
|
||||||
|
- Parameter freeze: Whether to freeze the view.
|
||||||
|
- Returns: A view.
|
||||||
|
|
||||||
### `inspect(_:)`
|
### `inspect(_:)`
|
||||||
|
|
||||||
Modify a GTUI widget before being displayed and when being updated.
|
Modify a GTUI widget before being displayed and when being updated.
|
||||||
|
|||||||
@ -79,12 +79,6 @@ Whether the user can copy the subtitle from the label.
|
|||||||
|
|
||||||
See also [property@Gtk.Label:selectable].
|
See also [property@Gtk.Label:selectable].
|
||||||
|
|
||||||
### `titleLines`
|
|
||||||
|
|
||||||
The number of lines at the end of which the title label will be ellipsized.
|
|
||||||
|
|
||||||
If the value is 0, the number of lines won't be limited.
|
|
||||||
|
|
||||||
### `title`
|
### `title`
|
||||||
|
|
||||||
The title of the preference represented by this row.
|
The title of the preference represented by this row.
|
||||||
@ -92,6 +86,12 @@ The title of the preference represented by this row.
|
|||||||
The title is interpreted as Pango markup unless
|
The title is interpreted as Pango markup unless
|
||||||
[property@PreferencesRow:use-markup] is set to `FALSE`.
|
[property@PreferencesRow:use-markup] is set to `FALSE`.
|
||||||
|
|
||||||
|
### `titleLines`
|
||||||
|
|
||||||
|
The number of lines at the end of which the title label will be ellipsized.
|
||||||
|
|
||||||
|
If the value is 0, the number of lines won't be limited.
|
||||||
|
|
||||||
### `titleSelectable`
|
### `titleSelectable`
|
||||||
|
|
||||||
Whether the user can copy the title from the label.
|
Whether the user can copy the title from the label.
|
||||||
@ -185,12 +185,6 @@ Whether the user can copy the subtitle from the label.
|
|||||||
|
|
||||||
See also [property@Gtk.Label:selectable].
|
See also [property@Gtk.Label:selectable].
|
||||||
|
|
||||||
### `titleLines(_:)`
|
|
||||||
|
|
||||||
The number of lines at the end of which the title label will be ellipsized.
|
|
||||||
|
|
||||||
If the value is 0, the number of lines won't be limited.
|
|
||||||
|
|
||||||
### `title(_:)`
|
### `title(_:)`
|
||||||
|
|
||||||
The title of the preference represented by this row.
|
The title of the preference represented by this row.
|
||||||
@ -198,6 +192,12 @@ The title of the preference represented by this row.
|
|||||||
The title is interpreted as Pango markup unless
|
The title is interpreted as Pango markup unless
|
||||||
[property@PreferencesRow:use-markup] is set to `FALSE`.
|
[property@PreferencesRow:use-markup] is set to `FALSE`.
|
||||||
|
|
||||||
|
### `titleLines(_:)`
|
||||||
|
|
||||||
|
The number of lines at the end of which the title label will be ellipsized.
|
||||||
|
|
||||||
|
If the value is 0, the number of lines won't be limited.
|
||||||
|
|
||||||
### `titleSelectable(_:)`
|
### `titleSelectable(_:)`
|
||||||
|
|
||||||
Whether the user can copy the title from the label.
|
Whether the user can copy the title from the label.
|
||||||
|
|||||||
@ -46,6 +46,12 @@ Additional update functions for type extensions.
|
|||||||
|
|
||||||
Additional appear functions for type extensions.
|
Additional appear functions for type extensions.
|
||||||
|
|
||||||
|
### `accessibleRole`
|
||||||
|
|
||||||
|
The accessible role of the given `GtkAccessible` implementation.
|
||||||
|
|
||||||
|
The accessible role cannot be changed once set.
|
||||||
|
|
||||||
### `baselineChild`
|
### `baselineChild`
|
||||||
|
|
||||||
The child that determines the baseline, in vertical orientation.
|
The child that determines the baseline, in vertical orientation.
|
||||||
@ -93,6 +99,12 @@ Update the widget's view storage.
|
|||||||
- modifiers: The view modifiers.
|
- modifiers: The view modifiers.
|
||||||
- updateProperties: Whether to update the view's properties.
|
- updateProperties: Whether to update the view's properties.
|
||||||
|
|
||||||
|
### `accessibleRole(_:)`
|
||||||
|
|
||||||
|
The accessible role of the given `GtkAccessible` implementation.
|
||||||
|
|
||||||
|
The accessible role cannot be changed once set.
|
||||||
|
|
||||||
### `baselineChild(_:)`
|
### `baselineChild(_:)`
|
||||||
|
|
||||||
The child that determines the baseline, in vertical orientation.
|
The child that determines the baseline, in vertical orientation.
|
||||||
|
|||||||
@ -42,6 +42,16 @@ Additional update functions for type extensions.
|
|||||||
|
|
||||||
Additional appear functions for type extensions.
|
Additional appear functions for type extensions.
|
||||||
|
|
||||||
|
### `accessibleRole`
|
||||||
|
|
||||||
|
The accessible role of the given `GtkAccessible` implementation.
|
||||||
|
|
||||||
|
The accessible role cannot be changed once set.
|
||||||
|
|
||||||
|
### `actionName`
|
||||||
|
|
||||||
|
action-name
|
||||||
|
|
||||||
### `canShrink`
|
### `canShrink`
|
||||||
|
|
||||||
Whether the size of the button can be made smaller than the natural
|
Whether the size of the button can be made smaller than the natural
|
||||||
@ -114,6 +124,16 @@ Update the widget's view storage.
|
|||||||
- modifiers: The view modifiers.
|
- modifiers: The view modifiers.
|
||||||
- updateProperties: Whether to update the view's properties.
|
- updateProperties: Whether to update the view's properties.
|
||||||
|
|
||||||
|
### `accessibleRole(_:)`
|
||||||
|
|
||||||
|
The accessible role of the given `GtkAccessible` implementation.
|
||||||
|
|
||||||
|
The accessible role cannot be changed once set.
|
||||||
|
|
||||||
|
### `actionName(_:)`
|
||||||
|
|
||||||
|
action-name
|
||||||
|
|
||||||
### `canShrink(_:)`
|
### `canShrink(_:)`
|
||||||
|
|
||||||
Whether the size of the button can be made smaller than the natural
|
Whether the size of the button can be made smaller than the natural
|
||||||
|
|||||||
@ -46,6 +46,12 @@ Additional update functions for type extensions.
|
|||||||
|
|
||||||
Additional appear functions for type extensions.
|
Additional appear functions for type extensions.
|
||||||
|
|
||||||
|
### `accessibleRole`
|
||||||
|
|
||||||
|
The accessible role of the given `GtkAccessible` implementation.
|
||||||
|
|
||||||
|
The accessible role cannot be changed once set.
|
||||||
|
|
||||||
### `centerWidget`
|
### `centerWidget`
|
||||||
|
|
||||||
The widget that is placed at the center position.
|
The widget that is placed at the center position.
|
||||||
@ -104,6 +110,12 @@ Update the widget's view storage.
|
|||||||
- modifiers: The view modifiers.
|
- modifiers: The view modifiers.
|
||||||
- updateProperties: Whether to update the view's properties.
|
- updateProperties: Whether to update the view's properties.
|
||||||
|
|
||||||
|
### `accessibleRole(_:)`
|
||||||
|
|
||||||
|
The accessible role of the given `GtkAccessible` implementation.
|
||||||
|
|
||||||
|
The accessible role cannot be changed once set.
|
||||||
|
|
||||||
### `centerWidget(_:)`
|
### `centerWidget(_:)`
|
||||||
|
|
||||||
The widget that is placed at the center position.
|
The widget that is placed at the center position.
|
||||||
|
|||||||
@ -69,6 +69,16 @@ Additional update functions for type extensions.
|
|||||||
|
|
||||||
Additional appear functions for type extensions.
|
Additional appear functions for type extensions.
|
||||||
|
|
||||||
|
### `accessibleRole`
|
||||||
|
|
||||||
|
The accessible role of the given `GtkAccessible` implementation.
|
||||||
|
|
||||||
|
The accessible role cannot be changed once set.
|
||||||
|
|
||||||
|
### `actionName`
|
||||||
|
|
||||||
|
action-name
|
||||||
|
|
||||||
### `active`
|
### `active`
|
||||||
|
|
||||||
If the check button is active.
|
If the check button is active.
|
||||||
@ -141,6 +151,16 @@ Update the widget's view storage.
|
|||||||
- modifiers: The view modifiers.
|
- modifiers: The view modifiers.
|
||||||
- updateProperties: Whether to update the view's properties.
|
- updateProperties: Whether to update the view's properties.
|
||||||
|
|
||||||
|
### `accessibleRole(_:)`
|
||||||
|
|
||||||
|
The accessible role of the given `GtkAccessible` implementation.
|
||||||
|
|
||||||
|
The accessible role cannot be changed once set.
|
||||||
|
|
||||||
|
### `actionName(_:)`
|
||||||
|
|
||||||
|
action-name
|
||||||
|
|
||||||
### `active(_:)`
|
### `active(_:)`
|
||||||
|
|
||||||
If the check button is active.
|
If the check button is active.
|
||||||
|
|||||||
@ -45,34 +45,6 @@ Additional update functions for type extensions.
|
|||||||
|
|
||||||
Additional appear functions for type extensions.
|
Additional appear functions for type extensions.
|
||||||
|
|
||||||
### `enableSearch`
|
|
||||||
|
|
||||||
Whether to show a search entry in the popup.
|
|
||||||
|
|
||||||
If set to `TRUE`, a search entry will be shown in the popup that
|
|
||||||
allows to search for items in the list.
|
|
||||||
|
|
||||||
Search requires [property@ComboRow:expression] to be set.
|
|
||||||
|
|
||||||
### `selected`
|
|
||||||
|
|
||||||
The position of the selected item.
|
|
||||||
|
|
||||||
If no item is selected, the property has the value
|
|
||||||
[const@Gtk.INVALID_LIST_POSITION]
|
|
||||||
|
|
||||||
### `useSubtitle`
|
|
||||||
|
|
||||||
Whether to use the current value as the subtitle.
|
|
||||||
|
|
||||||
If you use a custom list item factory, you will need to give the row a
|
|
||||||
name conversion expression with [property@ComboRow:expression].
|
|
||||||
|
|
||||||
If set to `TRUE`, you should not access [property@ActionRow:subtitle].
|
|
||||||
|
|
||||||
The subtitle is interpreted as Pango markup if
|
|
||||||
[property@PreferencesRow:use-markup] is set to `TRUE`.
|
|
||||||
|
|
||||||
### `activatableWidget`
|
### `activatableWidget`
|
||||||
|
|
||||||
The widget to activate when the row is activated.
|
The widget to activate when the row is activated.
|
||||||
@ -85,10 +57,26 @@ mnemonics.
|
|||||||
The target widget will be activated by emitting the
|
The target widget will be activated by emitting the
|
||||||
[signal@Gtk.Widget::mnemonic-activate] signal on it.
|
[signal@Gtk.Widget::mnemonic-activate] signal on it.
|
||||||
|
|
||||||
|
### `enableSearch`
|
||||||
|
|
||||||
|
Whether to show a search entry in the popup.
|
||||||
|
|
||||||
|
If set to `TRUE`, a search entry will be shown in the popup that
|
||||||
|
allows to search for items in the list.
|
||||||
|
|
||||||
|
Search requires [property@ComboRow:expression] to be set.
|
||||||
|
|
||||||
### `iconName`
|
### `iconName`
|
||||||
|
|
||||||
The icon name for this row.
|
The icon name for this row.
|
||||||
|
|
||||||
|
### `selected`
|
||||||
|
|
||||||
|
The position of the selected item.
|
||||||
|
|
||||||
|
If no item is selected, the property has the value
|
||||||
|
[const@Gtk.INVALID_LIST_POSITION]
|
||||||
|
|
||||||
### `subtitle`
|
### `subtitle`
|
||||||
|
|
||||||
The subtitle for this row.
|
The subtitle for this row.
|
||||||
@ -109,12 +97,6 @@ Whether the user can copy the subtitle from the label.
|
|||||||
|
|
||||||
See also [property@Gtk.Label:selectable].
|
See also [property@Gtk.Label:selectable].
|
||||||
|
|
||||||
### `titleLines`
|
|
||||||
|
|
||||||
The number of lines at the end of which the title label will be ellipsized.
|
|
||||||
|
|
||||||
If the value is 0, the number of lines won't be limited.
|
|
||||||
|
|
||||||
### `title`
|
### `title`
|
||||||
|
|
||||||
The title of the preference represented by this row.
|
The title of the preference represented by this row.
|
||||||
@ -122,6 +104,12 @@ The title of the preference represented by this row.
|
|||||||
The title is interpreted as Pango markup unless
|
The title is interpreted as Pango markup unless
|
||||||
[property@PreferencesRow:use-markup] is set to `FALSE`.
|
[property@PreferencesRow:use-markup] is set to `FALSE`.
|
||||||
|
|
||||||
|
### `titleLines`
|
||||||
|
|
||||||
|
The number of lines at the end of which the title label will be ellipsized.
|
||||||
|
|
||||||
|
If the value is 0, the number of lines won't be limited.
|
||||||
|
|
||||||
### `titleSelectable`
|
### `titleSelectable`
|
||||||
|
|
||||||
Whether the user can copy the title from the label.
|
Whether the user can copy the title from the label.
|
||||||
@ -136,6 +124,18 @@ Subclasses may also use it for other labels, such as subtitle.
|
|||||||
|
|
||||||
See also [func@Pango.parse_markup].
|
See also [func@Pango.parse_markup].
|
||||||
|
|
||||||
|
### `useSubtitle`
|
||||||
|
|
||||||
|
Whether to use the current value as the subtitle.
|
||||||
|
|
||||||
|
If you use a custom list item factory, you will need to give the row a
|
||||||
|
name conversion expression with [property@ComboRow:expression].
|
||||||
|
|
||||||
|
If set to `TRUE`, you should not access [property@ActionRow:subtitle].
|
||||||
|
|
||||||
|
The subtitle is interpreted as Pango markup if
|
||||||
|
[property@PreferencesRow:use-markup] is set to `TRUE`.
|
||||||
|
|
||||||
### `useUnderline`
|
### `useUnderline`
|
||||||
|
|
||||||
Whether an embedded underline in the title indicates a mnemonic.
|
Whether an embedded underline in the title indicates a mnemonic.
|
||||||
@ -179,34 +179,6 @@ Update the widget's view storage.
|
|||||||
- modifiers: The view modifiers.
|
- modifiers: The view modifiers.
|
||||||
- updateProperties: Whether to update the view's properties.
|
- updateProperties: Whether to update the view's properties.
|
||||||
|
|
||||||
### `enableSearch(_:)`
|
|
||||||
|
|
||||||
Whether to show a search entry in the popup.
|
|
||||||
|
|
||||||
If set to `TRUE`, a search entry will be shown in the popup that
|
|
||||||
allows to search for items in the list.
|
|
||||||
|
|
||||||
Search requires [property@ComboRow:expression] to be set.
|
|
||||||
|
|
||||||
### `selected(_:)`
|
|
||||||
|
|
||||||
The position of the selected item.
|
|
||||||
|
|
||||||
If no item is selected, the property has the value
|
|
||||||
[const@Gtk.INVALID_LIST_POSITION]
|
|
||||||
|
|
||||||
### `useSubtitle(_:)`
|
|
||||||
|
|
||||||
Whether to use the current value as the subtitle.
|
|
||||||
|
|
||||||
If you use a custom list item factory, you will need to give the row a
|
|
||||||
name conversion expression with [property@ComboRow:expression].
|
|
||||||
|
|
||||||
If set to `TRUE`, you should not access [property@ActionRow:subtitle].
|
|
||||||
|
|
||||||
The subtitle is interpreted as Pango markup if
|
|
||||||
[property@PreferencesRow:use-markup] is set to `TRUE`.
|
|
||||||
|
|
||||||
### `activatableWidget(_:)`
|
### `activatableWidget(_:)`
|
||||||
|
|
||||||
The widget to activate when the row is activated.
|
The widget to activate when the row is activated.
|
||||||
@ -219,10 +191,26 @@ mnemonics.
|
|||||||
The target widget will be activated by emitting the
|
The target widget will be activated by emitting the
|
||||||
[signal@Gtk.Widget::mnemonic-activate] signal on it.
|
[signal@Gtk.Widget::mnemonic-activate] signal on it.
|
||||||
|
|
||||||
|
### `enableSearch(_:)`
|
||||||
|
|
||||||
|
Whether to show a search entry in the popup.
|
||||||
|
|
||||||
|
If set to `TRUE`, a search entry will be shown in the popup that
|
||||||
|
allows to search for items in the list.
|
||||||
|
|
||||||
|
Search requires [property@ComboRow:expression] to be set.
|
||||||
|
|
||||||
### `iconName(_:)`
|
### `iconName(_:)`
|
||||||
|
|
||||||
The icon name for this row.
|
The icon name for this row.
|
||||||
|
|
||||||
|
### `selected(_:)`
|
||||||
|
|
||||||
|
The position of the selected item.
|
||||||
|
|
||||||
|
If no item is selected, the property has the value
|
||||||
|
[const@Gtk.INVALID_LIST_POSITION]
|
||||||
|
|
||||||
### `subtitle(_:)`
|
### `subtitle(_:)`
|
||||||
|
|
||||||
The subtitle for this row.
|
The subtitle for this row.
|
||||||
@ -243,12 +231,6 @@ Whether the user can copy the subtitle from the label.
|
|||||||
|
|
||||||
See also [property@Gtk.Label:selectable].
|
See also [property@Gtk.Label:selectable].
|
||||||
|
|
||||||
### `titleLines(_:)`
|
|
||||||
|
|
||||||
The number of lines at the end of which the title label will be ellipsized.
|
|
||||||
|
|
||||||
If the value is 0, the number of lines won't be limited.
|
|
||||||
|
|
||||||
### `title(_:)`
|
### `title(_:)`
|
||||||
|
|
||||||
The title of the preference represented by this row.
|
The title of the preference represented by this row.
|
||||||
@ -256,6 +238,12 @@ The title of the preference represented by this row.
|
|||||||
The title is interpreted as Pango markup unless
|
The title is interpreted as Pango markup unless
|
||||||
[property@PreferencesRow:use-markup] is set to `FALSE`.
|
[property@PreferencesRow:use-markup] is set to `FALSE`.
|
||||||
|
|
||||||
|
### `titleLines(_:)`
|
||||||
|
|
||||||
|
The number of lines at the end of which the title label will be ellipsized.
|
||||||
|
|
||||||
|
If the value is 0, the number of lines won't be limited.
|
||||||
|
|
||||||
### `titleSelectable(_:)`
|
### `titleSelectable(_:)`
|
||||||
|
|
||||||
Whether the user can copy the title from the label.
|
Whether the user can copy the title from the label.
|
||||||
@ -270,6 +258,18 @@ Subclasses may also use it for other labels, such as subtitle.
|
|||||||
|
|
||||||
See also [func@Pango.parse_markup].
|
See also [func@Pango.parse_markup].
|
||||||
|
|
||||||
|
### `useSubtitle(_:)`
|
||||||
|
|
||||||
|
Whether to use the current value as the subtitle.
|
||||||
|
|
||||||
|
If you use a custom list item factory, you will need to give the row a
|
||||||
|
name conversion expression with [property@ComboRow:expression].
|
||||||
|
|
||||||
|
If set to `TRUE`, you should not access [property@ActionRow:subtitle].
|
||||||
|
|
||||||
|
The subtitle is interpreted as Pango markup if
|
||||||
|
[property@PreferencesRow:use-markup] is set to `TRUE`.
|
||||||
|
|
||||||
### `useUnderline(_:)`
|
### `useUnderline(_:)`
|
||||||
|
|
||||||
Whether an embedded underline in the title indicates a mnemonic.
|
Whether an embedded underline in the title indicates a mnemonic.
|
||||||
|
|||||||
@ -67,12 +67,6 @@ ellipsized.
|
|||||||
|
|
||||||
If the value is 0, the number of lines won't be limited.
|
If the value is 0, the number of lines won't be limited.
|
||||||
|
|
||||||
### `titleLines`
|
|
||||||
|
|
||||||
The number of lines at the end of which the title label will be ellipsized.
|
|
||||||
|
|
||||||
If the value is 0, the number of lines won't be limited.
|
|
||||||
|
|
||||||
### `title`
|
### `title`
|
||||||
|
|
||||||
The title of the preference represented by this row.
|
The title of the preference represented by this row.
|
||||||
@ -80,6 +74,12 @@ The title of the preference represented by this row.
|
|||||||
The title is interpreted as Pango markup unless
|
The title is interpreted as Pango markup unless
|
||||||
[property@PreferencesRow:use-markup] is set to `FALSE`.
|
[property@PreferencesRow:use-markup] is set to `FALSE`.
|
||||||
|
|
||||||
|
### `titleLines`
|
||||||
|
|
||||||
|
The number of lines at the end of which the title label will be ellipsized.
|
||||||
|
|
||||||
|
If the value is 0, the number of lines won't be limited.
|
||||||
|
|
||||||
### `titleSelectable`
|
### `titleSelectable`
|
||||||
|
|
||||||
Whether the user can copy the title from the label.
|
Whether the user can copy the title from the label.
|
||||||
@ -167,12 +167,6 @@ ellipsized.
|
|||||||
|
|
||||||
If the value is 0, the number of lines won't be limited.
|
If the value is 0, the number of lines won't be limited.
|
||||||
|
|
||||||
### `titleLines(_:)`
|
|
||||||
|
|
||||||
The number of lines at the end of which the title label will be ellipsized.
|
|
||||||
|
|
||||||
If the value is 0, the number of lines won't be limited.
|
|
||||||
|
|
||||||
### `title(_:)`
|
### `title(_:)`
|
||||||
|
|
||||||
The title of the preference represented by this row.
|
The title of the preference represented by this row.
|
||||||
@ -180,6 +174,12 @@ The title of the preference represented by this row.
|
|||||||
The title is interpreted as Pango markup unless
|
The title is interpreted as Pango markup unless
|
||||||
[property@PreferencesRow:use-markup] is set to `FALSE`.
|
[property@PreferencesRow:use-markup] is set to `FALSE`.
|
||||||
|
|
||||||
|
### `titleLines(_:)`
|
||||||
|
|
||||||
|
The number of lines at the end of which the title label will be ellipsized.
|
||||||
|
|
||||||
|
If the value is 0, the number of lines won't be limited.
|
||||||
|
|
||||||
### `titleSelectable(_:)`
|
### `titleSelectable(_:)`
|
||||||
|
|
||||||
Whether the user can copy the title from the label.
|
Whether the user can copy the title from the label.
|
||||||
|
|||||||
@ -60,6 +60,12 @@ Additional appear functions for type extensions.
|
|||||||
|
|
||||||
accept-unpaired-release
|
accept-unpaired-release
|
||||||
|
|
||||||
|
### `accessibleRole`
|
||||||
|
|
||||||
|
The accessible role of the given `GtkAccessible` implementation.
|
||||||
|
|
||||||
|
The accessible role cannot be changed once set.
|
||||||
|
|
||||||
### `activateOnSingleClick`
|
### `activateOnSingleClick`
|
||||||
|
|
||||||
Determines whether children can be activated with a single
|
Determines whether children can be activated with a single
|
||||||
@ -194,6 +200,12 @@ Update the widget's view storage.
|
|||||||
|
|
||||||
accept-unpaired-release
|
accept-unpaired-release
|
||||||
|
|
||||||
|
### `accessibleRole(_:)`
|
||||||
|
|
||||||
|
The accessible role of the given `GtkAccessible` implementation.
|
||||||
|
|
||||||
|
The accessible role cannot be changed once set.
|
||||||
|
|
||||||
### `activateOnSingleClick(_:)`
|
### `activateOnSingleClick(_:)`
|
||||||
|
|
||||||
Determines whether children can be activated with a single
|
Determines whether children can be activated with a single
|
||||||
|
|||||||
29
Documentation/Reference/structs/Freeze.md
Normal file
29
Documentation/Reference/structs/Freeze.md
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
**STRUCT**
|
||||||
|
|
||||||
|
# `Freeze`
|
||||||
|
|
||||||
|
State whether to update the child views or not.
|
||||||
|
|
||||||
|
## Properties
|
||||||
|
### `freeze`
|
||||||
|
|
||||||
|
Whether not to update the child view.
|
||||||
|
|
||||||
|
### `content`
|
||||||
|
|
||||||
|
The wrapped view.
|
||||||
|
|
||||||
|
## Methods
|
||||||
|
### `container(modifiers:)`
|
||||||
|
|
||||||
|
Get the content's container.
|
||||||
|
- Parameter modifiers: Modify views before being updated.
|
||||||
|
- Returns: The content's container.
|
||||||
|
|
||||||
|
### `update(_:modifiers:updateProperties:)`
|
||||||
|
|
||||||
|
Update the content.
|
||||||
|
- Parameters:
|
||||||
|
- storage: The content's storage.
|
||||||
|
- modifiers: Modify views before being updated.
|
||||||
|
- updateProperties: Whether to update properties.
|
||||||
@ -186,6 +186,12 @@ Additional update functions for type extensions.
|
|||||||
|
|
||||||
Additional appear functions for type extensions.
|
Additional appear functions for type extensions.
|
||||||
|
|
||||||
|
### `accessibleRole`
|
||||||
|
|
||||||
|
The accessible role of the given `GtkAccessible` implementation.
|
||||||
|
|
||||||
|
The accessible role cannot be changed once set.
|
||||||
|
|
||||||
### `label`
|
### `label`
|
||||||
|
|
||||||
The contents of the label.
|
The contents of the label.
|
||||||
@ -314,6 +320,12 @@ Update the widget's view storage.
|
|||||||
- modifiers: The view modifiers.
|
- modifiers: The view modifiers.
|
||||||
- updateProperties: Whether to update the view's properties.
|
- updateProperties: Whether to update the view's properties.
|
||||||
|
|
||||||
|
### `accessibleRole(_:)`
|
||||||
|
|
||||||
|
The accessible role of the given `GtkAccessible` implementation.
|
||||||
|
|
||||||
|
The accessible role cannot be changed once set.
|
||||||
|
|
||||||
### `label(_:)`
|
### `label(_:)`
|
||||||
|
|
||||||
The contents of the label.
|
The contents of the label.
|
||||||
|
|||||||
@ -109,6 +109,12 @@ Additional update functions for type extensions.
|
|||||||
|
|
||||||
Additional appear functions for type extensions.
|
Additional appear functions for type extensions.
|
||||||
|
|
||||||
|
### `accessibleRole`
|
||||||
|
|
||||||
|
The accessible role of the given `GtkAccessible` implementation.
|
||||||
|
|
||||||
|
The accessible role cannot be changed once set.
|
||||||
|
|
||||||
### `inverted`
|
### `inverted`
|
||||||
|
|
||||||
Whether the `GtkLeveBar` is inverted.
|
Whether the `GtkLeveBar` is inverted.
|
||||||
@ -166,6 +172,12 @@ Update the widget's view storage.
|
|||||||
- modifiers: The view modifiers.
|
- modifiers: The view modifiers.
|
||||||
- updateProperties: Whether to update the view's properties.
|
- updateProperties: Whether to update the view's properties.
|
||||||
|
|
||||||
|
### `accessibleRole(_:)`
|
||||||
|
|
||||||
|
The accessible role of the given `GtkAccessible` implementation.
|
||||||
|
|
||||||
|
The accessible role cannot be changed once set.
|
||||||
|
|
||||||
### `inverted(_:)`
|
### `inverted(_:)`
|
||||||
|
|
||||||
Whether the `GtkLeveBar` is inverted.
|
Whether the `GtkLeveBar` is inverted.
|
||||||
|
|||||||
@ -38,15 +38,15 @@ Additional update functions for type extensions.
|
|||||||
|
|
||||||
Additional appear functions for type extensions.
|
Additional appear functions for type extensions.
|
||||||
|
|
||||||
### `uri`
|
### `accessibleRole`
|
||||||
|
|
||||||
The URI bound to this button.
|
The accessible role of the given `GtkAccessible` implementation.
|
||||||
|
|
||||||
### `visited`
|
The accessible role cannot be changed once set.
|
||||||
|
|
||||||
The 'visited' state of this button.
|
### `actionName`
|
||||||
|
|
||||||
A visited link is drawn in a different color.
|
action-name
|
||||||
|
|
||||||
### `canShrink`
|
### `canShrink`
|
||||||
|
|
||||||
@ -74,11 +74,21 @@ The name of the icon used to automatically populate the button.
|
|||||||
|
|
||||||
Text of the label inside the button, if the button contains a label widget.
|
Text of the label inside the button, if the button contains a label widget.
|
||||||
|
|
||||||
|
### `uri`
|
||||||
|
|
||||||
|
The URI bound to this button.
|
||||||
|
|
||||||
### `useUnderline`
|
### `useUnderline`
|
||||||
|
|
||||||
If set, an underline in the text indicates that the following character is
|
If set, an underline in the text indicates that the following character is
|
||||||
to be used as mnemonic.
|
to be used as mnemonic.
|
||||||
|
|
||||||
|
### `visited`
|
||||||
|
|
||||||
|
The 'visited' state of this button.
|
||||||
|
|
||||||
|
A visited link is drawn in a different color.
|
||||||
|
|
||||||
### `activate`
|
### `activate`
|
||||||
|
|
||||||
Emitted to animate press then release.
|
Emitted to animate press then release.
|
||||||
@ -120,15 +130,15 @@ Update the widget's view storage.
|
|||||||
- modifiers: The view modifiers.
|
- modifiers: The view modifiers.
|
||||||
- updateProperties: Whether to update the view's properties.
|
- updateProperties: Whether to update the view's properties.
|
||||||
|
|
||||||
### `uri(_:)`
|
### `accessibleRole(_:)`
|
||||||
|
|
||||||
The URI bound to this button.
|
The accessible role of the given `GtkAccessible` implementation.
|
||||||
|
|
||||||
### `visited(_:)`
|
The accessible role cannot be changed once set.
|
||||||
|
|
||||||
The 'visited' state of this button.
|
### `actionName(_:)`
|
||||||
|
|
||||||
A visited link is drawn in a different color.
|
action-name
|
||||||
|
|
||||||
### `canShrink(_:)`
|
### `canShrink(_:)`
|
||||||
|
|
||||||
@ -156,11 +166,21 @@ The name of the icon used to automatically populate the button.
|
|||||||
|
|
||||||
Text of the label inside the button, if the button contains a label widget.
|
Text of the label inside the button, if the button contains a label widget.
|
||||||
|
|
||||||
|
### `uri(_:)`
|
||||||
|
|
||||||
|
The URI bound to this button.
|
||||||
|
|
||||||
### `useUnderline(_:)`
|
### `useUnderline(_:)`
|
||||||
|
|
||||||
If set, an underline in the text indicates that the following character is
|
If set, an underline in the text indicates that the following character is
|
||||||
to be used as mnemonic.
|
to be used as mnemonic.
|
||||||
|
|
||||||
|
### `visited(_:)`
|
||||||
|
|
||||||
|
The 'visited' state of this button.
|
||||||
|
|
||||||
|
A visited link is drawn in a different color.
|
||||||
|
|
||||||
### `activate(_:)`
|
### `activate(_:)`
|
||||||
|
|
||||||
Emitted to animate press then release.
|
Emitted to animate press then release.
|
||||||
|
|||||||
@ -69,6 +69,12 @@ Additional appear functions for type extensions.
|
|||||||
|
|
||||||
Whether to accept unpaired release events.
|
Whether to accept unpaired release events.
|
||||||
|
|
||||||
|
### `accessibleRole`
|
||||||
|
|
||||||
|
The accessible role of the given `GtkAccessible` implementation.
|
||||||
|
|
||||||
|
The accessible role cannot be changed once set.
|
||||||
|
|
||||||
### `activateOnSingleClick`
|
### `activateOnSingleClick`
|
||||||
|
|
||||||
Determines whether children can be activated with a single
|
Determines whether children can be activated with a single
|
||||||
@ -165,6 +171,12 @@ Update the widget's view storage.
|
|||||||
|
|
||||||
Whether to accept unpaired release events.
|
Whether to accept unpaired release events.
|
||||||
|
|
||||||
|
### `accessibleRole(_:)`
|
||||||
|
|
||||||
|
The accessible role of the given `GtkAccessible` implementation.
|
||||||
|
|
||||||
|
The accessible role cannot be changed once set.
|
||||||
|
|
||||||
### `activateOnSingleClick(_:)`
|
### `activateOnSingleClick(_:)`
|
||||||
|
|
||||||
Determines whether children can be activated with a single
|
Determines whether children can be activated with a single
|
||||||
|
|||||||
@ -73,6 +73,12 @@ Additional update functions for type extensions.
|
|||||||
|
|
||||||
Additional appear functions for type extensions.
|
Additional appear functions for type extensions.
|
||||||
|
|
||||||
|
### `accessibleRole`
|
||||||
|
|
||||||
|
The accessible role of the given `GtkAccessible` implementation.
|
||||||
|
|
||||||
|
The accessible role cannot be changed once set.
|
||||||
|
|
||||||
### `active`
|
### `active`
|
||||||
|
|
||||||
Whether the menu button is active.
|
Whether the menu button is active.
|
||||||
@ -153,6 +159,12 @@ Update the widget's view storage.
|
|||||||
- modifiers: The view modifiers.
|
- modifiers: The view modifiers.
|
||||||
- updateProperties: Whether to update the view's properties.
|
- updateProperties: Whether to update the view's properties.
|
||||||
|
|
||||||
|
### `accessibleRole(_:)`
|
||||||
|
|
||||||
|
The accessible role of the given `GtkAccessible` implementation.
|
||||||
|
|
||||||
|
The accessible role cannot be changed once set.
|
||||||
|
|
||||||
### `active(_:)`
|
### `active(_:)`
|
||||||
|
|
||||||
Whether the menu button is active.
|
Whether the menu button is active.
|
||||||
|
|||||||
@ -44,6 +44,12 @@ Additional update functions for type extensions.
|
|||||||
|
|
||||||
Additional appear functions for type extensions.
|
Additional appear functions for type extensions.
|
||||||
|
|
||||||
|
### `accessibleRole`
|
||||||
|
|
||||||
|
The accessible role of the given `GtkAccessible` implementation.
|
||||||
|
|
||||||
|
The accessible role cannot be changed once set.
|
||||||
|
|
||||||
### `child`
|
### `child`
|
||||||
|
|
||||||
The main child widget.
|
The main child widget.
|
||||||
@ -96,6 +102,12 @@ Update the widget's view storage.
|
|||||||
- modifiers: The view modifiers.
|
- modifiers: The view modifiers.
|
||||||
- updateProperties: Whether to update the view's properties.
|
- updateProperties: Whether to update the view's properties.
|
||||||
|
|
||||||
|
### `accessibleRole(_:)`
|
||||||
|
|
||||||
|
The accessible role of the given `GtkAccessible` implementation.
|
||||||
|
|
||||||
|
The accessible role cannot be changed once set.
|
||||||
|
|
||||||
### `child(_:)`
|
### `child(_:)`
|
||||||
|
|
||||||
The main child widget.
|
The main child widget.
|
||||||
|
|||||||
@ -72,6 +72,12 @@ Additional update functions for type extensions.
|
|||||||
|
|
||||||
Additional appear functions for type extensions.
|
Additional appear functions for type extensions.
|
||||||
|
|
||||||
|
### `accessibleRole`
|
||||||
|
|
||||||
|
The accessible role of the given `GtkAccessible` implementation.
|
||||||
|
|
||||||
|
The accessible role cannot be changed once set.
|
||||||
|
|
||||||
### `autohide`
|
### `autohide`
|
||||||
|
|
||||||
Whether to dismiss the popover on outside clicks.
|
Whether to dismiss the popover on outside clicks.
|
||||||
@ -135,6 +141,12 @@ Update the widget's view storage.
|
|||||||
- modifiers: The view modifiers.
|
- modifiers: The view modifiers.
|
||||||
- updateProperties: Whether to update the view's properties.
|
- updateProperties: Whether to update the view's properties.
|
||||||
|
|
||||||
|
### `accessibleRole(_:)`
|
||||||
|
|
||||||
|
The accessible role of the given `GtkAccessible` implementation.
|
||||||
|
|
||||||
|
The accessible role cannot be changed once set.
|
||||||
|
|
||||||
### `autohide(_:)`
|
### `autohide(_:)`
|
||||||
|
|
||||||
Whether to dismiss the popover on outside clicks.
|
Whether to dismiss the popover on outside clicks.
|
||||||
|
|||||||
@ -58,6 +58,12 @@ Additional update functions for type extensions.
|
|||||||
|
|
||||||
Additional appear functions for type extensions.
|
Additional appear functions for type extensions.
|
||||||
|
|
||||||
|
### `accessibleRole`
|
||||||
|
|
||||||
|
The accessible role of the given `GtkAccessible` implementation.
|
||||||
|
|
||||||
|
The accessible role cannot be changed once set.
|
||||||
|
|
||||||
### `fraction`
|
### `fraction`
|
||||||
|
|
||||||
The fraction of total work that has been completed.
|
The fraction of total work that has been completed.
|
||||||
@ -114,6 +120,12 @@ Update the widget's view storage.
|
|||||||
- modifiers: The view modifiers.
|
- modifiers: The view modifiers.
|
||||||
- updateProperties: Whether to update the view's properties.
|
- updateProperties: Whether to update the view's properties.
|
||||||
|
|
||||||
|
### `accessibleRole(_:)`
|
||||||
|
|
||||||
|
The accessible role of the given `GtkAccessible` implementation.
|
||||||
|
|
||||||
|
The accessible role cannot be changed once set.
|
||||||
|
|
||||||
### `fraction(_:)`
|
### `fraction(_:)`
|
||||||
|
|
||||||
The fraction of total work that has been completed.
|
The fraction of total work that has been completed.
|
||||||
|
|||||||
@ -80,6 +80,12 @@ Additional update functions for type extensions.
|
|||||||
|
|
||||||
Additional appear functions for type extensions.
|
Additional appear functions for type extensions.
|
||||||
|
|
||||||
|
### `accessibleRole`
|
||||||
|
|
||||||
|
The accessible role of the given `GtkAccessible` implementation.
|
||||||
|
|
||||||
|
The accessible role cannot be changed once set.
|
||||||
|
|
||||||
### `child`
|
### `child`
|
||||||
|
|
||||||
The child widget.
|
The child widget.
|
||||||
@ -208,6 +214,12 @@ Update the widget's view storage.
|
|||||||
- modifiers: The view modifiers.
|
- modifiers: The view modifiers.
|
||||||
- updateProperties: Whether to update the view's properties.
|
- updateProperties: Whether to update the view's properties.
|
||||||
|
|
||||||
|
### `accessibleRole(_:)`
|
||||||
|
|
||||||
|
The accessible role of the given `GtkAccessible` implementation.
|
||||||
|
|
||||||
|
The accessible role cannot be changed once set.
|
||||||
|
|
||||||
### `child(_:)`
|
### `child(_:)`
|
||||||
|
|
||||||
The child widget.
|
The child widget.
|
||||||
|
|||||||
128
Documentation/Reference/structs/SearchBar.md
Normal file
128
Documentation/Reference/structs/SearchBar.md
Normal file
@ -0,0 +1,128 @@
|
|||||||
|
**STRUCT**
|
||||||
|
|
||||||
|
# `SearchBar`
|
||||||
|
|
||||||
|
`GtkSearchBar` is a container made to have a search entry.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
It can also contain additional widgets, such as drop-down menus,
|
||||||
|
or buttons. The search bar would appear when a search is started
|
||||||
|
through typing on the keyboard, or the application’s search mode
|
||||||
|
is toggled on.
|
||||||
|
|
||||||
|
For keyboard presses to start a search, the search bar must be told
|
||||||
|
of a widget to capture key events from through
|
||||||
|
[method@Gtk.SearchBar.set_key_capture_widget]. This widget will
|
||||||
|
typically be the top-level window, or a parent container of the
|
||||||
|
search bar. Common shortcuts such as Ctrl+F should be handled as an
|
||||||
|
application action, or through the menu items.
|
||||||
|
|
||||||
|
You will also need to tell the search bar about which entry you
|
||||||
|
are using as your search entry using [method@Gtk.SearchBar.connect_entry].
|
||||||
|
|
||||||
|
## Creating a search bar
|
||||||
|
|
||||||
|
The following example shows you how to create a more complex search
|
||||||
|
entry.
|
||||||
|
|
||||||
|
[A simple example](https://gitlab.gnome.org/GNOME/gtk/tree/main/examples/search-bar.c)
|
||||||
|
|
||||||
|
# CSS nodes
|
||||||
|
|
||||||
|
```
|
||||||
|
searchbar
|
||||||
|
╰── revealer
|
||||||
|
╰── box
|
||||||
|
├── [child]
|
||||||
|
╰── [button.close]
|
||||||
|
```
|
||||||
|
|
||||||
|
`GtkSearchBar` has a main CSS node with name searchbar. It has a child
|
||||||
|
node with name revealer that contains a node with name box. The box node
|
||||||
|
contains both the CSS node of the child widget as well as an optional button
|
||||||
|
node which gets the .close style class applied.
|
||||||
|
|
||||||
|
# Accessibility
|
||||||
|
|
||||||
|
`GtkSearchBar` uses the %GTK_ACCESSIBLE_ROLE_SEARCH role.
|
||||||
|
|
||||||
|
## Properties
|
||||||
|
### `updateFunctions`
|
||||||
|
|
||||||
|
Additional update functions for type extensions.
|
||||||
|
|
||||||
|
### `appearFunctions`
|
||||||
|
|
||||||
|
Additional appear functions for type extensions.
|
||||||
|
|
||||||
|
### `accessibleRole`
|
||||||
|
|
||||||
|
The accessible role of the given `GtkAccessible` implementation.
|
||||||
|
|
||||||
|
The accessible role cannot be changed once set.
|
||||||
|
|
||||||
|
### `child`
|
||||||
|
|
||||||
|
The child widget.
|
||||||
|
|
||||||
|
### `keyCaptureWidget`
|
||||||
|
|
||||||
|
The key capture widget.
|
||||||
|
|
||||||
|
### `searchModeEnabled`
|
||||||
|
|
||||||
|
Whether the search mode is on and the search bar shown.
|
||||||
|
|
||||||
|
### `showCloseButton`
|
||||||
|
|
||||||
|
Whether to show the close button in the search bar.
|
||||||
|
|
||||||
|
### `app`
|
||||||
|
|
||||||
|
The application.
|
||||||
|
|
||||||
|
### `window`
|
||||||
|
|
||||||
|
The window.
|
||||||
|
|
||||||
|
## Methods
|
||||||
|
### `init()`
|
||||||
|
|
||||||
|
Initialize `SearchBar`.
|
||||||
|
|
||||||
|
### `container(modifiers:)`
|
||||||
|
|
||||||
|
Get the widget's view storage.
|
||||||
|
- Parameter modifiers: The view modifiers.
|
||||||
|
- Returns: The view storage.
|
||||||
|
|
||||||
|
### `update(_:modifiers:updateProperties:)`
|
||||||
|
|
||||||
|
Update the widget's view storage.
|
||||||
|
- Parameters:
|
||||||
|
- storage: The view storage.
|
||||||
|
- modifiers: The view modifiers.
|
||||||
|
- updateProperties: Whether to update the view's properties.
|
||||||
|
|
||||||
|
### `accessibleRole(_:)`
|
||||||
|
|
||||||
|
The accessible role of the given `GtkAccessible` implementation.
|
||||||
|
|
||||||
|
The accessible role cannot be changed once set.
|
||||||
|
|
||||||
|
### `child(_:)`
|
||||||
|
|
||||||
|
The child widget.
|
||||||
|
|
||||||
|
### `keyCaptureWidget(_:)`
|
||||||
|
|
||||||
|
The key capture widget.
|
||||||
|
|
||||||
|
### `searchModeEnabled(_:)`
|
||||||
|
|
||||||
|
Whether the search mode is on and the search bar shown.
|
||||||
|
|
||||||
|
### `showCloseButton(_:)`
|
||||||
|
|
||||||
|
Whether to show the close button in the search bar.
|
||||||
358
Documentation/Reference/structs/SearchEntry.md
Normal file
358
Documentation/Reference/structs/SearchEntry.md
Normal file
@ -0,0 +1,358 @@
|
|||||||
|
**STRUCT**
|
||||||
|
|
||||||
|
# `SearchEntry`
|
||||||
|
|
||||||
|
`GtkSearchEntry` is an entry widget that has been tailored for use
|
||||||
|
as a search entry.
|
||||||
|
|
||||||
|
The main API for interacting with a `GtkSearchEntry` as entry
|
||||||
|
is the `GtkEditable` interface.
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
It will show an inactive symbolic “find” icon when the search
|
||||||
|
entry is empty, and a symbolic “clear” icon when there is text.
|
||||||
|
Clicking on the “clear” icon will empty the search entry.
|
||||||
|
|
||||||
|
To make filtering appear more reactive, it is a good idea to
|
||||||
|
not react to every change in the entry text immediately, but
|
||||||
|
only after a short delay. To support this, `GtkSearchEntry`
|
||||||
|
emits the [signal@Gtk.SearchEntry::search-changed] signal which
|
||||||
|
can be used instead of the [signal@Gtk.Editable::changed] signal.
|
||||||
|
|
||||||
|
The [signal@Gtk.SearchEntry::previous-match],
|
||||||
|
[signal@Gtk.SearchEntry::next-match] and
|
||||||
|
[signal@Gtk.SearchEntry::stop-search] signals can be used to
|
||||||
|
implement moving between search results and ending the search.
|
||||||
|
|
||||||
|
Often, `GtkSearchEntry` will be fed events by means of being
|
||||||
|
placed inside a [class@Gtk.SearchBar]. If that is not the case,
|
||||||
|
you can use [method@Gtk.SearchEntry.set_key_capture_widget] to
|
||||||
|
let it capture key input from another widget.
|
||||||
|
|
||||||
|
`GtkSearchEntry` provides only minimal API and should be used with
|
||||||
|
the [iface@Gtk.Editable] API.
|
||||||
|
|
||||||
|
## CSS Nodes
|
||||||
|
|
||||||
|
```
|
||||||
|
entry.search
|
||||||
|
╰── text
|
||||||
|
```
|
||||||
|
|
||||||
|
`GtkSearchEntry` has a single CSS node with name entry that carries
|
||||||
|
a `.search` style class, and the text node is a child of that.
|
||||||
|
|
||||||
|
## Accessibility
|
||||||
|
|
||||||
|
`GtkSearchEntry` uses the %GTK_ACCESSIBLE_ROLE_SEARCH_BOX role.
|
||||||
|
|
||||||
|
## Properties
|
||||||
|
### `updateFunctions`
|
||||||
|
|
||||||
|
Additional update functions for type extensions.
|
||||||
|
|
||||||
|
### `appearFunctions`
|
||||||
|
|
||||||
|
Additional appear functions for type extensions.
|
||||||
|
|
||||||
|
### `accessibleRole`
|
||||||
|
|
||||||
|
The accessible role of the given `GtkAccessible` implementation.
|
||||||
|
|
||||||
|
The accessible role cannot be changed once set.
|
||||||
|
|
||||||
|
### `activatesDefault`
|
||||||
|
|
||||||
|
Whether to activate the default widget when Enter is pressed.
|
||||||
|
|
||||||
|
### `cursorPosition`
|
||||||
|
|
||||||
|
The current position of the insertion cursor in chars.
|
||||||
|
|
||||||
|
### `editable`
|
||||||
|
|
||||||
|
Whether the entry contents can be edited.
|
||||||
|
|
||||||
|
### `enableUndo`
|
||||||
|
|
||||||
|
If undo/redo should be enabled for the editable.
|
||||||
|
|
||||||
|
### `maxWidthChars`
|
||||||
|
|
||||||
|
The desired maximum width of the entry, in characters.
|
||||||
|
|
||||||
|
### `placeholderText`
|
||||||
|
|
||||||
|
The text that will be displayed in the `GtkSearchEntry`
|
||||||
|
when it is empty and unfocused.
|
||||||
|
|
||||||
|
### `searchDelay`
|
||||||
|
|
||||||
|
The delay in milliseconds from last keypress to the search
|
||||||
|
changed signal.
|
||||||
|
|
||||||
|
### `selectionBound`
|
||||||
|
|
||||||
|
The position of the opposite end of the selection from the cursor in chars.
|
||||||
|
|
||||||
|
### `text`
|
||||||
|
|
||||||
|
The contents of the entry.
|
||||||
|
|
||||||
|
### `widthChars`
|
||||||
|
|
||||||
|
Number of characters to leave space for in the entry.
|
||||||
|
|
||||||
|
### `xalign`
|
||||||
|
|
||||||
|
The horizontal alignment, from 0 (left) to 1 (right).
|
||||||
|
|
||||||
|
Reversed for RTL layouts.
|
||||||
|
|
||||||
|
### `activate`
|
||||||
|
|
||||||
|
Emitted when the entry is activated.
|
||||||
|
|
||||||
|
The keybindings for this signal are all forms of the Enter key.
|
||||||
|
|
||||||
|
### `changed`
|
||||||
|
|
||||||
|
Emitted at the end of a single user-visible operation on the
|
||||||
|
contents.
|
||||||
|
|
||||||
|
E.g., a paste operation that replaces the contents of the
|
||||||
|
selection will cause only one signal emission (even though it
|
||||||
|
is implemented by first deleting the selection, then inserting
|
||||||
|
the new content, and may cause multiple ::notify::text signals
|
||||||
|
to be emitted).
|
||||||
|
|
||||||
|
### `deleteText`
|
||||||
|
|
||||||
|
Emitted when text is deleted from the widget by the user.
|
||||||
|
|
||||||
|
The default handler for this signal will normally be responsible for
|
||||||
|
deleting the text, so by connecting to this signal and then stopping
|
||||||
|
the signal with g_signal_stop_emission(), it is possible to modify the
|
||||||
|
range of deleted text, or prevent it from being deleted entirely.
|
||||||
|
|
||||||
|
The @start_pos and @end_pos parameters are interpreted as for
|
||||||
|
[method@Gtk.Editable.delete_text].
|
||||||
|
|
||||||
|
### `insertText`
|
||||||
|
|
||||||
|
Emitted when text is inserted into the widget by the user.
|
||||||
|
|
||||||
|
The default handler for this signal will normally be responsible
|
||||||
|
for inserting the text, so by connecting to this signal and then
|
||||||
|
stopping the signal with g_signal_stop_emission(), it is possible
|
||||||
|
to modify the inserted text, or prevent it from being inserted entirely.
|
||||||
|
|
||||||
|
### `nextMatch`
|
||||||
|
|
||||||
|
Emitted when the user initiates a move to the next match
|
||||||
|
for the current search string.
|
||||||
|
|
||||||
|
This is a [keybinding signal](class.SignalAction.html).
|
||||||
|
|
||||||
|
Applications should connect to it, to implement moving
|
||||||
|
between matches.
|
||||||
|
|
||||||
|
The default bindings for this signal is Ctrl-g.
|
||||||
|
|
||||||
|
### `previousMatch`
|
||||||
|
|
||||||
|
Emitted when the user initiates a move to the previous match
|
||||||
|
for the current search string.
|
||||||
|
|
||||||
|
This is a [keybinding signal](class.SignalAction.html).
|
||||||
|
|
||||||
|
Applications should connect to it, to implement moving
|
||||||
|
between matches.
|
||||||
|
|
||||||
|
The default bindings for this signal is Ctrl-Shift-g.
|
||||||
|
|
||||||
|
### `searchChanged`
|
||||||
|
|
||||||
|
Emitted with a delay. The length of the delay can be
|
||||||
|
changed with the [property@Gtk.SearchEntry:search-delay]
|
||||||
|
property.
|
||||||
|
|
||||||
|
### `searchStarted`
|
||||||
|
|
||||||
|
Emitted when the user initiated a search on the entry.
|
||||||
|
|
||||||
|
### `stopSearch`
|
||||||
|
|
||||||
|
Emitted when the user stops a search via keyboard input.
|
||||||
|
|
||||||
|
This is a [keybinding signal](class.SignalAction.html).
|
||||||
|
|
||||||
|
Applications should connect to it, to implement hiding
|
||||||
|
the search entry in this case.
|
||||||
|
|
||||||
|
The default bindings for this signal is Escape.
|
||||||
|
|
||||||
|
### `app`
|
||||||
|
|
||||||
|
The application.
|
||||||
|
|
||||||
|
### `window`
|
||||||
|
|
||||||
|
The window.
|
||||||
|
|
||||||
|
## Methods
|
||||||
|
### `init()`
|
||||||
|
|
||||||
|
Initialize `SearchEntry`.
|
||||||
|
|
||||||
|
### `container(modifiers:)`
|
||||||
|
|
||||||
|
Get the widget's view storage.
|
||||||
|
- Parameter modifiers: The view modifiers.
|
||||||
|
- Returns: The view storage.
|
||||||
|
|
||||||
|
### `update(_:modifiers:updateProperties:)`
|
||||||
|
|
||||||
|
Update the widget's view storage.
|
||||||
|
- Parameters:
|
||||||
|
- storage: The view storage.
|
||||||
|
- modifiers: The view modifiers.
|
||||||
|
- updateProperties: Whether to update the view's properties.
|
||||||
|
|
||||||
|
### `accessibleRole(_:)`
|
||||||
|
|
||||||
|
The accessible role of the given `GtkAccessible` implementation.
|
||||||
|
|
||||||
|
The accessible role cannot be changed once set.
|
||||||
|
|
||||||
|
### `activatesDefault(_:)`
|
||||||
|
|
||||||
|
Whether to activate the default widget when Enter is pressed.
|
||||||
|
|
||||||
|
### `cursorPosition(_:)`
|
||||||
|
|
||||||
|
The current position of the insertion cursor in chars.
|
||||||
|
|
||||||
|
### `editable(_:)`
|
||||||
|
|
||||||
|
Whether the entry contents can be edited.
|
||||||
|
|
||||||
|
### `enableUndo(_:)`
|
||||||
|
|
||||||
|
If undo/redo should be enabled for the editable.
|
||||||
|
|
||||||
|
### `maxWidthChars(_:)`
|
||||||
|
|
||||||
|
The desired maximum width of the entry, in characters.
|
||||||
|
|
||||||
|
### `placeholderText(_:)`
|
||||||
|
|
||||||
|
The text that will be displayed in the `GtkSearchEntry`
|
||||||
|
when it is empty and unfocused.
|
||||||
|
|
||||||
|
### `searchDelay(_:)`
|
||||||
|
|
||||||
|
The delay in milliseconds from last keypress to the search
|
||||||
|
changed signal.
|
||||||
|
|
||||||
|
### `selectionBound(_:)`
|
||||||
|
|
||||||
|
The position of the opposite end of the selection from the cursor in chars.
|
||||||
|
|
||||||
|
### `text(_:)`
|
||||||
|
|
||||||
|
The contents of the entry.
|
||||||
|
|
||||||
|
### `widthChars(_:)`
|
||||||
|
|
||||||
|
Number of characters to leave space for in the entry.
|
||||||
|
|
||||||
|
### `xalign(_:)`
|
||||||
|
|
||||||
|
The horizontal alignment, from 0 (left) to 1 (right).
|
||||||
|
|
||||||
|
Reversed for RTL layouts.
|
||||||
|
|
||||||
|
### `activate(_:)`
|
||||||
|
|
||||||
|
Emitted when the entry is activated.
|
||||||
|
|
||||||
|
The keybindings for this signal are all forms of the Enter key.
|
||||||
|
|
||||||
|
### `changed(_:)`
|
||||||
|
|
||||||
|
Emitted at the end of a single user-visible operation on the
|
||||||
|
contents.
|
||||||
|
|
||||||
|
E.g., a paste operation that replaces the contents of the
|
||||||
|
selection will cause only one signal emission (even though it
|
||||||
|
is implemented by first deleting the selection, then inserting
|
||||||
|
the new content, and may cause multiple ::notify::text signals
|
||||||
|
to be emitted).
|
||||||
|
|
||||||
|
### `deleteText(_:)`
|
||||||
|
|
||||||
|
Emitted when text is deleted from the widget by the user.
|
||||||
|
|
||||||
|
The default handler for this signal will normally be responsible for
|
||||||
|
deleting the text, so by connecting to this signal and then stopping
|
||||||
|
the signal with g_signal_stop_emission(), it is possible to modify the
|
||||||
|
range of deleted text, or prevent it from being deleted entirely.
|
||||||
|
|
||||||
|
The @start_pos and @end_pos parameters are interpreted as for
|
||||||
|
[method@Gtk.Editable.delete_text].
|
||||||
|
|
||||||
|
### `insertText(_:)`
|
||||||
|
|
||||||
|
Emitted when text is inserted into the widget by the user.
|
||||||
|
|
||||||
|
The default handler for this signal will normally be responsible
|
||||||
|
for inserting the text, so by connecting to this signal and then
|
||||||
|
stopping the signal with g_signal_stop_emission(), it is possible
|
||||||
|
to modify the inserted text, or prevent it from being inserted entirely.
|
||||||
|
|
||||||
|
### `nextMatch(_:)`
|
||||||
|
|
||||||
|
Emitted when the user initiates a move to the next match
|
||||||
|
for the current search string.
|
||||||
|
|
||||||
|
This is a [keybinding signal](class.SignalAction.html).
|
||||||
|
|
||||||
|
Applications should connect to it, to implement moving
|
||||||
|
between matches.
|
||||||
|
|
||||||
|
The default bindings for this signal is Ctrl-g.
|
||||||
|
|
||||||
|
### `previousMatch(_:)`
|
||||||
|
|
||||||
|
Emitted when the user initiates a move to the previous match
|
||||||
|
for the current search string.
|
||||||
|
|
||||||
|
This is a [keybinding signal](class.SignalAction.html).
|
||||||
|
|
||||||
|
Applications should connect to it, to implement moving
|
||||||
|
between matches.
|
||||||
|
|
||||||
|
The default bindings for this signal is Ctrl-Shift-g.
|
||||||
|
|
||||||
|
### `searchChanged(_:)`
|
||||||
|
|
||||||
|
Emitted with a delay. The length of the delay can be
|
||||||
|
changed with the [property@Gtk.SearchEntry:search-delay]
|
||||||
|
property.
|
||||||
|
|
||||||
|
### `searchStarted(_:)`
|
||||||
|
|
||||||
|
Emitted when the user initiated a search on the entry.
|
||||||
|
|
||||||
|
### `stopSearch(_:)`
|
||||||
|
|
||||||
|
Emitted when the user stops a search via keyboard input.
|
||||||
|
|
||||||
|
This is a [keybinding signal](class.SignalAction.html).
|
||||||
|
|
||||||
|
Applications should connect to it, to implement hiding
|
||||||
|
the search entry in this case.
|
||||||
|
|
||||||
|
The default bindings for this signal is Escape.
|
||||||
@ -28,30 +28,6 @@ Additional update functions for type extensions.
|
|||||||
|
|
||||||
Additional appear functions for type extensions.
|
Additional appear functions for type extensions.
|
||||||
|
|
||||||
### `climbRate`
|
|
||||||
|
|
||||||
The acceleration rate when you hold down a button or key.
|
|
||||||
|
|
||||||
### `digits`
|
|
||||||
|
|
||||||
The number of decimal places to display.
|
|
||||||
|
|
||||||
### `numeric`
|
|
||||||
|
|
||||||
Whether non-numeric characters should be ignored.
|
|
||||||
|
|
||||||
### `snapToTicks`
|
|
||||||
|
|
||||||
Whether invalid values are snapped to the nearest step increment.
|
|
||||||
|
|
||||||
### `value`
|
|
||||||
|
|
||||||
The current value.
|
|
||||||
|
|
||||||
### `wrap`
|
|
||||||
|
|
||||||
Whether the spin row should wrap upon reaching its limits.
|
|
||||||
|
|
||||||
### `activatableWidget`
|
### `activatableWidget`
|
||||||
|
|
||||||
The widget to activate when the row is activated.
|
The widget to activate when the row is activated.
|
||||||
@ -64,10 +40,26 @@ mnemonics.
|
|||||||
The target widget will be activated by emitting the
|
The target widget will be activated by emitting the
|
||||||
[signal@Gtk.Widget::mnemonic-activate] signal on it.
|
[signal@Gtk.Widget::mnemonic-activate] signal on it.
|
||||||
|
|
||||||
|
### `climbRate`
|
||||||
|
|
||||||
|
The acceleration rate when you hold down a button or key.
|
||||||
|
|
||||||
|
### `digits`
|
||||||
|
|
||||||
|
The number of decimal places to display.
|
||||||
|
|
||||||
### `iconName`
|
### `iconName`
|
||||||
|
|
||||||
The icon name for this row.
|
The icon name for this row.
|
||||||
|
|
||||||
|
### `numeric`
|
||||||
|
|
||||||
|
Whether non-numeric characters should be ignored.
|
||||||
|
|
||||||
|
### `snapToTicks`
|
||||||
|
|
||||||
|
Whether invalid values are snapped to the nearest step increment.
|
||||||
|
|
||||||
### `subtitle`
|
### `subtitle`
|
||||||
|
|
||||||
The subtitle for this row.
|
The subtitle for this row.
|
||||||
@ -88,12 +80,6 @@ Whether the user can copy the subtitle from the label.
|
|||||||
|
|
||||||
See also [property@Gtk.Label:selectable].
|
See also [property@Gtk.Label:selectable].
|
||||||
|
|
||||||
### `titleLines`
|
|
||||||
|
|
||||||
The number of lines at the end of which the title label will be ellipsized.
|
|
||||||
|
|
||||||
If the value is 0, the number of lines won't be limited.
|
|
||||||
|
|
||||||
### `title`
|
### `title`
|
||||||
|
|
||||||
The title of the preference represented by this row.
|
The title of the preference represented by this row.
|
||||||
@ -101,6 +87,12 @@ The title of the preference represented by this row.
|
|||||||
The title is interpreted as Pango markup unless
|
The title is interpreted as Pango markup unless
|
||||||
[property@PreferencesRow:use-markup] is set to `FALSE`.
|
[property@PreferencesRow:use-markup] is set to `FALSE`.
|
||||||
|
|
||||||
|
### `titleLines`
|
||||||
|
|
||||||
|
The number of lines at the end of which the title label will be ellipsized.
|
||||||
|
|
||||||
|
If the value is 0, the number of lines won't be limited.
|
||||||
|
|
||||||
### `titleSelectable`
|
### `titleSelectable`
|
||||||
|
|
||||||
Whether the user can copy the title from the label.
|
Whether the user can copy the title from the label.
|
||||||
@ -119,6 +111,18 @@ See also [func@Pango.parse_markup].
|
|||||||
|
|
||||||
Whether an embedded underline in the title indicates a mnemonic.
|
Whether an embedded underline in the title indicates a mnemonic.
|
||||||
|
|
||||||
|
### `value`
|
||||||
|
|
||||||
|
The current value.
|
||||||
|
|
||||||
|
### `wrap`
|
||||||
|
|
||||||
|
Whether the spin row should wrap upon reaching its limits.
|
||||||
|
|
||||||
|
### `activated`
|
||||||
|
|
||||||
|
This signal is emitted after the row has been activated.
|
||||||
|
|
||||||
### `input`
|
### `input`
|
||||||
|
|
||||||
Emitted to convert the user's input into a double value.
|
Emitted to convert the user's input into a double value.
|
||||||
@ -142,10 +146,6 @@ Emitted right after the spinbutton wraps.
|
|||||||
|
|
||||||
See [signal@Gtk.SpinButton::wrapped].
|
See [signal@Gtk.SpinButton::wrapped].
|
||||||
|
|
||||||
### `activated`
|
|
||||||
|
|
||||||
This signal is emitted after the row has been activated.
|
|
||||||
|
|
||||||
### `suffix`
|
### `suffix`
|
||||||
|
|
||||||
The body for the widget "suffix".
|
The body for the widget "suffix".
|
||||||
@ -181,30 +181,6 @@ Update the widget's view storage.
|
|||||||
- modifiers: The view modifiers.
|
- modifiers: The view modifiers.
|
||||||
- updateProperties: Whether to update the view's properties.
|
- updateProperties: Whether to update the view's properties.
|
||||||
|
|
||||||
### `climbRate(_:)`
|
|
||||||
|
|
||||||
The acceleration rate when you hold down a button or key.
|
|
||||||
|
|
||||||
### `digits(_:)`
|
|
||||||
|
|
||||||
The number of decimal places to display.
|
|
||||||
|
|
||||||
### `numeric(_:)`
|
|
||||||
|
|
||||||
Whether non-numeric characters should be ignored.
|
|
||||||
|
|
||||||
### `snapToTicks(_:)`
|
|
||||||
|
|
||||||
Whether invalid values are snapped to the nearest step increment.
|
|
||||||
|
|
||||||
### `value(_:)`
|
|
||||||
|
|
||||||
The current value.
|
|
||||||
|
|
||||||
### `wrap(_:)`
|
|
||||||
|
|
||||||
Whether the spin row should wrap upon reaching its limits.
|
|
||||||
|
|
||||||
### `activatableWidget(_:)`
|
### `activatableWidget(_:)`
|
||||||
|
|
||||||
The widget to activate when the row is activated.
|
The widget to activate when the row is activated.
|
||||||
@ -217,10 +193,26 @@ mnemonics.
|
|||||||
The target widget will be activated by emitting the
|
The target widget will be activated by emitting the
|
||||||
[signal@Gtk.Widget::mnemonic-activate] signal on it.
|
[signal@Gtk.Widget::mnemonic-activate] signal on it.
|
||||||
|
|
||||||
|
### `climbRate(_:)`
|
||||||
|
|
||||||
|
The acceleration rate when you hold down a button or key.
|
||||||
|
|
||||||
|
### `digits(_:)`
|
||||||
|
|
||||||
|
The number of decimal places to display.
|
||||||
|
|
||||||
### `iconName(_:)`
|
### `iconName(_:)`
|
||||||
|
|
||||||
The icon name for this row.
|
The icon name for this row.
|
||||||
|
|
||||||
|
### `numeric(_:)`
|
||||||
|
|
||||||
|
Whether non-numeric characters should be ignored.
|
||||||
|
|
||||||
|
### `snapToTicks(_:)`
|
||||||
|
|
||||||
|
Whether invalid values are snapped to the nearest step increment.
|
||||||
|
|
||||||
### `subtitle(_:)`
|
### `subtitle(_:)`
|
||||||
|
|
||||||
The subtitle for this row.
|
The subtitle for this row.
|
||||||
@ -241,12 +233,6 @@ Whether the user can copy the subtitle from the label.
|
|||||||
|
|
||||||
See also [property@Gtk.Label:selectable].
|
See also [property@Gtk.Label:selectable].
|
||||||
|
|
||||||
### `titleLines(_:)`
|
|
||||||
|
|
||||||
The number of lines at the end of which the title label will be ellipsized.
|
|
||||||
|
|
||||||
If the value is 0, the number of lines won't be limited.
|
|
||||||
|
|
||||||
### `title(_:)`
|
### `title(_:)`
|
||||||
|
|
||||||
The title of the preference represented by this row.
|
The title of the preference represented by this row.
|
||||||
@ -254,6 +240,12 @@ The title of the preference represented by this row.
|
|||||||
The title is interpreted as Pango markup unless
|
The title is interpreted as Pango markup unless
|
||||||
[property@PreferencesRow:use-markup] is set to `FALSE`.
|
[property@PreferencesRow:use-markup] is set to `FALSE`.
|
||||||
|
|
||||||
|
### `titleLines(_:)`
|
||||||
|
|
||||||
|
The number of lines at the end of which the title label will be ellipsized.
|
||||||
|
|
||||||
|
If the value is 0, the number of lines won't be limited.
|
||||||
|
|
||||||
### `titleSelectable(_:)`
|
### `titleSelectable(_:)`
|
||||||
|
|
||||||
Whether the user can copy the title from the label.
|
Whether the user can copy the title from the label.
|
||||||
@ -272,6 +264,18 @@ See also [func@Pango.parse_markup].
|
|||||||
|
|
||||||
Whether an embedded underline in the title indicates a mnemonic.
|
Whether an embedded underline in the title indicates a mnemonic.
|
||||||
|
|
||||||
|
### `value(_:)`
|
||||||
|
|
||||||
|
The current value.
|
||||||
|
|
||||||
|
### `wrap(_:)`
|
||||||
|
|
||||||
|
Whether the spin row should wrap upon reaching its limits.
|
||||||
|
|
||||||
|
### `activated(_:)`
|
||||||
|
|
||||||
|
This signal is emitted after the row has been activated.
|
||||||
|
|
||||||
### `input(_:)`
|
### `input(_:)`
|
||||||
|
|
||||||
Emitted to convert the user's input into a double value.
|
Emitted to convert the user's input into a double value.
|
||||||
@ -295,10 +299,6 @@ Emitted right after the spinbutton wraps.
|
|||||||
|
|
||||||
See [signal@Gtk.SpinButton::wrapped].
|
See [signal@Gtk.SpinButton::wrapped].
|
||||||
|
|
||||||
### `activated(_:)`
|
|
||||||
|
|
||||||
This signal is emitted after the row has been activated.
|
|
||||||
|
|
||||||
### `suffix(_:)`
|
### `suffix(_:)`
|
||||||
|
|
||||||
Set the body for "suffix".
|
Set the body for "suffix".
|
||||||
|
|||||||
@ -27,6 +27,12 @@ Additional update functions for type extensions.
|
|||||||
|
|
||||||
Additional appear functions for type extensions.
|
Additional appear functions for type extensions.
|
||||||
|
|
||||||
|
### `accessibleRole`
|
||||||
|
|
||||||
|
The accessible role of the given `GtkAccessible` implementation.
|
||||||
|
|
||||||
|
The accessible role cannot be changed once set.
|
||||||
|
|
||||||
### `spinning`
|
### `spinning`
|
||||||
|
|
||||||
Whether the spinner is spinning
|
Whether the spinner is spinning
|
||||||
@ -58,6 +64,12 @@ Update the widget's view storage.
|
|||||||
- modifiers: The view modifiers.
|
- modifiers: The view modifiers.
|
||||||
- updateProperties: Whether to update the view's properties.
|
- updateProperties: Whether to update the view's properties.
|
||||||
|
|
||||||
|
### `accessibleRole(_:)`
|
||||||
|
|
||||||
|
The accessible role of the given `GtkAccessible` implementation.
|
||||||
|
|
||||||
|
The accessible role cannot be changed once set.
|
||||||
|
|
||||||
### `spinning(_:)`
|
### `spinning(_:)`
|
||||||
|
|
||||||
Whether the spinner is spinning
|
Whether the spinner is spinning
|
||||||
|
|||||||
@ -32,10 +32,6 @@ Additional update functions for type extensions.
|
|||||||
|
|
||||||
Additional appear functions for type extensions.
|
Additional appear functions for type extensions.
|
||||||
|
|
||||||
### `active`
|
|
||||||
|
|
||||||
Whether the switch row is in the "on" or "off" position.
|
|
||||||
|
|
||||||
### `activatableWidget`
|
### `activatableWidget`
|
||||||
|
|
||||||
The widget to activate when the row is activated.
|
The widget to activate when the row is activated.
|
||||||
@ -48,6 +44,10 @@ mnemonics.
|
|||||||
The target widget will be activated by emitting the
|
The target widget will be activated by emitting the
|
||||||
[signal@Gtk.Widget::mnemonic-activate] signal on it.
|
[signal@Gtk.Widget::mnemonic-activate] signal on it.
|
||||||
|
|
||||||
|
### `active`
|
||||||
|
|
||||||
|
Whether the switch row is in the "on" or "off" position.
|
||||||
|
|
||||||
### `iconName`
|
### `iconName`
|
||||||
|
|
||||||
The icon name for this row.
|
The icon name for this row.
|
||||||
@ -72,12 +72,6 @@ Whether the user can copy the subtitle from the label.
|
|||||||
|
|
||||||
See also [property@Gtk.Label:selectable].
|
See also [property@Gtk.Label:selectable].
|
||||||
|
|
||||||
### `titleLines`
|
|
||||||
|
|
||||||
The number of lines at the end of which the title label will be ellipsized.
|
|
||||||
|
|
||||||
If the value is 0, the number of lines won't be limited.
|
|
||||||
|
|
||||||
### `title`
|
### `title`
|
||||||
|
|
||||||
The title of the preference represented by this row.
|
The title of the preference represented by this row.
|
||||||
@ -85,6 +79,12 @@ The title of the preference represented by this row.
|
|||||||
The title is interpreted as Pango markup unless
|
The title is interpreted as Pango markup unless
|
||||||
[property@PreferencesRow:use-markup] is set to `FALSE`.
|
[property@PreferencesRow:use-markup] is set to `FALSE`.
|
||||||
|
|
||||||
|
### `titleLines`
|
||||||
|
|
||||||
|
The number of lines at the end of which the title label will be ellipsized.
|
||||||
|
|
||||||
|
If the value is 0, the number of lines won't be limited.
|
||||||
|
|
||||||
### `titleSelectable`
|
### `titleSelectable`
|
||||||
|
|
||||||
Whether the user can copy the title from the label.
|
Whether the user can copy the title from the label.
|
||||||
@ -142,10 +142,6 @@ Update the widget's view storage.
|
|||||||
- modifiers: The view modifiers.
|
- modifiers: The view modifiers.
|
||||||
- updateProperties: Whether to update the view's properties.
|
- updateProperties: Whether to update the view's properties.
|
||||||
|
|
||||||
### `active(_:)`
|
|
||||||
|
|
||||||
Whether the switch row is in the "on" or "off" position.
|
|
||||||
|
|
||||||
### `activatableWidget(_:)`
|
### `activatableWidget(_:)`
|
||||||
|
|
||||||
The widget to activate when the row is activated.
|
The widget to activate when the row is activated.
|
||||||
@ -158,6 +154,10 @@ mnemonics.
|
|||||||
The target widget will be activated by emitting the
|
The target widget will be activated by emitting the
|
||||||
[signal@Gtk.Widget::mnemonic-activate] signal on it.
|
[signal@Gtk.Widget::mnemonic-activate] signal on it.
|
||||||
|
|
||||||
|
### `active(_:)`
|
||||||
|
|
||||||
|
Whether the switch row is in the "on" or "off" position.
|
||||||
|
|
||||||
### `iconName(_:)`
|
### `iconName(_:)`
|
||||||
|
|
||||||
The icon name for this row.
|
The icon name for this row.
|
||||||
@ -182,12 +182,6 @@ Whether the user can copy the subtitle from the label.
|
|||||||
|
|
||||||
See also [property@Gtk.Label:selectable].
|
See also [property@Gtk.Label:selectable].
|
||||||
|
|
||||||
### `titleLines(_:)`
|
|
||||||
|
|
||||||
The number of lines at the end of which the title label will be ellipsized.
|
|
||||||
|
|
||||||
If the value is 0, the number of lines won't be limited.
|
|
||||||
|
|
||||||
### `title(_:)`
|
### `title(_:)`
|
||||||
|
|
||||||
The title of the preference represented by this row.
|
The title of the preference represented by this row.
|
||||||
@ -195,6 +189,12 @@ The title of the preference represented by this row.
|
|||||||
The title is interpreted as Pango markup unless
|
The title is interpreted as Pango markup unless
|
||||||
[property@PreferencesRow:use-markup] is set to `FALSE`.
|
[property@PreferencesRow:use-markup] is set to `FALSE`.
|
||||||
|
|
||||||
|
### `titleLines(_:)`
|
||||||
|
|
||||||
|
The number of lines at the end of which the title label will be ellipsized.
|
||||||
|
|
||||||
|
If the value is 0, the number of lines won't be limited.
|
||||||
|
|
||||||
### `titleSelectable(_:)`
|
### `titleSelectable(_:)`
|
||||||
|
|
||||||
Whether the user can copy the title from the label.
|
Whether the user can copy the title from the label.
|
||||||
|
|||||||
@ -87,6 +87,16 @@ Additional update functions for type extensions.
|
|||||||
|
|
||||||
Additional appear functions for type extensions.
|
Additional appear functions for type extensions.
|
||||||
|
|
||||||
|
### `accessibleRole`
|
||||||
|
|
||||||
|
The accessible role of the given `GtkAccessible` implementation.
|
||||||
|
|
||||||
|
The accessible role cannot be changed once set.
|
||||||
|
|
||||||
|
### `actionName`
|
||||||
|
|
||||||
|
action-name
|
||||||
|
|
||||||
### `active`
|
### `active`
|
||||||
|
|
||||||
If the toggle button should be pressed in.
|
If the toggle button should be pressed in.
|
||||||
@ -122,10 +132,6 @@ Text of the label inside the button, if the button contains a label widget.
|
|||||||
If set, an underline in the text indicates that the following character is
|
If set, an underline in the text indicates that the following character is
|
||||||
to be used as mnemonic.
|
to be used as mnemonic.
|
||||||
|
|
||||||
### `toggled`
|
|
||||||
|
|
||||||
Emitted whenever the `GtkToggleButton`'s state is changed.
|
|
||||||
|
|
||||||
### `activate`
|
### `activate`
|
||||||
|
|
||||||
Emitted to animate press then release.
|
Emitted to animate press then release.
|
||||||
@ -140,6 +146,10 @@ The default bindings for this signal are all forms of the
|
|||||||
|
|
||||||
Emitted when the button has been activated (pressed and released).
|
Emitted when the button has been activated (pressed and released).
|
||||||
|
|
||||||
|
### `toggled`
|
||||||
|
|
||||||
|
Emitted whenever the `GtkToggleButton`'s state is changed.
|
||||||
|
|
||||||
### `app`
|
### `app`
|
||||||
|
|
||||||
The application.
|
The application.
|
||||||
@ -167,6 +177,16 @@ Update the widget's view storage.
|
|||||||
- modifiers: The view modifiers.
|
- modifiers: The view modifiers.
|
||||||
- updateProperties: Whether to update the view's properties.
|
- updateProperties: Whether to update the view's properties.
|
||||||
|
|
||||||
|
### `accessibleRole(_:)`
|
||||||
|
|
||||||
|
The accessible role of the given `GtkAccessible` implementation.
|
||||||
|
|
||||||
|
The accessible role cannot be changed once set.
|
||||||
|
|
||||||
|
### `actionName(_:)`
|
||||||
|
|
||||||
|
action-name
|
||||||
|
|
||||||
### `active(_:)`
|
### `active(_:)`
|
||||||
|
|
||||||
If the toggle button should be pressed in.
|
If the toggle button should be pressed in.
|
||||||
@ -202,10 +222,6 @@ Text of the label inside the button, if the button contains a label widget.
|
|||||||
If set, an underline in the text indicates that the following character is
|
If set, an underline in the text indicates that the following character is
|
||||||
to be used as mnemonic.
|
to be used as mnemonic.
|
||||||
|
|
||||||
### `toggled(_:)`
|
|
||||||
|
|
||||||
Emitted whenever the `GtkToggleButton`'s state is changed.
|
|
||||||
|
|
||||||
### `activate(_:)`
|
### `activate(_:)`
|
||||||
|
|
||||||
Emitted to animate press then release.
|
Emitted to animate press then release.
|
||||||
@ -219,3 +235,7 @@ The default bindings for this signal are all forms of the
|
|||||||
### `clicked(_:)`
|
### `clicked(_:)`
|
||||||
|
|
||||||
Emitted when the button has been activated (pressed and released).
|
Emitted when the button has been activated (pressed and released).
|
||||||
|
|
||||||
|
### `toggled(_:)`
|
||||||
|
|
||||||
|
Emitted whenever the `GtkToggleButton`'s state is changed.
|
||||||
|
|||||||
@ -131,7 +131,10 @@ public struct CheckButton: Widget {
|
|||||||
|
|
||||||
|
|
||||||
storage.notify(name: "active") {
|
storage.notify(name: "active") {
|
||||||
active?.wrappedValue = gtk_check_button_get_active(storage.pointer?.cast()) != 0
|
let newValue = gtk_check_button_get_active(storage.pointer?.cast()) != 0
|
||||||
|
if let active, newValue != active.wrappedValue {
|
||||||
|
active.wrappedValue = newValue
|
||||||
|
}
|
||||||
}
|
}
|
||||||
for function in appearFunctions {
|
for function in appearFunctions {
|
||||||
function(storage)
|
function(storage)
|
||||||
@ -159,8 +162,8 @@ public struct CheckButton: Widget {
|
|||||||
if let actionName, updateProperties {
|
if let actionName, updateProperties {
|
||||||
gtk_actionable_set_action_name(widget, actionName)
|
gtk_actionable_set_action_name(widget, actionName)
|
||||||
}
|
}
|
||||||
if let active, updateProperties {
|
if let active, updateProperties, (gtk_check_button_get_active(storage.pointer?.cast()) != 0) != active.wrappedValue {
|
||||||
gtk_check_button_set_active(widget?.cast(), active.wrappedValue.cBool)
|
gtk_check_button_set_active(storage.pointer?.cast(), active.wrappedValue.cBool)
|
||||||
}
|
}
|
||||||
if let widget = storage.content["child"]?.first {
|
if let widget = storage.content["child"]?.first {
|
||||||
child?().widget(modifiers: modifiers).update(widget, modifiers: modifiers, updateProperties: updateProperties)
|
child?().widget(modifiers: modifiers).update(widget, modifiers: modifiers, updateProperties: updateProperties)
|
||||||
|
|||||||
@ -157,7 +157,10 @@ public struct ComboRow: Widget {
|
|||||||
storage.content["prefix"] = prefixStorage
|
storage.content["prefix"] = prefixStorage
|
||||||
|
|
||||||
storage.notify(name: "selected") {
|
storage.notify(name: "selected") {
|
||||||
selected?.wrappedValue = .init(adw_combo_row_get_selected(storage.pointer?.cast()))
|
let newValue = UInt(adw_combo_row_get_selected(storage.pointer?.cast()))
|
||||||
|
if let selected, newValue != selected.wrappedValue {
|
||||||
|
selected.wrappedValue = newValue
|
||||||
|
}
|
||||||
}
|
}
|
||||||
for function in appearFunctions {
|
for function in appearFunctions {
|
||||||
function(storage)
|
function(storage)
|
||||||
@ -186,8 +189,8 @@ public struct ComboRow: Widget {
|
|||||||
if let iconName, updateProperties {
|
if let iconName, updateProperties {
|
||||||
adw_action_row_set_icon_name(widget?.cast(), iconName)
|
adw_action_row_set_icon_name(widget?.cast(), iconName)
|
||||||
}
|
}
|
||||||
if let selected, updateProperties {
|
if let selected, updateProperties, (UInt(adw_combo_row_get_selected(storage.pointer?.cast()))) != selected.wrappedValue {
|
||||||
adw_combo_row_set_selected(widget?.cast(), selected.wrappedValue.cInt)
|
adw_combo_row_set_selected(storage.pointer?.cast(), selected.wrappedValue.cInt)
|
||||||
}
|
}
|
||||||
if let subtitle, updateProperties {
|
if let subtitle, updateProperties {
|
||||||
adw_action_row_set_subtitle(widget?.cast(), subtitle)
|
adw_action_row_set_subtitle(widget?.cast(), subtitle)
|
||||||
|
|||||||
@ -121,10 +121,16 @@ public struct ExpanderRow: Widget {
|
|||||||
storage.content["prefix"] = prefixStorage
|
storage.content["prefix"] = prefixStorage
|
||||||
|
|
||||||
storage.notify(name: "enable-expansion") {
|
storage.notify(name: "enable-expansion") {
|
||||||
enableExpansion?.wrappedValue = adw_expander_row_get_enable_expansion(storage.pointer?.cast()) != 0
|
let newValue = adw_expander_row_get_enable_expansion(storage.pointer?.cast()) != 0
|
||||||
|
if let enableExpansion, newValue != enableExpansion.wrappedValue {
|
||||||
|
enableExpansion.wrappedValue = newValue
|
||||||
|
}
|
||||||
}
|
}
|
||||||
storage.notify(name: "expanded") {
|
storage.notify(name: "expanded") {
|
||||||
expanded?.wrappedValue = adw_expander_row_get_expanded(storage.pointer?.cast()) != 0
|
let newValue = adw_expander_row_get_expanded(storage.pointer?.cast()) != 0
|
||||||
|
if let expanded, newValue != expanded.wrappedValue {
|
||||||
|
expanded.wrappedValue = newValue
|
||||||
|
}
|
||||||
}
|
}
|
||||||
for function in appearFunctions {
|
for function in appearFunctions {
|
||||||
function(storage)
|
function(storage)
|
||||||
@ -139,11 +145,11 @@ public struct ExpanderRow: Widget {
|
|||||||
/// - updateProperties: Whether to update the view's properties.
|
/// - updateProperties: Whether to update the view's properties.
|
||||||
public func update(_ storage: ViewStorage, modifiers: [(View) -> View], updateProperties: Bool) {
|
public func update(_ storage: ViewStorage, modifiers: [(View) -> View], updateProperties: Bool) {
|
||||||
storage.modify { widget in
|
storage.modify { widget in
|
||||||
if let enableExpansion, updateProperties {
|
if let enableExpansion, updateProperties, (adw_expander_row_get_enable_expansion(storage.pointer?.cast()) != 0) != enableExpansion.wrappedValue {
|
||||||
adw_expander_row_set_enable_expansion(widget?.cast(), enableExpansion.wrappedValue.cBool)
|
adw_expander_row_set_enable_expansion(storage.pointer?.cast(), enableExpansion.wrappedValue.cBool)
|
||||||
}
|
}
|
||||||
if let expanded, updateProperties {
|
if let expanded, updateProperties, (adw_expander_row_get_expanded(storage.pointer?.cast()) != 0) != expanded.wrappedValue {
|
||||||
adw_expander_row_set_expanded(widget?.cast(), expanded.wrappedValue.cBool)
|
adw_expander_row_set_expanded(storage.pointer?.cast(), expanded.wrappedValue.cBool)
|
||||||
}
|
}
|
||||||
if let iconName, updateProperties {
|
if let iconName, updateProperties {
|
||||||
adw_expander_row_set_icon_name(widget?.cast(), iconName)
|
adw_expander_row_set_icon_name(widget?.cast(), iconName)
|
||||||
|
|||||||
@ -140,7 +140,10 @@ public struct Menu: Widget {
|
|||||||
|
|
||||||
|
|
||||||
storage.notify(name: "active") {
|
storage.notify(name: "active") {
|
||||||
active?.wrappedValue = gtk_menu_button_get_active(storage.pointer) != 0
|
let newValue = gtk_menu_button_get_active(storage.pointer) != 0
|
||||||
|
if let active, newValue != active.wrappedValue {
|
||||||
|
active.wrappedValue = newValue
|
||||||
|
}
|
||||||
}
|
}
|
||||||
for function in appearFunctions {
|
for function in appearFunctions {
|
||||||
function(storage)
|
function(storage)
|
||||||
@ -160,8 +163,8 @@ public struct Menu: Widget {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
storage.modify { widget in
|
storage.modify { widget in
|
||||||
if let active, updateProperties {
|
if let active, updateProperties, (gtk_menu_button_get_active(storage.pointer) != 0) != active.wrappedValue {
|
||||||
gtk_menu_button_set_active(widget, active.wrappedValue.cBool)
|
gtk_menu_button_set_active(storage.pointer, active.wrappedValue.cBool)
|
||||||
}
|
}
|
||||||
if let alwaysShowArrow, updateProperties {
|
if let alwaysShowArrow, updateProperties {
|
||||||
gtk_menu_button_set_always_show_arrow(widget, alwaysShowArrow.cBool)
|
gtk_menu_button_set_always_show_arrow(widget, alwaysShowArrow.cBool)
|
||||||
|
|||||||
@ -196,7 +196,10 @@ public struct OverlaySplitView: Widget {
|
|||||||
|
|
||||||
|
|
||||||
storage.notify(name: "show-sidebar") {
|
storage.notify(name: "show-sidebar") {
|
||||||
showSidebar?.wrappedValue = adw_overlay_split_view_get_show_sidebar(storage.pointer) != 0
|
let newValue = adw_overlay_split_view_get_show_sidebar(storage.pointer) != 0
|
||||||
|
if let showSidebar, newValue != showSidebar.wrappedValue {
|
||||||
|
showSidebar.wrappedValue = newValue
|
||||||
|
}
|
||||||
}
|
}
|
||||||
for function in appearFunctions {
|
for function in appearFunctions {
|
||||||
function(storage)
|
function(storage)
|
||||||
@ -232,8 +235,8 @@ public struct OverlaySplitView: Widget {
|
|||||||
if let pinSidebar, updateProperties {
|
if let pinSidebar, updateProperties {
|
||||||
adw_overlay_split_view_set_pin_sidebar(widget, pinSidebar.cBool)
|
adw_overlay_split_view_set_pin_sidebar(widget, pinSidebar.cBool)
|
||||||
}
|
}
|
||||||
if let showSidebar, updateProperties {
|
if let showSidebar, updateProperties, (adw_overlay_split_view_get_show_sidebar(storage.pointer) != 0) != showSidebar.wrappedValue {
|
||||||
adw_overlay_split_view_set_show_sidebar(widget, showSidebar.wrappedValue.cBool)
|
adw_overlay_split_view_set_show_sidebar(storage.pointer, showSidebar.wrappedValue.cBool)
|
||||||
}
|
}
|
||||||
if let widget = storage.content["sidebar"]?.first {
|
if let widget = storage.content["sidebar"]?.first {
|
||||||
sidebar?().widget(modifiers: modifiers).update(widget, modifiers: modifiers, updateProperties: updateProperties)
|
sidebar?().widget(modifiers: modifiers).update(widget, modifiers: modifiers, updateProperties: updateProperties)
|
||||||
|
|||||||
@ -172,7 +172,10 @@ public struct SearchEntry: Widget {
|
|||||||
|
|
||||||
|
|
||||||
storage.notify(name: "text") {
|
storage.notify(name: "text") {
|
||||||
text?.wrappedValue = .init(cString: gtk_editable_get_text(storage.pointer))
|
let newValue = String(cString: gtk_editable_get_text(storage.pointer))
|
||||||
|
if let text, newValue != text.wrappedValue {
|
||||||
|
text.wrappedValue = newValue
|
||||||
|
}
|
||||||
}
|
}
|
||||||
for function in appearFunctions {
|
for function in appearFunctions {
|
||||||
function(storage)
|
function(storage)
|
||||||
@ -247,8 +250,8 @@ public struct SearchEntry: Widget {
|
|||||||
if let searchDelay, updateProperties {
|
if let searchDelay, updateProperties {
|
||||||
gtk_search_entry_set_search_delay(widget, searchDelay.cInt)
|
gtk_search_entry_set_search_delay(widget, searchDelay.cInt)
|
||||||
}
|
}
|
||||||
if let text, updateProperties {
|
if let text, updateProperties, (String(cString: gtk_editable_get_text(storage.pointer))) != text.wrappedValue {
|
||||||
gtk_editable_set_text(widget, text.wrappedValue)
|
gtk_editable_set_text(storage.pointer, text.wrappedValue)
|
||||||
}
|
}
|
||||||
if let widthChars, updateProperties {
|
if let widthChars, updateProperties {
|
||||||
gtk_editable_set_width_chars(widget, widthChars.cInt)
|
gtk_editable_set_width_chars(widget, widthChars.cInt)
|
||||||
|
|||||||
@ -149,7 +149,10 @@ public struct SpinRow: Widget {
|
|||||||
storage.content["prefix"] = prefixStorage
|
storage.content["prefix"] = prefixStorage
|
||||||
|
|
||||||
storage.notify(name: "value") {
|
storage.notify(name: "value") {
|
||||||
value?.wrappedValue = adw_spin_row_get_value(storage.pointer)
|
let newValue = adw_spin_row_get_value(storage.pointer)
|
||||||
|
if let value, newValue != value.wrappedValue {
|
||||||
|
value.wrappedValue = newValue
|
||||||
|
}
|
||||||
}
|
}
|
||||||
for function in appearFunctions {
|
for function in appearFunctions {
|
||||||
function(storage)
|
function(storage)
|
||||||
@ -226,8 +229,8 @@ public struct SpinRow: Widget {
|
|||||||
if let useUnderline, updateProperties {
|
if let useUnderline, updateProperties {
|
||||||
adw_preferences_row_set_use_underline(widget?.cast(), useUnderline.cBool)
|
adw_preferences_row_set_use_underline(widget?.cast(), useUnderline.cBool)
|
||||||
}
|
}
|
||||||
if let value, updateProperties {
|
if let value, updateProperties, (adw_spin_row_get_value(storage.pointer)) != value.wrappedValue {
|
||||||
adw_spin_row_set_value(widget, value.wrappedValue)
|
adw_spin_row_set_value(storage.pointer, value.wrappedValue)
|
||||||
}
|
}
|
||||||
if let wrap, updateProperties {
|
if let wrap, updateProperties {
|
||||||
adw_spin_row_set_wrap(widget, wrap.cBool)
|
adw_spin_row_set_wrap(widget, wrap.cBool)
|
||||||
|
|||||||
@ -124,7 +124,10 @@ public struct SwitchRow: Widget {
|
|||||||
storage.content["prefix"] = prefixStorage
|
storage.content["prefix"] = prefixStorage
|
||||||
|
|
||||||
storage.notify(name: "active") {
|
storage.notify(name: "active") {
|
||||||
active?.wrappedValue = adw_switch_row_get_active(storage.pointer) != 0
|
let newValue = adw_switch_row_get_active(storage.pointer) != 0
|
||||||
|
if let active, newValue != active.wrappedValue {
|
||||||
|
active.wrappedValue = newValue
|
||||||
|
}
|
||||||
}
|
}
|
||||||
for function in appearFunctions {
|
for function in appearFunctions {
|
||||||
function(storage)
|
function(storage)
|
||||||
@ -147,8 +150,8 @@ public struct SwitchRow: Widget {
|
|||||||
if let widget = storage.content["activatableWidget"]?.first {
|
if let widget = storage.content["activatableWidget"]?.first {
|
||||||
activatableWidget?().widget(modifiers: modifiers).update(widget, modifiers: modifiers, updateProperties: updateProperties)
|
activatableWidget?().widget(modifiers: modifiers).update(widget, modifiers: modifiers, updateProperties: updateProperties)
|
||||||
}
|
}
|
||||||
if let active, updateProperties {
|
if let active, updateProperties, (adw_switch_row_get_active(storage.pointer) != 0) != active.wrappedValue {
|
||||||
adw_switch_row_set_active(widget, active.wrappedValue.cBool)
|
adw_switch_row_set_active(storage.pointer, active.wrappedValue.cBool)
|
||||||
}
|
}
|
||||||
if let iconName, updateProperties {
|
if let iconName, updateProperties {
|
||||||
adw_action_row_set_icon_name(widget?.cast(), iconName)
|
adw_action_row_set_icon_name(widget?.cast(), iconName)
|
||||||
|
|||||||
@ -151,7 +151,10 @@ public struct ToggleButton: Widget {
|
|||||||
|
|
||||||
|
|
||||||
storage.notify(name: "active") {
|
storage.notify(name: "active") {
|
||||||
active?.wrappedValue = gtk_toggle_button_get_active(storage.pointer?.cast()) != 0
|
let newValue = gtk_toggle_button_get_active(storage.pointer?.cast()) != 0
|
||||||
|
if let active, newValue != active.wrappedValue {
|
||||||
|
active.wrappedValue = newValue
|
||||||
|
}
|
||||||
}
|
}
|
||||||
for function in appearFunctions {
|
for function in appearFunctions {
|
||||||
function(storage)
|
function(storage)
|
||||||
@ -184,8 +187,8 @@ public struct ToggleButton: Widget {
|
|||||||
if let actionName, updateProperties {
|
if let actionName, updateProperties {
|
||||||
gtk_actionable_set_action_name(widget, actionName)
|
gtk_actionable_set_action_name(widget, actionName)
|
||||||
}
|
}
|
||||||
if let active, updateProperties {
|
if let active, updateProperties, (gtk_toggle_button_get_active(storage.pointer?.cast()) != 0) != active.wrappedValue {
|
||||||
gtk_toggle_button_set_active(widget?.cast(), active.wrappedValue.cBool)
|
gtk_toggle_button_set_active(storage.pointer?.cast(), active.wrappedValue.cBool)
|
||||||
}
|
}
|
||||||
if let canShrink, updateProperties {
|
if let canShrink, updateProperties {
|
||||||
gtk_button_set_can_shrink(widget?.cast(), canShrink.cBool)
|
gtk_button_set_can_shrink(widget?.cast(), canShrink.cBool)
|
||||||
|
|||||||
@ -151,8 +151,14 @@ struct Property: Decodable {
|
|||||||
onlySetConditionsEnd = "\n }"
|
onlySetConditionsEnd = "\n }"
|
||||||
}
|
}
|
||||||
if config.bindings.contains(where: { $0.property == self.name }) {
|
if config.bindings.contains(where: { $0.property == self.name }) {
|
||||||
|
var check = ""
|
||||||
|
let widget = (self.cast ?? config.cast) ? "storage.pointer?.cast()" : "storage.pointer"
|
||||||
|
if var getter {
|
||||||
|
getter = "\((self.prefix ?? prefix) + "_" + getter)(\(widget))"
|
||||||
|
check = ", (" + (genConfig.getterTypeConversions[self.type?.name ?? ""]?(getter) ?? getter) + ") != \(name).wrappedValue"
|
||||||
|
}
|
||||||
return """
|
return """
|
||||||
if let \(name)\(setConditions), updateProperties {
|
if let \(name)\(setConditions), updateProperties\(check) {
|
||||||
\(setter)(\(widget), \(name).wrappedValue\(propertyString))
|
\(setter)(\(widget), \(name).wrappedValue\(propertyString))
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -250,7 +256,12 @@ struct Property: Decodable {
|
|||||||
getter = "\((self.prefix ?? prefix) + "_" + getter)(\(widget))"
|
getter = "\((self.prefix ?? prefix) + "_" + getter)(\(widget))"
|
||||||
let name = convertPropertyName(configuration: genConfig)
|
let name = convertPropertyName(configuration: genConfig)
|
||||||
let finalGetter = genConfig.getterTypeConversions[type?.name ?? ""]?(getter) ?? getter
|
let finalGetter = genConfig.getterTypeConversions[type?.name ?? ""]?(getter) ?? getter
|
||||||
let setter = "\(name)?.wrappedValue = \(finalGetter)"
|
let setter = """
|
||||||
|
let newValue = \(finalGetter)
|
||||||
|
if let \(name), newValue != \(name).wrappedValue {
|
||||||
|
\(name).wrappedValue = newValue
|
||||||
|
}
|
||||||
|
"""
|
||||||
if let signal {
|
if let signal {
|
||||||
return """
|
return """
|
||||||
|
|
||||||
|
|||||||
@ -285,8 +285,8 @@ struct GenerationConfiguration {
|
|||||||
/// Modifications for converting a C into a Swift type.
|
/// Modifications for converting a C into a Swift type.
|
||||||
var getterTypeConversions: [String: (String) -> String] = [
|
var getterTypeConversions: [String: (String) -> String] = [
|
||||||
"gboolean": { "\($0) != 0" },
|
"gboolean": { "\($0) != 0" },
|
||||||
"guint": { ".init(\($0))" },
|
"guint": { "UInt(\($0))" },
|
||||||
"utf8": { ".init(cString: \($0))" }
|
"utf8": { "String(cString: \($0))" }
|
||||||
]
|
]
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user