JAL-3285 add unmerged features to AlignViewport
[jalview.git] / src / jalview / gui / AlignViewport.java
index 96fea6e..0b40abd 100644 (file)
@@ -35,7 +35,6 @@ import jalview.datamodel.Alignment;
 import jalview.datamodel.AlignmentI;
 import jalview.datamodel.ColumnSelection;
 import jalview.datamodel.HiddenColumns;
-import jalview.datamodel.PDBEntry;
 import jalview.datamodel.SearchResults;
 import jalview.datamodel.SearchResultsI;
 import jalview.datamodel.SequenceGroup;
@@ -57,11 +56,9 @@ import java.awt.Dimension;
 import java.awt.Font;
 import java.awt.FontMetrics;
 import java.awt.Rectangle;
-import java.util.ArrayList;
 import java.util.Hashtable;
 import java.util.Iterator;
 import java.util.List;
-import java.util.Vector;
 
 import javax.swing.JInternalFrame;
 
@@ -82,7 +79,7 @@ public class AlignViewport extends AlignmentViewport
 
   private Rectangle explodedGeometry;
 
-  String viewName;
+  private String viewName;
 
   /*
    * Flag set true on the view that should 'gather' multiple views of the same
@@ -95,12 +92,6 @@ public class AlignViewport extends AlignmentViewport
 
   private AnnotationColumnChooser annotationColumnSelectionState;
 
-  boolean validCharWidth;
-
-  public boolean followSelection = true;
-
-  private Hashtable<String, AutoCalcSetting> calcIdParams = new Hashtable<>();
-
   /**
    * Creates a new AlignViewport object.
    * 
@@ -263,14 +254,13 @@ public class AlignViewport extends AlignmentViewport
 
     setFont(new Font(fontName, style, Integer.parseInt(fontSize)), true);
 
-    AlignmentI al = getAlignment();
-    al.setGapCharacter(Cache.getDefault("GAP_SYMBOL", "-").charAt(0));
+               alignment.setGapCharacter(Cache.getDefault("GAP_SYMBOL", "-").charAt(0));
 
     // We must set conservation and consensus before setting colour,
     // as Blosum and Clustal require this to be done
-    if (consensusProfiles == null && !isDataset)
+               if (hconsensus == null && !isDataset)
     {
-      if (!al.isNucleotide())
+                       if (!alignment.isNucleotide())
       {
         showConservation = Cache.getDefault("SHOW_CONSERVATION", true);
         showQuality = Cache.getDefault("SHOW_QUALITY", true);
@@ -282,6 +272,10 @@ public class AlignViewport extends AlignmentViewport
       showSequenceLogo = Cache.getDefault("SHOW_CONSENSUS_LOGO", false);
       normaliseSequenceLogo = Cache.getDefault("NORMALISE_CONSENSUS_LOGO",
               false);
+      // for now, use consensus options for Information till it gets its own
+      setShowHMMSequenceLogo(showSequenceLogo);
+      setNormaliseHMMSequenceLogo(normaliseSequenceLogo);
+      setShowInformationHistogram(showConsensusHistogram);
       showGroupConsensus = Cache.getDefault("SHOW_GROUP_CONSENSUS", false);
       showConsensus = Cache.getDefault("SHOW_IDENTITY", true);
 
@@ -290,7 +284,7 @@ public class AlignViewport extends AlignmentViewport
     initAutoAnnotation();
     // initInformation();
 
-    String colourProperty = al.isNucleotide()
+               String colourProperty = alignment.isNucleotide()
             ? Preferences.DEFAULT_COLOUR_NUC
             : Preferences.DEFAULT_COLOUR_PROT;
     String schemeName = Cache.getProperty(colourProperty);
@@ -301,7 +295,7 @@ public class AlignViewport extends AlignmentViewport
               ResidueColourScheme.NONE);
     }
     ColourSchemeI colourScheme = ColourSchemeProperty
-            .getColourScheme(al, schemeName);
+            .getColourScheme(this, alignment, schemeName);
     residueShading = new ResidueShader(colourScheme);
 
     if (colourScheme instanceof UserColourScheme)
@@ -313,9 +307,12 @@ public class AlignViewport extends AlignmentViewport
 
     if (residueShading != null)
     {
-      residueShading.setConsensus(consensusProfiles);
+                       residueShading.setConsensus(hconsensus);
     }
+    setColourAppliesToAllGroups(true);
   }
+  
+  boolean validCharWidth;
 
   /**
    * {@inheritDoc}
@@ -399,9 +396,9 @@ public class AlignViewport extends AlignmentViewport
     /*
      * replace mappings on our alignment
      */
-    if (getAlignment() != null && align != null)
+               if (alignment != null && align != null)
     {
-      getAlignment().setCodonFrames(align.getCodonFrames());
+      alignment.setCodonFrames(align.getCodonFrames());
     }
   }
 
@@ -470,11 +467,11 @@ public class AlignViewport extends AlignmentViewport
     }
     else
     {
-      end = getAlignment().getWidth();
+      end = alignment.getWidth();
     }
 
-    return getAlignment().getHiddenColumns().getVisContigsIterator(start,
-            end, false);
+    return (alignment.getHiddenColumns().getVisContigsIterator(start,
+            end, false));
   }
 
   /**
@@ -523,6 +520,8 @@ public class AlignViewport extends AlignmentViewport
     return false;
   }
 
+  public boolean followSelection = true;
+  
   /**
    * @return true if view selection should always follow the selections
    *         broadcast by other selection sources
@@ -587,23 +586,19 @@ public class AlignViewport extends AlignmentViewport
     return StructureSelectionManager
             .getStructureSelectionManager(Desktop.instance);
   }
-
+  
   @Override
   public boolean isNormaliseSequenceLogo()
   {
     return normaliseSequenceLogo;
   }
 
-
-  public void setNormaliseSequenceLogo(boolean state)
+  @Override
+public void setNormaliseSequenceLogo(boolean state)
   {
     normaliseSequenceLogo = state;
   }
 
-  public void setNormaliseHMMSequenceLogo(boolean state)
-  {
-    normaliseHMMSequenceLogo = state;
-  }
 
   /**
    * 
@@ -614,6 +609,8 @@ public class AlignViewport extends AlignmentViewport
   {
     return validCharWidth;
   }
+  
+  private Hashtable<String, AutoCalcSetting> calcIdParams = new Hashtable<>();
 
   public AutoCalcSetting getCalcIdSettingsFor(String calcId)
   {
@@ -807,7 +804,7 @@ public class AlignViewport extends AlignmentViewport
     AlignFrame newAlignFrame = new AlignFrame(al, AlignFrame.DEFAULT_WIDTH,
             AlignFrame.DEFAULT_HEIGHT);
     newAlignFrame.setTitle(title);
-    newAlignFrame.statusBar.setText(MessageManager
+    newAlignFrame.setStatus(MessageManager
             .formatMessage("label.successfully_loaded_file", new Object[]
             { title }));
 
@@ -1045,10 +1042,13 @@ public class AlignViewport extends AlignmentViewport
     fr.setTransparency(featureSettings.getTransparency());
   }
 
-  @Override
-  public boolean isNormaliseHMMSequenceLogo()
+  public String getViewName()
   {
-    return normaliseHMMSequenceLogo;
+    return viewName;
   }
 
+  public void setViewName(String viewName)
+  {
+    this.viewName = viewName;
+  }
 }