[Cxplorer-cvs 01026] CVS update: cxplorer/src

Back to archive index

Yasumichi Akahoshi yasum****@users*****
2005年 4月 12日 (火) 22:09:07 JST


Index: cxplorer/src/cxp-property-dialog.c
diff -u cxplorer/src/cxp-property-dialog.c:1.2 cxplorer/src/cxp-property-dialog.c:1.3
--- cxplorer/src/cxp-property-dialog.c:1.2	Mon Apr 11 23:02:44 2005
+++ cxplorer/src/cxp-property-dialog.c	Tue Apr 12 22:09:07 2005
@@ -5,7 +5,7 @@
  * A widget of Property dialog
  * @author Yasumichi Akahoshi <yasum****@users*****>
  * @date Sun Apr 3 02:53:00 2005
- * $Revision: 1.2 $
+ * $Revision: 1.3 $
  ****************************************************************************/
 
 #ifdef HAVE_CONFIG_H
@@ -39,12 +39,14 @@
 /**
  * the private structure 
  */
-struct _CxpPropertyDialogPrivate
+typedef struct
 {
 	gchar *filename;
 	GtkWidget *info_labels[INFO_COUNT];
 	gboolean dispose_has_run;
-};
+} CxpPropertyDialogPrivate;
+
+#define CXP_PROPERTY_DIALOG_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), CXP_TYPE_PROPERTY_DIALOG, CxpPropertyDialogPrivate))
 
 static GObjectClass *parent_class = NULL;
 
@@ -53,8 +55,7 @@
 	CXP_PROPERTY_DIALOG_FILENAME = 1,
 };
 
-static void cxp_property_dialog_class_init (gpointer g_class,
-					    gpointer g_class_data);
+static void cxp_property_dialog_class_init (CxpPropertyDialogClass *klass);
 static void cxp_property_dialog_instance_init (GTypeInstance * instance,
 					       gpointer g_class);
 static void cxp_property_dialog_set_property (GObject * object,
@@ -68,11 +69,9 @@
 static void cxp_property_dialog_finalize (GObject * obj);
 static void cxp_property_dialog_set_values (CxpPropertyDialog *self);
 
-static void cxp_property_dialog_class_init (gpointer g_class,
-					    gpointer g_class_data)
+static void cxp_property_dialog_class_init (CxpPropertyDialogClass *klass)
 {
-	GObjectClass *gobject_class = G_OBJECT_CLASS (g_class);
-	CxpPropertyDialogClass *klass = CXP_PROPERTY_DIALOG_CLASS (g_class);
+	GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
 	GParamSpec *pspec;
 
 	gobject_class->set_property = cxp_property_dialog_set_property;
@@ -90,12 +89,15 @@
 	g_object_class_install_property (gobject_class,
 			CXP_PROPERTY_DIALOG_FILENAME,
 			pspec);
+
+	g_type_class_add_private (klass, sizeof (CxpPropertyDialogPrivate));
 }
 
 static void cxp_property_dialog_instance_init (GTypeInstance * instance,
 					       gpointer g_class)
 {
 	CxpPropertyDialog *self = CXP_PROPERTY_DIALOG (instance);
+	CxpPropertyDialogPrivate *private = CXP_PROPERTY_DIALOG_GET_PRIVATE(self);
 	GtkWidget *close_button;
 	GtkWidget *table;
 	GtkWidget *title_label;
@@ -112,9 +114,8 @@
 	};
 	gint index;
 
-	self->private = g_new (CxpPropertyDialogPrivate, 1);
-	self->private->filename = NULL;
-	self->private->dispose_has_run = FALSE;
+	private->filename = NULL;
+	private->dispose_has_run = FALSE;
 
 	gtk_window_set_destroy_with_parent(GTK_WINDOW(self), TRUE);
 	table = gtk_table_new(2, INFO_COUNT, FALSE);
@@ -126,10 +127,10 @@
 		gtk_table_attach (GTK_TABLE(table), title_label, 0, 1, index, index+1, GTK_FILL, 0, 2, 2);
 		gtk_widget_show (title_label);
 
-		self->private->info_labels[index] = gtk_label_new ("(null)");
-		gtk_misc_set_alignment (GTK_MISC(self->private->info_labels[index]), 0, 0);
-		gtk_table_attach (GTK_TABLE(table), self->private->info_labels[index], 1, 2, index, index+1, GTK_FILL, 0, 2, 2);
-		gtk_widget_show (self->private->info_labels[index]);
+		private->info_labels[index] = gtk_label_new ("(null)");
+		gtk_misc_set_alignment (GTK_MISC(private->info_labels[index]), 0, 0);
+		gtk_table_attach (GTK_TABLE(table), private->info_labels[index], 1, 2, index, index+1, GTK_FILL, 0, 2, 2);
+		gtk_widget_show (private->info_labels[index]);
 	}
 	gtk_widget_show (table);
 
