JAL-722 updated from 2.11.2 develop branch - needs further work before release
[jalview.git] / src / jalview / gui / AlignFrame.java
index 61ee231..a36c186 100644 (file)
@@ -20,6 +20,8 @@
  */
 package jalview.gui;
 
+import java.util.Locale;
+
 import java.awt.BorderLayout;
 import java.awt.Color;
 import java.awt.Component;
@@ -484,9 +486,9 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
                 }
               }
             });
-    if (Cache.getDefault("VERSION", "DEVELOPMENT").toLowerCase()
+    if (Cache.getDefault("VERSION", "DEVELOPMENT").toLowerCase(Locale.ROOT)
             .indexOf("devel") > -1
-            || Cache.getDefault("VERSION", "DEVELOPMENT").toLowerCase()
+            || Cache.getDefault("VERSION", "DEVELOPMENT").toLowerCase(Locale.ROOT)
                     .indexOf("test") > -1)
     {
       formatMenu.add(vsel);
@@ -565,7 +567,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
           }
           if (viewport.cursorMode)
           {
-            alignPanel.getSeqPanel().moveCursor(0, 1);
+            alignPanel.getSeqPanel().moveCursor(0, 1, evt.isShiftDown());
           }
           break;
 
@@ -576,7 +578,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
           }
           if (viewport.cursorMode)
           {
-            alignPanel.getSeqPanel().moveCursor(0, -1);
+            alignPanel.getSeqPanel().moveCursor(0, -1,evt.isShiftDown());
           }
 
           break;
@@ -589,7 +591,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
           }
           else
           {
-            alignPanel.getSeqPanel().moveCursor(-1, 0);
+            alignPanel.getSeqPanel().moveCursor(-1, 0, evt.isShiftDown());
           }
 
           break;
@@ -601,7 +603,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
           }
           else
           {
-            alignPanel.getSeqPanel().moveCursor(1, 0);
+            alignPanel.getSeqPanel().moveCursor(1, 0, evt.isShiftDown());
           }
           break;
 
@@ -3377,49 +3379,42 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
   }
 
   @Override
-  public void alignmentProperties()
-  {
-    JComponent pane;
-    StringBuffer contents = new AlignmentProperties(viewport.getAlignment())
-
-            .formatAsHtml();
-    String content = MessageManager.formatMessage("label.html_content",
-            new Object[]
-            { contents.toString() });
-    contents = null;
-
-    if (Platform.isJS())
-    {
-      JLabel textLabel = new JLabel();
-      textLabel.setText(content);
-      textLabel.setBackground(Color.WHITE);
-
-      pane = new JPanel(new BorderLayout());
-      ((JPanel) pane).setOpaque(true);
-      pane.setBackground(Color.WHITE);
-      ((JPanel) pane).add(textLabel, BorderLayout.NORTH);
-    }
-    else
-    /**
-     * Java only
-     * 
-     * @j2sIgnore
-     */
-    {
-      JEditorPane editPane = new JEditorPane("text/html", "");
-      editPane.setEditable(false);
-      editPane.setText(content);
-      pane = editPane;
-    }
-
-    JInternalFrame frame = new JInternalFrame();
-
-    frame.getContentPane().add(new JScrollPane(pane));
-
-    Desktop.addInternalFrame(frame, MessageManager
-            .formatMessage("label.alignment_properties", new Object[]
-            { getTitle() }), 500, 400);
-  }
+       public void alignmentProperties() {
+               JComponent pane;
+               StringBuilder contents = new StringBuilder(128);
+               contents.append("<html><body>");
+               contents.append(new AlignmentProperties(viewport.getAlignment()).formatAsHtml());
+               contents.append("</body></html>");
+
+               String content = contents.toString();
+
+               JInternalFrame frame = null;
+               if (Platform.isJS()) {
+                       JLabel textLabel = new JLabel();
+                       textLabel.setText(content);
+                       textLabel.setBackground(Color.WHITE);
+
+                       pane = new JPanel(new BorderLayout());
+                       ((JPanel) pane).setOpaque(true);
+                       pane.setBackground(Color.WHITE);
+                       ((JPanel) pane).add(textLabel, BorderLayout.NORTH);
+                       frame = new JInternalFrame();
+                       frame.getContentPane().add(new JScrollPane(pane));
+               } else
+               /**
+                * Java only
+                * 
+                * @j2sIgnore
+                */
+               {
+                       CutAndPasteHtmlTransfer cap = new CutAndPasteHtmlTransfer();
+                       cap.setText(content);
+                       frame = cap;
+               }
+
+               Desktop.addInternalFrame(frame,
+                               MessageManager.formatMessage("label.alignment_properties", new Object[] { getTitle() }), 500, 400);
+       }
 
   /**
    * DOCUMENT ME!
@@ -4297,7 +4292,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener,
                       jws2servs.attachWSMenuEntry(webService, me);
                       for (Jws2Instance sv : jws2servs.getServices())
                       {
-                        if (sv.description.toLowerCase().contains("jpred"))
+                        if (sv.description.toLowerCase(Locale.ROOT).contains("jpred"))
                         {
                           for (JMenuItem jmi : legacyItems)
                           {