[gimp] Code cleanup.



commit 1c8255de59c9ac79dcd90609b19ec34d5225fb30
Author: Roman Joost <romanofski gimp org>
Date:   Sun Sep 27 14:37:05 2009 +1000

    Code cleanup.
    
    I changed the name of the GimpXMPModelEntry, which reads now better as
    GimpXmpModelEntry. I removed functions in the interface, which are not
    in use anymore, because of the code improvements in the entry widget and
    the XMPModel. The new entry widget is not build as a library anymore.

 plug-ins/metadata/Makefile.am         |   44 +++++++++-------------
 plug-ins/metadata/gimpxmpmodelentry.c |   65 +++++++++++++++++----------------
 plug-ins/metadata/gimpxmpmodelentry.h |   32 +++++++++++-----
 plug-ins/metadata/interface.c         |   30 ---------------
 plug-ins/metadata/xmp-model.h         |    4 +-
 5 files changed, 76 insertions(+), 99 deletions(-)
---
diff --git a/plug-ins/metadata/Makefile.am b/plug-ins/metadata/Makefile.am
index 4d315a9..a60f8b3 100644
--- a/plug-ins/metadata/Makefile.am
+++ b/plug-ins/metadata/Makefile.am
@@ -1,6 +1,5 @@
 ## Process this file with automake to produce Makefile.in
 
-libgimpxmpmodelentry = libgimpxmpmodelentry.a
 libgimpui = $(top_builddir)/libgimp/libgimpui-$(GIMP_API_VERSION).la
 libgimpwidgets = $(top_builddir)/libgimpwidgets/libgimpwidgets-$(GIMP_API_VERSION).la
 libgimp = $(top_builddir)/libgimp/libgimp-$(GIMP_API_VERSION).la
@@ -15,35 +14,29 @@ endif
 
 AM_LDFLAGS = $(mwindows)
 
-noinst_LIBRARIES = libgimpxmpmodelentry.a
-
-libgimpxmpmodelentry_a_SOURCES = \
-	gimpxmpmodelentry.h	\
-	gimpxmpmodelentry.c	\
-	xmp-model.c		\
-	xmp-model.h
-
 libexecdir = $(gimpplugindir)/plug-ins
 
 libexec_PROGRAMS = metadata
 
 metadata_SOURCES = \
-	metadata.c	\
-	metadata.h	\
-	base64.h	\
-	base64.c	\
-	xmp-model.h	\
-	xmp-model.c	\
-	xmp-parse.h	\
-	xmp-parse.c	\
-	xmp-encode.h	\
-	xmp-encode.c	\
-	xmp-schemas.h	\
-	xmp-schemas.c	\
-	interface.h	\
-	interface.c	\
-	exif-decode.h	\
-	exif-decode.c	
+	metadata.c		\
+	metadata.h		\
+	base64.h		\
+	base64.c		\
+	xmp-model.h		\
+	xmp-model.c		\
+	xmp-parse.h		\
+	xmp-parse.c		\
+	xmp-encode.h		\
+	xmp-encode.c		\
+	xmp-schemas.h		\
+	xmp-schemas.c		\
+	interface.h		\
+	interface.c		\
+	gimpxmpmodelentry.h	\
+	gimpxmpmodelentry.c	\
+	exif-decode.h		\
+	exif-decode.c
 #	exif-encode.h	\
 #	exif-encode.c	\
 #	iptc-decode.h	\
@@ -70,7 +63,6 @@ INCLUDES = \
 	-I$(includedir)
 
 LDADD = \
-	$(libgimpxmpmodelentry)	\
 	$(libgimp)		\
 	$(libgimpui)		\
 	$(libgimpwidgets)	\
diff --git a/plug-ins/metadata/gimpxmpmodelentry.c b/plug-ins/metadata/gimpxmpmodelentry.c
index ddc74d2..3878af8 100644
--- a/plug-ins/metadata/gimpxmpmodelentry.c
+++ b/plug-ins/metadata/gimpxmpmodelentry.c
@@ -28,39 +28,42 @@
 #include "gimpxmpmodelentry.h"
 
 
-static void         gimp_xmp_model_entry_init       (GimpXMPModelEntry *entry);
+static void         gimp_xmp_model_entry_init           (GimpXmpModelEntry *entry);
 
-static void         gimp_entry_xmp_model_changed    (XMPModel     *xmp_model,
-                                                     GtkTreeIter  *iter,
-                                                     gpointer     *user_data);
+static void         gimp_entry_xmp_model_changed        (XMPModel     *xmp_model,
+                                                         GtkTreeIter  *iter,
+                                                         gpointer     *user_data);
 
