Spec-Zone.ru › GTK 3.20

GtkToolPalette

GtkToolPalette — Панель инструментов с категориями

Функции

GtkWidget * gtk_tool_palette_new ()
gboolean gtk_tool_palette_get_exclusive ()
void gtk_tool_palette_set_exclusive ()
gboolean gtk_tool_palette_get_expand ()
void gtk_tool_palette_set_expand ()
gint gtk_tool_palette_get_group_position ()
void gtk_tool_palette_set_group_position ()
GtkIconSize gtk_tool_palette_get_icon_size ()
void gtk_tool_palette_set_icon_size ()
void gtk_tool_palette_unset_icon_size ()
GtkToolbarStyle gtk_tool_palette_get_style ()
void gtk_tool_palette_set_style ()
void gtk_tool_palette_unset_style ()
void gtk_tool_palette_add_drag_dest ()
GtkWidget * gtk_tool_palette_get_drag_item ()
const GtkTargetEntry * gtk_tool_palette_get_drag_target_group ()
const GtkTargetEntry * gtk_tool_palette_get_drag_target_item ()
GtkToolItemGroup * gtk_tool_palette_get_drop_group ()
GtkToolItem * gtk_tool_palette_get_drop_item ()
void gtk_tool_palette_set_drag_source ()
GtkAdjustment * gtk_tool_palette_get_hadjustment ()
GtkAdjustment * gtk_tool_palette_get_vadjustment ()

Свойства

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

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

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

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

struct GtkToolPalette
struct GtkToolPaletteClass
enum GtkToolPaletteDragTargets

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

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkContainer
                ╰── GtkToolPalette

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

GtkToolPalette реализует AtkImplementorIface, GtkBuildable, GtkOrientable и GtkScrollable.

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

#include <gtk/gtk.h>

Описание

Класс GtkToolPalette позволяет добавлять GtkToolItems в контейнер, похожий на палитру, с различными категориями и поддержкой перетаскивания.

Объект GtkToolPalette создается с помощью вызова gtk_tool_palette_new().

GtkToolItems нельзя добавлять непосредственно в GtkToolPalette — вместо этого они добавляются в GtkToolItemGroup, который затем добавляется в GtkToolPalette. Для добавления GtkToolItemGroup в GtkToolPalette используйте gtk_container_add().

Самый простой способ использовать перетаскивание с GtkToolPalette — вызвать gtk_tool_palette_add_drag_dest() с желаемым источником перетаскивания palette и желаемой целью перетаскивания widget. Затем gtk_tool_palette_get_drag_item() можно использовать для получения перетаскиваемого элемента в обработчике сигнала “drag-data-received” целевого элемента.

GtkWidget*palette,*group;
GtkToolItem*item;

palette =gtk_tool_palette_new();
group =gtk_tool_item_group_new(_("Test Category"));
gtk_container_add(GTK_CONTAINER(palette), group);

item =gtk_tool_button_new_new(NULL,_("_Open"));
gtk_tool_button_set_icon_name(GTK_TOOL_BUTTON(item),"document-open");
gtk_tool_item_group_insert(GTK_TOOL_ITEM_GROUP(group), item,-1);

CSS-узлы

У GtkToolPalette есть один CSS-узел с именем toolpalette.

Функции

gtk_tool_palette_new ()

GtkWidget *
gtk_tool_palette_new (void);

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

Возвращает

новую GtkToolPalette

С: 2.20

gtk_tool_palette_get_exclusive ()

gboolean
gtk_tool_palette_get_exclusive (GtkToolPalette *palette,
                                GtkToolItemGroup *group);

Получает, является ли group эксклюзивной или нет. См. gtk_tool_palette_set_exclusive().

Параметры

palette

a GtkToolPalette

group

a GtkToolItemGroup, который является дочерним элементом palette

Возвращает

TRUE, если group эксклюзивно

С: 2.20

gtk_tool_palette_set_exclusive ()

void
gtk_tool_palette_set_exclusive (GtkToolPalette *palette,
                                GtkToolItemGroup *group,
                                gboolean exclusive);

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

Параметры

palette

a GtkToolPalette

group

a GtkToolItemGroup, который является дочерним элементом palette

exclusive

должен ли быть группой эксклюзивной или нет

С: 2.20

gtk_tool_palette_get_expand ()

gboolean
gtk_tool_palette_get_expand (GtkToolPalette *palette,
                             GtkToolItemGroup *group);

Получает, должна ли группе быть выделено дополнительное пространство. См. gtk_tool_palette_set_expand().

