JAL-1793 spike branch updated to latest
[jalview.git] / src / jalview / controller / AlignViewController.java
index 5c1f403..460c2b3 100644 (file)
@@ -52,14 +52,6 @@ public class AlignViewController implements AlignViewControllerI
    */
   private AlignViewControllerGuiI avcg;
 
-  @Override
-  protected void finalize() throws Throwable
-  {
-    viewport = null;
-    alignPanel = null;
-    avcg = null;
-  };
-
   public AlignViewController(AlignViewControllerGuiI alignFrame,
           AlignViewportI viewport, AlignmentViewPanel alignPanel)
   {
@@ -85,10 +77,11 @@ public class AlignViewController implements AlignViewControllerI
     SequenceGroup[] gps = null;
     if (sg != null && (cs == null || cs.isEmpty()))
     {
-      gps = jalview.analysis.Grouping.makeGroupsFrom(viewport
-              .getSequenceSelection(), viewport.getAlignmentView(true)
-              .getSequenceStrings(viewport.getGapCharacter()), viewport
-              .getAlignment().getGroups());
+      gps = jalview.analysis.Grouping.makeGroupsFrom(
+              viewport.getSequenceSelection(),
+              viewport.getAlignmentView(true)
+                      .getSequenceStrings(viewport.getGapCharacter()),
+              viewport.getAlignment().getGroups());
     }
     else
     {
@@ -96,8 +89,8 @@ public class AlignViewController implements AlignViewControllerI
       {
         gps = jalview.analysis.Grouping.makeGroupsFromCols(
                 (sg == null) ? viewport.getAlignment().getSequencesArray()
-                        : sg.getSequences().toArray(new SequenceI[0]), cs,
-                viewport.getAlignment().getGroups());
+                        : sg.getSequences().toArray(new SequenceI[0]),
+                cs, viewport.getAlignment().getGroups());
       }
     }
     if (gps != null)
@@ -170,8 +163,9 @@ public class AlignViewController implements AlignViewControllerI
     // JBPNote this routine could also mark rows, not just columns.
     // need a decent query structure to allow all types of feature searches
     BitSet bs = new BitSet();
-    SequenceCollectionI sqcol = (viewport.getSelectionGroup() == null || extendCurrent) ? viewport
-            .getAlignment() : viewport.getSelectionGroup();
+    SequenceCollectionI sqcol = (viewport.getSelectionGroup() == null
+            || extendCurrent) ? viewport.getAlignment()
+                    : viewport.getSelectionGroup();
 
     int nseq = findColumnsWithFeature(featureType, sqcol, bs);
 
