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, который затем добавляется в 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 | ||
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, который значки на панели инструментов должны иметь. | [тип 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 |
С момента: 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 |
С момента: 2.20
gtk_tool_palette_set_drag_source ()
void gtk_tool_palette_set_drag_source (GtkToolPalette *palette,GtkToolPaletteDragTargets targets);
Устанавливает палитру инструментов как источник перетаскивания. Включает все группы и элементы в палитре инструментов как источники перетаскивания при нажатии левой и правой кнопок мыши с действиями копирования и перемещения. См. 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 | панель инструментов 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