JAL-1432 updated copyright notices
[jalview.git] / src / jalview / jbgui / GPreferences.java
index 2b71c03..1230373 100755 (executable)
@@ -1,19 +1,20 @@
 /*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.6)
- * Copyright (C) 2010 J Procter, AM Waterhouse, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Copyright (C) 2014 The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
  * Jalview is free software: you can redistribute it and/or
  * modify it under the terms of the GNU General Public License 
  * as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
- * 
+ *  
  * Jalview is distributed in the hope that it will be useful, but 
  * WITHOUT ANY WARRANTY; without even the implied warranty 
  * of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
  * PURPOSE.  See the GNU General Public License for more details.
  * 
  * You should have received a copy of the GNU General Public License along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
+ * The Jalview Authors are detailed in the 'AUTHORS' file.
  */
 package jalview.jbgui;
 
@@ -48,6 +49,7 @@ public class GPreferences extends JPanel
   protected JCheckBox quality = new JCheckBox();
 
   JPanel visualTab = new JPanel();
+
   JPanel visual2Tab = new JPanel();
 
   protected JCheckBox fullScreen = new JCheckBox();
@@ -59,9 +61,11 @@ public class GPreferences extends JPanel
   protected JCheckBox annotations = new JCheckBox();
 
   protected JPanel minColour = new JPanel();
+
   JLabel mincolourLabel = new JLabel();
 
   protected JPanel maxColour = new JPanel();
+
   JLabel maxcolourLabel = new JLabel();
 
   JLabel gapLabel = new JLabel();
@@ -141,6 +145,7 @@ public class GPreferences extends JPanel
   JLabel sortLabel = new JLabel();
 
   JPanel jPanel2 = new JPanel();
+
   JPanel visual2panel = new JPanel();
 
   GridLayout gridLayout2 = new GridLayout();
@@ -161,6 +166,12 @@ public class GPreferences extends JPanel
 
   protected JComboBox epsRendering = new JComboBox();
 
+  protected JLabel userIdWidthlabel = new JLabel();
+
+  protected JCheckBox autoIdWidth = new JCheckBox();
+
+  protected JTextField userIdWidth = new JTextField();
+
   JLabel jLabel1 = new JLabel();
 
   protected JCheckBox blcjv = new JCheckBox();
@@ -241,7 +252,7 @@ public class GPreferences extends JPanel
 
   protected JCheckBox followHighlight = new JCheckBox();
 
