BEAST - Free Software Audio Synthesizer and Tracker  0.9.2
gxkradgetfactory.hh
Go to the documentation of this file.
1  // Licensed GNU LGPL v2.1 or later: http://www.gnu.org/licenses/lgpl.html
2 #ifndef __GXK_RADGET_FACTORY_H__
3 #define __GXK_RADGET_FACTORY_H__
4 
5 #include "gxkradget.hh"
6 #include "gxkaction.hh"
7 
8 G_BEGIN_DECLS
9 
10 
11 /* --- type macros --- */
12 #define GXK_TYPE_RADGET_FACTORY (gxk_radget_factory_get_type ())
13 #define GXK_RADGET_FACTORY(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GXK_TYPE_RADGET_FACTORY, GxkRadgetFactory))
14 #define GXK_RADGET_FACTORY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GXK_TYPE_RADGET_FACTORY, GxkRadgetFactoryClass))
15 #define GXK_IS_RADGET_FACTORY(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GXK_TYPE_RADGET_FACTORY))
16 #define GXK_IS_RADGET_FACTORY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GXK_TYPE_RADGET_FACTORY))
17 #define GXK_RADGET_FACTORY_GET_CLASS(object) (G_TYPE_INSTANCE_GET_CLASS ((object), GXK_TYPE_RADGET_FACTORY, GxkRadgetFactoryClass))
18 
19 
20 /* --- structures --- */
21 typedef struct {
22  GObject parent_instance;
23  GtkWindow *window;
24  GxkRadget *radget;
25  GxkRadget *xdef_radget;
26  guint cslot;
27  gulong timer;
28  gchar *action_root;
29  gchar *per_list;
30  gchar *per_branch;
31  gchar *per_action;
32  gchar *name;
33  gchar *action_list;
34  gchar *activatable;
35  gchar *regulate;
36  GxkRadgetArgs *call_args;
37  GData *branch_widgets;
38  GSList *branches;
40 typedef GObjectClass GxkRadgetFactoryClass;
41 
42 
43 /* --- public API --- */
44 GType gxk_radget_factory_get_type (void);
45 void gxk_radget_factory_check_anchored (GxkRadgetFactory *self);
46 void gxk_radget_factory_attach (GxkRadgetFactory *self,
47  GxkRadget *radget);
48 void gxk_radget_factory_match (GxkRadgetFactory *self,
49  const gchar *prefix,
50  GxkActionList *alist);
51 
52 
53 /* --- GxkFactoryBranch --- */
54 #define GXK_TYPE_FACTORY_BRANCH (gxk_factory_branch_get_type ())
55 #define GXK_FACTORY_BRANCH(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GXK_TYPE_FACTORY_BRANCH, GxkFactoryBranch))
56 #define GXK_FACTORY_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GXK_TYPE_FACTORY_BRANCH, GxkFactoryBranchClass))
57 #define GXK_IS_FACTORY_BRANCH(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GXK_TYPE_FACTORY_BRANCH))
58 #define GXK_IS_FACTORY_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GXK_TYPE_FACTORY_BRANCH))
59 #define GXK_FACTORY_BRANCH_GET_CLASS(object) (G_TYPE_INSTANCE_GET_CLASS ((object), GXK_TYPE_FACTORY_BRANCH, GxkFactoryBranchClass))
60 typedef struct {
61  GObject parent_instance;
62  gchar *uline_label;
63  gchar *key_label;
64  GxkRadgetArgs *branch_args;
66 typedef GObjectClass GxkFactoryBranchClass;
67 GType gxk_factory_branch_get_type (void);
68 
69 
70 /* --- implementation details --- */
71 extern const GxkRadgetType *gxk_radget_factory_def;
72 extern const GxkRadgetType *gxk_factory_branch_def;
73 
74 
75 G_END_DECLS
76 
77 #endif /* __GXK_RADGET_FACTORY_H__ */
Definition: gxkradgetfactory.hh:60
Definition: gxkradget.hh:72
Definition: gxkradgetfactory.hh:21