From 257ffae5e075bd916b41d3088160255d41801a0b Mon Sep 17 00:00:00 2001
From: edgrif <edgrif>
Date: Thu, 4 Mar 2010 12:17:25 +0000
Subject: [PATCH] add new properties so caller can access them without poking
 into struct.

---
 .../items/zmapWindowContainerFeatureSet.c     | 57 ++++++++++++++++++-
 1 file changed, 55 insertions(+), 2 deletions(-)

diff --git a/src/zmapWindow/items/zmapWindowContainerFeatureSet.c b/src/zmapWindow/items/zmapWindowContainerFeatureSet.c
index 90536bf1e..8b7250f20 100755
--- a/src/zmapWindow/items/zmapWindowContainerFeatureSet.c
+++ b/src/zmapWindow/items/zmapWindowContainerFeatureSet.c
@@ -27,9 +27,9 @@
  *
  * Exported functions: See XXXXXXXXXXXXX.h
  * HISTORY:
- * Last edited: Jan 22 12:20 2010 (edgrif)
+ * Last edited: Feb 16 17:23 2010 (edgrif)
  * Created: Mon Jul 30 13:09:33 2007 (rds)
- * CVS info:   $Id: zmapWindowContainerFeatureSet.c,v 1.20 2010-01-22 17:33:53 mh17 Exp $
+ * CVS info:   $Id: zmapWindowContainerFeatureSet.c,v 1.21 2010-03-04 12:17:25 edgrif Exp $
  *-------------------------------------------------------------------
  */
 #include <string.h>		/* memset */
@@ -45,6 +45,10 @@
 enum
   {
     ITEM_FEATURE_SET_0,		/* zero == invalid prop value */
+    ITEM_FEATURE_SET_HIDDEN_BUMP_FEATURES,
+    ITEM_FEATURE_SET_UNIQUE_ID,
+    ITEM_FEATURE_SET_STYLE_TABLE,
+    ITEM_FEATURE_SET_USER_HIDDEN_ITEMS,
     ITEM_FEATURE_SET_WIDTH,
     ITEM_FEATURE_SET_VISIBLE,
     ITEM_FEATURE_SET_BUMP_MODE,
@@ -1094,6 +1098,30 @@ static void zmap_window_item_feature_set_class_init(ZMapWindowContainerFeatureSe
 
   parent_class_G = g_type_class_peek_parent(container_set_class);
 
+  /* hidden bump features */
+  g_object_class_install_property(gobject_class,
+				  ITEM_FEATURE_SET_HIDDEN_BUMP_FEATURES,
+				  g_param_spec_boolean("hidden-bump-features",
+						       "Hidden bump features",
+						       "Some features are hidden because of current bump mode.",
+						       FALSE, ZMAP_PARAM_STATIC_RW)) ;
+  /* unique id */
+  g_object_class_install_property(gobject_class,
+				  ITEM_FEATURE_SET_UNIQUE_ID,
+				  g_param_spec_uint("unique-id",
+						    "Column unique id",
+						    "The unique name/id for the column.",
+						    0, G_MAXUINT32, 0, ZMAP_PARAM_STATIC_RW)) ;
+
+  g_object_class_install_property(gobject_class, ITEM_FEATURE_SET_STYLE_TABLE,
+				  g_param_spec_pointer("style-table", "ZMapStyle table",
+						       "GHashTable of ZMap styles for column.",
+						       ZMAP_PARAM_STATIC_RW));
+
+  g_object_class_install_property(gobject_class, ITEM_FEATURE_SET_USER_HIDDEN_ITEMS,
+				  g_param_spec_pointer("user-hidden-items", "User hidden items",
+						       "Feature items explicitly hidden by user.",
+						       ZMAP_PARAM_STATIC_RW));
   /* width */
   g_object_class_install_property(gobject_class, 
 				  ITEM_FEATURE_SET_WIDTH,
@@ -1217,9 +1245,21 @@ static void zmap_window_item_feature_set_set_property(GObject      *gobject,
 
   switch(param_id)
     {
+    case ITEM_FEATURE_SET_STYLE_TABLE:
+      container_feature_set->style_table = g_value_get_pointer(value) ;
+      break ;
+    case ITEM_FEATURE_SET_USER_HIDDEN_ITEMS:
+      container_feature_set->user_hidden_stack = g_value_get_pointer(value) ;
+      break ;
     case ITEM_FEATURE_SET_VISIBLE:
       container_feature_set->settings.display_state = g_value_get_uint(value) ;
       break ;
+    case ITEM_FEATURE_SET_HIDDEN_BUMP_FEATURES:
+      container_feature_set->hidden_bump_features = g_value_get_boolean(value) ;
+      break ;
+    case ITEM_FEATURE_SET_UNIQUE_ID:
+      container_feature_set->unique_id = g_value_get_uint(value) ;
+      break ;
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID(gobject, param_id, pspec);
       break;
@@ -1239,6 +1279,19 @@ static void zmap_window_item_feature_set_get_property(GObject    *gobject,
 
   switch(param_id)
     {
+    case ITEM_FEATURE_SET_HIDDEN_BUMP_FEATURES:
+      g_value_set_boolean(value, container_set->hidden_bump_features) ;
+      break ;
+    case ITEM_FEATURE_SET_UNIQUE_ID:
+      g_value_set_uint(value, container_set->unique_id) ;
+      break ;
+    case ITEM_FEATURE_SET_STYLE_TABLE:
+      g_value_set_pointer(value, container_set->style_table) ;
+      break ;
+    case ITEM_FEATURE_SET_USER_HIDDEN_ITEMS:
+      g_value_set_pointer(value, container_set->user_hidden_stack) ;
+      break ;
+
     case ITEM_FEATURE_SET_BUMP_SPACING:
     case ITEM_FEATURE_SET_WIDTH:
     case ITEM_FEATURE_SET_VISIBLE:
-- 
GitLab