BEAST/BSE - Better Audio System and Sound Engine
0.8.2
|
00001 // Licensed GNU LGPL v2.1 or later: http://www.gnu.org/licenses/lgpl.html 00002 #ifndef __GXK_RADGET_FACTORY_H__ 00003 #define __GXK_RADGET_FACTORY_H__ 00004 00005 #include "gxkradget.hh" 00006 #include "gxkaction.hh" 00007 00008 G_BEGIN_DECLS 00009 00010 00011 /* --- type macros --- */ 00012 #define GXK_TYPE_RADGET_FACTORY (gxk_radget_factory_get_type ()) 00013 #define GXK_RADGET_FACTORY(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GXK_TYPE_RADGET_FACTORY, GxkRadgetFactory)) 00014 #define GXK_RADGET_FACTORY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GXK_TYPE_RADGET_FACTORY, GxkRadgetFactoryClass)) 00015 #define GXK_IS_RADGET_FACTORY(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GXK_TYPE_RADGET_FACTORY)) 00016 #define GXK_IS_RADGET_FACTORY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GXK_TYPE_RADGET_FACTORY)) 00017 #define GXK_RADGET_FACTORY_GET_CLASS(object) (G_TYPE_INSTANCE_GET_CLASS ((object), GXK_TYPE_RADGET_FACTORY, GxkRadgetFactoryClass)) 00018 00019 00020 /* --- structures --- */ 00021 typedef struct { 00022 GObject parent_instance; 00023 GtkWindow *window; 00024 GxkRadget *radget; 00025 GxkRadget *xdef_radget; 00026 guint cslot; 00027 gulong timer; 00028 gchar *action_root; 00029 gchar *per_list; 00030 gchar *per_branch; 00031 gchar *per_action; 00032 gchar *name; 00033 gchar *action_list; 00034 gchar *activatable; 00035 gchar *regulate; 00036 GxkRadgetArgs *call_args; 00037 GData *branch_widgets; 00038 GSList *branches; 00039 } GxkRadgetFactory; 00040 typedef GObjectClass GxkRadgetFactoryClass; 00041 00042 00043 /* --- public API --- */ 00044 GType gxk_radget_factory_get_type (void); 00045 void gxk_radget_factory_check_anchored (GxkRadgetFactory *self); 00046 void gxk_radget_factory_attach (GxkRadgetFactory *self, 00047 GxkRadget *radget); 00048 void gxk_radget_factory_match (GxkRadgetFactory *self, 00049 const gchar *prefix, 00050 GxkActionList *alist); 00051 00052 00053 /* --- GxkFactoryBranch --- */ 00054 #define GXK_TYPE_FACTORY_BRANCH (gxk_factory_branch_get_type ()) 00055 #define GXK_FACTORY_BRANCH(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GXK_TYPE_FACTORY_BRANCH, GxkFactoryBranch)) 00056 #define GXK_FACTORY_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GXK_TYPE_FACTORY_BRANCH, GxkFactoryBranchClass)) 00057 #define GXK_IS_FACTORY_BRANCH(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GXK_TYPE_FACTORY_BRANCH)) 00058 #define GXK_IS_FACTORY_BRANCH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GXK_TYPE_FACTORY_BRANCH)) 00059 #define GXK_FACTORY_BRANCH_GET_CLASS(object) (G_TYPE_INSTANCE_GET_CLASS ((object), GXK_TYPE_FACTORY_BRANCH, GxkFactoryBranchClass)) 00060 typedef struct { 00061 GObject parent_instance; 00062 gchar *uline_label; 00063 gchar *key_label; 00064 GxkRadgetArgs *branch_args; 00065 } GxkFactoryBranch; 00066 typedef GObjectClass GxkFactoryBranchClass; 00067 GType gxk_factory_branch_get_type (void); 00068 00069 00070 /* --- implementation details --- */ 00071 extern const GxkRadgetType *gxk_radget_factory_def; 00072 extern const GxkRadgetType *gxk_factory_branch_def; 00073 00074 00075 G_END_DECLS 00076 00077 #endif /* __GXK_RADGET_FACTORY_H__ */