@@ -188,15 +182,15 @@ public class AlignViewController implements AlignViewControllerI
       if (changed)
       {
         viewport.setColumnSelection(cs);
-        alignPanel.paintAlignment(true);
-        int columnCount = invert ? (sqcol.getEndRes() - sqcol.getStartRes() + 1)
-                - bs.cardinality()
+        alignPanel.paintAlignment(false, false);
+        int columnCount = invert
+                ? (sqcol.getEndRes() - sqcol.getStartRes() + 1)
+                        - bs.cardinality()
                 : bs.cardinality();
         avcg.setStatus(MessageManager.formatMessage(
-                "label.view_controller_toggled_marked",
-                new String[] {
-                    toggle ? MessageManager.getString("label.toggled")
-                            : MessageManager.getString("label.marked"),
+                "label.view_controller_toggled_marked", new String[]
+                { toggle ? MessageManager.getString("label.toggled")
+                        : MessageManager.getString("label.marked"),
                     String.valueOf(columnCount),
                     invert ? MessageManager
                             .getString("label.not_containing")
@@ -207,13 +201,13 @@ public class AlignViewController implements AlignViewControllerI
     }
     else
     {
-      avcg.setStatus(MessageManager.formatMessage(
-              "label.no_feature_of_type_found",
-              new String[] { featureType }));
+      avcg.setStatus(MessageManager
+              .formatMessage("label.no_feature_of_type_found", new String[]
+              { featureType }));
       if (!extendCurrent)
       {
         cs.clear();
-        alignPanel.paintAlignment(true);
+        alignPanel.paintAlignment(false, false);
       }
     }
     return false;
@@ -333,9 +327,9 @@ public class AlignViewController implements AlignViewControllerI
     }
     SequenceI[] oldOrder = al.getSequencesArray();
     AlignmentSorter.sortByFeature(typ, gps, start, stop, al, method);
-    avcg.addHistoryItem(new OrderCommand(methodText, oldOrder, viewport
-            .getAlignment()));
-    alignPanel.paintAlignment(true);
+    avcg.addHistoryItem(new OrderCommand(methodText, oldOrder,
+            viewport.getAlignment()));
+    alignPanel.paintAlignment(true, false);
 
   }
 
@@ -352,9 +346,10 @@ public class AlignViewController implements AlignViewControllerI
     boolean featuresFile = false;
     try
     {
-      featuresFile = new FeaturesFile(false, file, protocol).parse(viewport
-              .getAlignment().getDataset(), alignPanel.getFeatureRenderer()
-              .getFeatureColours(), false, relaxedIdMatching);
+      featuresFile = new FeaturesFile(false, file, protocol).parse(
+              viewport.getAlignment().getDataset(),
+              alignPanel.getFeatureRenderer().getFeatureColours(), false,
+              relaxedIdMatching);
     } catch (Exception ex)
     {
       ex.printStackTrace();
@@ -372,7 +367,7 @@ public class AlignViewController implements AlignViewControllerI
       {
         avcg.getFeatureSettingsUI().discoverAllFeatureData();
       }
-      alignPanel.paintAlignment(true);
+      alignPanel.paintAlignment(true, true);
     }
 
     return featuresFile;
@@ -390,8 +385,9 @@ public class AlignViewController implements AlignViewControllerI
     }
     // JBPNote this routine could also mark rows, not just columns.
     BitSet bs = new BitSet();
-    SequenceCollectionI sqcol = (viewport.getSelectionGroup() == null || extendCurrent) ? viewport
-            .getAlignment() : viewport.getSelectionGroup();
+    SequenceCollectionI sqcol = (viewport.getSelectionGroup() == null
+            || extendCurrent) ? viewport.getAlignment()
+                    : viewport.getSelectionGroup();
 
     // this could be a lambda... - the remains of the method is boilerplate,
     // except for the different messages for reporting selection.
@@ -410,15 +406,15 @@ public class AlignViewController implements AlignViewControllerI
       if (changed)
       {
         viewport.setColumnSelection(cs);
-        alignPanel.paintAlignment(true);
-        int columnCount = invert ? (sqcol.getEndRes() - sqcol.getStartRes() + 1)
-                - bs.cardinality()
+        alignPanel.paintAlignment(false, false);
+        int columnCount = invert
+                ? (sqcol.getEndRes() - sqcol.getStartRes() + 1)
+                        - bs.cardinality()
                 : bs.cardinality();
         avcg.setStatus(MessageManager.formatMessage(
-                "label.view_controller_toggled_marked",
-                new String[] {
-                    toggle ? MessageManager.getString("label.toggled")
-                            : MessageManager.getString("label.marked"),
+                "label.view_controller_toggled_marked", new String[]
+                { toggle ? MessageManager.getString("label.toggled")
+                        : MessageManager.getString("label.marked"),
                     String.valueOf(columnCount),
                     invert ? MessageManager
                             .getString("label.not_containing")
@@ -434,7 +430,7 @@ public class AlignViewController implements AlignViewControllerI
       if (!extendCurrent)
       {
         cs.clear();
-        alignPanel.paintAlignment(true);
+        alignPanel.paintAlignment(false, false);
       }
     }
     return false;