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
Required Methods§
sourcefn active_id(&self) -> Option<GString>
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
sourcefn active_iter(&self) -> Option<TreeIter>
fn active_iter(&self) -> Option<TreeIter>
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.
sourcefn entry_text_column(&self) -> i32
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.
sourcefn id_column(&self) -> i32
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.
sourcefn is_popup_fixed_width(&self) -> bool
fn is_popup_fixed_width(&self) -> bool
sourcefn popdown(&self)
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.
sourcefn popup(&self)
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.
sourcefn popup_for_device(&self, device: &Device)
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
sourcefn set_active_id(&self, active_id: Option<&str>) -> bool
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
.
sourcefn set_active_iter(&self, iter: Option<&TreeIter>)
fn set_active_iter(&self, iter: Option<&TreeIter>)
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
sourcefn set_entry_text_column(&self, text_column: i32)
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
sourcefn set_id_column(&self, id_column: i32)
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
sourcefn set_model(&self, model: Option<&impl IsA<TreeModel>>)
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
sourcefn set_popup_fixed_width(&self, fixed: bool)
fn set_popup_fixed_width(&self, fixed: bool)
sourcefn has_frame(&self) -> bool
fn has_frame(&self) -> bool
The has-frame
property controls whether a frame is drawn around the entry.
sourcefn set_has_frame(&self, has_frame: bool)
fn set_has_frame(&self, has_frame: bool)
The has-frame
property controls whether a frame is drawn around the entry.
sourcefn is_popup_shown(&self) -> bool
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.
sourcefn connect_activate<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId
fn connect_activate<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId
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.
sourcefn emit_activate(&self)
fn emit_activate(&self)
v4_6
only.sourcefn connect_changed<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId
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.
sourcefn connect_format_entry_text<F: Fn(&Self, &str) -> String + 'static>(
&self,
f: F
) -> SignalHandlerId
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.
sourcefn connect_move_active<F: Fn(&Self, ScrollType) + '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)
sourcefn connect_popdown<F: Fn(&Self) -> bool + 'static>(
&self,
f: F
) -> SignalHandlerId
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.
fn emit_popdown(&self) -> bool
sourcefn connect_popup<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId
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.