GtkToolPalette
GtkToolPalette — Панель инструментов с категориями
Функции
Свойства
| GtkIconSize | icon-size | Чтение / Запись |
| gboolean | icon-size-set | Чтение / Запись |
| GtkToolbarStyle | toolbar-style | Чтение / Запись |
Типы и Значения
| 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 | ||
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 | ||
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 | ||
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 | ||
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 | ||
group |
Возвращаемое значение
индекс группы или -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 | ||
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 |
С версии: 2.20
gtk_tool_palette_set_icon_size ()
void gtk_tool_palette_set_icon_size (GtkToolPalette *palette,GtkIconSize icon_size);
Устанавливает размер значков в палитре инструментов.
Параметры
palette | ||
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 |
С версии: 2.20
gtk_tool_palette_get_style ()
GtkToolbarStyle
gtk_tool_palette_get_style (GtkToolPalette *palette); Получает стиль (значки, текст или оба) элементов в палитре инструментов.
Параметры
palette |
Возвращаемое значение
GtkToolbarStyle элементов в палитре инструментов.
С версии: 2.20
gtk_tool_palette_set_style ()
void gtk_tool_palette_set_style (GtkToolPalette *palette,GtkToolbarStyle style);
Устанавливает стиль (текст, значки или оба) элементов в палитре инструментов.
Параметры
palette | ||
style | стиль GtkToolbarStyle, который должны иметь элементы в палитре инструментов |
С момента: 2.20
gtk_tool_palette_unset_style ()
void
gtk_tool_palette_unset_style (GtkToolPalette *palette); Отменяет стиль панели инструментов, установленный с помощью gtk_tool_palette_set_style(), чтобы пользовательские настройки определяли стиль панели инструментов.
Параметры
palette |
С момента: 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 | ||
widget | a GtkWidget, который должен быть местом назначения перетаскивания для | |
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 | ||
selection |
Возвращаемое значение
перетаскиваемый элемент в выделении.
[transfer none]
С момента: 2.20
gtk_tool_palette_get_drag_target_group ()
const GtkTargetEntry *
gtk_tool_palette_get_drag_target_group
(void); Получить целевую запись для перетаскиваемой GtkToolItemGroup.
С момента: 2.20
gtk_tool_palette_get_drag_target_item ()
const GtkTargetEntry *
gtk_tool_palette_get_drag_target_item (void); Получить целевую запись для перетаскиваемого GtkToolItem.
С момента: 2.20
gtk_tool_palette_get_drop_group ()
GtkToolItemGroup * gtk_tool_palette_get_drop_group (GtkToolPalette *palette,gint x,gint y);
Получить группу в позиции (x, y).
Параметры
palette | ||
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 | ||
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 | ||
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 |
Возвращает
горизонтальную полосу прокрутки 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 |
Возвращает
вертикальную полосу прокрутки 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