Spec-Zone.ru › GTK 3.20

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.20/GtkPaned.html

Spec-Zone.ru

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