-static void         entry_changed                   (GimpXMPModelEntry *widget);
+static void         gimp_xmp_model_entry_entry_changed  (GimpXmpModelEntry *widget);
 
-const gchar*        find_schema_prefix              (const gchar *schema_uri);
+const gchar*        find_schema_prefix                  (const gchar *schema_uri);
 
-static void         set_property_edit_icon          (GimpXMPModelEntry *entry,
-                                                     GtkTreeIter       *iter);
+static void         set_property_edit_icon              (GimpXmpModelEntry *entry,
+                                                         GtkTreeIter       *iter);
 
 
-G_DEFINE_TYPE (GimpXMPModelEntry, gimp_xmp_model_entry, GTK_TYPE_ENTRY)
+G_DEFINE_TYPE (GimpXmpModelEntry, gimp_xmp_model_entry, GTK_TYPE_ENTRY)
 
 #define parent_class gimp_xmp_model_entry_parent_class
-
+#define GIMP_XMP_MODEL_ENTRY_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), GIMP_TYPE_XMP_MODEL_ENTRY, GimpXmpModelEntryPrivate))
 
 static void
-gimp_xmp_model_entry_class_init (GimpXMPModelEntryClass *klass)
+gimp_xmp_model_entry_class_init (GimpXmpModelEntryClass *klass)
 {
+  g_type_class_add_private (klass, sizeof (GimpXmpModelEntryPrivate));
 }
 
 static void
-gimp_xmp_model_entry_init (GimpXMPModelEntry *entry)
+gimp_xmp_model_entry_init (GimpXmpModelEntry *entry)
 {
-  entry->schema_uri     = NULL;
-  entry->property_name  = NULL;
-  entry->xmp_model      = NULL;
+  entry->p = GIMP_XMP_MODEL_ENTRY_GET_PRIVATE (entry);
+
+  entry->p->schema_uri     = NULL;
+  entry->p->property_name  = NULL;
+  entry->p->xmp_model      = NULL;
 
   g_signal_connect (entry, "changed",
-                    G_CALLBACK (entry_changed), NULL);
+                    G_CALLBACK (gimp_xmp_model_entry_entry_changed), NULL);
 }
 
 /**
@@ -69,7 +72,7 @@ gimp_xmp_model_entry_init (GimpXMPModelEntry *entry)
  * @property_name: the property name this entry changes in the XMP model
  * @xmp_model: the xmp_model for itself
  *
- * Returns: a new #GimpXMPModelEntry widget
+ * Returns: a new #GimpXmpModelEntry widget
  *
  **/
 GtkWidget*
