Spec-Zone.ru › GTK 3.24

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, а затем добавить полученный 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 (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

[type 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

[type 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.

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

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

[transfer none]

С момента: 2.20

gtk_tool_palette_get_drag_target_item ()

const GtkTargetEntry *
gtk_tool_palette_get_drag_target_item (void);

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

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

the 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

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

the 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

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

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

[nullable][transfer none]

С момента: 2.20

gtk_tool_palette_set_drag_source ()

void
gtk_tool_palette_set_drag_source (GtkToolPalette *palette,
                                  GtkToolPaletteDragTargets targets);

Устанавливает палитру инструментов в качестве источника перетаскивания. Включает все группы и элементы в палитре инструментов в качестве источников перетаскивания при нажатии кнопок 1 и 3 с действиями копирования и перемещения. См. 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

a GtkToolPalette

Возвращает

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

[передачи нет]

С: 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 .

[передачи нет]

С: 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

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

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

Владелец: GtkToolPalette

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

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

С: 2.20

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

  “icon-size-set”            gboolean

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

Владелец: GtkToolPalette

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

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

С: 2.20

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

  “toolbar-style”            GtkToolbarStyle

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

Владелец: GtkToolPalette

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

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

С: 2.20

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

Свойство “exclusive”

  “exclusive”                gboolean

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

Владелец: GtkToolPalette

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

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

С: 2.20

Свойство “expand”

  “expand”                   gboolean

Получает ли группа элементов дополнительное пространство при увеличении палитры.

Владелец: GtkToolPalette

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

Значение по умолчанию: 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.24/GtkToolPalette.html

Spec-Zone.ru

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