Merge branch 'develop' into features/JAL-3010ontologyFeatureSettings
[jalview.git] / src / jalview / gui / AlignFrame.java
index adc8a15..1cdd3a6 100644 (file)
@@ -33,6 +33,7 @@ import jalview.api.AlignViewControllerI;
 import jalview.api.AlignViewportI;
 import jalview.api.AlignmentViewPanel;
 import jalview.api.FeatureSettingsControllerI;
+import jalview.api.FeatureSettingsModelI;
 import jalview.api.SplitContainerI;
 import jalview.api.ViewStyleI;
 import jalview.api.analysis.SimilarityParamsI;
@@ -974,7 +975,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
   @Override
   public void setStatus(String text)
   {
-    statusBar.setText(text);
+    statusBar.setText(text == null || text.isEmpty() ? " " : text);
   }
 
   /*
@@ -1203,23 +1204,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
           PrintWriter out = new PrintWriter(
                   new FileWriter(backupfiles.getTempFilePath()));
 
-          // TESTING code here
-          boolean TESTING = true;
-          if (TESTING)
-          {
-            out.print("; TESTSTART\n");
-            int count = 20;
-            for (int i = 0; i < count; i++)
-            {
-              // Thread.sleep(1000);
-              out.println("; TEST: " + (count - 1 - i));
-            }
-          }
           out.print(output);
-          if (TESTING)
-          {
-            out.print("; TESTEND\n");
-          }
           out.close();
           this.setTitle(file);
           statusBar.setText(MessageManager.formatMessage(
@@ -3120,7 +3105,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
   protected void scaleAbove_actionPerformed(ActionEvent e)
   {
     viewport.setScaleAboveWrapped(scaleAbove.isSelected());
-    // TODO: do we actually need to update overview for scale above change ?
+    alignPanel.updateLayout();
     alignPanel.paintAlignment(true, false);
   }
 
@@ -3134,6 +3119,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
   protected void scaleLeft_actionPerformed(ActionEvent e)
   {
     viewport.setScaleLeftWrapped(scaleLeft.isSelected());
+    alignPanel.updateLayout();
     alignPanel.paintAlignment(true, false);
   }
 
@@ -3147,6 +3133,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
   protected void scaleRight_actionPerformed(ActionEvent e)
   {
     viewport.setScaleRightWrapped(scaleRight.isSelected());
+    alignPanel.updateLayout();
     alignPanel.paintAlignment(true, false);
   }
 
@@ -4949,6 +4936,13 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
               @Override
               public void finished()
               {
+
+                for (FeatureSettingsModelI srcSettings : dbRefFetcher
+                        .getFeatureSettingsModels())
+                {
+
+                  alignPanel.av.mergeFeaturesStyle(srcSettings);
+                }
                 AlignFrame.this.setMenusForViewport();
               }
             });
@@ -5034,6 +5028,10 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
                                   @Override
                                   public void finished()
                                   {
+                                    FeatureSettingsModelI srcSettings = dassource[0]
+                                            .getFeatureColourScheme();
+                                    alignPanel.av.mergeFeaturesStyle(
+                                            srcSettings);
                                     AlignFrame.this.setMenusForViewport();
                                   }
                                 });
@@ -5566,22 +5564,23 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
   }
 
   /**
-   * Hides columns containing (or not containing) a specified feature, provided
-   * that would not leave all columns hidden
+   * Hides columns containing (or not containing) the specified feature(s),
+   * provided that would not leave all columns hidden
    * 
-   * @param featureType
    * @param columnsContaining
+   * @param featureTypes
+   * 
    * @return
    */
-  public boolean hideFeatureColumns(String featureType,
-          boolean columnsContaining)
+  public boolean hideFeatureColumns(boolean columnsContaining,
+          String... featureTypes)
   {
     boolean notForHiding = avc.markColumnsContainingFeatures(
-            columnsContaining, false, false, featureType);
+            columnsContaining, false, false, featureTypes);
     if (notForHiding)
     {
       if (avc.markColumnsContainingFeatures(!columnsContaining, false,
-              false, featureType))
+              false, featureTypes))
       {
         getViewport().hideSelectedColumns();
         return true;