3253-omnibus save
[jalview.git] / src / jalview / appletgui / AlignFrame.java
index 062dbf8..997f185 100644 (file)
@@ -96,6 +96,7 @@ import java.awt.Menu;
 import java.awt.MenuBar;
 import java.awt.MenuItem;
 import java.awt.Panel;
+import java.awt.Rectangle;
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
 import java.awt.event.FocusEvent;
@@ -107,6 +108,7 @@ import java.awt.event.KeyListener;
 import java.awt.event.WindowAdapter;
 import java.awt.event.WindowEvent;
 import java.io.IOException;
+import java.io.UnsupportedEncodingException;
 import java.net.URL;
 import java.net.URLEncoder;
 import java.util.Arrays;
@@ -119,9 +121,8 @@ import java.util.Vector;
 
 import org.jmol.viewer.Viewer;
 
-public class AlignFrame extends EmbmenuFrame implements AlignFrameI,
-        ActionListener,
-        ItemListener, KeyListener, AlignViewControllerGuiI
+public class AlignFrame extends EmbmenuFrame implements ActionListener,
+        ItemListener, KeyListener, AlignViewControllerGuiI, AlignFrameI
 {
   public AlignViewControllerI avc;
 
@@ -1204,7 +1205,7 @@ public class AlignFrame extends EmbmenuFrame implements AlignFrameI,
     }
     else if (source == featureSettings)
     {
-      new FeatureSettings(alignPanel);
+      showFeatureSettingsUI();
     }
     else if (source == alProperties)
     {
@@ -1449,12 +1450,13 @@ public class AlignFrame extends EmbmenuFrame implements AlignFrameI,
     {
       features = formatter.printJalviewFormat(
               viewport.getAlignment().getSequencesArray(),
-              alignPanel.getFeatureRenderer(), true);
+              alignPanel.getFeatureRenderer(), true, false);
     }
     else
     {
       features = formatter.printGffFormat(viewport.getAlignment()
-              .getSequencesArray(), alignPanel.getFeatureRenderer(), true);
+              .getSequencesArray(), alignPanel.getFeatureRenderer(), true,
+              false);
     }
 
     if (displayTextbox)
@@ -1571,7 +1573,7 @@ public class AlignFrame extends EmbmenuFrame implements AlignFrameI,
     try
     {
       new URL(url);
-      url = URLEncoder.encode(url);
+      url = URLEncoder.encode(url, "UTF-8");
     }
     /*
      * When we finally deprecate 1.1 compatibility, we can start to use
@@ -1584,6 +1586,13 @@ public class AlignFrame extends EmbmenuFrame implements AlignFrameI,
     {
       url = viewport.applet.getCodeBase() + url;
     }
+    catch (UnsupportedEncodingException ex)
+    {
+      System.err.println(
+              "WARNING = IMPLEMENTATION ERROR - UNSUPPORTED ENCODING EXCEPTION FOR "
+                      + url);
+      ex.printStackTrace();
+    }
     return url;
   }
 
@@ -4332,4 +4341,24 @@ public class AlignFrame extends EmbmenuFrame implements AlignFrameI,
     return alignPanel.av.featureSettings;
   }
 
+  @Override
+  public FeatureSettingsControllerI showFeatureSettingsUI()
+  {
+    return new FeatureSettings(alignPanel);
+  }
+
+  private Rectangle fs_bounds = null;
+
+  @Override
+  public void setFeatureSettingsGeometry(Rectangle bounds)
+  {
+    fs_bounds = bounds;
+  }
+
+  @Override
+  public Rectangle getFeatureSettingsGeometry()
+  {
+    return fs_bounds;
+  }
+
 }