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 () |
Свойства
| gint | max-position | Чтение |
| gint | min-position | Чтение |
| gint | position | Чтение/Запись |
| gboolean | position-set | Чтение/Запись |
| gboolean | wide-handle | Чтение/Запись |
Стилизованные свойства
| gint | handle-size | Чтение |
Сигналы
Типы и значения
| struct | GtkPaned |
Иерархия объектов
GObject ╰── GInitiallyUnowned ╰── GtkWidget ╰── GtkContainer ╰── GtkPaned ├── GtkHPaned ╰── GtkVPaned
Реализованные интерфейсы
GtkPaned реализует AtkImplementorIface, GtkBuildable и GtkOrientable.
Файлы заголовков
#include <gtk/gtk.h>
Описание
GtkPaned имеет две панели, расположенные либо горизонтально, либо вертикально. Разделитель между двумя панелями может быть изменён пользователем путём перетаскивания маркера.
Дочерние виджеты добавляются в панели виджета с помощью gtk_paned_pack1() и gtk_paned_pack2(). По умолчанию разделитель между двумя дочерними элементами определяется из запрошенных размеров дочерних элементов, но его можно изменить пользователем.
Виджет типа «панель» рисует разделитель между двумя дочерними виджетами и небольшой маркер, который пользователь может перетаскивать для изменения разделителя. Он не рисует никакой рамки вокруг дочерних элементов или вокруг разделителя. (Пространство, в котором находится разделитель, называется желобком.) Часто бывает полезно поместить каждый дочерний элемент внутрь GtkFrame с типом тени, установленным на GTK_SHADOW_IN, чтобы желобок отображался как гребень. Разделитель не рисуется, если один из дочерних элементов отсутствует.
Каждый дочерний элемент имеет два параметра, которые можно установить, resize и shrink . Если resize имеет значение «истина», то при изменении размеров GtkPaned этот дочерний элемент будет увеличиваться или уменьшаться вместе с виджетом «панель». Если shrink имеет значение «истина», то пользователь может уменьшить размер этого дочернего элемента меньше, чем его запрос. Установка shrink в значение FALSE позволяет приложению установить минимальный размер. Если resize имеет значение «ложь» для обоих дочерних элементов, то это обрабатывается так, как если бы resize имело значение «истина» для обоих дочерних элементов.
Приложение может установить положение ползунка, как если бы оно было установлено пользователем, вызвав gtk_paned_set_position().
CSS-узлы
GtkPaned имеет основной CSS-узел с именем paned и под-узел для разделителя с именем separator. Под-узел получает класс стиля .wide, когда ожидается, что панель будет широкой.
В горизонтальной ориентации узлы дочерних элементов всегда располагаются слева направо. Таким образом, :first-child всегда будет выбирать самый левый дочерний элемент, независимо от направления текста.
Создание виджета панели с минимальными размерами.
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 |
С: 2.4
gtk_paned_get_child2 ()
GtkWidget *
gtk_paned_get_child2 (GtkPaned *paned); Возвращает второй дочерний элемент виджета разделителя.
Параметры
paned | виджет GtkPaned |
С: 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 | виджет GtkPaned |
Возвращает
окно ручки разделителя.
[transfer none]
С: 2.20
gtk_paned_set_wide_handle ()
void gtk_paned_set_wide_handle (GtkPaned *paned,gboolean wide);
Устанавливает свойство “wide-handle”.
Параметры
paned | виджет GtkPaned | |
wide | новое значение свойства “wide-handle” |
С: 3.16
Типы и значения
struct GtkPaned
struct GtkPaned;
Подробное описание свойств
Свойство “max-position”
“max-position” gint
Максимальное возможное значение свойства position. Это свойство выводится из размера и возможности сжатия дочерних виджетов.
Флаги: Чтение
Допустимые значения: >= 0
Значение по умолчанию: 2147483647
С версии: 2.4
Свойство “min-position”
“min-position” gint
Минимальное возможное значение свойства position. Это свойство выводится из размера и возможности сжатия дочерних виджетов.
Флаги: Чтение
Допустимые значения: >= 0
Значение по умолчанию: 0
С версии: 2.4
Свойство “position”
“position” gint
Положение разделителя панелей в пикселях (0 — полностью слева/сверху).
Флаги: Чтение/Запись
Допустимые значения: >= 0
Значение по умолчанию: 0
Свойство “position-set”
“position-set” gboolean
Истинно, если свойство Position должно использоваться.
Флаги: Чтение/Запись
Значение по умолчанию: FALSE
Свойство “wide-handle”
“wide-handle” gboolean
Установка этого свойства в TRUE указывает, что панель должна обеспечить более сильное визуальное разделение (например, потому что она отделяет две вкладки, чьи строки вкладок в противном случае визуально слились бы).
Флаги: Чтение/Запись
Значение по умолчанию: FALSE
С версии: 3.16
Подробное описание свойств дочерних элементов
Свойство дочернего элемента “resize”
“resize” gboolean
Свойство дочернего элемента "resize" определяет, расширяется и сжимается ли дочерний элемент вместе с виджетом панели.
Флаги: Чтение/Запись
Значение по умолчанию: TRUE
С версии: 2.4
Свойство дочернего элемента “shrink”
“shrink” gboolean
Свойство дочернего элемента "shrink" определяет, может ли дочерний элемент быть уменьшен меньше, чем его запрос.
Флаги: Чтение/Запись
Значение по умолчанию: TRUE
С версии: 2.4
Подробное описание свойств стиля
Свойство стиля “handle-size”
“handle-size” gint
Ширина ручки.
Флаги: Чтение
Допустимые значения: >= 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 | Тип прокрутки GtkScrollType | |
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.20/GtkPaned.html