From 505a51056017bf07e3ed68c23297103385cdc208 Mon Sep 17 00:00:00 2001 From: mh17 <mh17> Date: Tue, 20 Apr 2010 12:00:37 +0000 Subject: [PATCH] fixed for styles glyph-align, unmarked-colinear and some other options --- src/include/ZMap/zmapStyle.h | 7 +++- src/zmapConfig/zmapConfigLoader.c | 13 +++++- src/zmapFeature/zmapFeatureTypes.c | 10 ++++- src/zmapFeature/zmapStyle.c | 5 ++- src/zmapFeature/zmapStyleUtils.c | 4 +- src/zmapFeature/zmapStyle_I.h | 6 +-- .../items/zmapWindowContainerFeatureSet.c | 40 ++++++++++++++++++- .../items/zmapWindowContainerFeatureSet_I.h | 13 +++--- src/zmapWindow/zmapWindowColBump.c | 7 ++-- 9 files changed, 83 insertions(+), 22 deletions(-) diff --git a/src/include/ZMap/zmapStyle.h b/src/include/ZMap/zmapStyle.h index c82bd06d0..cea6fac52 100755 --- a/src/include/ZMap/zmapStyle.h +++ b/src/include/ZMap/zmapStyle.h @@ -28,7 +28,7 @@ * HISTORY: * Last edited: Jan 26 08:42 2010 (edgrif) * Created: Mon Feb 26 09:28:26 2007 (edgrif) - * CVS info: $Id: zmapStyle.h,v 1.55 2010-04-19 11:45:57 mh17 Exp $ + * CVS info: $Id: zmapStyle.h,v 1.56 2010-04-20 12:00:37 mh17 Exp $ *------------------------------------------------------------------- */ #ifndef ZMAP_STYLE_H @@ -169,6 +169,7 @@ typedef enum STYLE_PROP_ALIGNMENT_PERFECT_COLOURS, STYLE_PROP_ALIGNMENT_COLINEAR_COLOURS, STYLE_PROP_ALIGNMENT_NONCOLINEAR_COLOURS, + STYLE_PROP_ALIGNMENT_UNMARKED_COLINEAR, STYLE_PROP_TRANSCRIPT_CDS_COLOURS, @@ -265,7 +266,7 @@ typedef enum #define ZMAPSTYLE_PROPERTY_ALIGNMENT_PERFECT_COLOURS "alignment-perfect-colours" #define ZMAPSTYLE_PROPERTY_ALIGNMENT_COLINEAR_COLOURS "alignment-colinear-colours" #define ZMAPSTYLE_PROPERTY_ALIGNMENT_NONCOLINEAR_COLOURS "alignment-noncolinear-colours" -#define ZMAPSTYLE_PROPERTY_ALIGNMENT_SHOW_UNMARKED_COLINEAR "alignment-unmarked-colinear" +#define ZMAPSTYLE_PROPERTY_ALIGNMENT_UNMARKED_COLINEAR "alignment-unmarked-colinear" /* transcript properties */ #define ZMAPSTYLE_PROPERTY_TRANSCRIPT_CDS_COLOURS "transcript-cds-colours" @@ -485,6 +486,7 @@ ZMAP_ENUM_FROM_STRING_DEC(zMapStyleStr2BumpMode, ZMapStyleBumpMode) ; ZMAP_ENUM_FROM_STRING_DEC(zMapStyleStr2GlyphStrand, ZMapStyleGlyphStrand) ; ZMAP_ENUM_FROM_STRING_DEC(zMapStyleStr2SubFeature, ZMapStyleSubFeature) ; ZMAP_ENUM_FROM_STRING_DEC(zMapStyleStr2GlyphAlign, ZMapStyleGlyphAlign) ; +ZMAP_ENUM_FROM_STRING_DEC(zMapStyleStr2BlixemType, ZMapStyleBlixemType) ; /* Enum -> String function decs: const char *zMapStyleXXXXMode2ExactStr(ZMapStyleXXXXXMode mode); */ ZMAP_ENUM_AS_EXACT_STRING_DEC(zMapStyleMode2ExactStr, ZMapStyleMode) ; @@ -499,6 +501,7 @@ ZMAP_ENUM_AS_EXACT_STRING_DEC(zmapStyleBumpMode2ExactStr, ZMapStyleBumpMode) ZMAP_ENUM_AS_EXACT_STRING_DEC(zmapStyleGlyphStrand2ExactStr, ZMapStyleGlyphStrand) ; ZMAP_ENUM_AS_EXACT_STRING_DEC(zmapStyleSubFeature2ExactStr, ZMapStyleSubFeature) ; ZMAP_ENUM_AS_EXACT_STRING_DEC(zmapStyleGlyphAlign2ExactStr, ZMapStyleGlyphAlign) ; +ZMAP_ENUM_AS_EXACT_STRING_DEC(zmapStyleBlixemType2ExactStr, ZMapStyleBlixemType) ; ZMAP_ENUM_TO_SHORT_TEXT_DEC(zmapStyleBumpMode2ShortText, ZMapStyleBumpMode) ; diff --git a/src/zmapConfig/zmapConfigLoader.c b/src/zmapConfig/zmapConfigLoader.c index 1dc6fc356..4578bccc6 100644 --- a/src/zmapConfig/zmapConfigLoader.c +++ b/src/zmapConfig/zmapConfigLoader.c @@ -31,7 +31,7 @@ * HISTORY: * Last edited: Mar 2 14:47 2010 (edgrif) * Created: Thu Sep 25 14:12:05 2008 (rds) - * CVS info: $Id: zmapConfigLoader.c,v 1.14 2010-04-19 11:00:39 mh17 Exp $ + * CVS info: $Id: zmapConfigLoader.c,v 1.15 2010-04-20 12:00:37 mh17 Exp $ *------------------------------------------------------------------- */ @@ -910,6 +910,7 @@ static gpointer create_config_style() { ZMAPSTYLE_PROPERTY_FRAME2_COLOURS, FALSE, ZMAPCONF_STR, {FALSE}, ZMAPCONV_STR2COLOUR, {NULL} }, { ZMAPSTYLE_PROPERTY_REV_COLOURS, FALSE, ZMAPCONF_STR, {FALSE}, ZMAPCONV_STR2COLOUR, {NULL} }, + { ZMAPSTYLE_PROPERTY_DISPLAY_MODE, FALSE, ZMAPCONF_STR, {FALSE}, ZMAPCONV_STR2ENUM, {(ZMapConfStr2EnumFunc)zMapStyleStr2ColDisplayState} }, { ZMAPSTYLE_PROPERTY_BUMP_MODE, FALSE, ZMAPCONF_STR, {FALSE}, ZMAPCONV_STR2ENUM, {(ZMapConfStr2EnumFunc)zMapStyleStr2BumpMode} }, { ZMAPSTYLE_PROPERTY_DEFAULT_BUMP_MODE, FALSE, ZMAPCONF_STR, {FALSE}, ZMAPCONV_STR2ENUM, {(ZMapConfStr2EnumFunc)zMapStyleStr2BumpMode} }, { ZMAPSTYLE_PROPERTY_BUMP_SPACING, FALSE, ZMAPCONF_DOUBLE, {FALSE}, ZMAPCONV_NONE, {NULL} }, @@ -962,10 +963,13 @@ static gpointer create_config_style() { ZMAPSTYLE_PROPERTY_ALIGNMENT_PARSE_GAPS, FALSE, ZMAPCONF_BOOLEAN, {FALSE}, ZMAPCONV_NONE, {NULL} }, { ZMAPSTYLE_PROPERTY_ALIGNMENT_SHOW_GAPS, FALSE, ZMAPCONF_BOOLEAN, {FALSE}, ZMAPCONV_NONE, {NULL} }, { ZMAPSTYLE_PROPERTY_ALIGNMENT_PFETCHABLE, FALSE, ZMAPCONF_BOOLEAN, {FALSE}, ZMAPCONV_NONE, {NULL} }, + { ZMAPSTYLE_PROPERTY_ALIGNMENT_BLIXEM, FALSE, ZMAPCONF_STR, {FALSE}, ZMAPCONV_STR2ENUM, {(ZMapConfStr2EnumFunc) zMapStyleStr2BlixemType } }, { ZMAPSTYLE_PROPERTY_ALIGNMENT_JOIN_ALIGN, FALSE, ZMAPCONF_INT, {FALSE}, ZMAPCONV_NONE, {NULL} }, + { ZMAPSTYLE_PROPERTY_ALIGNMENT_ALLOW_MISALIGN, FALSE, ZMAPCONF_BOOLEAN, {FALSE}, ZMAPCONV_NONE, {NULL} }, { ZMAPSTYLE_PROPERTY_ALIGNMENT_PERFECT_COLOURS, FALSE, ZMAPCONF_STR, {FALSE}, ZMAPCONV_STR2COLOUR, {NULL} }, { ZMAPSTYLE_PROPERTY_ALIGNMENT_COLINEAR_COLOURS, FALSE, ZMAPCONF_STR, {FALSE}, ZMAPCONV_STR2COLOUR, {NULL} }, { ZMAPSTYLE_PROPERTY_ALIGNMENT_NONCOLINEAR_COLOURS, FALSE, ZMAPCONF_STR, {FALSE}, ZMAPCONV_STR2COLOUR, {NULL} }, + { ZMAPSTYLE_PROPERTY_ALIGNMENT_UNMARKED_COLINEAR, FALSE, ZMAPCONF_STR, {FALSE}, ZMAPCONV_STR2ENUM, {(ZMapConfStr2EnumFunc)zMapStyleStr2ColDisplayState} }, { ZMAPSTYLE_PROPERTY_TRANSCRIPT_CDS_COLOURS, FALSE, ZMAPCONF_STR, {FALSE}, ZMAPCONV_STR2COLOUR, {NULL} }, @@ -1032,6 +1036,8 @@ static ZMapConfigIniContextKeyEntry get_style_group_data(char **stanza_name, cha { ZMAPSTYLE_PROPERTY_FRAME2_COLOURS, G_TYPE_STRING, style_set_property, FALSE }, { ZMAPSTYLE_PROPERTY_REV_COLOURS, G_TYPE_STRING, style_set_property, FALSE }, + { ZMAPSTYLE_PROPERTY_DISPLAY_MODE, G_TYPE_STRING, style_set_property, FALSE }, + { ZMAPSTYLE_PROPERTY_BUMP_MODE, G_TYPE_STRING, style_set_property, FALSE }, { ZMAPSTYLE_PROPERTY_DEFAULT_BUMP_MODE, G_TYPE_STRING, style_set_property, FALSE }, { ZMAPSTYLE_PROPERTY_BUMP_SPACING, G_TYPE_DOUBLE, style_set_property, FALSE }, @@ -1070,7 +1076,7 @@ static ZMapConfigIniContextKeyEntry get_style_group_data(char **stanza_name, cha { ZMAPSTYLE_PROPERTY_GLYPH_ALT_COLOURS, G_TYPE_STRING, style_set_property, FALSE }, { ZMAPSTYLE_PROPERTY_GLYPH_THRESHOLD, G_TYPE_INT, style_set_property, FALSE }, { ZMAPSTYLE_PROPERTY_GLYPH_STRAND, G_TYPE_BOOLEAN, style_set_property, FALSE }, - { ZMAPSTYLE_PROPERTY_GLYPH_ALIGN, G_TYPE_INT, style_set_property, FALSE }, + { ZMAPSTYLE_PROPERTY_GLYPH_ALIGN, G_TYPE_STRING, style_set_property, FALSE }, { ZMAPSTYLE_PROPERTY_GRAPH_MODE, G_TYPE_STRING, style_set_property, FALSE }, @@ -1080,10 +1086,13 @@ static ZMapConfigIniContextKeyEntry get_style_group_data(char **stanza_name, cha { ZMAPSTYLE_PROPERTY_ALIGNMENT_PARSE_GAPS, G_TYPE_BOOLEAN, style_set_property, FALSE }, { ZMAPSTYLE_PROPERTY_ALIGNMENT_SHOW_GAPS, G_TYPE_BOOLEAN, style_set_property, FALSE }, { ZMAPSTYLE_PROPERTY_ALIGNMENT_PFETCHABLE, G_TYPE_BOOLEAN, style_set_property, FALSE }, + { ZMAPSTYLE_PROPERTY_ALIGNMENT_BLIXEM, G_TYPE_STRING, style_set_property, FALSE }, { ZMAPSTYLE_PROPERTY_ALIGNMENT_JOIN_ALIGN, G_TYPE_INT, style_set_property, FALSE }, + { ZMAPSTYLE_PROPERTY_ALIGNMENT_ALLOW_MISALIGN, G_TYPE_BOOLEAN, style_set_property, FALSE }, { ZMAPSTYLE_PROPERTY_ALIGNMENT_PERFECT_COLOURS, G_TYPE_STRING, style_set_property, FALSE }, { ZMAPSTYLE_PROPERTY_ALIGNMENT_COLINEAR_COLOURS, G_TYPE_STRING, style_set_property, FALSE }, { ZMAPSTYLE_PROPERTY_ALIGNMENT_NONCOLINEAR_COLOURS, G_TYPE_STRING, style_set_property, FALSE }, + { ZMAPSTYLE_PROPERTY_ALIGNMENT_UNMARKED_COLINEAR, G_TYPE_STRING, style_set_property, FALSE }, { ZMAPSTYLE_PROPERTY_TRANSCRIPT_CDS_COLOURS, G_TYPE_STRING, style_set_property, FALSE }, diff --git a/src/zmapFeature/zmapFeatureTypes.c b/src/zmapFeature/zmapFeatureTypes.c index 7efbb61ca..a82e15581 100755 --- a/src/zmapFeature/zmapFeatureTypes.c +++ b/src/zmapFeature/zmapFeatureTypes.c @@ -29,7 +29,7 @@ * HISTORY: * Last edited: Jan 26 12:02 2010 (edgrif) * Created: Tue Dec 14 13:15:11 2004 (edgrif) - * CVS info: $Id: zmapFeatureTypes.c,v 1.94 2010-04-19 11:00:39 mh17 Exp $ + * CVS info: $Id: zmapFeatureTypes.c,v 1.95 2010-04-20 12:00:37 mh17 Exp $ *------------------------------------------------------------------- */ @@ -368,6 +368,14 @@ ZMapStyleBumpMode zMapStyleGetDefaultBumpMode(ZMapFeatureTypeStyle style) } +gboolean zMapStyleGetUnmarked(ZMapFeatureTypeStyle style) +{ + gboolean x = TRUE; // spec says default to true + + if(zMapStyleIsPropertySetId(style,STYLE_PROP_ALIGNMENT_UNMARKED_COLINEAR)) + x = style->mode_data.alignment.unmarked_colinear; + return(x); +} void zMapStyleSetParent(ZMapFeatureTypeStyle style, char *parent_name) diff --git a/src/zmapFeature/zmapStyle.c b/src/zmapFeature/zmapStyle.c index b88eac2e1..761a3e62a 100755 --- a/src/zmapFeature/zmapStyle.c +++ b/src/zmapFeature/zmapStyle.c @@ -28,7 +28,7 @@ * * Exported functions: See ZMap/zmapStyle.h * - * CVS info: $Id: zmapStyle.c,v 1.47 2010-04-19 11:45:57 mh17 Exp $ + * CVS info: $Id: zmapStyle.c,v 1.48 2010-04-20 12:00:37 mh17 Exp $ *------------------------------------------------------------------- */ @@ -271,6 +271,9 @@ ZMapStyleParamStruct zmapStyleParams_G[_STYLE_PROP_N_ITEMS] = { STYLE_PROP_ALIGNMENT_NONCOLINEAR_COLOURS, STYLE_PARAM_TYPE_COLOUR, ZMAPSTYLE_PROPERTY_ALIGNMENT_NONCOLINEAR_COLOURS, "noncolinear alignment indicator colour", "Colours used to show two alignments have exactly contiguous coords.", offsetof(zmapFeatureTypeStyleStruct, mode_data.alignment.noncolinear) ,ZMAPSTYLE_MODE_ALIGNMENT }, + { STYLE_PROP_ALIGNMENT_UNMARKED_COLINEAR, STYLE_PARAM_TYPE_COLDISP, ZMAPSTYLE_PROPERTY_ALIGNMENT_UNMARKED_COLINEAR, + "paint colinear lines when unmarked", "paint colinear lines when unmarked ?", + offsetof(zmapFeatureTypeStyleStruct, mode_data.alignment.unmarked_colinear), ZMAPSTYLE_MODE_ALIGNMENT }, { STYLE_PROP_TRANSCRIPT_CDS_COLOURS, STYLE_PARAM_TYPE_COLOUR, ZMAPSTYLE_PROPERTY_TRANSCRIPT_CDS_COLOURS, diff --git a/src/zmapFeature/zmapStyleUtils.c b/src/zmapFeature/zmapStyleUtils.c index 20ca1fd53..f52516485 100755 --- a/src/zmapFeature/zmapStyleUtils.c +++ b/src/zmapFeature/zmapStyleUtils.c @@ -30,7 +30,7 @@ * HISTORY: * Last edited: Jul 29 09:53 2009 (edgrif) * Created: Thu Oct 30 10:24:35 2008 (edgrif) - * CVS info: $Id: zmapStyleUtils.c,v 1.16 2010-04-19 11:00:39 mh17 Exp $ + * CVS info: $Id: zmapStyleUtils.c,v 1.17 2010-04-20 12:00:37 mh17 Exp $ *------------------------------------------------------------------- */ @@ -125,6 +125,7 @@ ZMAP_ENUM_FROM_STRING_FUNC(zMapStyleStr2BumpMode, ZMapStyleBumpMode, ZMAP_ENUM_FROM_STRING_FUNC(zMapStyleStr2GlyphStrand, ZMapStyleGlyphStrand, ZMAPSTYLE_GLYPH_STRAND_INVALID, ZMAP_STYLE_GLYPH_STRAND_LIST, , ); ZMAP_ENUM_FROM_STRING_FUNC(zMapStyleStr2SubFeature, ZMapStyleSubFeature, ZMAPSTYLE_SUB_FEATURE_INVALID, ZMAP_STYLE_SUB_FEATURE_LIST, , ); ZMAP_ENUM_FROM_STRING_FUNC(zMapStyleStr2GlyphAlign, ZMapStyleGlyphAlign, ZMAPSTYLE_GLYPH_ALIGN_INVALID, ZMAP_STYLE_GLYPH_ALIGN_LIST, , ); +ZMAP_ENUM_FROM_STRING_FUNC(zMapStyleStr2BlixemType, ZMapStyleBlixemType, ZMAPSTYLE_BLIXEM_INVALID, ZMAP_STYLE_BLIXEM_LIST, , ); @@ -149,6 +150,7 @@ ZMAP_ENUM_AS_EXACT_STRING_FUNC(zmapStyleBumpMode2ExactStr, ZMapStyleBumpMode ZMAP_ENUM_AS_EXACT_STRING_FUNC(zmapStyleGlyphStrand2ExactStr, ZMapStyleGlyphStrand, ZMAP_STYLE_GLYPH_STRAND_LIST); ZMAP_ENUM_AS_EXACT_STRING_FUNC(zmapStyleSubFeature2ExactStr, ZMapStyleSubFeature, ZMAP_STYLE_SUB_FEATURE_LIST); ZMAP_ENUM_AS_EXACT_STRING_FUNC(zmapStyleGlyphAlign2ExactStr, ZMapStyleGlyphAlign, ZMAP_STYLE_GLYPH_ALIGN_LIST); +ZMAP_ENUM_AS_EXACT_STRING_FUNC(zmapStyleBlixemType2ExactStr, ZMapStyleBlixemType, ZMAP_STYLE_BLIXEM_LIST); /* Enum -> Short Text functions, these functions convert the enums to their corresponding short diff --git a/src/zmapFeature/zmapStyle_I.h b/src/zmapFeature/zmapStyle_I.h index 2d2346e9c..bc9337795 100755 --- a/src/zmapFeature/zmapStyle_I.h +++ b/src/zmapFeature/zmapStyle_I.h @@ -28,7 +28,7 @@ * HISTORY: * Last edited: Jul 29 09:43 2009 (edgrif) * Created: Mon Feb 26 09:13:30 2007 (edgrif) - * CVS info: $Id: zmapStyle_I.h,v 1.21 2010-04-19 11:00:39 mh17 Exp $ + * CVS info: $Id: zmapStyle_I.h,v 1.22 2010-04-20 12:00:37 mh17 Exp $ *------------------------------------------------------------------- */ @@ -272,9 +272,7 @@ typedef struct ZMapStyleFullColourStruct colinear ; ZMapStyleFullColourStruct noncolinear ; - /*! glyph type and colours for markimng incomplete ends */ -// ZMapStyleFullColourStruct incomplete_glyph_colour ; -// ZMapStyleGlyphShape incomplete_glyph_type; + ZMapStyleColumnDisplayState unmarked_colinear; /* paint colinear lines even if not marked */ gboolean pfetchable; /* TRUE => alignments have pfetch entries. */ gboolean parse_gaps; diff --git a/src/zmapWindow/items/zmapWindowContainerFeatureSet.c b/src/zmapWindow/items/zmapWindowContainerFeatureSet.c index a891f69d6..5ff7488b9 100755 --- a/src/zmapWindow/items/zmapWindowContainerFeatureSet.c +++ b/src/zmapWindow/items/zmapWindowContainerFeatureSet.c @@ -29,7 +29,7 @@ * HISTORY: * Last edited: Mar 19 13:42 2010 (edgrif) * Created: Mon Jul 30 13:09:33 2007 (rds) - * CVS info: $Id: zmapWindowContainerFeatureSet.c,v 1.24 2010-04-15 11:19:04 mh17 Exp $ + * CVS info: $Id: zmapWindowContainerFeatureSet.c,v 1.25 2010-04-20 12:00:38 mh17 Exp $ *------------------------------------------------------------------- */ #include <string.h> /* memset */ @@ -53,6 +53,7 @@ enum ITEM_FEATURE_SET_VISIBLE, ITEM_FEATURE_SET_BUMP_MODE, ITEM_FEATURE_SET_DEFAULT_BUMP_MODE, + ITEM_FEATURE_SET_BUMP_UNMARKED, ITEM_FEATURE_SET_FRAME_MODE, ITEM_FEATURE_SET_SHOW_WHEN_EMPTY, ITEM_FEATURE_SET_DEFERRED, @@ -811,6 +812,27 @@ ZMapStyleBumpMode zmapWindowContainerFeatureSetGetDefaultBumpMode(ZMapWindowCont return mode; } + +ZMapStyleBumpMode zmapWindowContainerFeatureSetGetBumpUnmarked(ZMapWindowContainerFeatureSet container_set) +{ + gboolean x = TRUE; + + container_set->settings.bump_unmarked = ZMAPSTYLE_COLDISPLAY_INVALID; + + // this gets the data from a lot of styles + // perhaps it should be assigned when the property is set?? + g_object_get(G_OBJECT(container_set), + ZMAPSTYLE_PROPERTY_ALIGNMENT_UNMARKED_COLINEAR, &(container_set->settings.bump_unmarked), + NULL); + + if(container_set->settings.bump_unmarked && + container_set->settings.bump_unmarked != ZMAPSTYLE_COLDISPLAY_SHOW) + x = FALSE; + + return x; +} + + /*! * \brief reset the bump modes * @@ -1179,7 +1201,17 @@ static void zmap_window_item_feature_set_class_init(ZMapWindowContainerFeatureSe ZMAPBUMP_END, ZMAPBUMP_INVALID, ZMAP_PARAM_STATIC_RO)); - /* bump default */ + /* bump unmarked */ + g_object_class_install_property(gobject_class, + ITEM_FEATURE_SET_BUMP_UNMARKED, + g_param_spec_uint(ZMAPSTYLE_PROPERTY_ALIGNMENT_UNMARKED_COLINEAR, + ZMAPSTYLE_PROPERTY_ALIGNMENT_UNMARKED_COLINEAR, + "[ hide | show_hide | show ]", + ZMAPSTYLE_COLDISPLAY_INVALID, + ZMAPSTYLE_COLDISPLAY_SHOW, + ZMAPSTYLE_COLDISPLAY_INVALID, + ZMAP_PARAM_STATIC_RO)); + /* join aligns */ g_object_class_install_property(gobject_class, ITEM_FEATURE_SET_JOIN_ALIGNS, g_param_spec_uint(ZMAPSTYLE_PROPERTY_ALIGNMENT_JOIN_ALIGN, @@ -1307,6 +1339,7 @@ static void zmap_window_item_feature_set_get_property(GObject *gobject, case ITEM_FEATURE_SET_VISIBLE: case ITEM_FEATURE_SET_BUMP_MODE: case ITEM_FEATURE_SET_DEFAULT_BUMP_MODE: + case ITEM_FEATURE_SET_BUMP_UNMARKED: case ITEM_FEATURE_SET_FRAME_MODE: case ITEM_FEATURE_SET_SHOW_WHEN_EMPTY: case ITEM_FEATURE_SET_DEFERRED: @@ -1501,6 +1534,9 @@ static void extract_value_from_style_table(gpointer key, gpointer value, gpointe break; } + case ITEM_FEATURE_SET_BUMP_UNMARKED: + if(zMapStyleGetMode(style) != ZMAPSTYLE_MODE_ALIGNMENT) + break; case ITEM_FEATURE_SET_VISIBLE: { guint style_version = 0, current; diff --git a/src/zmapWindow/items/zmapWindowContainerFeatureSet_I.h b/src/zmapWindow/items/zmapWindowContainerFeatureSet_I.h index 5be2fc933..aeb238ec8 100755 --- a/src/zmapWindow/items/zmapWindowContainerFeatureSet_I.h +++ b/src/zmapWindow/items/zmapWindowContainerFeatureSet_I.h @@ -6,12 +6,12 @@ * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. - * + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. @@ -23,13 +23,13 @@ * Ed Griffiths (Sanger Institute, UK) edgrif@sanger.ac.uk, * Roy Storey (Sanger Institute, UK) rds@sanger.ac.uk * - * Description: + * Description: * * Exported functions: See XXXXXXXXXXXXX.h * HISTORY: * Last edited: Oct 27 10:46 2009 (edgrif) * Created: Fri Feb 6 11:49:03 2009 (rds) - * CVS info: $Id: zmapWindowContainerFeatureSet_I.h,v 1.8 2010-03-04 15:12:10 mh17 Exp $ + * CVS info: $Id: zmapWindowContainerFeatureSet_I.h,v 1.9 2010-04-20 12:00:38 mh17 Exp $ *------------------------------------------------------------------- */ @@ -53,7 +53,7 @@ typedef struct _zmapWindowContainerFeatureSetStruct /* Empty columns are only hidden ATM and as they have no * ZMapFeatureSet removing them from the FToI hash becomes difficult - * without the align, block and set ids. No doubt it'l be true for + * without the align, block and set ids. No doubt it'l be true for * empty block and align containers too at some point. */ GQuark align_id; @@ -68,7 +68,7 @@ typedef struct _zmapWindowContainerFeatureSetStruct /* These fields are used for some of the more exotic column bumping. */ gboolean hidden_bump_features ; /* Features were hidden because they - * are out of the marked range. */ + * are out of the marked range. */ struct { @@ -78,6 +78,7 @@ typedef struct _zmapWindowContainerFeatureSetStruct gboolean frame_specific; gboolean strand_specific; gboolean show_reverse_strand; + ZMapStyleColumnDisplayState bump_unmarked; ZMapStyle3FrameMode frame_mode; ZMapStyleColumnDisplayState display_state; ZMapStyleBumpMode bump_mode; diff --git a/src/zmapWindow/zmapWindowColBump.c b/src/zmapWindow/zmapWindowColBump.c index b44089da8..7514a109d 100755 --- a/src/zmapWindow/zmapWindowColBump.c +++ b/src/zmapWindow/zmapWindowColBump.c @@ -29,7 +29,7 @@ * HISTORY: * Last edited: Mar 4 12:11 2010 (edgrif) * Created: Tue Sep 4 10:52:09 2007 (edgrif) - * CVS info: $Id: zmapWindowColBump.c,v 1.69 2010-04-15 11:19:03 mh17 Exp $ + * CVS info: $Id: zmapWindowColBump.c,v 1.70 2010-04-20 12:00:37 mh17 Exp $ *------------------------------------------------------------------- */ @@ -377,7 +377,8 @@ void zmapWindowColumnBumpRange(FooCanvasItem *bump_item, ZMapStyleBumpMode bump_ BumpColStruct bump_data = {NULL} ; FooCanvasGroup *column_features ; ZMapWindowContainerFeatureSet container = NULL; - BumpPropertiesStruct bump_properties = {NULL}; + ZMapWindowContainerFeatureSetClass container_class = NULL; + BumpPropertiesStruct bump_properties = {NULL}; ZMapStyleBumpMode historic_bump_mode; ZMapWindow window; gboolean column = FALSE ; @@ -724,7 +725,7 @@ void zmapWindowColumnBumpRange(FooCanvasItem *bump_item, ZMapStyleBumpMode bump_ /* TRY JUST ADDING GAPS IF A MARK IS SET */ - if (mark_set && bump_mode != ZMAPBUMP_NAME_INTERLEAVE) + if ((mark_set || zmapWindowContainerFeatureSetGetBumpUnmarked(container)) && bump_mode != ZMAPBUMP_NAME_INTERLEAVE) { /* NOTE THERE IS AN ISSUE HERE...WE SHOULD ADD COLINEAR STUFF FOR ALIGN FEATURES * THIS IS NOT EXPLICIT IN THE CODE WHICH IS NOT CORRECT....NEED TO THINK THIS -- GitLab