[evolution] GalViewEtable: Add a private section.



commit 1f84c2af9842a0e3da42abb0d1a02b3b02f6740f
Author: Matthew Barnes <mbarnes redhat com>
Date:   Wed Jul 3 07:01:04 2013 -0400

    GalViewEtable: Add a private section.

 .../evolution-util/evolution-util-sections.txt     |    2 +
 e-util/gal-view-etable.c                           |   94 ++++++++++++--------
 e-util/gal-view-etable.h                           |   11 +--
 3 files changed, 62 insertions(+), 45 deletions(-)
---
diff --git a/doc/reference/evolution-util/evolution-util-sections.txt 
b/doc/reference/evolution-util/evolution-util-sections.txt
index 140b25a..8964ff2 100644
--- a/doc/reference/evolution-util/evolution-util-sections.txt
+++ b/doc/reference/evolution-util/evolution-util-sections.txt
@@ -4641,6 +4641,8 @@ GAL_IS_VIEW_ETABLE_CLASS
 GAL_VIEW_ETABLE_GET_CLASS
 GalViewEtableClass
 gal_view_etable_get_type
+<SUBSECTION Private>
+GalViewEtablePrivate
 </SECTION>
 
 <SECTION>
diff --git a/e-util/gal-view-etable.c b/e-util/gal-view-etable.c
index 747c169..9421ee1 100644
--- a/e-util/gal-view-etable.c
+++ b/e-util/gal-view-etable.c
@@ -18,46 +18,63 @@
 
 #include "gal-view-etable.h"
 
+#define GAL_VIEW_ETABLE_GET_PRIVATE(obj) \
+       (G_TYPE_INSTANCE_GET_PRIVATE \
+       ((obj), GAL_TYPE_VIEW_ETABLE, GalViewEtablePrivate))
+
+struct _GalViewEtablePrivate {
+       ETableSpecification *spec;
+       ETableState *state;
+
+       ETable *table;
+       guint table_state_changed_id;
+
+       ETree *tree;
+       guint tree_state_changed_id;
+};
+
 G_DEFINE_TYPE (GalViewEtable, gal_view_etable, GAL_TYPE_VIEW)
 
 static void
 detach_table (GalViewEtable *view)
 {
-       if (view->table_state_changed_id > 0) {
+       if (view->priv->table_state_changed_id > 0) {
                g_signal_handler_disconnect (
-                       view->table,
-                       view->table_state_changed_id);
-               view->table_state_changed_id = 0;
+                       view->priv->table,
+                       view->priv->table_state_changed_id);
+               view->priv->table_state_changed_id = 0;
        }
 
-       g_clear_object (&view->table);
+       g_clear_object (&view->priv->table);
 }
 
 static void
 detach_tree (GalViewEtable *view)
 {
-       if (view->tree_state_changed_id > 0) {
+       if (view->priv->tree_state_changed_id > 0) {
                g_signal_handler_disconnect (
-                       view->tree,
-                       view->tree_state_changed_id);
-               view->tree_state_changed_id = 0;
+                       view->priv->tree,
+                       view->priv->tree_state_changed_id);
+               view->priv->tree_state_changed_id = 0;
        }
 
-       g_clear_object (&view->tree);
+       g_clear_object (&view->priv->tree);
 }
 
 static void
 gal_view_etable_load (GalView *view,
                       const gchar *filename)
 {
-       e_table_state_load_from_file (GAL_VIEW_ETABLE (view)->state, filename);
+       e_table_state_load_from_file (
+               GAL_VIEW_ETABLE (view)->priv->state, filename);
 }
 
 static void
 gal_view_etable_save (GalView *view,
                       const gchar *filename)
 {
-       e_table_state_save_to_file (GAL_VIEW_ETABLE (view)->state, filename);
+       e_table_state_save_to_file (
+               GAL_VIEW_ETABLE (view)->priv->state, filename);
 }
 
 static const gchar *
@@ -76,8 +93,10 @@ gal_view_etable_clone (GalView *view)
        clone = GAL_VIEW_CLASS (gal_view_etable_parent_class)->clone (view);
 
        gve = GAL_VIEW_ETABLE (view);
-       GAL_VIEW_ETABLE (clone)->spec = g_object_ref (gve->spec);
-       GAL_VIEW_ETABLE (clone)->state = e_table_state_duplicate (gve->state);
+       GAL_VIEW_ETABLE (clone)->priv->spec =
+               g_object_ref (gve->priv->spec);
+       GAL_VIEW_ETABLE (clone)->priv->state =
+               e_table_state_duplicate (gve->priv->state);
 
        return clone;
 }
@@ -89,8 +108,8 @@ gal_view_etable_dispose (GObject *object)
 
        gal_view_etable_detach (view);
 
-       g_clear_object (&view->spec);
-       g_clear_object (&view->state);
+       g_clear_object (&view->priv->spec);
+       g_clear_object (&view->priv->state);
 
        /* Chain up to parent's dispose() method. */
        G_OBJECT_CLASS (gal_view_etable_parent_class)->dispose (object);