Параметры

palette

a GtkToolPalette

group

a GtkToolItemGroup, который является дочерним элементом palette

Возвращает

TRUE, если группе должно быть выделено дополнительное пространство, FALSE в противном случае

С: 2.20

gtk_tool_palette_set_expand ()

void
gtk_tool_palette_set_expand (GtkToolPalette *palette,
                             GtkToolItemGroup *group,
                             gboolean expand);

Устанавливает, должно ли группе быть выделено дополнительное пространство.

Параметры

palette

a GtkToolPalette

group

a GtkToolItemGroup, который является дочерним элементом palette

expand

должно ли группе быть выделено дополнительное пространство

С: 2.20

gtk_tool_palette_get_group_position ()

gint
gtk_tool_palette_get_group_position (GtkToolPalette *palette,
                                     GtkToolItemGroup *group);

Получает позицию group в palette как индекс. См. gtk_tool_palette_set_group_position().

Параметры

palette

a GtkToolPalette

group

a GtkToolItemGroup

Возвращает

индекс группы или -1, если group не является дочерним элементом palette

С: 2.20

gtk_tool_palette_set_group_position ()

void
gtk_tool_palette_set_group_position (GtkToolPalette *palette,
                                     GtkToolItemGroup *group,
                                     gint position);

Устанавливает позицию группы в виде индекса панели инструментов. Если position равно 0, группа станет первым дочерним элементом, если position равно -1, она станет последним дочерним элементом.

Параметры

palette

a GtkToolPalette

group

a GtkToolItemGroup, который является дочерним элементом palette

position

новый индекс для группы

С: 2.20

gtk_tool_palette_get_icon_size ()

GtkIconSize
gtk_tool_palette_get_icon_size (GtkToolPalette *palette);

Получает размер значков на панели инструментов. См. gtk_tool_palette_set_icon_size().

Параметры

palette

a GtkToolPalette

Возвращает

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

[тип int]

С: 2.20

gtk_tool_palette_set_icon_size ()

void
gtk_tool_palette_set_icon_size (GtkToolPalette *palette,
                                GtkIconSize icon_size);

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

Параметры

palette

a GtkToolPalette

icon_size

GtkIconSize, который значки на панели инструментов должны иметь.

[тип int]

С: 2.20

gtk_tool_palette_unset_icon_size ()

void
gtk_tool_palette_unset_icon_size (GtkToolPalette *palette);

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

Параметры

palette

a GtkToolPalette

С: 2.20

gtk_tool_palette_get_style ()

GtkToolbarStyle
gtk_tool_palette_get_style (GtkToolPalette *palette);

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

Параметры

palette

a GtkToolPalette

Возвращает

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

С: 2.20

gtk_tool_palette_set_style ()

void
gtk_tool_palette_set_style (GtkToolPalette *palette,
                            GtkToolbarStyle style);

Устанавливает стиль (текст, значки или оба) элементов в палитре инструментов.

Параметры

palette

a GtkToolPalette

style

стиль GtkToolbarStyle, который должны иметь элементы в палитре инструментов

С момента: 2.20

gtk_tool_palette_unset_style ()

void
gtk_tool_palette_unset_style (GtkToolPalette *palette);

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

Параметры

palette

a GtkToolPalette

С момента: 2.20

gtk_tool_palette_add_drag_dest ()

void
gtk_tool_palette_add_drag_dest (GtkToolPalette *palette,
                                GtkWidget *widget,
                                GtkDestDefaults flags,
                                GtkToolPaletteDragTargets targets,
                                GdkDragAction actions);

Устанавливает palette как источник перетаскивания (см. gtk_tool_palette_set_drag_source()) и устанавливает widget как место назначения перетаскивания для перетаскивания из palette. См. gtk_drag_dest_set().

Параметры

palette

a GtkToolPalette

widget

a GtkWidget, который должен быть местом назначения перетаскивания для palette

flags

флаги, указывающие, какие действия GTK+ должны выполняться при опускании на этот виджет

targets

the GtkToolPaletteDragTargets, которые должен поддерживать виджет

actions

the GdkDragActions which the widget should suppport

С момента: 2.20

gtk_tool_palette_get_drag_item ()

GtkWidget *
gtk_tool_palette_get_drag_item (GtkToolPalette *palette,
                                const GtkSelectionData *selection);

Получить перетаскиваемый элемент из выделения. Это может быть GtkToolItem или GtkToolItemGroup.

Параметры

palette

a GtkToolPalette

selection

a GtkSelectionData

