GtkPaned
GtkPaned — Виджет с двумя регулируемыми панелями
Функции
| GtkWidget * | gtk_paned_new () |
| void | gtk_paned_set_start_child () |
| GtkWidget * | gtk_paned_get_start_child () |
| void | gtk_paned_set_end_child () |
| GtkWidget * | gtk_paned_get_end_child () |
| void | gtk_paned_set_resize_start_child () |
| gboolean | gtk_paned_get_resize_start_child () |
| void | gtk_paned_set_resize_end_child () |
| gboolean | gtk_paned_get_resize_end_child () |
| void | gtk_paned_set_shrink_start_child () |
| gboolean | gtk_paned_get_shrink_start_child () |
| void | gtk_paned_set_shrink_end_child () |
| gboolean | gtk_paned_get_shrink_end_child () |
| void | gtk_paned_set_position () |
| int | gtk_paned_get_position () |
| void | gtk_paned_set_wide_handle () |
| gboolean | gtk_paned_get_wide_handle () |
Свойства
| GtkWidget * | end-child | Чтение/Запись |
| int | max-position | Чтение |
| int | min-position | Чтение |
| int | position | Чтение/Запись |
| gboolean | position-set | Чтение/Запись |
| gboolean | resize-end-child | Чтение/Запись |
| gboolean | resize-start-child | Чтение/Запись |
| gboolean | shrink-end-child | Чтение/Запись |
| gboolean | shrink-start-child | Чтение/Запись |
| GtkWidget * | start-child | Чтение/Запись |
| gboolean | wide-handle | Чтение/Запись |
Сигналы
| gboolean | accept-position | Действие |
| gboolean | cancel-position | Действие |
| gboolean | cycle-child-focus | Действие |
| gboolean | cycle-handle-focus | Действие |
| gboolean | move-handle | Действие |
| gboolean | toggle-handle-focus | Действие |
Типы и Значения
Иерархия объектов
GObject
╰── GInitiallyUnowned
╰── GtkWidget
╰── GtkPaned
Реализованные интерфейсы
GtkPaned реализует GtkAccessible, GtkBuildable, GtkConstraintTarget и GtkOrientable.
Файлы заголовков
#include <gtk/gtk.h>
Описание
GtkPaned имеет две панели, расположенные либо горизонтально, либо вертикально. Разделительная линия между двумя панелями может настраиваться пользователем путем перетаскивания ползунка.
Дочерние виджеты добавляются в панели виджета с помощью gtk_paned_set_start_child() и gtk_paned_set_end_child(). По умолчанию положение разделительной линии определяется размерами запросов дочерних элементов, но его можно настроить пользователем.
Виджет типа paned отображает разделительную линию между двумя дочерними виджетами и небольшой ползунок, который пользователь может перетаскивать для регулировки положения разделительной линии. Он не отображает никаких рамков вокруг дочерних элементов или разделительной линии. (Пространство, в котором находится разделительная линия, называется щелью.) Часто полезно помещать каждый дочерний элемент внутрь GtkFrame, чтобы щель отображалась в виде гребня. Разделительная линия не отображается, если один из дочерних элементов отсутствует.
Для каждого дочернего элемента можно установить два параметра: resize и shrink. Если resize имеет значение true, то при изменении размера GtkPaned этот дочерний элемент будет увеличиваться или уменьшаться вместе с виджетом paned. Если shrink имеет значение true, то этот дочерний элемент может быть уменьшен пользователем меньше своего запрошенного размера. Установка shrink в значение FALSE позволяет приложению установить минимальный размер. Если resize имеет значение false для обоих дочерних элементов, это считается, как если бы resize было true для обоих дочерних элементов.
Приложение может установить положение ползунка так, как будто это сделал пользователь, вызвав gtk_paned_set_position().
CSS-узлы
GtkPaned имеет основной CSS-узел с именем paned и под-узел для разделительной линии с именем separator. Под-узел получает класс стиля .wide, когда paned предполагается широким.
В горизонтальной ориентации узлы располагаются в соответствии с направлением текста, поэтому в режиме слева направо :first-child будет выбирать самый левый дочерний элемент, а в RTL-макетах — самый правый.
Создание виджета paned с минимальными размерами.
paned ├── <child> ├── separator[.wide] ╰── <child>
Функции
gtk_paned_new ()
GtkWidget *
gtk_paned_new (GtkOrientation orientation); Создает новый виджет GtkPaned.
Параметры
orientation | ориентация панели. |
Возвращает
новый GtkPaned.
gtk_paned_set_start_child ()
void gtk_paned_set_start_child (GtkPaned *paned,GtkWidget *child);
Устанавливает начальный дочерний элемент paned в child.
Параметры
paned | a GtkPaned | |
child | виджет для добавления |
gtk_paned_get_start_child ()
GtkWidget *
gtk_paned_get_start_child (GtkPaned *paned); Извлекает начальный дочерний элемент заданного GtkPaned.
См. также: “start-child”
Параметры
paned | a GtkPaned |
Возвращает
начальный дочерний виджет.
[transfer none][nullable]
gtk_paned_set_end_child ()
void gtk_paned_set_end_child (GtkPaned *paned,GtkWidget *child);
Устанавливает конечный дочерний элемент paned в child.
Параметры
paned | a GtkPaned | |
child | виджет для добавления |
gtk_paned_get_end_child ()
GtkWidget *
gtk_paned_get_end_child (GtkPaned *paned); Извлекает конечный дочерний элемент заданного GtkPaned.
См. также: “end-child”
Параметры
paned | a GtkPaned |
Возвращает
конечный дочерний виджет.
[transfer none][nullable]
gtk_paned_set_resize_start_child ()
void gtk_paned_set_resize_start_child (GtkPaned *paned,gboolean resize);
Устанавливает свойство “resize-start-child”
Параметры
paned | a GtkPaned | |
resize |
|
gtk_paned_get_resize_start_child ()
gboolean
gtk_paned_get_resize_start_child (GtkPaned *paned); Возвращает, можно ли изменять размер начального дочернего элемента.
Параметры
paned | a GtkPaned |
Возвращает
TRUE если размер начального дочернего элемента можно изменять
gtk_paned_set_resize_end_child ()
void gtk_paned_set_resize_end_child (GtkPaned *paned,gboolean resize);
Устанавливает свойство “resize-end-child”
Параметры
paned | a GtkPaned | |
resize |
|
gtk_paned_get_resize_end_child ()
gboolean
gtk_paned_get_resize_end_child (GtkPaned *paned); Возвращает, можно ли изменять размер конечного дочернего элемента.
Параметры
paned | a GtkPaned |
Возвращает
TRUE если размер конечного дочернего элемента можно изменять
gtk_paned_set_shrink_start_child ()
void gtk_paned_set_shrink_start_child (GtkPaned *paned,gboolean resize);
Устанавливает свойство “shrink-start-child”
Параметры
paned | a GtkPaned | |
resize |
|
gtk_paned_get_shrink_start_child ()
gboolean
gtk_paned_get_shrink_start_child (GtkPaned *paned); Возвращает, можно ли уменьшать размер начального дочернего элемента.
Параметры
paned | a GtkPaned |
Возвращает
TRUE если размер начального дочернего элемента можно уменьшать
gtk_paned_set_shrink_end_child ()
void gtk_paned_set_shrink_end_child (GtkPaned *paned,gboolean resize);
Устанавливает свойство “shrink-end-child”
Параметры
paned | a GtkPaned | |
resize |
|
gtk_paned_get_shrink_end_child ()
gboolean
gtk_paned_get_shrink_end_child (GtkPaned *paned); Возвращает, можно ли уменьшать размер конечного дочернего элемента.
Параметры
paned | a GtkPaned |
Возвращает
TRUE если размер конечного дочернего элемента можно уменьшать
gtk_paned_set_wide_handle ()
void gtk_paned_set_wide_handle (GtkPaned *paned,gboolean wide);
Устанавливает свойство “wide-handle”.
Параметры
paned | объект GtkPaned | |
wide | новое значение свойства “wide-handle” |
gtk_paned_get_wide_handle ()
gboolean
gtk_paned_get_wide_handle (GtkPaned *paned); Получает свойство “wide-handle”.
Параметры
paned | объект GtkPaned |
Возвращает
TRUE , если разделитель должен иметь широкую ручку
Типы и значения
GtkPaned
typedef struct _GtkPaned GtkPaned;
Подробное описание свойств
Свойство “end-child”
“end-child” GtkWidget *
Второй дочерний элемент.
Владелец: GtkPaned
Флаги: Чтение/Запись
Свойство “max-position”
“max-position” int
Максимально возможное значение свойства position. Это свойство выводится из размера и возможности уменьшения дочерних элементов виджета.
Владелец: GtkPaned
Флаги: Чтение
Разрешённые значения: >= 0
Значение по умолчанию: 2147483647
Свойство “min-position”
“min-position” int
Минимально возможное значение свойства position. Это свойство выводится из размера и возможности уменьшения дочерних элементов виджета.
Владелец: GtkPaned
Флаги: Чтение
Разрешённые значения: >= 0
Значение по умолчанию: 0
Свойство “position”
“position” int
Положение разделителя paned в пикселях (0 означает крайний левый/верхний).
Владелец: GtkPaned
Флаги: Чтение/Запись
Разрешённые значения: >= 0
Значение по умолчанию: 0
Свойство “position-set”
“position-set” gboolean
Истина, если свойство Position должно использоваться.
Владелец: GtkPaned
Флаги: Чтение/Запись
Значение по умолчанию: ЛОЖЬ
Свойство “resize-end-child”
“resize-end-child” gboolean
Свойство «resize-end-child» определяет, расширяется ли и уменьшается ли второй дочерний элемент вместе с виджетом paned.
Владелец: GtkPaned
Флаги: Чтение/Запись
Значение по умолчанию: ИСТИНА
Свойство “resize-start-child”
“resize-start-child” gboolean
Свойство «resize-start-child» определяет, расширяется ли и уменьшается ли первый дочерний элемент вместе с виджетом paned.
Владелец: GtkPaned
Флаги: Чтение/Запись
Значение по умолчанию: ИСТИНА
Свойство “shrink-end-child”
“shrink-end-child” gboolean
Свойство «shrink-end-child» определяет, может ли второй дочерний элемент быть меньше своего запрошенного размера.
Владелец: GtkPaned
Флаги: Чтение/Запись
Значение по умолчанию: ИСТИНА
Свойство “shrink-start-child”
“shrink-start-child” gboolean
Свойство «shrink-start-child» определяет, может ли первый дочерний элемент быть меньше своего запрошенного размера.
Владелец: GtkPaned
Флаги: Чтение/Запись
Значение по умолчанию: ИСТИНА
Свойство “start-child”
“start-child” GtkWidget *
Первый дочерний элемент.
Владелец: GtkPaned
Флаги: Чтение/Запись
Свойство “wide-handle”
“wide-handle” gboolean
Установка этого свойства в TRUE указывает, что paned должен обеспечить более сильное визуальное разделение (например, потому что он отделяет две вкладки, чьи строки вкладок в противном случае визуально сливались).
Владелец: GtkPaned
Флаги: Чтение/Запись
Значение по умолчанию: ЛОЖЬ
Подробное описание сигналов
Сигнал “accept-position”
gboolean user_function (GtkPaned *widget, gpointer user_data)
Сигнал ::accept-position — это сигнал для обработки нажатий клавиш, который генерируется для подтверждения текущего положения ручки при перемещении её с помощью сочетаний клавиш.
По умолчанию для этого сигнала назначены клавиши Enter или Пробел.
Параметры
widget | объект, получивший сигнал | |
user_data | данные пользователя, установленные при подключении обработчика сигнала. |
Флаги: Действие
Сигнал “cancel-position”
gboolean user_function (GtkPaned *widget, gpointer user_data)
Сигнал ::cancel-position — это сигнал для обработки нажатий клавиш, который генерируется для отмены перемещения положения ручки с помощью сочетаний клавиш. Положение ручки будет сброшено до значения, которое было до начала перемещения.
По умолчанию для этого сигнала назначена клавиша Esc.
Параметры
widget | объект, получивший сигнал | |
user_data | данные пользователя, установленные при подключении обработчика сигнала. |
Флаги: Действие
Сигнал “cycle-child-focus”
gboolean user_function (GtkPaned *widget, gboolean reversed, gpointer user_data)
Сигнал ::cycle-child-focus — это сигнал для обработки нажатий клавиш, который генерируется для переключения фокуса между дочерними элементами paned.
По умолчанию назначена клавиша F6.
Параметры
widget | объект, получивший сигнал | |
reversed | направление циклического переключения | |
user_data | данные пользователя, установленные при подключении обработчика сигнала. |
Флаги: Действие
Сигнал “cycle-handle-focus”
gboolean user_function (GtkPaned *widget, gboolean reversed, gpointer user_data)
Сигнал ::cycle-handle-focus — это сигнал для обработки нажатий клавиш, который генерируется для переключения того, должен ли paned получить фокус, чтобы пользователь мог изменить положение ручки с помощью сочетаний клавиш.
По умолчанию назначена клавиша F8.
Параметры
widget | объект, получивший сигнал | |
reversed | направление циклического переключения | |
user_data | данные пользователя, установленные при подключении обработчика сигнала. |
Флаги: Действие
Сигнал “move-handle”
gboolean user_function (GtkPaned *widget, GtkScrollType scroll_type, gpointer user_data)
Сигнал ::move-handle — это сигнал для обработки нажатий клавиш, который генерируется для перемещения ручки, когда пользователь использует сочетания клавиш для её перемещения.
Параметры
widget | объект, получивший сигнал | |
scroll_type | тип прокрутки GtkScrollType | |
user_data | данные пользователя, установленные при подключении обработчика сигнала. |
Флаги: Действие
Сигнал “toggle-handle-focus”
gboolean user_function (GtkPaned *widget, gpointer user_data)
Сигнал ::toggle-handle-focus — это сигнал для обработки нажатий клавиш, который генерируется для подтверждения текущего положения ручки, а затем переключения фокуса на следующий виджет в цепочке фокуса.
По умолчанию назначена клавиша Tab.
Параметры
widget | объект, получивший сигнал | |
user_data | данные пользователя, установленные при подключении обработчика сигнала. |
Флаги: Действие
© 2005–2020 The GNOME Project
Licensed under the GNU Lesser General Public License version 2.1 or later.
https://developer-old.gnome.org/gtk4/4.0/GtkPaned.html