Spec-Zone.ru › GTK 3.22

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
перечисление 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, а затем добавить полученный GtkToolItemGroup в GtkToolPalette. Для добавления GtkToolItemGroup в GtkToolPalette используйте gtk_container_add().

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

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);

Устанавливает позицию группы в качестве индекса палитры инструментов. Если позиция 0, группа станет первым дочерним элементом, если позиция -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 которые виджет должен поддерживать

С версии: 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 которые виджет должен поддерживать

С версии: 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

a 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

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

Spec-Zone.ru

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