Spec-Zone.ru › GTK 3.22

GtkToolbar

GtkToolbar — Создание панелей кнопок и других виджетов

Функции

GtkWidget * gtk_toolbar_new ()
void gtk_toolbar_insert ()
gint gtk_toolbar_get_item_index ()
gint gtk_toolbar_get_n_items ()
GtkToolItem * gtk_toolbar_get_nth_item ()
gint gtk_toolbar_get_drop_index ()
void gtk_toolbar_set_drop_highlight_item ()
void gtk_toolbar_set_show_arrow ()
void gtk_toolbar_unset_icon_size ()
gboolean gtk_toolbar_get_show_arrow ()
GtkToolbarStyle gtk_toolbar_get_style ()
GtkIconSize gtk_toolbar_get_icon_size ()
GtkReliefStyle gtk_toolbar_get_relief_style ()
void gtk_toolbar_set_style ()
void gtk_toolbar_set_icon_size ()
void gtk_toolbar_unset_style ()

Свойства

GtkIconSize icon-size Чтение / Запись
gboolean icon-size-set Чтение / Запись
gboolean show-arrow Чтение / Запись
GtkToolbarStyle toolbar-style Чтение / Запись

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

gboolean expand Чтение / Запись
gboolean homogeneous Чтение / Запись

Стилизованные свойства

GtkReliefStyle button-relief Чтение
gint internal-padding Чтение
gint max-child-expand Чтение
GtkShadowType shadow-type Чтение
gint space-size Чтение
GtkToolbarSpaceStyle space-style Чтение

Сигналы

gboolean focus-home-or-end Действие
void orientation-changed Выполнить сначала
gboolean popup-context-menu Выполнить в последнюю очередь
void style-changed Выполнить сначала

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

struct GtkToolbar
enum GtkToolbarSpaceStyle

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

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkContainer
                ╰── GtkToolbar

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

GtkToolbar реализует AtkImplementorIface, GtkBuildable, GtkToolShell и GtkOrientable.

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

#include <gtk/gtk.h>

Описание

Панель инструментов создается вызовом gtk_toolbar_new().

Панель инструментов может содержать экземпляры подкласса GtkToolItem. Чтобы добавить GtkToolItem на панель инструментов, используйте gtk_toolbar_insert(). Чтобы удалить элемент с панели инструментов, используйте gtk_container_remove(). Чтобы добавить кнопку на панель инструментов, добавьте экземпляр GtkToolButton.

Элементы панели инструментов можно визуально сгруппировать, добавив экземпляры GtkSeparatorToolItem на панель инструментов. Если свойство GtkToolbar child “expand” имеет значение TRUE, а свойство “draw” имеет значение FALSE, это заставит все последующие элементы переместиться в конец панели инструментов.

Создание контекстного меню для панели инструментов выполняется путем подключения к сигналу “popup-context-menu”.

Узлы CSS

GtkToolbar имеет один узел CSS с именем toolbar.

Функции

gtk_toolbar_new ()

GtkWidget *
gtk_toolbar_new (void);

Создаёт новую панель инструментов.

Возвращаемое значение

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

gtk_toolbar_insert ()

void
gtk_toolbar_insert (GtkToolbar *toolbar,
                    GtkToolItem *item,
                    gint pos);

Вставляет GtkToolItem в панель инструментов в позиции pos . Если pos равно 0, элемент добавляется в начало панели инструментов. Если pos отрицательно, элемент добавляется в конец панели инструментов.

Параметры

toolbar

панель инструментов GtkToolbar

item

элемент GtkToolItem

pos

позиция нового элемента

С версии: 2.4

gtk_toolbar_get_item_index ()

gint
gtk_toolbar_get_item_index (GtkToolbar *toolbar,
                            GtkToolItem *item);

Возвращает позицию item на панели инструментов, начиная с 0. Ошибка произойдёт, если item не является дочерним элементом панели инструментов.

Параметры

toolbar

панель инструментов GtkToolbar

item

