Trait gtk::prelude::ComboBoxExt
source · [−]pub trait ComboBoxExt: 'static {
Show 52 methods
fn active_id(&self) -> Option<GString>;
fn active_iter(&self) -> Option<TreeIter>;
fn button_sensitivity(&self) -> SensitivityType;
fn column_span_column(&self) -> i32;
fn entry_text_column(&self) -> i32;
fn gets_focus_on_click(&self) -> bool;
fn has_entry(&self) -> bool;
fn id_column(&self) -> i32;
fn model(&self) -> Option<TreeModel>;
fn popup_accessible(&self) -> Option<Object>;
fn is_popup_fixed_width(&self) -> bool;
fn row_span_column(&self) -> i32;
fn wrap_width(&self) -> i32;
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_column_span_column(&self, column_span: i32);
fn set_entry_text_column(&self, text_column: i32);
fn set_focus_on_click(&self, focus_on_click: bool);
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 set_row_span_column(&self, row_span: i32);
fn set_wrap_width(&self, width: i32);
fn cell_area(&self) -> Option<CellArea>;
fn has_frame(&self) -> bool;
fn set_has_frame(&self, has_frame: bool);
fn is_popup_shown(&self) -> bool;
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_column_span_column_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;
fn connect_row_span_column_notify<F: Fn(&Self) + 'static>(
&self,
f: F
) -> SignalHandlerId;
fn connect_wrap_width_notify<F: Fn(&Self) + 'static>(
&self,
f: F
) -> SignalHandlerId;
}
Expand description
Required Methods
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, or None
fn 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.
fn column_span_column(&self) -> i32
fn column_span_column(&self) -> i32
fn 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
.
fn gets_focus_on_click(&self) -> bool
fn gets_focus_on_click(&self) -> bool
v3_20
only.Returns whether the combo box grabs focus when it is clicked
with the mouse. See set_focus_on_click()
.
Deprecated since 3.20
Use WidgetExt::gets_focus_on_click()
instead
Returns
true
if the combo box grabs focus when it is
clicked with the mouse.
Returns the column which self
is using to get string IDs
for values from.
Returns
A column in the data source model of self
.
fn popup_accessible(&self) -> Option<Object>
fn popup_accessible(&self) -> Option<Object>
Gets the accessible object corresponding to the combo box’s popup.
This function is mostly intended for use by accessibility technologies; applications should have little use for it.
Returns
the accessible object corresponding to the combo box’s popup.
fn is_popup_fixed_width(&self) -> bool
fn is_popup_fixed_width(&self) -> bool
fn row_span_column(&self) -> i32
fn row_span_column(&self) -> i32
fn wrap_width(&self) -> i32
fn wrap_width(&self) -> i32
Returns the wrap width which is used to determine the number of columns for the popup menu. If the wrap width is larger than 1, the combo box is in table mode.
Returns
the wrap width.
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.
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.
fn popup_for_device(&self, device: &Device)
fn popup_for_device(&self, device: &Device)
Pops up the menu or dropdown list of self
, the popup window
will be grabbed so only device
and its associated pointer/keyboard
are the only GdkDevices
able to send events to it.
device
fn 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
, or unsets the active row if active_id
is None
. 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, or None
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
.
fn 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 be
always sensitive (SensitivityType::On
), never sensitive (SensitivityType::Off
)
or only if there is at least one item to display (SensitivityType::Auto
).
sensitivity
specify the sensitivity of the dropdown button
fn set_column_span_column(&self, column_span: i32)
fn set_column_span_column(&self, column_span: i32)
Sets the column with column span information for self
to be
column_span
. The column span column contains integers which indicate
how many columns an item should span.
column_span
A column in the model passed during construction
fn 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
. 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
fn set_focus_on_click(&self, focus_on_click: bool)
fn set_focus_on_click(&self, focus_on_click: bool)
v3_20
only.Sets whether the combo box will grab focus when it is clicked with the mouse. Making mouse clicks not grab focus is useful in places like toolbars where you don’t want the keyboard focus removed from the main area of the application.
Deprecated since 3.20
Use WidgetExt::set_focus_on_click()
instead
focus_on_click
whether the combo box grabs focus when clicked with the mouse
fn 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
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
fn set_popup_fixed_width(&self, fixed: bool)
fn set_popup_fixed_width(&self, fixed: bool)
Specifies whether the popup’s width should be a fixed width matching the allocated width of the combo box.
fixed
whether to use a fixed popup width
fn set_row_span_column(&self, row_span: i32)
fn set_row_span_column(&self, row_span: i32)
Sets the column with row span information for self
to be row_span
.
The row span column contains integers which indicate how many rows
an item should span.
row_span
A column in the model passed during construction.
fn set_wrap_width(&self, width: i32)
fn set_wrap_width(&self, width: i32)
Sets the wrap width of self
to be width
. The wrap width is basically
the preferred number of columns when you want the popup to be layed out
in a table.
width
Preferred number of columns
The CellArea
used to layout cell renderers for this combo box.
If no area is specified when creating the combo box with ComboBox::with_area()
a horizontally oriented CellAreaBox
will be used.
The has-frame property controls whether a frame is drawn around the entry.
fn 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.
fn 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.
fn connect_changed<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId
fn connect_changed<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId
The changed signal is 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.
fn 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
For combo boxes that are created with an entry (See GtkComboBox:has-entry).
A signal which allows you to change how the text displayed in a combo box’s entry is displayed.
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 GtkComboBox::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 gchar*
format_entry_text_callback (GtkComboBox *combo,
const gchar *path,
gpointer user_data)
{
GtkTreeIter iter;
GtkTreeModel model;
gdouble 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 GtkTreePath string from the combo box’s current model to format text for
Returns
a newly allocated string representing path
for the current GtkComboBox model.
fn 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
The ::move-active signal is a [keybinding signal][GtkBindingSignal] which gets emitted to move the active selection.
scroll_type
fn emit_move_active(&self, scroll_type: ScrollType)
fn connect_popdown<F: Fn(&Self) -> bool + 'static>(
&self,
f: F
) -> SignalHandlerId
fn connect_popdown<F: Fn(&Self) -> bool + 'static>(
&self,
f: F
) -> SignalHandlerId
The ::popdown signal is a [keybinding signal][GtkBindingSignal] which gets emitted to popdown the combo box list.
The default bindings for this signal are Alt+Up and Escape.
fn emit_popdown(&self) -> bool
fn connect_popup<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId
fn connect_popup<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId
The ::popup signal is a [keybinding signal][GtkBindingSignal] which gets emitted to popup the combo box list.
The default binding for this signal is Alt+Down.