Spec-Zone.ru › GTK 4.0

GtkPaned

GtkPaned — Виджет с двумя регулируемыми панелями

Функции

GtkWidget * gtk_paned_new ()
void gtk_paned_set_start_child ()
GtkWidget * gtk_paned_get_start_child ()
void gtk_paned_set_end_child ()
GtkWidget * gtk_paned_get_end_child ()
void gtk_paned_set_resize_start_child ()
gboolean gtk_paned_get_resize_start_child ()
void gtk_paned_set_resize_end_child ()
gboolean gtk_paned_get_resize_end_child ()
void gtk_paned_set_shrink_start_child ()
gboolean gtk_paned_get_shrink_start_child ()
void gtk_paned_set_shrink_end_child ()
gboolean gtk_paned_get_shrink_end_child ()
void gtk_paned_set_position ()
int gtk_paned_get_position ()
void gtk_paned_set_wide_handle ()
gboolean gtk_paned_get_wide_handle ()

Свойства

GtkWidget * end-child Чтение/Запись
int max-position Чтение
int min-position Чтение
int position Чтение/Запись
gboolean position-set Чтение/Запись
gboolean resize-end-child Чтение/Запись
gboolean resize-start-child Чтение/Запись
gboolean shrink-end-child Чтение/Запись
gboolean shrink-start-child Чтение/Запись
GtkWidget * start-child Чтение/Запись
gboolean wide-handle Чтение/Запись

Сигналы

gboolean accept-position Действие
gboolean cancel-position Действие
gboolean cycle-child-focus Действие
gboolean cycle-handle-focus Действие
gboolean move-handle Действие
gboolean toggle-handle-focus Действие

Типы и Значения

GtkPaned

Иерархия объектов

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkPaned

Реализованные интерфейсы

GtkPaned реализует GtkAccessible, GtkBuildable, GtkConstraintTarget и GtkOrientable.

Файлы заголовков

#include <gtk/gtk.h>

Описание

GtkPaned имеет две панели, расположенные либо горизонтально, либо вертикально. Разделительная линия между двумя панелями может настраиваться пользователем путем перетаскивания ползунка.

Дочерние виджеты добавляются в панели виджета с помощью gtk_paned_set_start_child() и gtk_paned_set_end_child(). По умолчанию положение разделительной линии определяется размерами запросов дочерних элементов, но его можно настроить пользователем.

Виджет типа paned отображает разделительную линию между двумя дочерними виджетами и небольшой ползунок, который пользователь может перетаскивать для регулировки положения разделительной линии. Он не отображает никаких рамков вокруг дочерних элементов или разделительной линии. (Пространство, в котором находится разделительная линия, называется щелью.) Часто полезно помещать каждый дочерний элемент внутрь GtkFrame, чтобы щель отображалась в виде гребня. Разделительная линия не отображается, если один из дочерних элементов отсутствует.

Для каждого дочернего элемента можно установить два параметра: resize и shrink. Если resize имеет значение true, то при изменении размера GtkPaned этот дочерний элемент будет увеличиваться или уменьшаться вместе с виджетом paned. Если shrink имеет значение true, то этот дочерний элемент может быть уменьшен пользователем меньше своего запрошенного размера. Установка shrink в значение FALSE позволяет приложению установить минимальный размер. Если resize имеет значение false для обоих дочерних элементов, это считается, как если бы resize было true для обоих дочерних элементов.

Приложение может установить положение ползунка так, как будто это сделал пользователь, вызвав gtk_paned_set_position().

CSS-узлы

GtkPaned имеет основной CSS-узел с именем paned и под-узел для разделительной линии с именем separator. Под-узел получает класс стиля .wide, когда paned предполагается широким.

В горизонтальной ориентации узлы располагаются в соответствии с направлением текста, поэтому в режиме слева направо :first-child будет выбирать самый левый дочерний элемент, а в RTL-макетах — самый правый.

Создание виджета paned с минимальными размерами.

paned
├── <child>
├── separator[.wide]
╰── <child>

Функции

gtk_paned_new ()

GtkWidget *
gtk_paned_new (GtkOrientation orientation);

Создает новый виджет GtkPaned.

Параметры

orientation

ориентация панели.

Возвращает

новый GtkPaned.

gtk_paned_set_start_child ()

void
gtk_paned_set_start_child (GtkPaned *paned,
                           GtkWidget *child);

Устанавливает начальный дочерний элемент paned в child.

Параметры

paned

a GtkPaned

child

виджет для добавления

gtk_paned_get_start_child ()

GtkWidget *
gtk_paned_get_start_child (GtkPaned *paned);

Извлекает начальный дочерний элемент заданного GtkPaned.

См. также: “start-child”

Параметры

paned

a GtkPaned

Возвращает

начальный дочерний виджет.

[transfer none][nullable]

gtk_paned_set_end_child ()

void
gtk_paned_set_end_child (GtkPaned *paned,
                         GtkWidget *child);

Устанавливает конечный дочерний элемент paned в child.

Параметры

paned

a GtkPaned

child

виджет для добавления

gtk_paned_get_end_child ()

