BEAST/BSE - Better Audio System and Sound Engine  0.8.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
gxkradgetfactory.hh
Go to the documentation of this file.
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__ */
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines