GtkToolPalette
GtkToolPalette — Панель инструментов с категориями
Функции
Свойства
| GtkIconSize | icon-size | Чтение / Запись |
| gboolean | icon-size-set | Чтение / Запись |
| GtkToolbarStyle | toolbar-style | Чтение / Запись |
Типы и значения
| 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 | ||
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 |
С момента: 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);
Устанавливает позицию группы в качестве индекса палитры инструментов. Если позиция 0, группа станет первым дочерним элементом, если позиция -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 которые виджет должен поддерживать |
С версии: 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 которые виджет должен поддерживать |
С версии: 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 .
[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 |
Возвращает
вертикальную полосу прокрутки 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