Trait gtk4::prelude::ComboBoxExt

source ·
pub trait ComboBoxExt: 'static {
Show 44 methods // Required methods fn active_id(&self) -> Option<GString>; fn active_iter(&self) -> Option<TreeIter>; fn button_sensitivity(&self) -> SensitivityType; fn child(&self) -> Option<Widget>; fn entry_text_column(&self) -> i32; fn has_entry(&self) -> bool; fn id_column(&self) -> i32; fn model(&self) -> Option<TreeModel>; fn is_popup_fixed_width(&self) -> bool; fn popdown(&self); fn popup(&self); fn popup_for_device(&self, device: &Device); fn set_active_id(&self, active_id: Option<&str>) -> bool; fn set_active_iter(&self, iter: Option<&TreeIter>); fn set_button_sensitivity(&self, sensitivity: SensitivityType); fn set_child(&self, child: Option<&impl IsA<Widget>>); fn set_entry_text_column(&self, text_column: i32); fn set_id_column(&self, id_column: i32); fn set_model(&self, model: Option<&impl IsA<TreeModel>>); fn set_popup_fixed_width(&self, fixed: bool); fn set_row_separator_func<P: Fn(&TreeModel, &TreeIter) -> bool + 'static>( &self, func: P ); fn has_frame(&self) -> bool; fn set_has_frame(&self, has_frame: bool); fn is_popup_shown(&self) -> bool; fn connect_activate<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId; fn emit_activate(&self); fn connect_changed<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId; fn connect_format_entry_text<F: Fn(&Self, &str) -> String + 'static>( &self, f: F ) -> SignalHandlerId; fn connect_move_active<F: Fn(&Self, ScrollType) + 'static>( &self, f: F ) -> SignalHandlerId; fn emit_move_active(&self, scroll_type: ScrollType); fn connect_popdown<F: Fn(&Self) -> bool + 'static>( &self, f: F ) -> SignalHandlerId; fn emit_popdown(&self) -> bool; fn connect_popup<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId; fn emit_popup(&self); fn connect_active_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId; fn connect_active_id_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId; fn connect_button_sensitivity_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId; fn connect_child_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId; fn connect_entry_text_column_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId; fn connect_has_frame_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId; fn connect_id_column_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId; fn connect_model_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId; fn connect_popup_fixed_width_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId; fn connect_popup_shown_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId;
}
Expand description

Trait containing all ComboBox methods.

Implementors

ComboBoxText, ComboBox

Required Methods§

source

fn active_id(&self) -> Option<GString>

Returns the ID of the active row of @self.

This value is taken from the active row and the column specified by the property::ComboBox::id-column property of @self (see set_id_column()).

The returned value is an interned string which means that you can compare the pointer by value to other interned strings and that you must not free it.

If the property::ComboBox::id-column property of @self is not set, or if no row is active, or if the active row has a None ID value, then None is returned.

Returns

the ID of the active row

source

fn active_iter(&self) -> Option<TreeIter>

Sets @iter to point to the currently active item.

If no item is active, @iter is left unchanged.

Returns

true if @iter was set, false otherwise

iter

A TreeIter

source

fn button_sensitivity(&self) -> SensitivityType

Returns whether the combo box sets the dropdown button sensitive or not when there are no items in the model.

Returns

SensitivityType::On if the dropdown button is sensitive when the model is empty, SensitivityType::Off if the button is always insensitive or SensitivityType::Auto if it is only sensitive as long as the model has one item to be selected.

source

fn child(&self) -> Option<Widget>

Gets the child widget of @self.

Returns

the child widget of @self

source

fn entry_text_column(&self) -> i32

Returns the column which @self is using to get the strings from to display in the internal entry.

Returns

A column in the data source model of @self.

source

fn has_entry(&self) -> bool

Returns whether the combo box has an entry.

Returns

whether there is an entry in @self.

source

fn id_column(&self) -> i32

Returns the column which @self is using to get string IDs for values from.

Returns

A column in the data source model of @self.

source

fn model(&self) -> Option<TreeModel>

Returns the TreeModel of @self.

Returns

A TreeModel which was passed during construction.

source

fn is_popup_fixed_width(&self) -> bool

Gets whether the popup uses a fixed width.

Returns

true if the popup uses a fixed width

source

fn popdown(&self)

Hides the menu or dropdown list of @self.

This function is mostly intended for use by accessibility technologies; applications should have little use for it.

source

fn popup(&self)

Pops up the menu or dropdown list of @self.

This function is mostly intended for use by accessibility technologies; applications should have little use for it.

Before calling this, @self must be mapped, or nothing will happen.

source

fn popup_for_device(&self, device: &Device)

Pops up the menu of @self.

Note that currently this does not do anything with the device, as it was previously only used for list-mode combo boxes, and those were removed in GTK 4. However, it is retained in case similar functionality is added back later.

device

a gdk::Device

source

fn set_active_id(&self, active_id: Option<&str>) -> bool

Changes the active row of @self to the one that has an ID equal to @active_id.

If @active_id is None, the active row is unset. Rows having a None ID string cannot be made active by this function.

If the property::ComboBox::id-column property of @self is unset or if no row has the given ID then the function does nothing and returns false.

active_id

the ID of the row to select

Returns