-  protected JCheckBox sortByTree= new JCheckBox();
+  protected JCheckBox sortByTree = new JCheckBox();
 
   /**
    * Creates a new GPreferences object.
@@ -433,7 +444,7 @@ public class GPreferences extends JPanel
     {
       public void mousePressed(MouseEvent e)
       {
-          minColour_actionPerformed();
+        minColour_actionPerformed();
       }
     });
     maxcolourLabel.setFont(verdana11);
@@ -446,10 +457,10 @@ public class GPreferences extends JPanel
     {
       public void mousePressed(MouseEvent e)
       {
-          maxColour_actionPerformed();
+        maxColour_actionPerformed();
       }
     });
-    
+
     startupCheckbox.setText("Open file");
     startupCheckbox.setFont(verdana11);
     startupCheckbox.setHorizontalAlignment(SwingConstants.RIGHT);
@@ -632,12 +643,57 @@ public class GPreferences extends JPanel
     padGaps.setText("Pad Gaps When Editing");
     padGaps.setBounds(new Rectangle(22, 94, 168, 23));
     sortByTree.setFont(JvSwingUtils.getLabelFont());
-    sortByTree.setText("Sort Alignment With New Tree");
-    sortByTree.setToolTipText("When selected, any trees calculated or laoded onto the alignment will automatically sort the alignment.");
+    sortByTree.setText("Sort With New Tree");
+    sortByTree
+            .setToolTipText("When selected, any trees calculated or loaded onto the alignment will automatically sort the alignment.");
     sortByTree.setBounds(new Rectangle(22, 136, 168, 23));
+
+    autoIdWidth.setFont(JvSwingUtils.getLabelFont());
+    autoIdWidth.setText("Automatically set ID width");
+    autoIdWidth
+            .setToolTipText("<html>"
+                    + JvSwingUtils
+                            .wrapTooltip("Adjusts the width of the generated EPS or PNG file to ensure even the longest sequence ID or annotation label is displayed")
+                    + "</html>");
+    autoIdWidth.setBounds(new Rectangle(228, 96, 188, 23));
+    autoIdWidth.addActionListener(new ActionListener()
+    {
+
+      @Override
+      public void actionPerformed(ActionEvent e)
+      {
+        autoIdWidth_actionPerformed();
+      }
+    });
+    userIdWidthlabel.setFont(JvSwingUtils.getLabelFont());
+    userIdWidthlabel.setText("Figure ID column width");
+    userIdWidth
+            .setToolTipText("<html>"
+                    + JvSwingUtils
+                            .wrapTooltip("Manually specify the width of the left hand column where sequence IDs and annotation labels will be rendered in exported alignment figures. This setting will be ignored if 'Automatically set ID width' is set")
+                    + "</html>");
+    userIdWidthlabel
+            .setToolTipText("<html>"
+                    + JvSwingUtils
+                            .wrapTooltip("Manually specify the width of the left hand column where sequence IDs and annotation labels will be rendered in exported alignment figures. This setting will be ignored if 'Automatically set ID width' is set")
+                    + "</html>");
+    userIdWidthlabel.setBounds(new Rectangle(236, 120, 168, 23));
+    userIdWidth.setFont(JvSwingUtils.getTextAreaFont());
+    userIdWidth.setText("");
+    userIdWidth.setBounds(new Rectangle(232, 144, 84, 23));
+    userIdWidth.addActionListener(new ActionListener()
+    {
+
+      @Override
+      public void actionPerformed(ActionEvent e)
+      {
+        userIdWidth_actionPerformed();
+      }
+    });
     modellerOutput.setFont(JvSwingUtils.getLabelFont());
     modellerOutput.setText("Use Modeller Output");
     modellerOutput.setBounds(new Rectangle(228, 226, 168, 23));
+
     dasPanel.setLayout(borderLayout4);
     wsPanel.setLayout(borderLayout5);
     wrap.setFont(JvSwingUtils.getLabelFont());
@@ -715,17 +771,23 @@ public class GPreferences extends JPanel
     tooltipSettings.add(showNpTooltip);
     visualTab.add(tooltipSettings);
     visualTab.add(jPanel2);
-    JvSwingUtils.addtoLayout(visual2Tab, "Default Colourscheme for alignment", colourLabel, colour);
-    JPanel annotationShding=new JPanel();
-    annotationShding.setBorder(new TitledBorder("Annotation Shading Default"));
-    annotationShding.setLayout(new GridLayout(1,2));
-    JvSwingUtils.addtoLayout(annotationShding, "Default Minimum Colour for annotation shading", mincolourLabel,minColour);
-    JvSwingUtils.addtoLayout(annotationShding,"Default Maximum Colour for annotation shading", maxcolourLabel, maxColour);
+    JvSwingUtils.addtoLayout(visual2Tab,
+            "Default Colourscheme for alignment", colourLabel, colour);
+    JPanel annotationShding = new JPanel();
+    annotationShding.setBorder(new TitledBorder(
+            "Annotation Shading Default"));
+    annotationShding.setLayout(new GridLayout(1, 2));
+    JvSwingUtils.addtoLayout(annotationShding,
+            "Default Minimum Colour for annotation shading",
+            mincolourLabel, minColour);
+    JvSwingUtils.addtoLayout(annotationShding,
+            "Default Maximum Colour for annotation shading",
+            maxcolourLabel, maxColour);
     visual2Tab.add(annotationShding); // , FlowLayout.LEFT);
 
-//    visual2panel.add(minColour);
-//    visual2panel.add(maxColour);
-//    visual2Tab.add(visual2panel);
+    // visual2panel.add(minColour);
+    // visual2panel.add(maxColour);
+    // visual2Tab.add(visual2panel);
 
     linkPanel.add(editLinkButtons, BorderLayout.EAST);
     editLinkButtons.add(newLink, null);
@@ -782,7 +844,7 @@ public class GPreferences extends JPanel
     gapSymbolCB.setRenderer(dlcr);
 
     tabbedPane.add(visualTab, "Visual");
-    tabbedPane.add(visual2Tab,"Colours");
+    tabbedPane.add(visual2Tab, "Colours");
     tabbedPane.add(connectTab, "Connections");
     tabbedPane.add(exportTab, "Output");
     jPanel11.add(jLabel1);
@@ -793,12 +855,15 @@ public class GPreferences extends JPanel
     jPanel11.add(pfamjv);
     jPanel11.add(pileupjv);
     jPanel11.add(pirjv);
+    exportTab.add(autoIdWidth);
+    exportTab.add(userIdWidth);
+    exportTab.add(userIdWidthlabel);
     exportTab.add(modellerOutput);
     tabbedPane.add(calcTab, "Editing");
     calcTab.add(autoCalculateConsCheck);
     calcTab.add(padGaps);
     calcTab.add(sortByTree);
-    
+
     tabbedPane.add(dasPanel, "DAS Settings");
     tabbedPane.add(wsPanel, "Web Services");
 
@@ -807,16 +872,28 @@ public class GPreferences extends JPanel
     exportTab.add(jPanel11);
   }
 
+  protected void autoIdWidth_actionPerformed()
+  {
+    // TODO Auto-generated method stub
+
+  }
+
+  protected void userIdWidth_actionPerformed()
+  {
+    // TODO Auto-generated method stub
+
+  }
+
   protected void maxColour_actionPerformed()
   {
     // TODO Auto-generated method stub
-    
+
   }
 
   protected void minColour_actionPerformed()
   {
     // TODO Auto-generated method stub
-    
+
   }
 
   protected void showunconserved_actionPerformed(ActionEvent e)