Spec-Zone.ru › GTK 3.24

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

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

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

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

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

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”             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

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

Spec-Zone.ru

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