@@ -102,6 +121,8 @@ gal_view_etable_class_init (GalViewEtableClass *class)
        GObjectClass *object_class;
        GalViewClass *gal_view_class;
 
+       g_type_class_add_private (class, sizeof (GalViewEtablePrivate));
+
        object_class = G_OBJECT_CLASS (class);
        object_class->dispose = gal_view_etable_dispose;
 
@@ -113,8 +134,9 @@ gal_view_etable_class_init (GalViewEtableClass *class)
 }
 
 static void
-gal_view_etable_init (GalViewEtable *gve)
+gal_view_etable_init (GalViewEtable *view)
 {
+       view->priv = GAL_VIEW_ETABLE_GET_PRIVATE (view);
 }
 
 /**
@@ -157,10 +179,10 @@ gal_view_etable_construct (GalViewEtable *view,
        g_return_val_if_fail (GAL_IS_VIEW_ETABLE (view), NULL);
        g_return_val_if_fail (E_IS_TABLE_SPECIFICATION (spec), NULL);
 
-       view->spec = g_object_ref (spec);
+       view->priv->spec = g_object_ref (spec);
 
-       g_clear_object (&view->state);
-       view->state = e_table_state_duplicate (spec->state);
+       g_clear_object (&view->priv->state);
+       view->priv->state = e_table_state_duplicate (spec->state);
 
        return GAL_VIEW (view);
 }
@@ -172,8 +194,8 @@ gal_view_etable_set_state (GalViewEtable *view,
        g_return_if_fail (GAL_IS_VIEW_ETABLE (view));
        g_return_if_fail (E_IS_TABLE_STATE (state));
 
-       g_clear_object (&view->state);
-       view->state = e_table_state_duplicate (state);
+       g_clear_object (&view->priv->state);
+       view->priv->state = e_table_state_duplicate (state);
 
        gal_view_changed (GAL_VIEW (view));
 }
@@ -182,8 +204,8 @@ static void
 table_state_changed (ETable *table,
                      GalViewEtable *view)
 {
-       g_clear_object (&view->state);
-       view->state = e_table_get_state_object (table);
+       g_clear_object (&view->priv->state);
+       view->priv->state = e_table_get_state_object (table);
 
        gal_view_changed (GAL_VIEW (view));
 }
@@ -192,8 +214,8 @@ static void
 tree_state_changed (ETree *tree,
                     GalViewEtable *view)
 {
-       g_clear_object (&view->state);
-       view->state = e_tree_get_state_object (tree);
+       g_clear_object (&view->priv->state);
+       view->priv->state = e_tree_get_state_object (tree);
 
        gal_view_changed (GAL_VIEW (view));
 }
@@ -207,12 +229,12 @@ gal_view_etable_attach_table (GalViewEtable *view,
 
        gal_view_etable_detach (view);
 
-       view->table = g_object_ref (table);
+       view->priv->table = g_object_ref (table);
 
-       e_table_set_state_object (view->table, view->state);
+       e_table_set_state_object (view->priv->table, view->priv->state);
 
-       view->table_state_changed_id = g_signal_connect (
-               view->table, "state_change",
+       view->priv->table_state_changed_id = g_signal_connect (
+               view->priv->table, "state_change",
                G_CALLBACK (table_state_changed), view);
 }
 
@@ -225,12 +247,12 @@ gal_view_etable_attach_tree (GalViewEtable *view,
 
        gal_view_etable_detach (view);
 
-       view->tree = g_object_ref (tree);
+       view->priv->tree = g_object_ref (tree);
 
-       e_tree_set_state_object (view->tree, view->state);
+       e_tree_set_state_object (view->priv->tree, view->priv->state);
 
-       view->tree_state_changed_id = g_signal_connect (
-               view->tree, "state_change",
+       view->priv->tree_state_changed_id = g_signal_connect (
+               view->priv->tree, "state_change",
                G_CALLBACK (tree_state_changed), view);
 }
 
@@ -239,8 +261,8 @@ gal_view_etable_detach (GalViewEtable *view)
 {
        g_return_if_fail (GAL_IS_VIEW_ETABLE (view));
 
-       if (view->table != NULL)
+       if (view->priv->table != NULL)
                detach_table (view);
-       if (view->tree != NULL)
+       if (view->priv->tree != NULL)
                detach_tree (view);
 }
diff --git a/e-util/gal-view-etable.h b/e-util/gal-view-etable.h
index b0e93a2..7f06494 100644
--- a/e-util/gal-view-etable.h
+++ b/e-util/gal-view-etable.h
@@ -53,18 +53,11 @@ G_BEGIN_DECLS
 
 typedef struct _GalViewEtable GalViewEtable;
 typedef struct _GalViewEtableClass GalViewEtableClass;
+typedef struct _GalViewEtablePrivate GalViewEtablePrivate;
 
 struct _GalViewEtable {
        GalView parent;
-
-       ETableSpecification *spec;
-       ETableState *state;
-
-       ETable *table;
-       guint table_state_changed_id;
-
-       ETree *tree;
-       guint tree_state_changed_id;
+       GalViewEtablePrivate *priv;
 };
 
 struct _GalViewEtableClass {


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