Merge commit
[jalview.git] / src / jalview / jbgui / GPreferences.java
index 9d691ca..1d35477 100755 (executable)
@@ -1,6 +1,6 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.2)
- * Copyright (C) 2014 The Jalview Authors
+ * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
+ * Copyright (C) $$Year-Rel$$ The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
@@ -21,7 +21,8 @@
 package jalview.jbgui;
 
 import jalview.gui.JvSwingUtils;
-import jalview.gui.StructureViewer.Viewer;
+import jalview.gui.StructureViewer.ViewerType;
+import jalview.jbgui.PDBDocFieldPreferences.PreferenceSource;
 import jalview.util.MessageManager;
 
 import java.awt.BorderLayout;
@@ -37,7 +38,6 @@ import java.awt.Insets;
 import java.awt.Rectangle;
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
-import java.awt.event.FocusAdapter;
 import java.awt.event.FocusEvent;
 import java.awt.event.KeyEvent;
 import java.awt.event.MouseAdapter;
@@ -150,6 +150,7 @@ public class GPreferences extends JPanel
 
   protected JTextField chimeraPath = new JTextField();
 
+
   /*
    * Colours tab components
    */
@@ -157,7 +158,9 @@ public class GPreferences extends JPanel
 
   protected JPanel maxColour = new JPanel();
 
-  protected JComboBox<String> colour = new JComboBox<String>();
+  protected JComboBox<String> protColour = new JComboBox<String>();
+
+  protected JComboBox<String> nucColour = new JComboBox<String>();
 
   /*
    * Connections tab components
@@ -693,16 +696,30 @@ public class GPreferences extends JPanel
         maxColour_actionPerformed(maxColour);
       }
     });
-    colour.setFont(verdana11);
-    colour.setBounds(new Rectangle(172, 225, 155, 21));
-    JLabel colourLabel = new JLabel();
-    colourLabel.setFont(verdana11);
-    colourLabel.setHorizontalAlignment(SwingConstants.RIGHT);
-    colourLabel.setText(MessageManager.getString("label.alignment_colour")
+
+    protColour.setFont(verdana11);
+    protColour.setBounds(new Rectangle(172, 225, 155, 21));
+    JLabel protColourLabel = new JLabel();
+    protColourLabel.setFont(verdana11);
+    protColourLabel.setHorizontalAlignment(SwingConstants.LEFT);
+    protColourLabel.setText(MessageManager
+            .getString("label.prot_alignment_colour") + " ");
+    JvSwingUtils.addtoLayout(coloursTab, MessageManager
+            .getString("label.default_colour_scheme_for_alignment"),
+            protColourLabel, protColour);
+
+    nucColour.setFont(verdana11);
+    nucColour.setBounds(new Rectangle(172, 240, 155, 21));
+    JLabel nucColourLabel = new JLabel();
+    nucColourLabel.setFont(verdana11);
+    nucColourLabel.setHorizontalAlignment(SwingConstants.LEFT);
+    nucColourLabel.setText(MessageManager
+            .getString("label.nuc_alignment_colour")
             + " ");
     JvSwingUtils.addtoLayout(coloursTab, MessageManager
             .getString("label.default_colour_scheme_for_alignment"),
-            colourLabel, colour);
+            nucColourLabel, nucColour);
+
     JPanel annotationShding = new JPanel();
     annotationShding.setBorder(new TitledBorder(MessageManager
             .getString("label.annotation_shading_default")));
@@ -730,8 +747,8 @@ public class GPreferences extends JPanel
             .getString("label.structure_options")));
     structureTab.setLayout(null);
     final int width = 400;
-    final int height = 23;
-    final int lineSpacing = 30;
+    final int height = 22;
+    final int lineSpacing = 25;
     int ypos = 30;
 
     structFromPdb.setFont(verdana11);
@@ -781,8 +798,17 @@ public class GPreferences extends JPanel
 
     structViewer.setFont(verdana11);
     structViewer.setBounds(new Rectangle(160, ypos, 120, height));
-    structViewer.addItem(Viewer.JMOL.name());
-    structViewer.addItem(Viewer.CHIMERA.name());
+    structViewer.addItem(ViewerType.JMOL.name());
+    structViewer.addItem(ViewerType.CHIMERA.name());
+    structViewer.addActionListener(new ActionListener()
+    {
+      @Override
+      public void actionPerformed(ActionEvent e)
+      {
+        structureViewer_actionPerformed((String) structViewer
+                .getSelectedItem());
+      }
+    });
     structureTab.add(structViewer);
 
     ypos += lineSpacing;
@@ -790,8 +816,9 @@ public class GPreferences extends JPanel
     pathLabel.setFont(new java.awt.Font("SansSerif", 0, 11));
     pathLabel.setHorizontalAlignment(SwingConstants.LEFT);
     pathLabel.setText(MessageManager.getString("label.chimera_path"));
-    pathLabel.setToolTipText(MessageManager
-            .getString("label.chimera_path_tip"));
+    final String tooltip = JvSwingUtils.wrapTooltip(true,
+            MessageManager.getString("label.chimera_path_tip"));
+    pathLabel.setToolTipText(tooltip);
     pathLabel.setBounds(new Rectangle(10, ypos, 140, height));
     structureTab.add(pathLabel);
 
@@ -815,18 +842,32 @@ public class GPreferences extends JPanel
     });
     structureTab.add(chimeraPath);
 
-    structureTab.addFocusListener(new FocusAdapter()
-    {
-      @Override
-      public void focusLost(FocusEvent e)
-      {
-        validateStructure(e);
-      }
+    ypos += lineSpacing;
+    // scrl_pdbDocFieldConfig.setPreferredSize(new Dimension(450, 100));
+    // scrl_pdbDocFieldConfig
+    // .setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
+    // scrl_pdbDocFieldConfig.setBounds();
+    PDBDocFieldPreferences docFieldPref = new PDBDocFieldPreferences(
+            PreferenceSource.PREFERENCES);
+    docFieldPref.setBounds(new Rectangle(10, ypos + 5, 450, 120));
+    structureTab.add(docFieldPref);
+
+
+
 
-    });
     return structureTab;
   }
 
+
+  /**
+   * Action on choosing a structure viewer from combobox options.
+   * 
+   * @param selectedItem
+   */
+  protected void structureViewer_actionPerformed(String selectedItem)
+  {
+  }
+
   /**
    * Show a dialog for the user to choose a file. Returns the chosen path, or
    * null on Cancel.