@@ -144,15 +145,16 @@
 					      GParamSpec * pspec)
 {
 	CxpPropertyDialog *self = CXP_PROPERTY_DIALOG (object);
+	CxpPropertyDialogPrivate *private = CXP_PROPERTY_DIALOG_GET_PRIVATE(self);
 
 	switch (property_id)
 	{
 	case CXP_PROPERTY_DIALOG_FILENAME:
-		if (self->private->filename != NULL)
+		if (private->filename != NULL)
 		{
-			g_free (self->private->filename);
+			g_free (private->filename);
 		}
-		self->private->filename = g_value_dup_string (value);
+		private->filename = g_value_dup_string (value);
 		cxp_property_dialog_set_values (self);
 		break;
 	default:
@@ -165,12 +167,12 @@
 					      guint property_id, GValue * value,
 					      GParamSpec * pspec)
 {
-	CxpPropertyDialog *self = CXP_PROPERTY_DIALOG (object);
+	CxpPropertyDialogPrivate *private = CXP_PROPERTY_DIALOG_GET_PRIVATE(object);
 
 	switch (property_id)
 	{
 	case CXP_PROPERTY_DIALOG_FILENAME:
-		g_value_set_string (value, self->private->filename);
+		g_value_set_string (value, private->filename);
 		break;
 	default:
 		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
@@ -180,15 +182,15 @@
 
 static void cxp_property_dialog_dispose (GObject * obj)
 {
-	CxpPropertyDialog *self = CXP_PROPERTY_DIALOG (obj);
+	CxpPropertyDialogPrivate *private = CXP_PROPERTY_DIALOG_GET_PRIVATE(obj);
 
-	if (self->private->dispose_has_run)
+	if (private->dispose_has_run)
 	{
 		/* If dispose did already run, return. */
 		return;
 	}
 	/* Make sure dispose does not run twice. */
-	self->private->dispose_has_run = TRUE;
+	private->dispose_has_run = TRUE;
 
 	/* 
 	 * In dispose, you are supposed to free all types referenced from this
@@ -203,15 +205,6 @@
 
 static void cxp_property_dialog_finalize (GObject * obj)
 {
-	CxpPropertyDialog *self = CXP_PROPERTY_DIALOG (obj);
-
-	/*
-	 * Here, complete object destruction.
-	 * You might not need to do much...
-	 */
-
-	g_free (self->private);
-
 	/* Chain up to the parent class */
 	G_OBJECT_CLASS (parent_class)->finalize (obj);
 }
@@ -226,7 +219,7 @@
 			sizeof (CxpPropertyDialogClass),
 			NULL,	/* base_init */
 			NULL,	/* base_finalize */
-			cxp_property_dialog_class_init,	/* class_init */
+			(GClassInitFunc) cxp_property_dialog_class_init,	/* class_init */
 			NULL,	/* class_finalize */
 			NULL,	/* class_data */
 			sizeof (CxpPropertyDialog),
@@ -256,8 +249,9 @@
 
 static void cxp_property_dialog_set_values (CxpPropertyDialog *self)
 {
-	gchar *filename = self->private->filename;
-	GtkWidget **labels = self->private->info_labels;
+	CxpPropertyDialogPrivate *private = CXP_PROPERTY_DIALOG_GET_PRIVATE(self);
+	gchar *filename = private->filename;
+	GtkWidget **labels = private->info_labels;
 	gchar *value;
 	magic_t cookie;
 	struct stat status;
Index: cxplorer/src/cxp-property-dialog.h
diff -u cxplorer/src/cxp-property-dialog.h:1.1 cxplorer/src/cxp-property-dialog.h:1.2
--- cxplorer/src/cxp-property-dialog.h:1.1	Wed Apr  6 20:05:58 2005
+++ cxplorer/src/cxp-property-dialog.h	Tue Apr 12 22:09:07 2005
@@ -21,18 +21,13 @@
 
 typedef struct _CxpPropertyDialog CxpPropertyDialog;
 typedef struct _CxpPropertyDialogClass CxpPropertyDialogClass;
-typedef struct _CxpPropertyDialogPrivate CxpPropertyDialogPrivate;
 
 struct _CxpPropertyDialog {
 	GtkDialog parent;
-	/* instance members */
-        CxpPropertyDialogPrivate *private;
 };
 
 struct _CxpPropertyDialogClass {
 	GtkDialogClass parent;
-
-	/* class members */
 };
 
 /* used by CXP_TYPE_PROPERTY_DIALOG */


Cxplorer-cvs メーリングリストの案内
Back to archive index