BEAST/BSE - Better Audio System and Sound Engine  0.8.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
gxkradget.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_H__
00003 #define __GXK_RADGET_H__
00004 
00005 #include "gxkutils.hh"
00006 
00007 G_BEGIN_DECLS
00008 
00009 /* --- structures --- */
00010 #define GXK_RADGET    G_OBJECT
00011 #define GXK_IS_RADGET G_IS_OBJECT
00012 typedef void          GxkRadget;
00013 typedef struct _GxkRadgetArgs GxkRadgetArgs;
00014 
00015 
00016 /* --- radget args (aggregation of (name, value) pairs) --- */
00017 GxkRadgetArgs* gxk_radget_args          (const gchar         *name1,
00018                                          ...);
00019 GxkRadgetArgs* gxk_radget_args_valist   (const gchar         *name1,
00020                                          va_list              var_args);
00021 GxkRadgetArgs* gxk_radget_const_args    (void); /* based on intern_string values */
00022 GxkRadgetArgs* gxk_radget_args_set      (GxkRadgetArgs       *args,
00023                                          const gchar         *name,
00024                                          const gchar         *value);
00025 const gchar*   gxk_radget_args_get      (const GxkRadgetArgs *args,
00026                                          const gchar         *name);
00027 GxkRadgetArgs* gxk_radget_args_merge    (GxkRadgetArgs       *dest,
00028                                          const GxkRadgetArgs *source);
00029 void           gxk_radget_free_args     (GxkRadgetArgs       *args);
00030 
00031 
00032 /* --- radget functions --- */
00033 GxkRadget*    gxk_radget_create         (const gchar        *domain_name,
00034                                          const gchar        *name,
00035                                          const gchar        *var1,
00036                                          ...);
00037 GxkRadget*    gxk_radget_complete       (GxkRadget          *radget,
00038                                          const gchar        *domain_name,
00039                                          const gchar        *name,
00040                                          const gchar        *var1,
00041                                          ...);
00042 GxkRadget*    gxk_radget_creator        (GxkRadget          *radget,
00043                                          const gchar        *domain_name,
00044                                          const gchar        *name,
00045                                          GxkRadget          *parent,
00046                                          GSList             *call_args, /* const GxkRadgetArgs* */
00047                                          GSList             *env_args); /* const GxkRadgetArgs* */
00048 const gchar*  gxk_radget_get_domain     (GxkRadget          *radget);
00049 void          gxk_radget_parse          (const gchar        *domain_name,
00050                                          const gchar        *file_name,
00051                                          const gchar        *i18n_domain,
00052                                          GError            **error);
00053 void          gxk_radget_parse_text     (const gchar        *domain_name,
00054                                          const gchar        *text,
00055                                          gint                text_len,
00056                                          const gchar        *i18n_domain,
00057                                          GError            **error);
00058 gpointer      gxk_radget_find           (GxkRadget          *radget,
00059                                          const gchar        *name);
00060 gpointer      gxk_radget_find_area      (GxkRadget          *radget,
00061                                          const gchar        *area);
00062 void          gxk_radget_add            (GxkRadget          *radget,
00063                                          const gchar        *area,
00064                                          gpointer            widget);
00065 void          gxk_radget_sensitize      (GxkRadget          *radget,
00066                                          const gchar        *name,
00067                                          gboolean            sensitive);
00068 
00069 
00070 /* --- radget types --- */
00071 typedef struct GxkRadgetData GxkRadgetData;
00072 typedef struct {
00073   GParamSpec* (*find_prop) (GTypeClass         *klass,
00074                             const gchar        *construct_param_name);
00075   GxkRadget*  (*create)    (GType               type,
00076                             const gchar        *name,
00077                             guint               n_construct_params,
00078                             GParameter         *construct_params,
00079                             GxkRadgetData      *gdgdata);
00080   void        (*set_prop)  (GxkRadget          *radget,
00081                             const gchar        *prop_name,
00082                             const GValue       *value);
00083   gboolean    (*adopt)     (GxkRadget          *radget,
00084                             GxkRadget          *parent,
00085                             GxkRadgetData      *gdgdata);
00086   GParamSpec* (*find_pack) (GxkRadget          *radget,
00087                             const gchar        *pack_name);
00088   void        (*set_pack)  (GxkRadget          *radget,
00089                             const gchar        *pack_name,
00090                             const GValue       *value);
00091 } GxkRadgetType;
00092 void     gxk_radget_define_widget_type           (GType                type);
00093 void     gxk_radget_define_type                  (GType                type,
00094                                                   const GxkRadgetType *ggtype);
00095 gboolean gxk_radget_type_lookup                  (GType                type,
00096                                                   GxkRadgetType       *ggtype);
00097 typedef void (*GxkRadgetHook)                    (GxkRadget           *radget,
00098                                                   guint                property_id,
00099                                                   const GValue        *value,
00100                                                   GParamSpec          *pspec);
00101 void           gxk_radget_register_hook          (GParamSpec          *pspec,
00102                                                   guint                property_id,
00103                                                   GxkRadgetHook        hook_func);
00104 GxkRadgetArgs* gxk_radget_data_copy_call_args    (GxkRadgetData       *gdgdata);
00105 GxkRadget*     gxk_radget_data_get_scope_radget  (GxkRadgetData       *gdgdata);
00106 gchar*         gxk_radget_data_dup_expand        (GxkRadgetData       *gdgdata,
00107                                                   const gchar         *expression);
00108 
00109 G_END_DECLS
00110 
00111 #endif /* __GXK_RADGET_H__ */
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines