GtkObject -> GObject for GladeProject.

This commit is contained in:
Paolo Borelli 2003-08-03 17:56:23 +00:00
parent 483a61bbb7
commit fee165f3ad
3 changed files with 102 additions and 73 deletions

View File

@ -1,3 +1,8 @@
2003-08-03 Paolo Borelli <pborelli@katamail.com>
* src/glade-project.[ch]: convert from
GtkObject to GObject.
2003-08-03 Paolo Borelli <pborelli@katamail.com> 2003-08-03 Paolo Borelli <pborelli@katamail.com>
* src/glade-project.[ch]: turn the list * src/glade-project.[ch]: turn the list

View File

@ -35,7 +35,7 @@
#include "glade-placeholder.h" #include "glade-placeholder.h"
#include "glade-utils.h" #include "glade-utils.h"
static void glade_project_class_init (GladeProjectClass * klass); static void glade_project_class_init (GladeProjectClass *class);
static void glade_project_init (GladeProject *project); static void glade_project_init (GladeProject *project);
enum enum
@ -48,80 +48,92 @@ enum
}; };
static guint glade_project_signals[LAST_SIGNAL] = {0}; static guint glade_project_signals[LAST_SIGNAL] = {0};
static GtkObjectClass *parent_class = NULL; static GObjectClass *parent_class = NULL;
guint GType
glade_project_get_type (void) glade_project_get_type (void)
{ {
static guint glade_project_type = 0; static GType type = 0;
if (!glade_project_type) if (!type) {
{ static const GTypeInfo info = {
GtkTypeInfo glade_project_info =
{
"GladeProject",
sizeof (GladeProject),
sizeof (GladeProjectClass), sizeof (GladeProjectClass),
(GtkClassInitFunc) glade_project_class_init, (GBaseInitFunc) NULL,
(GtkObjectInitFunc) glade_project_init, (GBaseFinalizeFunc) NULL,
/* reserved_1 */ NULL, (GClassInitFunc) glade_project_class_init,
/* reserved_2 */ NULL, (GClassFinalizeFunc) NULL,
(GtkClassInitFunc) NULL, NULL,
sizeof (GladeProject),
0,
(GInstanceInitFunc) glade_project_init
}; };
glade_project_type = gtk_type_unique (gtk_object_get_type (), type = g_type_register_static (G_TYPE_OBJECT, "GladeProject", &info, 0);
&glade_project_info);
} }
return glade_project_type; return type;
} }
static void static void
glade_project_class_init (GladeProjectClass * klass) glade_project_class_init (GladeProjectClass *class)
{ {
GtkObjectClass *object_class; GObjectClass *object_class;
object_class = (GtkObjectClass *) klass; object_class = G_OBJECT_CLASS (class);
parent_class = gtk_type_class (gtk_object_get_type ()); parent_class = g_type_class_peek_parent (class);
glade_project_signals[ADD_WIDGET] = glade_project_signals[ADD_WIDGET] =
gtk_signal_new ("add_widget", g_signal_new ("add_widget",
GTK_RUN_LAST, G_TYPE_FROM_CLASS (object_class),
GTK_CLASS_TYPE (object_class), G_SIGNAL_RUN_LAST,
GTK_SIGNAL_OFFSET (GladeProjectClass, add_widget), G_STRUCT_OFFSET (GladeProjectClass, add_widget),
gtk_marshal_NONE__POINTER, NULL, NULL,
GTK_TYPE_NONE, 1, GTK_TYPE_POINTER); g_cclosure_marshal_VOID__POINTER,
G_TYPE_NONE,
1,
G_TYPE_POINTER);
glade_project_signals[REMOVE_WIDGET] = glade_project_signals[REMOVE_WIDGET] =
gtk_signal_new ("remove_widget", g_signal_new ("remove_widget",
GTK_RUN_LAST, G_TYPE_FROM_CLASS (object_class),
GTK_CLASS_TYPE (object_class), G_SIGNAL_RUN_LAST,
GTK_SIGNAL_OFFSET (GladeProjectClass, remove_widget), G_STRUCT_OFFSET (GladeProjectClass, remove_widget),
gtk_marshal_NONE__POINTER, NULL, NULL,
GTK_TYPE_NONE, 1, GTK_TYPE_POINTER); g_cclosure_marshal_VOID__POINTER,
G_TYPE_NONE,
1,
G_TYPE_POINTER);
glade_project_signals[WIDGET_NAME_CHANGED] = glade_project_signals[WIDGET_NAME_CHANGED] =
gtk_signal_new ("widget_name_changed", g_signal_new ("widget_name_changed",
GTK_RUN_LAST, G_TYPE_FROM_CLASS (object_class),
GTK_CLASS_TYPE (object_class), G_SIGNAL_RUN_LAST,
GTK_SIGNAL_OFFSET (GladeProjectClass, widget_name_changed), G_STRUCT_OFFSET (GladeProjectClass, widget_name_changed),
gtk_marshal_NONE__POINTER, NULL, NULL,
GTK_TYPE_NONE, 1, GTK_TYPE_POINTER); g_cclosure_marshal_VOID__POINTER,
G_TYPE_NONE,
1,
G_TYPE_POINTER);
glade_project_signals[SELECTION_CHANGED] = glade_project_signals[SELECTION_CHANGED] =
gtk_signal_new ("selection_changed", g_signal_new ("selection_changed",
GTK_RUN_LAST, G_TYPE_FROM_CLASS (object_class),
GTK_CLASS_TYPE (object_class), G_SIGNAL_RUN_LAST,
GTK_SIGNAL_OFFSET (GladeProjectClass, selection_changed), G_STRUCT_OFFSET (GladeProjectClass, selection_changed),
gtk_marshal_VOID__VOID, NULL, NULL,
GTK_TYPE_NONE, 0); g_cclosure_marshal_VOID__VOID,
G_TYPE_NONE,
klass->add_widget = NULL; 0);
klass->remove_widget = NULL;
klass->widget_name_changed = NULL; class->add_widget = NULL;
klass->selection_changed = NULL; class->remove_widget = NULL;
class->widget_name_changed = NULL;
class->selection_changed = NULL;
} }
static void static void
glade_project_init (GladeProject * project) glade_project_init (GladeProject *project)
{ {
project->name = NULL; project->name = NULL;
project->widgets = NULL; project->widgets = NULL;
@ -136,7 +148,7 @@ glade_project_new (gboolean untitled)
GladeProject *project; GladeProject *project;
static gint i = 1; static gint i = 1;
project = GLADE_PROJECT (gtk_type_new (glade_project_get_type ())); project = g_object_new (GLADE_TYPE_PROJECT, NULL);
if (untitled) if (untitled)
project->name = g_strdup_printf ("Untitled %i", i++); project->name = g_strdup_printf ("Untitled %i", i++);
@ -147,8 +159,9 @@ glade_project_new (gboolean untitled)
void void
glade_project_selection_changed (GladeProject *project) glade_project_selection_changed (GladeProject *project)
{ {
gtk_signal_emit (GTK_OBJECT (project), g_signal_emit (G_OBJECT (project),
glade_project_signals [SELECTION_CHANGED]); glade_project_signals [SELECTION_CHANGED],
0);
} }
static void static void
@ -189,8 +202,10 @@ glade_project_add_widget_real (GladeProject *project,
gwidget->project = project; gwidget->project = project;
project->widgets = g_list_prepend (project->widgets, widget); project->widgets = g_list_prepend (project->widgets, widget);
gtk_signal_emit (GTK_OBJECT (project), g_signal_emit (G_OBJECT (project),
glade_project_signals [ADD_WIDGET], gwidget); glade_project_signals [ADD_WIDGET],
0,
gwidget);
} }
/** /**
@ -251,8 +266,10 @@ glade_project_remove_widget_real (GladeProject *project,
glade_project_selection_changed (project); glade_project_selection_changed (project);
project->widgets = g_list_remove (project->widgets, widget); project->widgets = g_list_remove (project->widgets, widget);
gtk_signal_emit (GTK_OBJECT (project), g_signal_emit (G_OBJECT (project),
glade_project_signals [REMOVE_WIDGET], widget); glade_project_signals [REMOVE_WIDGET],
0,
widget);
} }
/** /**
@ -288,8 +305,10 @@ glade_project_widget_name_changed (GladeProject *project,
g_return_if_fail (GLADE_IS_PROJECT (project)); g_return_if_fail (GLADE_IS_PROJECT (project));
g_return_if_fail (GTK_IS_OBJECT (project)); g_return_if_fail (GTK_IS_OBJECT (project));
gtk_signal_emit (GTK_OBJECT (project), g_signal_emit (GTK_OBJECT (project),
glade_project_signals [WIDGET_NAME_CHANGED], widget); glade_project_signals [WIDGET_NAME_CHANGED],
0,
widget);
project->changed = TRUE; project->changed = TRUE;
} }

View File

@ -5,20 +5,25 @@
G_BEGIN_DECLS G_BEGIN_DECLS
#define GLADE_PROJECT(obj) GTK_CHECK_CAST (obj, glade_project_get_type (), GladeProject) #define GLADE_TYPE_PROJECT (glade_project_get_type ())
#define GLADE_PROJECT_CLASS(klass) GTK_CHECK_CLASS_CAST (klass, glade_project_get_type (), GladeProjectClass) #define GLADE_PROJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GLADE_TYPE_PROJECT, GladeProject))
#define GLADE_IS_PROJECT(obj) GTK_CHECK_TYPE (obj, glade_project_get_type ()) #define GLADE_PROJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GLADE_TYPE_PROJECT, GladeProjectClass))
#define GLADE_IS_PROJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GLADE_TYPE_PROJECT))
#define GLADE_IS_PROJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GLADE_TYPE_PROJECT))
#define GLADE_PROJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GLADE_TYPE_PROJECT, GladeProjectClass))
typedef struct _GladeProjectClass GladeProjectClass; typedef struct _GladeProjectClass GladeProjectClass;
/* A GladeProject is well... a project nothing more nothing less. It is the /* A GladeProject is well... a project nothing more nothing less. It is the
* memory representation of a glade file */ * memory representation of a glade file
*/
struct _GladeProject struct _GladeProject
{ {
GtkObject object; /* We emit signals */ GObject object; /* We emit signals */
gchar *name; /* The name of the project like network-conf */ gchar *name; /* The name of the project like network-conf */
gchar *path; /* The full path of the xml file for this project*/
gchar *path; /* The full path of the xml file for this project*/
GtkItemFactoryEntry entry; /* The menu entry in the /Project menu */ GtkItemFactoryEntry entry; /* The menu entry in the /Project menu */
@ -46,7 +51,7 @@ struct _GladeProject
struct _GladeProjectClass struct _GladeProjectClass
{ {
GtkObjectClass parent_class; GObjectClass parent_class;
void (*add_widget) (GladeProject *project, void (*add_widget) (GladeProject *project,
GladeWidget *widget); GladeWidget *widget);
@ -58,7 +63,7 @@ struct _GladeProjectClass
}; };
guint glade_project_get_type (void); GType glade_project_get_type (void);
GladeProject *glade_project_new (gboolean untitled); GladeProject *glade_project_new (gboolean untitled);