GtkPaned
GtkPaned — Виджет с двумя регулируемыми панелями
Функции
| GtkWidget * | gtk_paned_new () |
| void | gtk_paned_add1 () |
| void | gtk_paned_add2 () |
| void | gtk_paned_pack1 () |
| void | gtk_paned_pack2 () |
| GtkWidget * | gtk_paned_get_child1 () |
| GtkWidget * | gtk_paned_get_child2 () |
| void | gtk_paned_set_position () |
| gint | gtk_paned_get_position () |
| GdkWindow * | gtk_paned_get_handle_window () |
| void | gtk_paned_set_wide_handle () |
| gboolean | gtk_paned_get_wide_handle () |
Свойства
| int | max-position | Чтение |
| int | min-position | Чтение |
| int | position | Чтение/Запись |
| gboolean | position-set | Чтение/Запись |
| gboolean | wide-handle | Чтение/Запись |
Свойства стиля
| int | handle-size | Чтение |
Сигналы
| gboolean | accept-position | Действие |
| gboolean | cancel-position | Действие |
| gboolean | cycle-child-focus | Действие |
| gboolean | cycle-handle-focus | Действие |
| gboolean | move-handle | Действие |
| gboolean | toggle-handle-focus | Действие |
Типы и значения
| struct | GtkPaned |
Иерархия объектов
GObject
╰── GInitiallyUnowned
╰── GtkWidget
╰── GtkContainer
╰── GtkPaned
├── GtkHPaned
╰── GtkVPaned
Реализованные интерфейсы
GtkPaned реализует AtkImplementorIface, GtkBuildable и GtkOrientable.
Файлы заголовков
#include <gtk/gtk.h>
Описание
GtkPaned имеет две панели, расположенные горизонтально или вертикально. Разделительная линия между двумя панелями регулируется пользователем путем перетаскивания ручки.
Дочерние виджеты добавляются в панели виджета с помощью gtk_paned_pack1() и gtk_paned_pack2(). Разделительная линия между двумя дочерними элементами устанавливается по умолчанию из запрошенных размеров дочерних элементов, но может быть скорректирована пользователем.
Виджет paned рисует разделительную линию между двумя дочерними виджетами и небольшую ручку, которую пользователь может перетащить, чтобы отрегулировать деление. Он не рисует никаких рельефов вокруг дочерних элементов или вокруг разделительной линии. (Пространство, в котором находится разделительная линия, называется щелью.) Часто полезно поместить каждый дочерний элемент внутри GtkFrame с типом тени, установленным на GTK_SHADOW_IN, чтобы щель отображалась как гребень. Разделительная линия не рисуется, если один из дочерних элементов отсутствует.
Каждый дочерний элемент имеет две опции, которые можно установить, resize и shrink . Если resize истинно, то при изменении размера GtkPaned этот дочерний элемент будет расширяться или сжиматься вместе с виджетом paned. Если shrink истинно, то этот дочерний элемент может быть уменьшен пользователем меньше, чем его запрос.
Установка shrink в FALSE позволяет приложению задать минимальный размер. Если resize ложно для обоих дочерних элементов, то это обрабатывается так, как если бы resize было истинно для обоих дочерних элементов.
Приложение может установить положение ползунка, как если бы его установил пользователь, вызвав gtk_paned_set_position().
Узлы CSS
GtkPaned имеет основной узел CSS с именем paned и поднодом для разделительной линии с именем separator. Подпод будет иметь класс стиля .wide, когда paned должен быть широким.
В горизонтальной ориентации узлы дочерних элементов всегда располагаются слева направо. Таким образом, :first-child всегда будет выбирать самый левый дочерний элемент, независимо от направления текста.
Создание виджета paned с минимальными размерами.
paned ├── <child> ├── separator[.wide] ╰── <child>
Функции
gtk_paned_new ()
GtkWidget *
gtk_paned_new (GtkOrientation orientation); Создаёт новый виджет GtkPaned.
Параметры
orientation | ориентация разделителя. |
Возвращаемое значение
новый GtkPaned.
С: 3.0
gtk_paned_add1 ()
void gtk_paned_add1 (GtkPaned *paned,GtkWidget *child);
Добавляет дочерний элемент в верхний или левый разделитель с параметрами по умолчанию. Это эквивалентно gtk_paned_pack1 (paned, child, FALSE, TRUE).
Параметры
paned | виджет разделителя | |
child | дочерний элемент для добавления |
gtk_paned_add2 ()
void gtk_paned_add2 (GtkPaned *paned,GtkWidget *child);
Добавляет дочерний элемент в нижний или правый разделитель с параметрами по умолчанию. Это эквивалентно gtk_paned_pack2 (paned, child, TRUE, TRUE).
Параметры
paned | виджет разделителя | |
child | дочерний элемент для добавления |
gtk_paned_pack1 ()
void gtk_paned_pack1 (GtkPaned *paned,GtkWidget *child,gboolean resize,gboolean shrink);
Добавляет дочерний элемент в верхний или левый разделитель.
Параметры
paned | виджет разделителя | |
child | дочерний элемент для добавления | |
resize | должен ли этот дочерний элемент расширяться при изменении размера виджета разделителя. | |
shrink | можно ли уменьшить размер этого дочернего элемента меньше его требуемого размера. |
gtk_paned_pack2 ()
void gtk_paned_pack2 (GtkPaned *paned,GtkWidget *child,gboolean resize,gboolean shrink);
Добавляет дочерний элемент в нижний или правый разделитель.
Параметры
paned | виджет разделителя | |
child | дочерний элемент для добавления | |
resize | должен ли этот дочерний элемент расширяться при изменении размера виджета разделителя. | |
shrink | можно ли уменьшить размер этого дочернего элемента меньше его требуемого размера. |
gtk_paned_get_child1 ()
GtkWidget *
gtk_paned_get_child1 (GtkPaned *paned); Возвращает первый дочерний элемент виджета разделителя.
Параметры
paned | виджет GtkPaned |
Возвращаемое значение
первый дочерний элемент, или NULL если он не задан.
[nullable][transfer none]
С: 2.4
gtk_paned_get_child2 ()
GtkWidget *
gtk_paned_get_child2 (GtkPaned *paned); Возвращает второй дочерний элемент виджета разделителя.
Параметры
paned | виджет GtkPaned |
Возвращаемое значение
второй дочерний элемент, или NULL если он не задан.
[nullable][transfer none]
С: 2.4
gtk_paned_set_position ()
void gtk_paned_set_position (GtkPaned *paned,gint position);
Устанавливает положение разделителя между двумя панелями.
Параметры
paned | виджет GtkPaned | |
position | положение разделителя в пикселях, отрицательное значение означает, что положение не установлено. |
gtk_paned_get_position ()
gint
gtk_paned_get_position (GtkPaned *paned); Возвращает положение разделителя между двумя панелями.
Параметры
paned | виджет GtkPaned |
Возвращаемое значение
положение разделителя
gtk_paned_get_handle_window ()
GdkWindow *
gtk_paned_get_handle_window (GtkPaned *paned); Возвращает GdkWindow разделителя. Эта функция полезна при обработке событий кнопок или движения, так как она позволяет обработать различие между окном разделителя, дочерним элементом и разделителем.
Параметры
paned |
Возвращаемое значение
окно разделителя.
[transfer none]
С: 2.20
gtk_paned_set_wide_handle ()
void gtk_paned_set_wide_handle (GtkPaned *paned,gboolean wide);
Устанавливает свойство «wide-handle».
Параметры
paned | ||
wide | новое значение свойства «wide-handle» |
С: 3.16
gtk_paned_get_wide_handle ()
gboolean
gtk_paned_get_wide_handle (GtkPaned *paned); Возвращает свойство «wide-handle».
Параметры
paned |
Возвращаемое значение
TRUE если у разделителя должен быть широкий разделитель
С: 3.16
Типы и значения
struct GtkPaned
struct GtkPaned;
Подробные сведения о свойствах
Свойство “max-position”
“max-position” int
Максимальное значение для свойства position. Это свойство выводится из размера и возможности сжатия дочерних виджетов.
Владелец: GtkPaned
Флаги: Чтение
Допустимые значения: >= 0
Значение по умолчанию: 2147483647
С момента: 2.4
Свойство “min-position”
“min-position” int
Минимальное значение для свойства position. Это свойство выводится из размера и возможности сжатия дочерних виджетов.
Владелец: GtkPaned
Флаги: Чтение
Допустимые значения: >= 0
Значение по умолчанию: 0
С момента: 2.4
Свойство “position”
“position” int
Положение разделительной панели в пикселях (0 означает крайний левый/верхний край).
Владелец: GtkPaned
Флаги: Чтение/Запись
Допустимые значения: >= 0
Значение по умолчанию: 0
Свойство “position-set”
“position-set” gboolean
Истина, если свойство Position должно быть использовано.
Владелец: GtkPaned
Флаги: Чтение/Запись
Значение по умолчанию: ЛОЖЬ
Свойство “wide-handle”
“wide-handle” gboolean
Установка этого свойства в TRUE указывает, что панели необходимо обеспечить более сильное визуальное разделение (например, потому что она отделяет два блокнота, строки закладок которых в противном случае визуально сливались бы).
Владелец: GtkPaned
Флаги: Чтение/Запись
Значение по умолчанию: ЛОЖЬ
С момента: 3.16
Подробные сведения о свойствах дочерних элементов
Свойство дочернего элемента “resize”
“resize” gboolean
Свойство дочернего элемента "resize" определяет, расширяется ли и сжимается ли дочерний элемент вместе с виджетом панели.
Владелец: GtkPaned
Флаги: Чтение/Запись
Значение по умолчанию: ИСТИНА
С момента: 2.4
Свойство дочернего элемента “shrink”
“shrink” gboolean
Свойство дочернего элемента "shrink" определяет, может ли дочерний элемент быть уменьшен меньше, чем его запрос.
Владелец: GtkPaned
Флаги: Чтение/Запись
Значение по умолчанию: ИСТИНА
С момента: 2.4
Подробные сведения о свойствах стиля
Свойство стиля “handle-size”
“handle-size” int
Ширина ручки.
Владелец: GtkPaned
Флаги: Чтение
Допустимые значения: >= 0
Значение по умолчанию: 5
Подробные сведения о сигналах
Сигнал “accept-position”
gboolean user_function (GtkPaned *widget, gpointer user_data)
Сигнал ::accept-position — это сигнал привязки клавиш, который генерируется для подтверждения текущего положения ручки при перемещении с помощью клавиш.
Стандартная привязка для этого сигнала — Return или пробел.
Параметры
widget | объект, получивший сигнал | |
user_data | данные пользователя, заданные при подключении обработчика сигнала. |
Флаги: Действие
С момента: 2.0
Сигнал “cancel-position”
gboolean user_function (GtkPaned *widget, gpointer user_data)
Сигнал ::cancel-position — это сигнал привязки клавиш, который генерируется для отмены перемещения положения ручки с помощью клавиш. Положение ручки будет сброшено до значения, существовавшего до начала перемещения.
Стандартная привязка для этого сигнала — Escape.
Параметры
widget | объект, получивший сигнал | |
user_data | данные пользователя, заданные при подключении обработчика сигнала. |
Флаги: Действие
С момента: 2.0
Сигнал “cycle-child-focus”
gboolean user_function (GtkPaned *widget, gboolean reversed, gpointer user_data)
Сигнал ::cycle-child-focus — это сигнал привязки клавиш, который генерируется для циклического переключения фокуса между дочерними элементами панели.
Стандартная привязка — F6.
Параметры
widget | объект, получивший сигнал | |
reversed | обратное или прямое циклическое перемещение | |
user_data | данные пользователя, заданные при подключении обработчика сигнала. |
Флаги: Действие
С момента: 2.0
Сигнал “cycle-handle-focus”
gboolean user_function (GtkPaned *widget, gboolean reversed, gpointer user_data)
Сигнал ::cycle-handle-focus — это сигнал привязки клавиш, который генерируется для циклического переключения, должен ли виджет панели захватить фокус, чтобы пользователь мог изменить положение ручки с помощью клавиш.
Стандартная привязка для этого сигнала — F8.
Параметры
widget | объект, получивший сигнал | |
reversed | обратное или прямое циклическое перемещение | |
user_data | данные пользователя, заданные при подключении обработчика сигнала. |
Флаги: Действие
С момента: 2.0
Сигнал “move-handle”
gboolean user_function (GtkPaned *widget, GtkScrollType scroll_type, gpointer user_data)
Сигнал ::move-handle — это сигнал привязки клавиш, который генерируется для перемещения ручки, когда пользователь использует клавиши для её перемещения.
Параметры
widget | объект, получивший сигнал | |
scroll_type | ||
user_data | данные пользователя, заданные при подключении обработчика сигнала. |
Флаги: Действие
С момента: 2.0
Сигнал “toggle-handle-focus”
gboolean user_function (GtkPaned *widget, gpointer user_data)
Сигнал ::toggle-handle-focus — это сигнал привязки клавиш, который генерируется для подтверждения текущего положения ручки, а затем перемещения фокуса на следующий виджет в цепочке фокуса.
Стандартная привязка — Tab.
Параметры
widget | объект, получивший сигнал | |
user_data | данные пользователя, заданные при подключении обработчика сигнала. |
Флаги: Действие
С момента: 2.0
© 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/GtkPaned.html