true if a row with a matching ID was found. If a None @active_id was given to unset the active row, the function always returns true.

source

fn set_active_iter(&self, iter: Option<&TreeIter>)

Sets the current active item to be the one referenced by @iter.

If @iter is None, the active item is unset.

iter

The TreeIter

source

fn set_button_sensitivity(&self, sensitivity: SensitivityType)

Sets whether the dropdown button of the combo box should update its sensitivity depending on the model contents.

sensitivity

specify the sensitivity of the dropdown button

source

fn set_child(&self, child: Option<&impl IsA<Widget>>)

Sets the child widget of @self.

child

the child widget

source

fn set_entry_text_column(&self, text_column: i32)

Sets the model column which @self should use to get strings from to be @text_column.

For this column no separate CellRenderer is needed.

The column @text_column in the model of @self must be of type G_TYPE_STRING.

This is only relevant if @self has been created with property::ComboBox::has-entry as true.

text_column

A column in @model to get the strings from for the internal entry

source

fn set_id_column(&self, id_column: i32)

Sets the model column which @self should use to get string IDs for values from.

The column @id_column in the model of @self must be of type G_TYPE_STRING.

id_column

A column in @model to get string IDs for values from

source

fn set_model(&self, model: Option<&impl IsA<TreeModel>>)

Sets the model used by @self to be @model.

Will unset a previously set model (if applicable). If model is None, then it will unset the model.

Note that this function does not clear the cell renderers, you have to call CellLayoutExt::clear() yourself if you need to set up different cell renderers for the new model.

model

A TreeModel

source

fn set_popup_fixed_width(&self, fixed: bool)

Specifies whether the popup’s width should be a fixed width.

If @fixed is true, the popup’s width is set to match the allocated width of the combo box.

fixed

whether to use a fixed popup width

source

fn set_row_separator_func<P: Fn(&TreeModel, &TreeIter) -> bool + 'static>( &self, func: P )

Sets the row separator function, which is used to determine whether a row should be drawn as a separator.

If the row separator function is None, no separators are drawn. This is the default value.

func

a GtkTreeViewRowSeparatorFunc

source

fn has_frame(&self) -> bool

The has-frame property controls whether a frame is drawn around the entry.

source

fn set_has_frame(&self, has_frame: bool)

The has-frame property controls whether a frame is drawn around the entry.

source

fn is_popup_shown(&self) -> bool

Whether the combo boxes dropdown is popped up.

Note that this property is mainly useful, because it allows you to connect to notify::popup-shown.

source

fn connect_activate<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId

Available on crate feature v4_6 only.

Emitted to when the combo box is activated.

The ::activate signal on ComboBox is an action signal and emitting it causes the combo box to pop up its dropdown.

source

fn emit_activate(&self)

Available on crate feature v4_6 only.
source

fn connect_changed<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId

Emitted when the active item is changed.

The can be due to the user selecting a different item from the list, or due to a call to set_active_iter(). It will also be emitted while typing into the entry of a combo box with an entry.

source

fn connect_format_entry_text<F: Fn(&Self, &str) -> String + 'static>( &self, f: F ) -> SignalHandlerId

Emitted to allow changing how the text in a combo box’s entry is displayed.

See property::ComboBox::has-entry.

Connect a signal handler which returns an allocated string representing @path. That string will then be used to set the text in the combo box’s entry. The default signal handler uses the text from the property::ComboBox::entry-text-column model column.

Here’s an example signal handler which fetches data from the model and displays it in the entry. ⚠️ The following code is in c ⚠️

static char *
format_entry_text_callback (GtkComboBox *combo,
                            const char *path,
                            gpointer     user_data)
{
  GtkTreeIter iter;
  GtkTreeModel model;
  double       value;

  model = gtk_combo_box_get_model (combo);

  gtk_tree_model_get_iter_from_string (model, &iter, path);
  gtk_tree_model_get (model, &iter,
                      THE_DOUBLE_VALUE_COLUMN, &value,
                      -1);

  return g_strdup_printf ("%g", value);
}
path

the TreePath string from the combo box’s current model to format text for

Returns

a newly allocated string representing @path for the current ComboBox model.

source

fn connect_move_active<F: Fn(&Self, ScrollType) + 'static>( &self, f: F ) -> SignalHandlerId

Emitted to move the active selection.

This is an keybinding signal.

scroll_type

a ScrollType

source

fn emit_move_active(&self, scroll_type: ScrollType)

source

fn connect_popdown<F: Fn(&Self) -> bool + 'static>( &self, f: F ) -> SignalHandlerId

Emitted to popdown the combo box list.

This is an keybinding signal.

The default bindings for this signal are Alt+Up and Escape.

source

fn emit_popdown(&self) -> bool

source

fn connect_popup<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId

Emitted to popup the combo box list.

This is an keybinding signal.

The default binding for this signal is Alt+Down.

source

fn emit_popup(&self)

source

fn connect_active_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId

source

fn connect_active_id_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId

source

fn connect_button_sensitivity_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId

source

fn connect_child_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId

source

fn connect_entry_text_column_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId

source

fn connect_has_frame_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId

source

fn connect_id_column_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId

source

fn connect_model_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId

source

fn connect_popup_fixed_width_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId

source

fn connect_popup_shown_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId

Implementors§