GtkToolItem является дочерним элементом toolbar

Возвращаемое значение

позиция элемента на панели инструментов.

С версии: 2.4

gtk_toolbar_get_n_items ()

gint
gtk_toolbar_get_n_items (GtkToolbar *toolbar);

Возвращает количество элементов на панели инструментов.

Параметры

toolbar

панель инструментов GtkToolbar

Возвращаемое значение

количество элементов на панели инструментов

С версии: 2.4

gtk_toolbar_get_nth_item ()

GtkToolItem *
gtk_toolbar_get_nth_item (GtkToolbar *toolbar,
                          gint n);

Возвращает n -ый элемент на toolbar , или NULL, если на панели инструментов нет n -ого элемента.

Параметры

toolbar

панель инструментов GtkToolbar

n

Позиция на панели инструментов

Возвращаемое значение

n -ый GtkToolItem на toolbar , или NULL, если такого элемента нет.

[nullable][transfer none]

С версии: 2.4

gtk_toolbar_get_drop_index ()

gint
gtk_toolbar_get_drop_index (GtkToolbar *toolbar,
                            gint x,
                            gint y);

Возвращает позицию, соответствующую указанной точке на toolbar . Это полезно при перетаскивании элементов в панель инструментов: эта функция возвращает позицию, в которую следует вставить новый элемент.

x и y в координатах toolbar.

Параметры

toolbar

панель инструментов GtkToolbar

x

координата x точки на панели инструментов

y

координата y точки на панели инструментов

Возвращаемое значение

Позиция, соответствующая точке (x, y) на панели инструментов.

С версии: 2.4

gtk_toolbar_set_drop_highlight_item ()

void
gtk_toolbar_set_drop_highlight_item (GtkToolbar *toolbar,
                                     GtkToolItem *tool_item,
                                     gint index_);

Выделяет toolbar, чтобы показать, как бы выглядел виджет, если item был добавлен к toolbar в позиции, указанной index_. Если item равен NULL, выделение отключается. В этом случае index_ игнорируется.

Элемент tool_item, переданный в эту функцию, не должен быть частью иерархии виджетов. Когда элемент установлен как выделенный элемент для падения, он не может быть добавлен к иерархии виджетов или использован в качестве выделенного элемента для другой панели инструментов.

Параметры

toolbar

панель инструментов GtkToolbar

tool_item

элемент GtkToolItem или NULL для отключения выделения.

[allow-none]

index_

позиция на toolbar

С версии: 2.4

gtk_toolbar_set_show_arrow ()

void
gtk_toolbar_set_show_arrow (GtkToolbar *toolbar,
                            gboolean show_arrow);

Устанавливает, отображать ли всплывающее меню, когда на toolbar не хватает места для всех элементов. Если TRUE, элементы, для которых не хватает места, доступны через всплывающее меню.

Параметры

toolbar

панель инструментов GtkToolbar

show_arrow

Показывать ли всплывающее меню

С версии: 2.4

gtk_toolbar_unset_icon_size ()

void
gtk_toolbar_unset_icon_size (GtkToolbar *toolbar);

Снимает установку размера значка панели инструментов, установленного с помощью gtk_toolbar_set_icon_size(), таким образом, что для определения размера значка будут использоваться пользовательские настройки.

Параметры

toolbar

панель инструментов GtkToolbar

gtk_toolbar_get_show_arrow ()

gboolean
gtk_toolbar_get_show_arrow (GtkToolbar *toolbar);

Возвращает, имеет ли панель инструментов всплывающее меню. См. gtk_toolbar_set_show_arrow().

Параметры

toolbar

панель инструментов GtkToolbar

Возвращаемое значение

TRUE, если панель инструментов имеет всплывающее меню.

С версии: 2.4

gtk_toolbar_get_style ()

GtkToolbarStyle
gtk_toolbar_get_style (GtkToolbar *toolbar);

Возвращает, отображаются ли в панели инструментов текст, значки или оба. См. gtk_toolbar_set_style().