GtkWidget *
gtk_paned_get_end_child (GtkPaned *paned);

Извлекает конечный дочерний элемент заданного GtkPaned.

См. также: “end-child”

Параметры

paned

a GtkPaned

Возвращает

конечный дочерний виджет.

[transfer none][nullable]

gtk_paned_set_resize_start_child ()

void
gtk_paned_set_resize_start_child (GtkPaned *paned,
                                  gboolean resize);

Устанавливает свойство “resize-start-child”

Параметры

paned

a GtkPaned

resize

TRUE чтобы разрешить изменение размера начального дочернего элемента

gtk_paned_get_resize_start_child ()

gboolean
gtk_paned_get_resize_start_child (GtkPaned *paned);

Возвращает, можно ли изменять размер начального дочернего элемента.

Параметры

paned

a GtkPaned

Возвращает

TRUE если размер начального дочернего элемента можно изменять

gtk_paned_set_resize_end_child ()

void
gtk_paned_set_resize_end_child (GtkPaned *paned,
                                gboolean resize);

Устанавливает свойство “resize-end-child”

Параметры

paned

a GtkPaned

resize

TRUE чтобы разрешить изменение размера конечного дочернего элемента

gtk_paned_get_resize_end_child ()

gboolean
gtk_paned_get_resize_end_child (GtkPaned *paned);

Возвращает, можно ли изменять размер конечного дочернего элемента.

Параметры

paned

a GtkPaned

Возвращает

TRUE если размер конечного дочернего элемента можно изменять

gtk_paned_set_shrink_start_child ()

void
gtk_paned_set_shrink_start_child (GtkPaned *paned,
                                  gboolean resize);

Устанавливает свойство “shrink-start-child”

Параметры

paned

a GtkPaned

resize

TRUE чтобы разрешить уменьшение размера начального дочернего элемента

gtk_paned_get_shrink_start_child ()

gboolean
gtk_paned_get_shrink_start_child (GtkPaned *paned);

Возвращает, можно ли уменьшать размер начального дочернего элемента.

Параметры

paned

a GtkPaned

Возвращает

TRUE если размер начального дочернего элемента можно уменьшать

gtk_paned_set_shrink_end_child ()

void
gtk_paned_set_shrink_end_child (GtkPaned *paned,
                                gboolean resize);

Устанавливает свойство “shrink-end-child”

Параметры

paned

a GtkPaned

resize

TRUE чтобы разрешить уменьшение размера конечного дочернего элемента

gtk_paned_get_shrink_end_child ()

gboolean
gtk_paned_get_shrink_end_child (GtkPaned *paned);

Возвращает, можно ли уменьшать размер конечного дочернего элемента.

Параметры

paned

a GtkPaned

Возвращает

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

gtk_paned_set_position ()

void
gtk_paned_set_position (GtkPaned *paned,
                        int position);

Устанавливает положение разделителя между двумя панелями.

Параметры

paned

виджет GtkPaned

position

пиксельное положение разделителя, отрицательное значение означает, что положение не установлено.

gtk_paned_get_position ()

int
gtk_paned_get_position (GtkPaned *paned);

Получает положение разделителя между двумя панелями.

Параметры

paned

виджет GtkPaned

Возвращает

положение разделителя

gtk_paned_set_wide_handle ()

void
gtk_paned_set_wide_handle (GtkPaned *paned,
                           gboolean wide);

Устанавливает свойство “wide-handle”.

Параметры

paned

объект GtkPaned

wide

новое значение свойства “wide-handle”

gtk_paned_get_wide_handle ()

gboolean
gtk_paned_get_wide_handle (GtkPaned *paned);

Получает свойство “wide-handle”.

Параметры

paned

объект GtkPaned

Возвращает

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

Типы и значения

GtkPaned

typedef struct _GtkPaned GtkPaned;

Подробное описание свойств

Свойство “end-child”

  “end-child”                GtkWidget *

Второй дочерний элемент.

Владелец: GtkPaned

Флаги: Чтение/Запись

Свойство “max-position”

  “max-position”             int

Максимально возможное значение свойства position. Это свойство выводится из размера и возможности уменьшения дочерних элементов виджета.

Владелец: GtkPaned

Флаги: Чтение

Разрешённые значения: >= 0

Значение по умолчанию: 2147483647

Свойство “min-position”

  “min-position”             int

Минимально возможное значение свойства position. Это свойство выводится из размера и возможности уменьшения дочерних элементов виджета.

Владелец: GtkPaned

Флаги: Чтение

Разрешённые значения: >= 0

Значение по умолчанию: 0

Свойство “position”

  “position”                 int

Положение разделителя paned в пикселях (0 означает крайний левый/верхний).

Владелец: GtkPaned

Флаги: Чтение/Запись

Разрешённые значения: >= 0

Значение по умолчанию: 0

Свойство “position-set”

  “position-set”             gboolean

Истина, если свойство Position должно использоваться.

Владелец: GtkPaned

Флаги: Чтение/Запись

Значение по умолчанию: ЛОЖЬ

Свойство “resize-end-child”

  “resize-end-child”         gboolean

