From 103db41bbe7dabc83076d8f48a202b5c61c2e684 Mon Sep 17 00:00:00 2001
From: edgrif <edgrif>
Date: Wed, 2 Sep 2009 14:03:30 +0000
Subject: [PATCH] fix bugs in getting align data for feature info display.

---
 src/zmapWindow/zmapWindow.c | 95 +++++++++++++++++++++----------------
 1 file changed, 54 insertions(+), 41 deletions(-)

diff --git a/src/zmapWindow/zmapWindow.c b/src/zmapWindow/zmapWindow.c
index 053850e13..842cdff28 100755
--- a/src/zmapWindow/zmapWindow.c
+++ b/src/zmapWindow/zmapWindow.c
@@ -26,9 +26,9 @@
  *              
  * Exported functions: See ZMap/zmapWindow.h
  * HISTORY:
- * Last edited: Aug  6 16:50 2009 (edgrif)
+ * Last edited: Aug 27 18:22 2009 (edgrif)
  * Created: Thu Jul 24 14:36:27 2003 (edgrif)
- * CVS info:   $Id: zmapWindow.c,v 1.290 2009-08-14 10:06:02 edgrif Exp $
+ * CVS info:   $Id: zmapWindow.c,v 1.291 2009-09-02 14:03:30 edgrif Exp $
  *-------------------------------------------------------------------
  */
 
@@ -1294,12 +1294,12 @@ void zMapWindowUpdateInfoPanel(ZMapWindow     window,
 
   feature_term = sub_feature_term = NULL;
 
-  if(zMapFeatureGetInfo((ZMapFeatureAny)feature, NULL,
-			"start",  &feature_start,
-			"end",    &feature_end,
-			"length", &feature_length,
-			"term",   &feature_term,
-			NULL))
+  if (zMapFeatureGetInfo((ZMapFeatureAny)feature, NULL,
+			 "start",  &feature_start,
+			 "end",    &feature_end,
+			 "length", &feature_length,
+			 "term",   &feature_term,
+			 NULL))
     {
       select.feature_desc.feature_start  = g_strdup_printf("%d", feature_start) ;
       select.feature_desc.feature_end    = g_strdup_printf("%d", feature_end) ;
@@ -1308,30 +1308,45 @@ void zMapWindowUpdateInfoPanel(ZMapWindow     window,
       select.feature_desc.feature_term   = feature_term;
     }
 
-  if(zMapFeatureGetInfo((ZMapFeatureAny)feature, NULL,
-			"query-start",  &query_start,
-			"query-end",    &query_end,
-			"query-length", &query_length,
-			"query-strand", &query_strand,
-			NULL))
+
+  if (feature->type == ZMAPSTYLE_MODE_ALIGNMENT)
     {
-      select.feature_desc.feature_query_start  = g_strdup_printf("%d", query_start) ;
-      select.feature_desc.feature_query_end    = g_strdup_printf("%d", query_end) ;
-      select.feature_desc.feature_query_length = g_strdup_printf("%d", query_length) ;
-      select.feature_desc.feature_query_strand = zMapFeatureStrand2Str(query_strand) ;
+      if (zMapFeatureGetInfo((ZMapFeatureAny)feature, NULL,
+			     "query-start",  &query_start,
+			     "query-end",    &query_end,
+			     "query-length", &query_length,
+			     "query-strand", &query_strand,
+			     NULL))
+	{
+	  select.feature_desc.feature_query_start  = g_strdup_printf("%d", query_start) ;
+	  select.feature_desc.feature_query_end    = g_strdup_printf("%d", query_end) ;
+	  select.feature_desc.feature_query_length = g_strdup_printf("%d", query_length) ;
+	  select.feature_desc.feature_query_strand = zMapFeatureStrand2Str(query_strand) ;
+	}
+
+      if (feature_arg->feature.homol.align)
+	select.feature_desc.sub_feature_none_txt = g_strdup("<GAPS NOT SHOWN>") ;
+      else
+	select.feature_desc.sub_feature_none_txt = g_strdup("<UNGAPPED ALIGNMENT>") ;
+    }
+  else if (feature->type == ZMAPSTYLE_MODE_TRANSCRIPT)
+    {
+      select.feature_desc.sub_feature_none_txt = g_strdup("<NO INTRONS>") ;
     }
 
-  if(sub_feature)		/* If sub_feature == NULL we'll only get the same as previous! */
+
+
+  if (sub_feature)		/* If sub_feature == NULL we'll only get the same as previous! */
     {
       feature_start = feature_end = feature_length = query_start = query_end =
 	sub_feature_start = sub_feature_end = sub_feature_length = query_length = 0;
       
-      if(zMapFeatureGetInfo((ZMapFeatureAny)feature, sub_feature,
-			    "start",  &sub_feature_start,
-			    "end",    &sub_feature_end,
-			    "length", &sub_feature_length,
-			    "term",   &sub_feature_term,
-			    NULL))
+      if (zMapFeatureGetInfo((ZMapFeatureAny)feature, sub_feature,
+			     "start",  &sub_feature_start,
+			     "end",    &sub_feature_end,
+			     "length", &sub_feature_length,
+			     "term",   &sub_feature_term,
+			     NULL))
 	{
 	  select.feature_desc.sub_feature_start  = g_strdup_printf("%d", sub_feature_start) ;
 	  select.feature_desc.sub_feature_end    = g_strdup_printf("%d", sub_feature_end) ;
@@ -1339,28 +1354,26 @@ void zMapWindowUpdateInfoPanel(ZMapWindow     window,
 	  select.feature_desc.sub_feature_term   = sub_feature_term ;
 	}
       
-      if(zMapFeatureGetInfo((ZMapFeatureAny)feature, sub_feature,
-			    "query-start",  &query_start,
-			    "query-end",    &query_end,
-			    "query-length", &query_length,
-			    NULL))
+      if (feature->type == ZMAPSTYLE_MODE_ALIGNMENT)
 	{
-	  select.feature_desc.sub_feature_query_start = g_strdup_printf("%d", query_start) ;
-	  select.feature_desc.sub_feature_query_end   = g_strdup_printf("%d", query_end) ;
+	  if (zMapFeatureGetInfo((ZMapFeatureAny)feature, sub_feature,
+				 "query-start",  &query_start,
+				 "query-end",    &query_end,
+				 "query-length", &query_length,
+				 NULL))
+	    {
+	      select.feature_desc.sub_feature_query_start = g_strdup_printf("%d", query_start) ;
+	      select.feature_desc.sub_feature_query_end   = g_strdup_printf("%d", query_end) ;
+	    }
 	}
     }
   else
-    select.feature_desc.sub_feature_term = "-";
-
-  if (feature->type == ZMAPSTYLE_MODE_ALIGNMENT)
     {
-      if (feature_arg->feature.homol.align)
-	select.feature_desc.sub_feature_none_txt = g_strdup("<GAPS NOT SHOWN>") ;
-      else
-	select.feature_desc.sub_feature_none_txt = g_strdup("<UNGAPPED ALIGNMENT>") ;
+      select.feature_desc.sub_feature_term = "-";
     }
-  else if (feature->type == ZMAPSTYLE_MODE_TRANSCRIPT)
-    select.feature_desc.sub_feature_none_txt = g_strdup("<NO INTRONS>") ;
+
+
+
   
   zMapFeatureGetInfo((ZMapFeatureAny)feature, NULL,
 		     "locus", &(select.feature_desc.feature_locus),
-- 
GitLab