GtkComboBox
GtkComboBox — Виджет для выбора из списка элементов
Функции
| void | gtk_combo_box_set_entry_text_column () |
| gint | gtk_combo_box_get_entry_text_column () |
| void | gtk_combo_box_set_popup_fixed_width () |
| gboolean | gtk_combo_box_get_popup_fixed_width () |
Свойства
| int | активный | Чтение / Запись |
| char * | активный-идентификатор | Чтение / Запись |
| gboolean | добавлять-разрывы | Чтение / Запись |
| GtkSensitivityType | чувствительность-кнопки | Чтение / Запись |
| GtkCellArea * | область-ячейки | Чтение / Запись / Только для создания |
| int | столбец-расширения-столбца | Чтение / Запись |
| int | столбец-текста-ввода | Чтение / Запись |
| gboolean | имеет-ввод | Чтение / Запись / Только для создания |
| gboolean | имеет-рамку | Чтение / Запись |
| int | столбец-идентификатора | Чтение / Запись |
| GtkTreeModel * | модель | Чтение / Запись |
| gboolean | фиксированная-ширина-выпадающего-списка | Чтение / Запись |
| gboolean | выпадающий-список-отображен | Чтение |
| int | строка-расширения-столбца | Чтение / Запись |
| char * | заголовок-разрыва | Чтение / Запись |
| int | ширина-обёртывания | Чтение / Запись |
Стилизованные свойства
| gboolean | отображается-как-список | Чтение |
| float | масштабирование-стрелки | Чтение |
| int | размер-стрелки | Чтение |
| GtkShadowType | тип-тени | Чтение |
Сигналы
| void | изменён | Выполнить последним |
| char* | форматирование-текста-ввода | Выполнить последним |
| void | перемещение-активного | Действие |
| gboolean | закрыть-выпадающий | Действие |
| void | выпадающий-список | Действие |
Типы и значения
| struct | GtkComboBox |
| struct | GtkComboBoxClass |
Иерархия объектов
GObject
╰── GInitiallyUnowned
╰── GtkWidget
╰── GtkContainer
╰── GtkBin
╰── GtkComboBox
├── GtkAppChooserButton
╰── GtkComboBoxText
Реализованные интерфейсы
GtkComboBox реализует AtkImplementorIface, GtkBuildable, GtkCellLayout и GtkCellEditable.
Включаемые файлы
#include <gtk/gtk.h>
Описание
GtkComboBox — это виджет, который позволяет пользователю выбирать из списка допустимых вариантов. GtkComboBox отображает выбранный вариант. При активации GtkComboBox отображает всплывающее меню, которое позволяет пользователю сделать новый выбор. Стиль отображения выбранного значения и стиль всплывающего меню определяются текущей темой. Он может быть похож на комбинированное поле в Windows.
GtkComboBox использует модель-представление; список допустимых вариантов задается в виде древовидной модели, а отображение вариантов может быть адаптировано к данным в модели с помощью отображающих ячеек, как в древовидном представлении. Это возможно, так как GtkComboBox реализует интерфейс GtkCellLayout. Древовидная модель, содержащая допустимые варианты, не ограничена плоским списком, она может быть реальным деревом, а всплывающее меню будет отражать структуру дерева.
Чтобы позволить пользователю вводить значения, отсутствующие в модели, свойство «has-entry» позволяет GtkComboBox содержать GtkEntry. Доступ к этому полю можно получить, вызвав gtk_bin_get_child() для комбинации.
Для простого списка текстовых вариантов API модели-представления GtkComboBox может быть немного избыточным. В этом случае GtkComboBoxText предлагает простой альтернативный вариант. Как GtkComboBox, так и GtkComboBoxText могут содержать поле ввода.
Узлы CSS
Обычное комбинированное поле содержит блок с классом .linked, кнопку с классом .combo, и внутри этих кнопок находятся cellview и стрелка.
GtkComboBox с полем ввода имеет единственный узел CSS с именем combobox. Он содержит блок с классом .linked. Этот блок содержит поле ввода и кнопку, оба с добавленным классом .combo. Кнопка также содержит другой узел с именем arrow.
Функции
gtk_combo_box_new ()
GtkWidget *
gtk_combo_box_new (void); Создаёт новый пустой GtkComboBox.
Возвращает
Новый GtkComboBox.
С: 2.4
gtk_combo_box_new_with_entry ()
GtkWidget *
gtk_combo_box_new_with_entry (void); Создаёт новый пустой GtkComboBox со строкой ввода.
Возвращает
Новый GtkComboBox.
С: 2.24
gtk_combo_box_new_with_model ()
GtkWidget *
gtk_combo_box_new_with_model (GtkTreeModel *model); Создаёт новый GtkComboBox с моделью, инициализированной model.
Параметры
model | Модель GtkTreeModel. |
Возвращает
Новый GtkComboBox.
С: 2.4
gtk_combo_box_new_with_model_and_entry ()
GtkWidget *
gtk_combo_box_new_with_model_and_entry
(GtkTreeModel *model); Создаёт новый пустой GtkComboBox со строкой ввода и моделью, инициализированной model.
Параметры
model | Модель GtkTreeModel |
Возвращает
Новый GtkComboBox
С: 2.24
gtk_combo_box_new_with_area ()
GtkWidget *
gtk_combo_box_new_with_area (GtkCellArea *area); Создаёт новый пустой GtkComboBox, используя area для вывода ячеек.
Параметры
area | Область GtkCellArea для вывода ячеек. |
Возвращает
Новый GtkComboBox.
gtk_combo_box_new_with_area_and_entry ()
GtkWidget *
gtk_combo_box_new_with_area_and_entry (GtkCellArea *area); Создаёт новый пустой GtkComboBox со строкой ввода.
Новый раскрывающийся список будет использовать area для вывода ячеек.
Параметры
area | Область GtkCellArea для вывода ячеек. |
Возвращает
Новый GtkComboBox.
gtk_combo_box_get_wrap_width ()
gint
gtk_combo_box_get_wrap_width (GtkComboBox *combo_box); Возвращает ширину обрезки, используемую для определения количества столбцов для всплывающего меню. Если ширина обрезки больше 1, раскрывающийся список находится в режиме таблицы.
Параметры
combo_box | Раскрывающийся список GtkComboBox |
Возвращает
Ширину обрезки.
С: 2.6
gtk_combo_box_set_wrap_width ()
void gtk_combo_box_set_wrap_width (GtkComboBox *combo_box,gint width);
Устанавливает ширину обрезки combo_box на width. Ширина обрезки — предпочтительное количество столбцов при выводе всплывающего меню в табличном режиме.
Параметры
combo_box | Раскрывающийся список GtkComboBox | |
width | Предпочтительное количество столбцов |
С: 2.4
gtk_combo_box_get_row_span_column ()
gint
gtk_combo_box_get_row_span_column (GtkComboBox *combo_box); Возвращает столбец с информацией о пролёте строк для combo_box.
Параметры
combo_box | Раскрывающийся список GtkComboBox |
Возвращает
Столбец с информацией о пролёте строк.
С: 2.6
gtk_combo_box_set_row_span_column ()
void gtk_combo_box_set_row_span_column (GtkComboBox *combo_box,gint row_span);
Устанавливает столбец с информацией о пролёте строк для combo_box на row_span. Столбец пролёта строк содержит целые числа, указывающие, сколько строк должна занимать запись.
Параметры
combo_box | Раскрывающийся список GtkComboBox. | |
row_span | Столбец в модели, заданной при создании. |
С: 2.4
gtk_combo_box_get_column_span_column ()
gint
gtk_combo_box_get_column_span_column (GtkComboBox *combo_box); Возвращает столбец с информацией о пролёте столбцов для combo_box.
Параметры
combo_box | Раскрывающийся список GtkComboBox |
Возвращает
Столбец с информацией о пролёте столбцов.
С: 2.6
gtk_combo_box_set_column_span_column ()
void gtk_combo_box_set_column_span_column (GtkComboBox *combo_box,gint column_span);
Устанавливает столбец с информацией о пролёте столбцов для combo_box на column_span. Столбец пролёта столбцов содержит целые числа, указывающие, сколько столбцов должна занимать запись.
Параметры
combo_box | Раскрывающийся список GtkComboBox | |
column_span | Столбец в модели, заданной при создании. |
С: 2.4
gtk_combo_box_get_active ()
gint
gtk_combo_box_get_active (GtkComboBox *combo_box); Возвращает индекс текущего активного элемента или -1, если активного элемента нет. Если модель — не плоская древовидная модель, и активный элемент не является непосредственным потомком корня дерева, эта функция возвращает gtk_tree_path_get_indices (path)[0], где path — GtkTreePath активного элемента.
Параметры
combo_box | Раскрывающийся список GtkComboBox |
Возвращает
Целое число, представляющее индекс текущего активного элемента, или -1, если активного элемента нет.
С: 2.4
gtk_combo_box_set_active ()
void gtk_combo_box_set_active (GtkComboBox *combo_box,gint index_);
Устанавливает активный элемент combo_box в элемент по индексу index .
Параметры
combo_box | ||
index_ | Индекс в модели, переданной во время создания, или -1, чтобы не было активного элемента |
С: 2.4
gtk_combo_box_get_active_iter ()
gboolean gtk_combo_box_get_active_iter (GtkComboBox *combo_box,GtkTreeIter *iter);
Устанавливает iter на указание на текущий активный элемент, если таковой имеется. В противном случае iter остается без изменений.
Параметры
combo_box | ||
iter | A GtkTreeIter. | [out] |
Возвращает
TRUE если iter был установлен, FALSE в противном случае
С: 2.4
gtk_combo_box_set_active_iter ()
void gtk_combo_box_set_active_iter (GtkComboBox *combo_box,GtkTreeIter *iter);
Устанавливает текущий активный элемент на тот, на который ссылается iter, или отменяет активный элемент, если iter имеет значение NULL.
Параметры
combo_box | ||
iter | Значение GtkTreeIter, или | [allow-none] |
С: 2.4
gtk_combo_box_get_id_column ()
gint
gtk_combo_box_get_id_column (GtkComboBox *combo_box); Возвращает столбец, который combo_box использует для получения строковых идентификаторов значений.
Параметры
combo_box |
Возвращает
Столбец в источнике данных модели combo_box .
С: 3.0
gtk_combo_box_set_id_column ()
void gtk_combo_box_set_id_column (GtkComboBox *combo_box,gint id_column);
Устанавливает столбец модели, который combo_box должен использовать для получения строковых идентификаторов значений. Столбец id_column в модели combo_box должен быть типа G_TYPE_STRING.
Параметры
combo_box | ||
id_column | Столбец в |
С: 3.0
gtk_combo_box_get_active_id ()
const gchar *
gtk_combo_box_get_active_id (GtkComboBox *combo_box); Возвращает идентификатор активной строки combo_box. Это значение взято из активной строки и столбца, указанного свойством “id-column” combo_box (см. gtk_combo_box_set_id_column()).
Возвращаемое значение — интернированная строка, что означает, что вы можете сравнивать указатель по значению с другими интернированными строками, и не должны его освобождать.
Если свойство “id-column” combo_box не задано, или если нет активной строки, или если активная строка имеет NULL значение идентификатора, то возвращается NULL.
Параметры
combo_box |
Возвращает
идентификатор активной строки или NULL.
[nullable]
С: 3.0
gtk_combo_box_set_active_id ()
gboolean gtk_combo_box_set_active_id (GtkComboBox *combo_box,const gchar *active_id);
Изменяет активную строку combo_box на ту, которая имеет идентификатор, равный active_id, или отменяет активную строку, если active_id имеет значение NULL. Строки с NULL строковым идентификатором не могут быть сделаны активными с помощью этой функции.
Если свойство “id-column” combo_box не задано, или если ни одна строка не имеет заданного идентификатора, функция ничего не делает и возвращает FALSE.
Параметры
combo_box | ||
active_id | идентификатор строки для выбора, или | [allow-none] |
Возвращает
TRUE если была найдена строка с соответствующим идентификатором. Если для отмены активной строки задан NULL active_id, функция всегда возвращает TRUE.
С: 3.0
gtk_combo_box_get_model ()
GtkTreeModel *
gtk_combo_box_get_model (GtkComboBox *combo_box); Возвращает GtkTreeModel, который используется как источник данных для combo_box.
Параметры
combo_box |
С: 2.4
gtk_combo_box_set_model ()
void gtk_combo_box_set_model (GtkComboBox *combo_box,GtkTreeModel *model);
Устанавливает модель, используемую combo_box, на model. Отменяет предыдущую установленную модель (если применимо). Если модель NULL, то модель будет отменена.
Обратите внимание, что эта функция не очищает обработчики ячеек, вам нужно вызвать gtk_cell_layout_clear() самостоятельно, если требуется настроить разные обработчики ячеек для новой модели.
Параметры
combo_box | ||
model | A GtkTreeModel. | [allow-none] |
Since: 2.4
gtk_combo_box_popup_for_device ()
void gtk_combo_box_popup_for_device (GtkComboBox *combo_box,GdkDevice *device);
Выводит меню или выпадающий список combo_box. Окно всплывающего меню будет захвачено, так что только device и его связанный указатель/клавиатура будут единственными GdkDevices, способными отправлять в него события.
Параметры
combo_box | ||
device |
Since: 3.0
gtk_combo_box_popup ()
void
gtk_combo_box_popup (GtkComboBox *combo_box); Выводит меню или выпадающий список combo_box.
Эта функция в основном предназначена для использования средствами доступности; приложениям она пригодится редко.
Перед вызовом этой функции combo_box должна быть отображена, иначе ничего не произойдёт.
Параметры
combo_box |
Since: 2.4
gtk_combo_box_popdown ()
void
gtk_combo_box_popdown (GtkComboBox *combo_box); Скрывает меню или выпадающий список combo_box.
Эта функция в основном предназначена для использования средствами доступности; приложениям она пригодится редко.
Параметры
combo_box |
Since: 2.4
gtk_combo_box_get_popup_accessible ()
AtkObject *
gtk_combo_box_get_popup_accessible (GtkComboBox *combo_box); Получает объект доступности, соответствующий всплывающему окну комбинированного поля.
Эта функция в основном предназначена для использования средствами доступности; приложениям она пригодится редко.
Параметры
combo_box |
Возвращает
объект доступности, соответствующий всплывающему окну комбинированного поля.
[transfer none]
Since: 2.6
gtk_combo_box_get_row_separator_func ()
GtkTreeViewRowSeparatorFunc
gtk_combo_box_get_row_separator_func (GtkComboBox *combo_box); Возвращает текущую функцию разделителя строк.
[skip]
Параметры
combo_box |
Возвращает
текущую функцию разделителя строк.
Since: 2.6
gtk_combo_box_set_row_separator_func ()
void gtk_combo_box_set_row_separator_func (GtkComboBox *combo_box,GtkTreeViewRowSeparatorFunc func,gpointer data,GDestroyNotify destroy);
Устанавливает функцию разделителя строк, которая используется для определения, должна ли строка отображаться как разделитель. Если функция разделителя строк NULL, разделители не выводятся. Это значение по умолчанию.
Параметры
combo_box | ||
func | ||
data | пользовательские данные, передаваемые в | [allow-none] |
destroy | уведомление об уничтожении | [allow-none] |
Since: 2.6
gtk_combo_box_set_add_tearoffs ()
void gtk_combo_box_set_add_tearoffs (GtkComboBox *combo_box,gboolean add_tearoffs);
gtk_combo_box_set_add_tearoffs устарело начиная с версии 3.10 и не должно использоваться в новом коде.
Устанавливает, должен ли всплывающее меню иметь элемент меню «оторвать».
Параметры
combo_box | ||
add_tearoffs |
|
Since: 2.6
gtk_combo_box_get_add_tearoffs ()
gboolean
gtk_combo_box_get_add_tearoffs (GtkComboBox *combo_box); gtk_combo_box_get_add_tearoffs устарело начиная с версии 3.10 и не должно использоваться в новом коде.
Получает текущее значение свойства :add-tearoffs.
Параметры
combo_box |
Возвращает
текущее значение свойства :add-tearoffs.
gtk_combo_box_set_title ()
void gtk_combo_box_set_title (GtkComboBox *combo_box,const gchar *title);
gtk_combo_box_set_title устарело начиная с версии 3.10 и не должно использоваться в новом коде.
Устанавливает заголовок меню в режиме «оторвать».
Параметры
combo_box | ||
title | заголовок для меню в режиме «оторвать» |
Since: 2.10
gtk_combo_box_get_title ()
const gchar *
gtk_combo_box_get_title (GtkComboBox *combo_box); gtk_combo_box_get_title устарело начиная с версии 3.10 и не должно использоваться в новом коде.
Получает текущий заголовок меню в режиме «оторвать». См. gtk_combo_box_set_add_tearoffs().
Параметры
combo_box |
Возвращает
заголовок меню в режиме «оторвать». Это внутренняя копия строки, которую не нужно освобождать.
Since: 2.10
gtk_combo_box_set_focus_on_click ()
void gtk_combo_box_set_focus_on_click (GtkComboBox *combo,gboolean focus_on_click);
gtk_combo_box_set_focus_on_click устарело с версии 3.20 и не должно использоваться в новых кодах.
Используйте gtk_widget_set_focus_on_click() вместо него.
Устанавливает, будет ли раскрывающийся список получать фокус при нажатии мышью. Отключение захвата фокуса при щелчке полезно в таких местах, как панели инструментов, где не нужно удалять фокус клавиатуры с основной области приложения.
Параметры
combo | ||
focus_on_click | получит ли раскрывающийся список фокус при нажатии мышью |
С версии: 2.6
gtk_combo_box_get_focus_on_click ()
gboolean
gtk_combo_box_get_focus_on_click (GtkComboBox *combo); gtk_combo_box_get_focus_on_click устарело с версии 3.20 и не должно использоваться в новых кодах.
Используйте gtk_widget_get_focus_on_click() вместо него.
Возвращает, захватывает ли раскрывающийся список фокус при нажатии мышью. См. gtk_combo_box_set_focus_on_click().
Параметры
combo |
Возвращаемое значение
TRUE если раскрывающийся список получает фокус при нажатии мышью.
С версии: 2.6
gtk_combo_box_set_button_sensitivity ()
void gtk_combo_box_set_button_sensitivity (GtkComboBox *combo_box,GtkSensitivityType sensitivity);
Устанавливает, должен ли раскрывающийся список кнопки всегда быть активным (GTK_SENSITIVITY_ON), никогда не активным (GTK_SENSITIVITY_OFF) или только если для отображения есть хотя бы один элемент (GTK_SENSITIVITY_AUTO).
Параметры
combo_box | ||
sensitivity | указать чувствительность раскрывающейся кнопки |
С версии: 2.14
gtk_combo_box_get_button_sensitivity ()
GtkSensitivityType
gtk_combo_box_get_button_sensitivity (GtkComboBox *combo_box); Возвращает, делает ли раскрывающийся список кнопку активной или нет, когда в модели нет элементов.
Параметры
combo_box |
Возвращаемое значение
GTK_SENSITIVITY_ON, если раскрывающаяся кнопка активна, когда модель пуста, GTK_SENSITIVITY_OFF, если кнопка всегда неактивна или GTK_SENSITIVITY_AUTO, если она активна только тогда, когда модель содержит один элемент для выбора.
С версии: 2.14
gtk_combo_box_get_has_entry ()
gboolean
gtk_combo_box_get_has_entry (GtkComboBox *combo_box); Возвращает, содержит ли раскрывающийся список поле ввода.
Параметры
combo_box |
Возвращаемое значение
наличие поля ввода в combo_box .
С версии: 2.24
gtk_combo_box_set_entry_text_column ()
void gtk_combo_box_set_entry_text_column (GtkComboBox *combo_box,gint text_column);
Устанавливает столбец модели, который combo_box должен использовать для получения строк для отображения в поле ввода. Столбец text_column в модели combo_box должен быть типа G_TYPE_STRING.
Это актуально только если combo_box был создан с свойством “has-entry” установленным в TRUE.
Параметры
combo_box | ||
text_column | Столбец в |
С версии: 2.24
gtk_combo_box_get_entry_text_column ()
gint
gtk_combo_box_get_entry_text_column (GtkComboBox *combo_box); Возвращает столбец, который combo_box использует для извлечения строк для отображения во внутреннем поле ввода.
Параметры
combo_box | A GtkComboBox. |
Возвращаемое значение
Столбец в источнике данных модели combo_box .
С версии: 2.24
gtk_combo_box_set_popup-fixed-width ()
void gtk_combo_box_set_popup_fixed_width (GtkComboBox *combo_box,gboolean fixed);
Устанавливает, должна ли ширина раскрывающегося списка быть фиксированной, соответствующей ширине выделенного раскрывающегося списка.
Параметры
combo_box | ||
fixed | использовать ли фиксированную ширину раскрывающегося списка |
С версии: 3.0
gtk_combo-box_get_popup-fixed-width ()
gboolean
gtk_combo_box_get_popup_fixed_width (GtkComboBox *combo_box); Получает, использует ли раскрывающийся список фиксированную ширину, соответствующую ширине выделенного раскрывающегося списка.
Параметры
combo_box |
Возвращаемое значение
TRUE если раскрывающийся список использует фиксированную ширину
С версии: 3.0
Типы и значения
struct GtkComboBox
struct GtkComboBox;
struct GtkComboBoxClass
struct GtkComboBoxClass {
GtkBinClass parent_class;
/* signals */
void (* changed) (GtkComboBox *combo_box);
gchar *(* format_entry_text) (GtkComboBox *combo_box,
const gchar *path);
};
Члены
| Сигнал генерируется при изменении активного элемента. | |
| Сигнал, позволяющий изменять способ отображения текста в поле ввода раскрывающегося списка. |
Подробное описание свойств
Свойство “active”
“active” int
Элемент, который в данный момент активен. Если модель представляет собой не плоскую древовидную модель, и активный элемент не является непосредственным потомком корня дерева, это свойство имеет значение gtk_tree_path_get_indices (path)[0], где path является GtkTreePath активного элемента.
Владелец: GtkComboBox
Флаги: Чтение / Запись
Допустимые значения: >= -1
Значение по умолчанию: -1
С версии: 2.4
Свойство “active-id”
“active-id” char *
Значение столбца ID активной строки.
Владелец: GtkComboBox
Флаги: Чтение / Запись
Значение по умолчанию: NULL
С версии: 3.0
Свойство “add-tearoffs”
“add-tearoffs” gboolean
Свойство add-tearoffs управляет тем, имеют ли генерируемые меню пункты меню с отрывом.
Обратите внимание, что это влияет только на комбинированные поля в стиле меню.
GtkComboBox:add-tearoffs устарело с версии 3.10 и не должно использоваться в новом коде.
Владелец: GtkComboBox
Флаги: Чтение / Запись
Значение по умолчанию: FALSE
С версии: 2.6
Свойство “button-sensitivity”
“button-sensitivity” GtkSensitivityType
Чувствительна ли кнопка раскрывающегося списка, когда модель пуста.
Владелец: GtkComboBox
Флаги: Чтение / Запись
Значение по умолчанию: GTK_SENSITIVITY_AUTO
С версии: 2.14
Свойство “cell-area”
“cell-area” GtkCellArea *
The GtkCellArea используемый для компоновки визуализаторов ячеек для этого комбинированного поля.
Если область не указана при создании комбинированного поля с помощью gtk_combo_box_new_with_area() будет использоваться горизонтально ориентированный GtkCellAreaBox.
Владелец: GtkComboBox
Флаги: Чтение / Запись / Только для построения
С версии: 3.0
Свойство “column-span-column”
“column-span-column” int
Если это установлено в неотрицательное значение, оно должно быть индексом столбца типа G_TYPE_INT в модели. Значение в этом столбце для каждого элемента будет определять, сколько столбцов будет занимать этот элемент во всплывающем окне. Следовательно, значения в этом столбце должны быть больше нуля, а сумма позиции столбца элемента + размах не должны превышать “wrap-width”.
Владелец: GtkComboBox
Флаги: Чтение / Запись
Допустимые значения: >= -1
Значение по умолчанию: -1
С версии: 2.4
Свойство “entry-text-column”
“entry-text-column” int
Столбец в модели комбинированного поля, который нужно связать со строками из поля ввода, если комбинированное поле было создано с “has-entry” = TRUE.
Владелец: GtkComboBox
Флаги: Чтение / Запись
Допустимые значения: >= -1
Значение по умолчанию: -1
С версии: 2.24
Свойство “has-entry”
“has-entry” gboolean
Есть ли у комбинированного поля поле ввода.
Владелец: GtkComboBox
Флаги: Чтение / Запись / Только для построения
Значение по умолчанию: FALSE
С версии: 2.24
Свойство “has-frame”
“has-frame” gboolean
Свойство has-frame управляет тем, отображается ли рамка вокруг поля ввода.
Владелец: GtkComboBox
Флаги: Чтение / Запись
Значение по умолчанию: TRUE
С версии: 2.6
Свойство “id-column”
“id-column” int
Столбец в модели комбинированного поля, который предоставляет строковые идентификаторы для значений в модели, если != -1.
Владелец: GtkComboBox
Флаги: Чтение / Запись
Допустимые значения: >= -1
Значение по умолчанию: -1
С версии: 3.0
Свойство “model”
“model” GtkTreeModel *
Модель, из которой комбинированное поле берёт значения, отображаемые в списке.
Владелец: GtkComboBox
Флаги: Чтение / Запись
С версии: 2.4
Свойство “popup-fixed-width”
“popup-fixed-width” gboolean
Должна ли ширина всплывающего окна быть фиксированной шириной, соответствующей выделенной ширине комбинированного поля.
Владелец: GtkComboBox
Флаги: Чтение / Запись
Значение по умолчанию: TRUE
С версии: 3.0
Свойство “popup-shown”
“popup-shown” gboolean
Раскрыт ли раскрывающийся список комбинированного поля. Обратите внимание, что это свойство в основном полезно, потому что оно позволяет подключаться к notify::popup-shown.
Владелец: GtkComboBox
Флаги: Чтение
Значение по умолчанию: FALSE
С версии: 2.10
Свойство “row-span-column”
“row-span-column” int
Если это установлено в неотрицательное значение, оно должно быть индексом столбца типа G_TYPE_INT в модели. Значение в этом столбце для каждого элемента будет определять, сколько строк будет занимать этот элемент во всплывающем окне. Следовательно, значения в этом столбце должны быть больше нуля.
Владелец: GtkComboBox
Флаги: Чтение / Запись
Допустимые значения: >= -1
Значение по умолчанию: -1
С версии: 2.4
Свойство “tearoff-title”
“tearoff-title” char *
Заголовок, который может отображаться менеджером окон, когда всплывающее окно отрывается.
GtkComboBox:tearoff-title устарело с версии 3.10 и не должно использоваться в новом коде.
Владелец: GtkComboBox
Флаги: Чтение / Запись
Значение по умолчанию: NULL
С версии: 2.10
Свойство “wrap-width”
“wrap-width” int
Если wrap-width установлено в положительное значение, элементы во всплывающем окне будут расположены в нескольких столбцах, начиная новую строку при достижении ширины переноса.
Владелец: GtkComboBox
Флаги: Чтение / Запись
Допустимые значения: >= 0
Значение по умолчанию: 0
С версии: 2.4
Подробное описание свойств стиля
Свойство стиля “appears-as-list”
“appears-as-list” gboolean
Должны ли раскрывающиеся списки выглядеть как списки, а не как меню.
Владелец: GtkComboBox
Флаги: Чтение
Значение по умолчанию: FALSE
Свойство стиля “arrow-scaling”
“arrow-scaling” float
Задает количество места, занимаемого стрелкой комбинированного поля, пропорционально размеру шрифта.
GtkComboBox:arrow-scaling устарело с версии 3.20 и не должно использоваться в новом коде.
используйте стандартные свойства CSS min-width/min-height для узла стрелки; значение этого свойства стиля игнорируется.
Владелец: GtkComboBox
Флаги: Чтение
Допустимые значения: [0,2]
Значение по умолчанию: 1
Свойство стиля “arrow-size”
“arrow-size” int
Задает минимальный размер стрелки в комбинированном поле. Обратите внимание, что размер стрелки связан с размером шрифта, поэтому в случае использования большего шрифта стрелка будет больше, чем установлено размером стрелки.
GtkComboBox:arrow-size устарело с версии 3.20 и не должно использоваться в новом коде.
используйте стандартные свойства CSS min-width/min-height для узла стрелки; значение этого свойства стиля игнорируется.
Владелец: GtkComboBox
Флаги: Чтение
Допустимые значения: >= 0
Значение по умолчанию: 15
С версии: 2.12
Свойство стиля “shadow-type”
“shadow-type” GtkShadowType
Какой тип тени рисовать вокруг комбинированного поля.
GtkComboBox:shadow-type устарело с версии 3.20 и не должно использоваться в новом коде.
используйте стили CSS для изменения внешнего вида рамки комбинированного поля; значение этого свойства стиля игнорируется.
Владелец: GtkComboBox
Флаги: Чтение
Значение по умолчанию: GTK_SHADOW_NONE
С версии: 2.12
Подробности сигналов
Сигнал “changed”
void user_function (GtkComboBox *widget, gpointer user_data)
Сигнал changed генерируется, когда активный элемент изменяется. Это может произойти из-за выбора пользователем другого элемента в списке или из-за вызова gtk_combo_box_set_active_iter(). Он также будет генерироваться при вводе текста в поле ввода комбо-бокса.
Параметры
widget | объект, получивший сигнал | |
user_data | пользовательские данные, установленные при подключении обработчика сигнала. |
Флаги: Run Last
С версии: 2.4
Сигнал “format-entry-text”
char* user_function (GtkComboBox *combo, char *path, gpointer user_data)
Для комбо-боксов, созданных с полем ввода (См. GtkComboBox:has-entry).
Сигнал, позволяющий изменить способ отображения текста в поле ввода комбо-бокса.
Подключите обработчик сигнала, который возвращает выделенную строку, представляющую path. Эта строка затем будет использована для установки текста в поле ввода комбо-бокса. По умолчанию обработчик сигнала использует текст из колонки модели GtkComboBox::entry-text-column.
Вот пример обработчика сигнала, который извлекает данные из модели и отображает их в поле ввода.
combobox ├── box.linked │ ╰── button.combo │ ╰── box │ ├── cellview │ ╰── arrow ╰── window.popup
Параметры
combo | объект, получивший сигнал | |
path | строка GtkTreePath из текущей модели комбо-бокса для форматирования текста | |
user_data | пользовательские данные, установленные при подключении обработчика сигнала. |
Возвращаемое значение
новая выделенная строка, представляющая path для текущей модели GtkComboBox.
[transfer full]
Флаги: Run Last
С версии: 3.4
Сигнал “move-active”
void user_function (GtkComboBox *widget, GtkScrollType scroll_type, gpointer user_data)
Сигнал ::move-active — это сигнал для привязки клавиш, который генерируется для перемещения активного выбора.
Параметры
widget | объект, получивший сигнал | |
scroll_type | ||
user_data | пользовательские данные, установленные при подключении обработчика сигнала. |
Флаги: Действие
С версии: 2.12
Сигнал “popdown”
gboolean user_function (GtkComboBox *button, gpointer user_data)
Сигнал ::popdown — это сигнал для привязки клавиш, который генерируется для скрытия списка комбо-бокса.
По умолчанию для этого сигнала установлены Alt+Вверх и Esc.
Параметры
button | объект, получивший сигнал | |
user_data | пользовательские данные, установленные при подключении обработчика сигнала. |
Флаги: Действие
С версии: 2.12
Сигнал “popup”
void user_function (GtkComboBox *widget, gpointer user_data)
Сигнал ::popup — это сигнал для привязки клавиш, который генерируется для отображения списка комбо-бокса.
По умолчанию для этого сигнала установлена привязка Alt+Вниз.
Параметры
widget | объект, получивший сигнал | |
user_data | пользовательские данные, установленные при подключении обработчика сигнала. |
Флаги: Действие
С версии: 2.12
См. также
© 2005–2020 The GNOME Project
Licensed under the GNU Lesser General Public License version 2.1 or later.
https://developer.gnome.org/gtk3/3.24/GtkComboBox.html