JAL-4134 popup menu and annotation row property to control display of display of...
[jalview.git] / src / jalview / datamodel / AlignmentAnnotation.java
index b5987f4..de98c64 100755 (executable)
@@ -308,6 +308,11 @@ public class AlignmentAnnotation
 
   public static final int CONTACT_MAP = 4;
 
+  /**
+   * property that when set to non-empty string disables display of column groups defined on the contact matrix
+   */
+  public static final String CONTACT_MAP_NOGROUPS = "CMNOGRPS";
+
   public boolean belowAlignment = true;
 
   public SequenceGroup groupRef = null;
@@ -1745,5 +1750,23 @@ public class AlignmentAnnotation
     }
     return aa;
   }
+  
+  /**
+   * convenience method to check for the 'CONTACT_MAP_NOGROUPS' property for this alignment annotation row
+   * @return true if no CONTACT_MAP_NOGROUPS property is found, or it is set to ""
+   */
+  public boolean isShowGroupsForContactMatrix()
+  {
+    return getProperty(AlignmentAnnotation.CONTACT_MAP_NOGROUPS)==null || "".equals(getProperty(AlignmentAnnotation.CONTACT_MAP_NOGROUPS));
+  }
+  /**
+   * set the 'CONTACT_MAP_NOGROUPS' property for this alignment annotation row
+   * @see isShowGroupsForContactMatrix
+   */
+  public void setShowGroupsForContactMatrix(boolean showGroups)
+  {
+    setProperty(AlignmentAnnotation.CONTACT_MAP_NOGROUPS, showGroups ? "" : "nogroups");
+  }
+
 
 }