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