Возвращает

перетаскиваемый элемент в выделении.

[transfer none]

С момента: 2.20

gtk_tool_palette_get_drag_target_group ()

const GtkTargetEntry *
gtk_tool_palette_get_drag_target_group
                               (void);

Получить целевую запись для перетаскиваемой GtkToolItemGroup.

Возвращает

GtkTargetEntry для перетаскиваемой группы.

[transfer none]

С момента: 2.20

gtk_tool_palette_get_drag_target_item ()

const GtkTargetEntry *
gtk_tool_palette_get_drag_target_item (void);

Получает целевую запись для перетаскиваемого GtkToolItem.

Возвращает

GtkTargetEntry для перетаскиваемого элемента.

[transfer none]

С момента: 2.20

gtk_tool_palette_get_drop_group ()

GtkToolItemGroup *
gtk_tool_palette_get_drop_group (GtkToolPalette *palette,
                                 gint x,
                                 gint y);

Получить группу в позиции (x, y).

Параметры

palette

a GtkToolPalette

x

позиция по оси x

y

позиция по оси y

Возвращает

GtkToolItemGroup в позиции или NULL, если такой группы нет.

[nullable][transfer none]

С момента: 2.20

gtk_tool_palette_get_drop_item ()

GtkToolItem *
gtk_tool_palette_get_drop_item (GtkToolPalette *palette,
                                gint x,
                                gint y);

Получить элемент в позиции (x, y). См. gtk_tool_palette_get_drop_group().

Параметры

palette

a GtkToolPalette

x

позиция по оси x

y

позиция по оси y

Возвращает

GtkToolItem в позиции или NULL, если такого элемента нет.

[nullable][transfer none]

С момента: 2.20

gtk_tool_palette_set_drag_source ()

void
gtk_tool_palette_set_drag_source (GtkToolPalette *palette,
                                  GtkToolPaletteDragTargets targets);

Устанавливает палитру инструментов как источник перетаскивания. Включает все группы и элементы в палитре инструментов как источники перетаскивания при нажатии левой и правой кнопок мыши с действиями копирования и перемещения. См. gtk_drag_source_set().

Параметры

palette

a GtkToolPalette

targets

the GtkToolPaletteDragTargets which the widget should support

С момента: 2.20

gtk_tool_palette_get_hadjustment ()

GtkAdjustment *
gtk_tool_palette_get_hadjustment (GtkToolPalette *palette);

gtk_tool_palette_get_hadjustment было устаревшим начиная с версии 3.0 и не должно использоваться в новом коде.

Используйте gtk_scrollable_get_hadjustment()

Получает горизонтальную полосу прокрутки палитры инструментов.

Параметры

palette

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

Возвращает

горизонтальную полосу прокрутки palette .

[transfer none]

С: 2.20

gtk_tool_palette_get_vadjustment ()

GtkAdjustment *
gtk_tool_palette_get_vadjustment (GtkToolPalette *palette);

gtk_tool_palette_get_vadjustment было устаревшим начиная с версии 3.0 и не должно использоваться в новом коде.

Используйте gtk_scrollable_get_vadjustment()

Получает вертикальную полосу прокрутки палитры инструментов.

Параметры

palette

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

Возвращает

вертикальную полосу прокрутки palette .

[transfer none]

С: 2.20

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

struct GtkToolPalette

struct GtkToolPalette;

К нему напрямую обращаться не следует. Используйте функции-обработчики ниже.

struct GtkToolPaletteClass

struct GtkToolPaletteClass {
  GtkContainerClass parent_class;
};

Члены

перечисление GtkToolPaletteDragTargets

Флаги, используемые для указания поддерживаемых целей перетаскивания.

Члены

GTK_TOOL_PALETTE_DRAG_ITEMS

Поддержка перетаскивания элементов.

GTK_TOOL_PALETTE_DRAG_GROUPS

Поддержка перетаскивания групп.

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

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

  “icon-size”                GtkIconSize

Размер значков в палитре инструментов. При установке этого свойства оно переопределяет значение по умолчанию.

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

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

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

С: 2.20

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

  “icon-size-set”            gboolean

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

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

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

С: 2.20

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

  “toolbar-style”            GtkToolbarStyle

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

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

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

С: 2.20

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

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

  “exclusive”                gboolean

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

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

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

С: 2.20

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

  “expand”                   gboolean

Указывает, должна ли группа элементов получать дополнительное пространство при расширении палитры в данный момент.

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

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

С: 2.20

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

Spec-Zone.ru

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