From a3b9306fb99f8fc3722d364d3d50506d985f5038 Mon Sep 17 00:00:00 2001
From: edgrif <edgrif>
Date: Fri, 23 Apr 2010 14:40:32 +0000
Subject: [PATCH] we need to be able to get the zmap window from a canvas item
 in the navigator so add the set_data to do it.

---
 src/zmapWindow/zmapWindowNavigator.c | 26 +++++++++++++++++++++++---
 1 file changed, 23 insertions(+), 3 deletions(-)

diff --git a/src/zmapWindow/zmapWindowNavigator.c b/src/zmapWindow/zmapWindowNavigator.c
index 3e11bb6f6..9e9d7bc0a 100755
--- a/src/zmapWindow/zmapWindowNavigator.c
+++ b/src/zmapWindow/zmapWindowNavigator.c
@@ -27,9 +27,9 @@
  *
  * Exported functions: See XXXXXXXXXXXXX.h
  * HISTORY:
- * Last edited: Jan 23 22:54 2010 (roy)
+ * Last edited: Apr 23 13:59 2010 (edgrif)
  * Created: Wed Sep  6 11:22:24 2006 (rds)
- * CVS info:   $Id: zmapWindowNavigator.c,v 1.59 2010-03-04 15:13:12 mh17 Exp $
+ * CVS info:   $Id: zmapWindowNavigator.c,v 1.60 2010-04-23 14:40:32 edgrif Exp $
  *-------------------------------------------------------------------
  */
 
@@ -312,10 +312,18 @@ ZMapWindowNavigator zMapWindowNavigatorCreate(GtkWidget *canvas_widget)
       /* create the root container */
       canvas = FOO_CANVAS(canvas_widget);
       root   = FOO_CANVAS_GROUP(foo_canvas_root(canvas));
+
+
+      g_object_set_data(G_OBJECT(canvas), ZMAP_WINDOW_POINTER, navigate->current_window) ;
+
+
       navigate->container_root = zmapWindowContainerGroupCreateFromFoo(root, ZMAPCONTAINER_LEVEL_ROOT,
 								       ROOT_CHILD_SPACING, 
 								       &(navigate->root_background), NULL);
 
+      g_object_set_data(G_OBJECT(navigate->container_root), ZMAP_WINDOW_POINTER, navigate->current_window) ;
+
+
       /* add it to the hash. */
       zmapWindowFToIAddRoot(navigate->ftoi_hash, (FooCanvasGroup *)(navigate->container_root));
       /* lower to bottom so that everything else works... */
@@ -736,6 +744,7 @@ static ZMapFeatureContextExecuteStatus drawContext(GQuark key_id,
 
   navigate = draw_data->navigate;
 
+
   switch(feature_type)
     {
     case ZMAPFEATURE_STRUCT_CONTEXT:
@@ -752,6 +761,8 @@ static ZMapFeatureContextExecuteStatus drawContext(GQuark key_id,
 								       ALIGN_CHILD_SPACING, 
 								       &(navigate->align_background), NULL);
 
+	    g_object_set_data(G_OBJECT(navigate->container_align), ZMAP_WINDOW_POINTER, navigate->current_window) ;
+
 	    container_group_add_highlight_area_item(navigate, navigate->container_align);
 #ifdef NOPE
 	    zmapWindowContainerGroupAddUpdateHook(navigate->container_align,
@@ -785,6 +796,9 @@ static ZMapFeatureContextExecuteStatus drawContext(GQuark key_id,
 								    BLOCK_CHILD_SPACING, 
 								    &(navigate->block_background), NULL);
 
+	g_object_set_data(G_OBJECT(draw_data->container_block),
+			  ZMAP_WINDOW_POINTER, draw_data->navigate->current_window) ;
+
 	container_group_add_highlight_area_item(navigate, draw_data->container_block);
 
 	zmapWindowContainerGroupAddUpdateHook(draw_data->container_block,
@@ -805,6 +819,9 @@ static ZMapFeatureContextExecuteStatus drawContext(GQuark key_id,
 								     STRAND_CHILD_SPACING, 
 								     &(navigate->strand_background), NULL);
 
+	g_object_set_data(G_OBJECT(draw_data->container_strand),
+			  ZMAP_WINDOW_POINTER, draw_data->navigate->current_window) ;
+
 	container_group_add_highlight_area_item(navigate, draw_data->container_strand);
 
 	zmapWindowContainerGroupAddUpdateHook(draw_data->container_strand,
@@ -972,7 +989,10 @@ static void createColumnCB(gpointer data, gpointer user_data)
 									SET_CHILD_SPACING, 
 									&(draw_data->navigate->column_background), 
 									NULL);
-      
+
+      g_object_set_data(G_OBJECT(draw_data->container_feature_set),
+			ZMAP_WINDOW_POINTER, draw_data->navigate->current_window) ;
+
       container_group_add_highlight_area_item(draw_data->navigate, draw_data->container_feature_set);
 
       zmapWindowContainerGroupAddUpdateHook(draw_data->container_feature_set,
-- 
GitLab