Spec-Zone.ru › GTK 3.22

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 Чтение / Запись

Свойства дочерних элементов

gboolean resize Чтение / Запись
gboolean shrink Чтение / Запись

Свойства стиля

gint 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(). По умолчанию распределение между двумя элементами устанавливается на основе запрошенных размеров элементов, но пользователь может его изменить.

Виджет разделов рисует разделитель между двумя дочерними виджетами и небольшой ползунок, который пользователь может перетаскивать для изменения раздела. Он не рисует никаких рельефов вокруг дочерних элементов или вокруг разделителя. (Пространство, в котором находится разделитель, называется прорезью.) Часто полезно поместить каждый дочерний элемент внутри 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

Возвращает

первый дочерний элемент, или 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

виджет 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

gtk_paned_get_wide_handle ()

gboolean
gtk_paned_get_wide_handle (GtkPaned *paned);

Получает свойство «wide-handle».

Параметры

paned

виджет GtkPaned

Возвращает

TRUE, если разделитель должен иметь широкую ручку

С: 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.22/GtkPaned.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API