Параметры

toolbar

a GtkToolbar

Возвращаемое значение

текущий стиль toolbar

gtk_toolbar_get_icon_size ()

GtkIconSize
gtk_toolbar_get_icon_size (GtkToolbar *toolbar);

Возвращает размер значка для панели инструментов. См. gtk_toolbar_set_icon_size().

Параметры

toolbar

a GtkToolbar

Возвращаемое значение

текущий размер значка для значков на панели инструментов.

gtk_toolbar_get_relief_style ()

GtkReliefStyle
gtk_toolbar_get_relief_style (GtkToolbar *toolbar);

Возвращает стиль рельефа кнопок на toolbar . См. gtk_button_set_relief().

Параметры

toolbar

a GtkToolbar

Возвращаемое значение

Стиль рельефа кнопок на toolbar .

С версии: 2.4

gtk_toolbar_set_style ()

void
gtk_toolbar_set_style (GtkToolbar *toolbar,
                       GtkToolbarStyle style);

Изменяет отображение toolbar, чтобы отображались только значки, только текст или оба.

Параметры

toolbar

a GtkToolbar.

style

новый стиль для toolbar .

gtk_toolbar_set_icon_size ()

void
gtk_toolbar_set_icon_size (GtkToolbar *toolbar,
                           GtkIconSize icon_size);

Эта функция устанавливает размер значков в панели инструментов. Вы можете вызвать её как до добавления значков, так и после. Установленный размер переопределит пользовательские настройки для размера значка по умолчанию.

Следует использовать только для панелей инструментов со специальными целями; обычные панели инструментов приложения должны учитывать пользовательские настройки для размера значков.

Параметры

toolbar

A GtkToolbar

icon_size

The GtkIconSize размер значков в панели инструментов.

gtk_toolbar_unset_style ()

void
gtk_toolbar_unset_style (GtkToolbar *toolbar);

Снимает установленный стиль панели инструментов с помощью gtk_toolbar_set_style(), так что пользовательские настройки будут использоваться для определения стиля панели инструментов.

Параметры

toolbar

a GtkToolbar

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

struct GtkToolbar

struct GtkToolbar;

enum GtkToolbarSpaceStyle

GtkToolbarSpaceStyle устарел с версии 3.20 и не должен использоваться в новом коде.

Определяет, являются ли разделители вертикальными линиями или просто пустотой.

Члены

GTK_TOOLBAR_SPACE_EMPTY

Использовать пустые разделители.

GTK_TOOLBAR_SPACE_LINE

Использовать вертикальные линии в качестве разделителей.

Подробности свойств

Свойство “icon-size”

  “icon-size”                GtkIconSize

Размер значков в панели инструментов обычно определяется настройкой toolbar-icon-size. Когда это свойство установлено, оно переопределяет настройку.

Следует использовать только для панелей инструментов со специальными целями; обычные панели инструментов приложения должны учитывать пользовательские настройки для размера значков.

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

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

С версии: 2.10

Свойство “icon-size-set”

  “icon-size-set”            gboolean

Равно TRUE, если свойство icon-size было установлено.

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

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

С версии: 2.10

Свойство “show-arrow”

  “show-arrow”               gboolean

Определяет, нужно ли отображать стрелку, если панель инструментов не помещается.

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

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

Свойство “toolbar-style”

  “toolbar-style”            GtkToolbarStyle

Как отображать панель инструментов.

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

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

Подробности свойств дочерних элементов

Свойство “expand” дочернего элемента

  “expand”                   gboolean

Определяет, должен ли элемент получать дополнительное место, когда панель инструментов расширяется.

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

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

Свойство “homogeneous” дочернего элемента

  “homogeneous”              gboolean

Определяет, должен ли элемент иметь тот же размер, что и другие однородные элементы.

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

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

Подробности свойств стиля

Свойство стиля “button-relief”

  “button-relief”            GtkReliefStyle

Тип фаски вокруг кнопок панели инструментов.

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

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

