Zrythm
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
item_factory.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: © 2021-2023 Alexandros Theodotou <alex@zrythm.org>
2// SPDX-License-Identifier: LicenseRef-ZrythmLicense
3
16#ifndef __GUI_WIDGETS_ITEM_FACTORY_H__
17#define __GUI_WIDGETS_ITEM_FACTORY_H__
18
19#include "gtk_wrapper.h"
20
25{
26 ITEM_FACTORY_TOGGLE,
27 ITEM_FACTORY_TEXT,
28
31
34
37
40
43};
44
55typedef struct ItemFactory
56{
57 GtkListItemFactory * list_item_factory;
58
59 ItemFactoryType type;
60
61 bool editable;
62
63 bool ellipsize_label;
64
69
78item_factory_new (ItemFactoryType type, bool editable, const char * column_name);
79
89 GtkColumnView * column_view,
90 GPtrArray * item_factories,
91 ItemFactoryType type,
92 bool editable,
93 bool resizable,
94 GtkSorter * sorter,
95 const char * column_name);
96
97void
98item_factory_free (ItemFactory * self);
99
100void
101item_factory_free_func (void * self);
102
107#endif
ItemFactoryType
Item factory column type.
ItemFactory * item_factory_new(ItemFactoryType type, bool editable, const char *column_name)
Creates a new item factory.
ItemFactory * item_factory_generate_and_append_column(GtkColumnView *column_view, GPtrArray *item_factories, ItemFactoryType type, bool editable, bool resizable, GtkSorter *sorter, const char *column_name)
Shorthand to generate and append a column to a column view.
@ ITEM_FACTORY_ICON_AND_TEXT
Composite type (eg, used in plugin browser).
@ ITEM_FACTORY_COLOR
Color.
@ ITEM_FACTORY_POSITION
Position.
@ ITEM_FACTORY_ICON
Icon.
@ ITEM_FACTORY_INTEGER
Integer display.
Item factory for column views.
char * column_name
Column name, or NULL if used for list views.