Свойство «resize-end-child» определяет, расширяется ли и уменьшается ли второй дочерний элемент вместе с виджетом paned.

Владелец: GtkPaned

Флаги: Чтение/Запись

Значение по умолчанию: ИСТИНА

Свойство “resize-start-child”

  “resize-start-child”       gboolean

Свойство «resize-start-child» определяет, расширяется ли и уменьшается ли первый дочерний элемент вместе с виджетом paned.

Владелец: GtkPaned

Флаги: Чтение/Запись

Значение по умолчанию: ИСТИНА

Свойство “shrink-end-child”

  “shrink-end-child”         gboolean

Свойство «shrink-end-child» определяет, может ли второй дочерний элемент быть меньше своего запрошенного размера.

Владелец: GtkPaned

Флаги: Чтение/Запись

Значение по умолчанию: ИСТИНА

Свойство “shrink-start-child”

  “shrink-start-child”       gboolean

Свойство «shrink-start-child» определяет, может ли первый дочерний элемент быть меньше своего запрошенного размера.

Владелец: GtkPaned

Флаги: Чтение/Запись

Значение по умолчанию: ИСТИНА

Свойство “start-child”

  “start-child”              GtkWidget *

Первый дочерний элемент.

Владелец: GtkPaned

Флаги: Чтение/Запись

Свойство “wide-handle”

  “wide-handle”              gboolean

Установка этого свойства в TRUE указывает, что paned должен обеспечить более сильное визуальное разделение (например, потому что он отделяет две вкладки, чьи строки вкладок в противном случае визуально сливались).

Владелец: GtkPaned

Флаги: Чтение/Запись

Значение по умолчанию: ЛОЖЬ

Подробное описание сигналов

Сигнал “accept-position”

gboolean
user_function (GtkPaned *widget,
               gpointer  user_data)

Сигнал ::accept-position — это сигнал для обработки нажатий клавиш, который генерируется для подтверждения текущего положения ручки при перемещении её с помощью сочетаний клавиш.

По умолчанию для этого сигнала назначены клавиши Enter или Пробел.

Параметры

widget

объект, получивший сигнал

user_data

данные пользователя, установленные при подключении обработчика сигнала.

Флаги: Действие

Сигнал “cancel-position”

gboolean
user_function (GtkPaned *widget,
               gpointer  user_data)

Сигнал ::cancel-position — это сигнал для обработки нажатий клавиш, который генерируется для отмены перемещения положения ручки с помощью сочетаний клавиш. Положение ручки будет сброшено до значения, которое было до начала перемещения.

По умолчанию для этого сигнала назначена клавиша Esc.

Параметры

widget

объект, получивший сигнал

user_data

данные пользователя, установленные при подключении обработчика сигнала.

Флаги: Действие

Сигнал “cycle-child-focus”

gboolean
user_function (GtkPaned *widget,
               gboolean  reversed,
               gpointer  user_data)

Сигнал ::cycle-child-focus — это сигнал для обработки нажатий клавиш, который генерируется для переключения фокуса между дочерними элементами paned.

По умолчанию назначена клавиша F6.

Параметры

widget

объект, получивший сигнал

reversed

направление циклического переключения

user_data

данные пользователя, установленные при подключении обработчика сигнала.

Флаги: Действие

Сигнал “cycle-handle-focus”

gboolean
user_function (GtkPaned *widget,
               gboolean  reversed,
               gpointer  user_data)

Сигнал ::cycle-handle-focus — это сигнал для обработки нажатий клавиш, который генерируется для переключения того, должен ли paned получить фокус, чтобы пользователь мог изменить положение ручки с помощью сочетаний клавиш.

По умолчанию назначена клавиша F8.

Параметры

widget

объект, получивший сигнал

reversed

направление циклического переключения

user_data

данные пользователя, установленные при подключении обработчика сигнала.

Флаги: Действие

Сигнал “move-handle”

gboolean
user_function (GtkPaned     *widget,
               GtkScrollType scroll_type,
               gpointer      user_data)

Сигнал ::move-handle — это сигнал для обработки нажатий клавиш, который генерируется для перемещения ручки, когда пользователь использует сочетания клавиш для её перемещения.

Параметры

widget

объект, получивший сигнал

scroll_type

тип прокрутки GtkScrollType

user_data

данные пользователя, установленные при подключении обработчика сигнала.

Флаги: Действие

Сигнал “toggle-handle-focus”

gboolean
user_function (GtkPaned *widget,
               gpointer  user_data)

Сигнал ::toggle-handle-focus — это сигнал для обработки нажатий клавиш, который генерируется для подтверждения текущего положения ручки, а затем переключения фокуса на следующий виджет в цепочке фокуса.

По умолчанию назначена клавиша Tab.

Параметры

widget

объект, получивший сигнал

user_data

данные пользователя, установленные при подключении обработчика сигнала.

Флаги: Действие

© 2005–2020 The GNOME Project
Licensed under the GNU Lesser General Public License version 2.1 or later.
https://developer-old.gnome.org/gtk4/4.0/GtkPaned.html

Spec-Zone.ru

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