Свойство стиля “internal-padding”

  “internal-padding”         gint

Количество отступов между тенью панели инструментов и кнопками.

GtkToolbar:internal-padding устарел с версии 3.6 и не должен использоваться в новом коде.

Используйте стандартное свойство отступа CSS (через такие объекты, как GtkStyleContext и GtkCssProvider); значение этого свойства стиля игнорируется.

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

Допустимые значения: >= 0

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

Свойство стиля “max-child-expand”

  “max-child-expand”         gint

Максимальное количество места, которое будет предоставлено расширяемому элементу.

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

Допустимые значения: >= 0

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

Свойство стиля “shadow-type”

  “shadow-type”              GtkShadowType

Стиль фаски вокруг панели инструментов.

GtkToolbar:shadow-type устарел с версии 3.6 и не должен использоваться в новом коде.

Используйте стандартное свойство границы CSS (через такие объекты, как GtkStyleContext и GtkCssProvider); значение этого свойства стиля игнорируется.

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

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

Свойство стиля “space-size”

  “space-size”               gint

Размер разделителей на панели инструментов.

GtkToolbar:space-size устарел с версии 3.20 и не должен использоваться в новом коде.

Используйте стандартные свойства отступов/полей CSS для элементов разделителя; значение этого свойства стиля игнорируется.

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

Допустимые значения: >= 0

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

Свойство стиля “space-style”

  “space-style”              GtkToolbarSpaceStyle

Стиль разделителей на панели инструментов.

GtkToolbar:space-style устарел с версии 3.20 и не должен использоваться в новом коде.

Используйте свойства CSS для элементов разделителя для стилизации разделителей на панели инструментов; значение этого свойства стиля игнорируется.

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

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

Подробные сведения о сигналах

Сигнал “focus-home-or-end”

gboolean
user_function (GtkToolbar *toolbar,
               gboolean    focus_home,
               gpointer    user_data)

Сигнал для привязки клавиш, используемый внутри GTK+. Этот сигнал нельзя использовать в коде приложения.

Параметры

toolbar

панель инструментов GtkToolbar, которая отправила сигнал

focus_home

TRUE, если необходимо сфокусировать первый элемент

user_data

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

Возвращаемое значение

TRUE, если сигнал обработался, FALSE, если нет

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

Сигнал “orientation-changed”

void
user_function (GtkToolbar    *toolbar,
               GtkOrientation orientation,
               gpointer       user_data)

Отправляется при изменении ориентации панели инструментов.

Параметры

toolbar

объект, который отправил сигнал

orientation

новая ориентация GtkOrientation панели инструментов

user_data

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

Флаги: Выполнить сначала

Сигнал “popup-context-menu”

gboolean
user_function (GtkToolbar *toolbar,
               gint        x,
               gint        y,
               gint        button,
               gpointer    user_data)

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

Разработчики приложений должны обрабатывать этот сигнал, если они хотят отобразить контекстное меню на панели инструментов. Контекстное меню должно отображаться по координатам, заданным параметрами x и y. Номер кнопки мыши указан в параметре button. Если меню было вызвано с клавиатуры, button равно -1.

Параметры

toolbar

панель инструментов GtkToolbar, которая отправила сигнал

x

координата x точки, где должно отображаться меню

y

координата y точки, где должно отображаться меню

button

кнопка мыши, нажатая пользователем, или -1

user_data

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

Возвращаемое значение

возвращает TRUE, если сигнал был обработан, FALSE, если нет

Флаги: Выполнить в последнюю очередь

Сигнал “style-changed”

void
user_function (GtkToolbar     *toolbar,
               GtkToolbarStyle style,
               gpointer        user_data)

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

Параметры

toolbar

Панель инструментов GtkToolbar, которая отправила сигнал

style

новый стиль GtkToolbarStyle панели инструментов

user_data

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

Флаги: Выполнить сначала

См. также

GtkToolItem

© 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/GtkToolbar.html

Spec-Zone.ru

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