|
Packit |
1e8aac |
#ifndef __GLADE_EDITOR_PROPERTY_H__
|
|
Packit |
1e8aac |
#define __GLADE_EDITOR_PROPERTY_H__
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
#include <gtk/gtk.h>
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
G_BEGIN_DECLS
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
/*******************************************************************************
|
|
Packit |
1e8aac |
Boiler plate macros (inspired from glade-command.c)
|
|
Packit |
1e8aac |
*******************************************************************************/
|
|
Packit |
1e8aac |
/* XXX document me ! */
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
#define GLADE_MAKE_EPROP_TYPE(func, type, parent) \
|
|
Packit |
1e8aac |
GType \
|
|
Packit |
1e8aac |
func ## _get_type (void) \
|
|
Packit |
1e8aac |
{ \
|
|
Packit |
1e8aac |
static GType cmd_type = 0; \
|
|
Packit |
1e8aac |
\
|
|
Packit |
1e8aac |
if (!cmd_type) \
|
|
Packit |
1e8aac |
{ \
|
|
Packit |
1e8aac |
static const GTypeInfo info = \
|
|
Packit |
1e8aac |
{ \
|
|
Packit |
1e8aac |
sizeof (type ## Class), \
|
|
Packit |
1e8aac |
(GBaseInitFunc) NULL, \
|
|
Packit |
1e8aac |
(GBaseFinalizeFunc) NULL, \
|
|
Packit |
1e8aac |
(GClassInitFunc) func ## _class_init, \
|
|
Packit |
1e8aac |
(GClassFinalizeFunc) NULL, \
|
|
Packit |
1e8aac |
NULL, \
|
|
Packit |
1e8aac |
sizeof (type), \
|
|
Packit |
1e8aac |
0, \
|
|
Packit |
1e8aac |
(GInstanceInitFunc) NULL \
|
|
Packit |
1e8aac |
}; \
|
|
Packit |
1e8aac |
\
|
|
Packit |
1e8aac |
cmd_type = g_type_register_static (parent, #type, &info, 0); \
|
|
Packit |
1e8aac |
} \
|
|
Packit |
1e8aac |
\
|
|
Packit |
1e8aac |
return cmd_type; \
|
|
Packit |
1e8aac |
} \
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
#define GLADE_MAKE_EPROP(type, func) \
|
|
Packit |
1e8aac |
static void \
|
|
Packit |
1e8aac |
func ## _finalize (GObject *object); \
|
|
Packit |
1e8aac |
static void \
|
|
Packit |
1e8aac |
func ## _load (GladeEditorProperty *me, GladeProperty *property); \
|
|
Packit |
1e8aac |
static GtkWidget * \
|
|
Packit |
1e8aac |
func ## _create_input (GladeEditorProperty *me); \
|
|
Packit |
1e8aac |
static void \
|
|
Packit |
1e8aac |
func ## _class_init (gpointer parent_tmp, gpointer notused) \
|
|
Packit |
1e8aac |
{ \
|
|
Packit |
1e8aac |
GladeEditorPropertyClass *parent = parent_tmp; \
|
|
Packit |
1e8aac |
GObjectClass* object_class; \
|
|
Packit |
1e8aac |
object_class = G_OBJECT_CLASS (parent); \
|
|
Packit |
1e8aac |
parent->load = func ## _load; \
|
|
Packit |
1e8aac |
parent->create_input = func ## _create_input; \
|
|
Packit |
1e8aac |
object_class->finalize = func ## _finalize; \
|
|
Packit |
1e8aac |
} \
|
|
Packit |
1e8aac |
typedef struct { \
|
|
Packit |
1e8aac |
GladeEditorPropertyClass cmd; \
|
|
Packit |
1e8aac |
} type ## Class; \
|
|
Packit |
1e8aac |
GLADE_MAKE_EPROP_TYPE(func, type, GLADE_TYPE_EDITOR_PROPERTY)
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
#define GLADE_TYPE_EDITOR_PROPERTY (glade_editor_property_get_type())
|
|
Packit |
1e8aac |
#define GLADE_EDITOR_PROPERTY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GLADE_TYPE_EDITOR_PROPERTY, GladeEditorProperty))
|
|
Packit |
1e8aac |
#define GLADE_EDITOR_PROPERTY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GLADE_TYPE_EDITOR_PROPERTY, GladeEditorPropertyClass))
|
|
Packit |
1e8aac |
#define GLADE_IS_EDITOR_PROPERTY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GLADE_TYPE_EDITOR_PROPERTY))
|
|
Packit |
1e8aac |
#define GLADE_IS_EDITOR_PROPERTY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GLADE_TYPE_EDITOR_PROPERTY))
|
|
Packit |
1e8aac |
#define GLADE_EDITOR_PROPERTY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GLADE_EDITOR_PROPERTY, GladeEditorPropertyClass))
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
typedef struct _GladeEditorProperty GladeEditorProperty;
|
|
Packit |
1e8aac |
typedef struct _GladeEditorPropertyClass GladeEditorPropertyClass;
|
|
Packit |
1e8aac |
typedef struct _GladeEditorPropertyPrivate GladeEditorPropertyPrivate;
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
struct _GladeEditorProperty
|
|
Packit |
1e8aac |
{
|
|
Packit |
1e8aac |
GtkBox parent_instance;
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
GladeEditorPropertyPrivate *priv;
|
|
Packit |
1e8aac |
};
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
struct _GladeEditorPropertyClass {
|
|
Packit |
1e8aac |
GtkBoxClass parent_class;
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
void (* load) (GladeEditorProperty *, GladeProperty *);
|
|
Packit |
1e8aac |
GtkWidget *(* create_input) (GladeEditorProperty *);
|
|
Packit |
1e8aac |
void (* commit) (GladeEditorProperty *, GValue *);
|
|
Packit |
1e8aac |
void *(* changed) (GladeEditorProperty *, GladeProperty *);
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
void (* glade_reserved1) (void);
|
|
Packit |
1e8aac |
void (* glade_reserved2) (void);
|
|
Packit |
1e8aac |
void (* glade_reserved3) (void);
|
|
Packit |
1e8aac |
void (* glade_reserved4) (void);
|
|
Packit |
1e8aac |
};
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
GType glade_editor_property_get_type (void) G_GNUC_CONST;
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
void glade_editor_property_load (GladeEditorProperty *eprop,
|
|
Packit |
1e8aac |
GladeProperty *property);
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
void glade_editor_property_load_by_widget (GladeEditorProperty *eprop,
|
|
Packit |
1e8aac |
GladeWidget *widget);
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
void glade_editor_property_commit (GladeEditorProperty *eprop,
|
|
Packit |
1e8aac |
GValue *value);
|
|
Packit |
1e8aac |
void glade_editor_property_commit_no_callback (GladeEditorProperty *eprop,
|
|
Packit |
1e8aac |
GValue *value);
|
|
Packit |
1e8aac |
void glade_editor_property_set_custom_text (GladeEditorProperty *eprop,
|
|
Packit |
1e8aac |
const gchar *custom_text);
|
|
Packit |
1e8aac |
const gchar *glade_editor_property_get_custom_text (GladeEditorProperty *eprop);
|
|
Packit |
1e8aac |
void glade_editor_property_set_disable_check (GladeEditorProperty *eprop,
|
|
Packit |
1e8aac |
gboolean disable_check);
|
|
Packit |
1e8aac |
gboolean glade_editor_property_get_disable_check (GladeEditorProperty *eprop);
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
GtkWidget *glade_editor_property_get_item_label (GladeEditorProperty *eprop);
|
|
Packit |
1e8aac |
GladePropertyClass *glade_editor_property_get_pclass (GladeEditorProperty *eprop);
|
|
Packit |
1e8aac |
GladeProperty *glade_editor_property_get_property (GladeEditorProperty *eprop);
|
|
Packit |
1e8aac |
gboolean glade_editor_property_loading (GladeEditorProperty *eprop);
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
gboolean glade_editor_property_show_i18n_dialog (GtkWidget *parent,
|
|
Packit |
1e8aac |
gchar **text,
|
|
Packit |
1e8aac |
gchar **context,
|
|
Packit |
1e8aac |
gchar **comment,
|
|
Packit |
1e8aac |
gboolean *translatable);
|
|
Packit |
1e8aac |
gboolean glade_editor_property_show_resource_dialog (GladeProject *project,
|
|
Packit |
1e8aac |
GtkWidget *parent,
|
|
Packit |
1e8aac |
gchar **filename);
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
gboolean glade_editor_property_show_object_dialog (GladeProject *project,
|
|
Packit |
1e8aac |
const gchar *title,
|
|
Packit |
1e8aac |
GtkWidget *parent,
|
|
Packit |
1e8aac |
GType object_type,
|
|
Packit |
1e8aac |
GladeWidget *exception,
|
|
Packit |
1e8aac |
GladeWidget **object);
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
/* Generic eprops */
|
|
Packit |
1e8aac |
#define GLADE_TYPE_EPROP_NUMERIC (glade_eprop_numeric_get_type())
|
|
Packit |
1e8aac |
#define GLADE_TYPE_EPROP_ENUM (glade_eprop_enum_get_type())
|
|
Packit |
1e8aac |
#define GLADE_TYPE_EPROP_FLAGS (glade_eprop_flags_get_type())
|
|
Packit |
1e8aac |
#define GLADE_TYPE_EPROP_COLOR (glade_eprop_color_get_type())
|
|
Packit |
1e8aac |
#define GLADE_TYPE_EPROP_NAMED_ICON (glade_eprop_named_icon_get_type())
|
|
Packit |
1e8aac |
#define GLADE_TYPE_EPROP_TEXT (glade_eprop_text_get_type())
|
|
Packit |
1e8aac |
#define GLADE_TYPE_EPROP_BOOL (glade_eprop_bool_get_type())
|
|
Packit |
1e8aac |
#define GLADE_TYPE_EPROP_CHECK (glade_eprop_check_get_type())
|
|
Packit |
1e8aac |
#define GLADE_TYPE_EPROP_UNICHAR (glade_eprop_unichar_get_type())
|
|
Packit |
1e8aac |
#define GLADE_TYPE_EPROP_OBJECT (glade_eprop_object_get_type())
|
|
Packit |
1e8aac |
#define GLADE_TYPE_EPROP_OBJECTS (glade_eprop_objects_get_type())
|
|
Packit |
1e8aac |
GType glade_eprop_numeric_get_type (void) G_GNUC_CONST;
|
|
Packit |
1e8aac |
GType glade_eprop_enum_get_type (void) G_GNUC_CONST;
|
|
Packit |
1e8aac |
GType glade_eprop_flags_get_type (void) G_GNUC_CONST;
|
|
Packit |
1e8aac |
GType glade_eprop_color_get_type (void) G_GNUC_CONST;
|
|
Packit |
1e8aac |
GType glade_eprop_named_icon_get_type (void) G_GNUC_CONST;
|
|
Packit |
1e8aac |
GType glade_eprop_text_get_type (void) G_GNUC_CONST;
|
|
Packit |
1e8aac |
GType glade_eprop_bool_get_type (void) G_GNUC_CONST;
|
|
Packit |
1e8aac |
GType glade_eprop_check_get_type (void) G_GNUC_CONST;
|
|
Packit |
1e8aac |
GType glade_eprop_unichar_get_type (void) G_GNUC_CONST;
|
|
Packit |
1e8aac |
GType glade_eprop_object_get_type (void) G_GNUC_CONST;
|
|
Packit |
1e8aac |
GType glade_eprop_objects_get_type (void) G_GNUC_CONST;
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
G_END_DECLS
|
|
Packit |
1e8aac |
|
|
Packit |
1e8aac |
#endif /* __GLADE_EDITOR_PROPERTY_H__ */
|