@@ -77,16 +80,16 @@ gimp_xmp_model_entry_new (const gchar *schema_uri,
                           const gchar *property_name,
                           XMPModel    *xmp_model)
 {
-  GimpXMPModelEntry *entry;
+  GimpXmpModelEntry *entry;
   const gchar       *value;
   const gchar       *signal;
   const gchar       *signal_detail;
   const gchar       *schema_prefix;
 
   entry = g_object_new (GIMP_TYPE_XMP_MODEL_ENTRY, NULL);
-  entry->schema_uri     = schema_uri;
-  entry->property_name  = property_name;
-  entry->xmp_model      = xmp_model;
+  entry->p->schema_uri     = schema_uri;
+  entry->p->property_name  = property_name;
+  entry->p->xmp_model      = xmp_model;
 
   value = xmp_model_get_scalar_property (xmp_model, schema_uri, property_name);
   if (value != NULL)
@@ -109,7 +112,7 @@ gimp_entry_xmp_model_changed (XMPModel     *xmp_model,
                               GtkTreeIter  *iter,
                               gpointer     *user_data)
 {
-  GimpXMPModelEntry *entry = GIMP_XMP_MODEL_ENTRY (user_data);
+  GimpXmpModelEntry *entry = GIMP_XMP_MODEL_ENTRY (user_data);
   const gchar       *tree_value;
   const gchar       *property_name;
   GdkPixbuf         *icon;
@@ -119,7 +122,7 @@ gimp_entry_xmp_model_changed (XMPModel     *xmp_model,
                       COL_XMP_VALUE, &tree_value,
                       COL_XMP_EDIT_ICON, &icon,
                       -1);
-  if (! strcmp (entry->property_name, property_name))
+  if (! strcmp (entry->p->property_name, property_name))
     gtk_entry_set_text (GTK_ENTRY (entry), tree_value);
 
   if (icon == NULL)
@@ -130,11 +133,11 @@ gimp_entry_xmp_model_changed (XMPModel     *xmp_model,
 
 
 static void
-entry_changed (GimpXMPModelEntry *entry)
+gimp_xmp_model_entry_entry_changed (GimpXmpModelEntry *entry)
 {
-  xmp_model_set_scalar_property (entry->xmp_model,
-                                 entry->schema_uri,
-                                 entry->property_name,
+  xmp_model_set_scalar_property (entry->p->xmp_model,
+                                 entry->p->schema_uri,
+                                 entry->p->property_name,
                                  gtk_entry_get_text (GTK_ENTRY (entry)));
 }
 
@@ -153,13 +156,13 @@ find_schema_prefix (const gchar *schema_uri)
 }
 
 static void
-set_property_edit_icon (GimpXMPModelEntry *entry,
+set_property_edit_icon (GimpXmpModelEntry *entry,
                         GtkTreeIter       *iter)
 {
   GdkPixbuf    *icon;
   gboolean      editable;
 
-  gtk_tree_model_get (GTK_TREE_MODEL (entry->xmp_model), iter,
+  gtk_tree_model_get (GTK_TREE_MODEL (entry->p->xmp_model), iter,
                       COL_XMP_EDITABLE, &editable,
                       COL_XMP_EDIT_ICON, &icon,
                       -1);
@@ -168,7 +171,7 @@ set_property_edit_icon (GimpXMPModelEntry *entry,
     {
       icon = gtk_widget_render_icon (GTK_WIDGET (entry), GIMP_STOCK_WILBER,
                                      GTK_ICON_SIZE_MENU, NULL);
-      gtk_tree_store_set (GTK_TREE_STORE (entry->xmp_model), iter,
+      gtk_tree_store_set (GTK_TREE_STORE (entry->p->xmp_model), iter,
                           COL_XMP_EDIT_ICON, icon,
                           -1);
     }
@@ -176,7 +179,7 @@ set_property_edit_icon (GimpXMPModelEntry *entry,
     {
       icon = gtk_widget_render_icon (GTK_WIDGET (entry), GTK_STOCK_EDIT,
                                      GTK_ICON_SIZE_MENU, NULL);
-      gtk_tree_store_set (GTK_TREE_STORE (entry->xmp_model), iter,
+      gtk_tree_store_set (GTK_TREE_STORE (entry->p->xmp_model), iter,
                           COL_XMP_EDIT_ICON, icon,
                           -1);
     }
diff --git a/plug-ins/metadata/gimpxmpmodelentry.h b/plug-ins/metadata/gimpxmpmodelentry.h
index 76f1908..022466f 100644
--- a/plug-ins/metadata/gimpxmpmodelentry.h
+++ b/plug-ins/metadata/gimpxmpmodelentry.h
@@ -1,4 +1,4 @@
-/* gimpxmpmodelentry.h - custom entry widget linked to the xmp model
+/* GimpXmpModelEntry.h - custom entry widget linked to the xmp model
  *
  * Copyright (C) 2009, Róman Joost <romanofski gimp org>
  *
@@ -22,27 +22,39 @@
 
 G_BEGIN_DECLS
 
-#define GIMP_TYPE_XMP_MODEL_ENTRY   (gimp_xmp_model_entry_get_type ())
-#define GIMP_XMP_MODEL_ENTRY(obj)   (G_TYPE_CHECK_INSTANCE_CAST ((obj), GIMP_TYPE_XMP_MODEL_ENTRY, GimpXMPModelEntry))
+#define GIMP_TYPE_XMP_MODEL_ENTRY               (gimp_xmp_model_entry_get_type ())
+#define GIMP_XMP_MODEL_ENTRY(obj)               (G_TYPE_CHECK_INSTANCE_CAST ((obj), GIMP_TYPE_XMP_MODEL_ENTRY, GimpXmpModelEntry))
+#define GIMP_XMP_MODEL_ENTRY_CLASS(klass)       (G_TYPE_CHECK_CLASS_CAST ((klass), GIMP_TYPE_XMP_MODEL_ENTRY, XMPModelClass))
+#define GIMP_IS_XMP_MODEL_ENTRY(obj)            (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GIMP_TYPE_XMP_MODEL_ENTRY))
+#define GIMP_IS_XMP_MODEL_ENTRY_CLASS(klass)    (G_TYPE_CHECK_CLASS_TYPE ((klass), GIMP_TYPE_XMP_MODEL_ENTRY))
+#define GIMP_XMP_MODEL_ENTRY_GET_CLASS(obj)     (G_TYPE_INSTANCE_GET_CLASS ((obj), GIMP_TYPE_XMP_MODEL_ENTRY, XMPModelClass))
 
 
-typedef struct _GimpXMPModelEntry       GimpXMPModelEntry;
-typedef struct _GimpXMPModelEntryClass  GimpXMPModelEntryClass;
+typedef struct _GimpXmpModelEntry           GimpXmpModelEntry;
+typedef struct _GimpXmpModelEntryClass      GimpXmpModelEntryClass;
+typedef struct _GimpXmpModelEntryPrivate    GimpXmpModelEntryPrivate;
 
-struct _GimpXMPModelEntry
+
+struct _GimpXmpModelEntry
 {
   GtkEntry      parent_instance;
 
-  const gchar   *schema_uri;
-  const gchar   *property_name;
-  XMPModel      *xmp_model;
+  GimpXmpModelEntryPrivate  *p;
 };
 
-struct _GimpXMPModelEntryClass
+struct _GimpXmpModelEntryClass
 {
   GtkEntryClass parent_class;
 };
 
+struct _GimpXmpModelEntryPrivate
+{
+  const gchar   *schema_uri;
+  const gchar   *property_name;
+  XMPModel      *xmp_model;
+
+};
+
 
 GType                   gimp_xmp_model_entry_get_type   (void) G_GNUC_CONST;
 
diff --git a/plug-ins/metadata/interface.c b/plug-ins/metadata/interface.c
index 31c8d31..33e224d 100644
--- a/plug-ins/metadata/interface.c
+++ b/plug-ins/metadata/interface.c
@@ -200,36 +200,6 @@ typedef struct
 } WidgetXRef;
 
 static void
-entry_changed (GtkEntry *entry,
-               gpointer  user_data)
-{
-  WidgetXRef *xref = user_data;
-
-  xmp_model_set_scalar_property (xref->mgui->xmp_model,
-                                 xref->schema,
-                                 xref->property_name,
-                                 gtk_entry_get_text (entry));
-  update_icons (xref->mgui);
-}
-
-static void
-register_entry_xref (GtkWidget   *entry,
-                     const gchar *schema,
-                     const gchar *property_name,
-                     MetadataGui *mgui)
-{
-  WidgetXRef *xref;
-
-  xref = g_new (WidgetXRef, 1);
-  xref->schema = schema;
-  xref->property_name = property_name;
-  xref->widget_list = g_slist_prepend (NULL, entry);
-  xref->mgui = mgui;
-  g_signal_connect (GTK_ENTRY (entry), "changed",
-                    G_CALLBACK (entry_changed), xref);
-}
-
-static void
 text_changed (GtkTextBuffer *text_buffer,
               gpointer       user_data)
 {
diff --git a/plug-ins/metadata/xmp-model.h b/plug-ins/metadata/xmp-model.h
index 98fe0f4..d51df3c 100644
--- a/plug-ins/metadata/xmp-model.h
+++ b/plug-ins/metadata/xmp-model.h
@@ -25,8 +25,8 @@ G_BEGIN_DECLS
 #include <glib-object.h>
 
 #define GIMP_TYPE_XMP_MODEL             (xmp_model_get_type ())
-#define XMP_MODEL(obj)             (G_TYPE_CHECK_INSTANCE_CAST ((obj), GIMP_TYPE_XMP_MODEL, XMPModel))
-#define XMP_MODEL_CLASS(klass)     (G_TYPE_CHECK_CLASS_CAST ((klass), GIMP_TYPE_XMP_MODEL, XMPModelClass))
+#define XMP_MODEL(obj)                  (G_TYPE_CHECK_INSTANCE_CAST ((obj), GIMP_TYPE_XMP_MODEL, XMPModel))
+#define XMP_MODEL_CLASS(klass)          (G_TYPE_CHECK_CLASS_CAST ((klass), GIMP_TYPE_XMP_MODEL, XMPModelClass))
 #define GIMP_IS_XMP_MODEL(obj)          (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GIMP_TYPE_XMP_MODEL))
 #define GIMP_IS_XMP_MODEL_CLASS(klass)  (G_TYPE_CHECK_CLASS_TYPE ((klass), GIMP_TYPE_XMP_MODEL))
 #define GIMP_XMP_MODEL_GET_CLASS(obj)   (G_TYPE_INSTANCE_GET_CLASS ((obj), GIMP_TYPE_XMP_MODEL, XMPModelClass))



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]