ID_ITALICS option in preferences
[jalview.git] / src / jalview / gui / Preferences.java
index f90f09c..b58c72d 100755 (executable)
@@ -1,6 +1,6 @@
 /*\r
  * Jalview - A Sequence Alignment Editor and Viewer\r
- * Copyright (C) 2005 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle\r
+ * Copyright (C) 2006 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle\r
  *\r
  * This program is free software; you can redistribute it and/or\r
  * modify it under the terms of the GNU General Public License\r
@@ -18,8 +18,6 @@
  */\r
 package jalview.gui;\r
 \r
-import jalview.bin.*;\r
-\r
 import jalview.io.*;\r
 \r
 import jalview.jbgui.*;\r
@@ -45,12 +43,32 @@ import jalview.bin.Cache;
 public class Preferences extends GPreferences\r
 {\r
     /** Holds name and link separated with | character. Sequence ID must be $SEQUENCE_ID$ */\r
-    public static Vector sequenceURLLinks = new Vector();\r
-    static { sequenceURLLinks.addElement("SRS|http://srs.ebi.ac.uk/srs7bin/cgi-bin/wgetz?-e+[uniprot-all:$SEQUENCE_ID$]+-vn+2");}\r
+    public static Vector sequenceURLLinks;\r
+    static\r
+    {\r
+      String string = Cache.getDefault("SEQUENCE_LINKS",\r
+                                       "SRS|http://srs.ebi.ac.uk/srsbin/cgi-bin/wgetz?-newId+(([uniprot-all:$SEQUENCE_ID$]))+-view+SwissEntry");\r
+      sequenceURLLinks = new Vector();\r
+\r
+      try\r
+      {\r
+        StringTokenizer st = new StringTokenizer(string, "|");\r
+        while (st.hasMoreElements())\r
+        {\r
+          sequenceURLLinks.addElement(st.nextToken() + "|" + st.nextToken());\r
+        }\r
+      }\r
+      catch (Exception ex)\r
+      {\r
+        System.out.println(ex + "\nError parsing sequence links");\r
+      }\r
+    }\r
     Vector nameLinks, urlLinks;\r
 \r
     JInternalFrame frame;\r
 \r
+    DasSourceBrowser dasSource;\r
+\r
 \r
     /**\r
      * Creates a new Preferences object.\r
@@ -60,14 +78,25 @@ public class Preferences extends GPreferences
 \r
         frame = new JInternalFrame();\r
         frame.setContentPane(this);\r
-        Desktop.addInternalFrame(frame, "Preferences", 480, 390);\r
-        frame.setMinimumSize(new Dimension(480,390));\r
+        dasSource = new DasSourceBrowser();\r
+        dasPanel.add(dasSource, BorderLayout.CENTER);\r
 \r
-        fullID.setSelected(      Cache.getDefault("SHOW_FULL_ID", true));\r
+        int width = 500, height = 420;\r
+        if(System.getProperty("os.name").startsWith("Mac"))\r
+        {\r
+          width = 570;\r
+          height = 460;\r
+        }\r
+\r
+        Desktop.addInternalFrame(frame, "Preferences", width, height);\r
+        frame.setMinimumSize(new Dimension(width, height));\r
+\r
+        seqLimit.setSelected(    Cache.getDefault("SHOW_JVSUFFIX", true));\r
+        rightAlign.setSelected(  Cache.getDefault("RIGHT_ALIGN_IDS", false));\r
         fullScreen.setSelected(  Cache.getDefault("SHOW_FULLSCREEN", false));\r
-        annotations.setSelected( Cache.getDefault("SHOW_FULL_ID", true));\r
-        conservation.setEnabled( Cache.getDefault("SHOW_ANNOTATIONS", true));\r
+        annotations.setSelected( Cache.getDefault("SHOW_ANNOTATIONS", true));\r
 \r
+        conservation.setEnabled( Cache.getDefault("SHOW_ANNOTATIONS", true));\r
         quality.setEnabled(Cache.getDefault("SHOW_ANNOTATIONS", true));\r
         identity.setEnabled(Cache.getDefault("SHOW_ANNOTATIONS", true));\r
 \r
@@ -75,21 +104,14 @@ public class Preferences extends GPreferences
         quality.setSelected(Cache.getDefault("SHOW_QUALITY", true));\r
         identity.setSelected(Cache.getDefault("SHOW_IDENTITY", true));\r
 \r
-        for (int i = 0; i < 12; i++)\r
+        for (int i = 0; i < 13; i++)\r
         {\r
             colour.addItem(ColourSchemeProperty.getColourName(i));\r
         }\r
 \r
-        String string = Cache.getProperty("DEFAULT_COLOUR");\r
+        String string = Cache.getDefault("DEFAULT_COLOUR", "None");\r
 \r
-        if (string != null)\r
-        {\r
-            colour.setSelectedItem(string);\r
-        }\r
-        else\r
-        {\r
-            colour.setSelectedIndex(11);\r
-        }\r
+        colour.setSelectedItem(string);\r
 \r
         String[] fonts = java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment()\r
                                                      .getAvailableFontFamilyNames();\r
@@ -112,6 +134,12 @@ public class Preferences extends GPreferences
         fontSizeCB.setSelectedItem(Cache.getDefault("FONT_SIZE", "10"));\r
         fontStyleCB.setSelectedItem(Cache.getDefault("FONT_STYLE", Font.PLAIN + "") );\r
 \r
+        smoothFont.setSelected(Cache.getDefault("ANTI_ALIAS", false));\r
+\r
+        idItalics.setSelected(Cache.getDefault("ID_ITALICS", true));\r
+\r
+        wrap.setSelected(Cache.getDefault("WRAP_ALIGNMENT", false));\r
+\r
         gapSymbolCB.addItem("-");\r
         gapSymbolCB.addItem(".");\r
 \r
@@ -121,23 +149,32 @@ public class Preferences extends GPreferences
         startupFileTextfield.setText(Cache.getDefault("STARTUP_FILE",\r
          "http://www.jalview.org/examples/exampleFile.jar"));\r
 \r
-  /****************************************************\r
-   * Set up Connections\r
-   */\r
+        sortby.addItem("No sort");\r
+        sortby.addItem("Id");\r
+        sortby.addItem("Pairwise Identity");\r
+        sortby.setSelectedItem( Cache.getDefault("SORT_ALIGNMENT", "No sort") );\r
 \r
-      string = Cache.getDefault("SEQUENCE_LINKS",\r
-                            "SRS|http://srs.ebi.ac.uk/srs7bin/cgi-bin/wgetz?-e+[uniprot-all:$SEQUENCE_ID$]+-vn+2");\r
-      sequenceURLLinks = new Vector();\r
+        epsRendering.addItem("Prompt each time");\r
+        epsRendering.addItem("Lineart");\r
+        epsRendering.addItem("Text");\r
+        epsRendering.setSelectedItem( Cache.getDefault("EPS_RENDERING", "Prompt each time"));\r
 \r
-        try{\r
-          StringTokenizer st = new StringTokenizer(string, "|");\r
-          while (st.hasMoreElements())\r
-          {\r
-            sequenceURLLinks.addElement(st.nextToken() + "|" + st.nextToken());\r
-          }\r
-        }catch(Exception ex)\r
-        {System.out.println(ex+"\nError parsing sequence links");}\r
+        blcjv.setSelected( Cache.getDefault("BLC_JVSUFFIX", true) );\r
+        clustaljv.setSelected( Cache.getDefault("CLUSTAL_JVSUFFIX", true) );\r
+        fastajv.setSelected( Cache.getDefault("FASTA_JVSUFFIX", true) );\r
+        msfjv.setSelected( Cache.getDefault("MSF_JVSUFFIX", true) );\r
+        pfamjv.setSelected( Cache.getDefault("PFAM_JVSUFFIX", true) );\r
+        pileupjv.setSelected( Cache.getDefault("PILEUP_JVSUFFIX", true) );\r
+        pirjv.setSelected( Cache.getDefault("PIR_JVSUFFIX", true) );\r
+\r
+        modellerOutput.setSelected( Cache.getDefault("PIR_MODELLER", false));\r
+\r
+        autoCalculateConsCheck.setSelected( Cache.getDefault("AUTO_CALC_CONSENSUS", true));\r
+        padGaps.setSelected( Cache.getDefault("PAD_GAPS", false));\r
 \r
+  /****************************************************\r
+   * Set up Connections\r
+   */\r
         nameLinks = new Vector();\r
         urlLinks = new Vector();\r
         for(int i=0; i<sequenceURLLinks.size(); i++)\r
@@ -176,7 +213,8 @@ public class Preferences extends GPreferences
     public void ok_actionPerformed(ActionEvent e)\r
     {\r
 \r
-      Cache.applicationProperties.setProperty("SHOW_FULL_ID", Boolean.toString(fullID.isSelected()));\r
+      Cache.applicationProperties.setProperty("SHOW_JVSUFFIX", Boolean.toString(seqLimit.isSelected()));\r
+      Cache.applicationProperties.setProperty("RIGHT_ALIGN_IDS", Boolean.toString(rightAlign.isSelected()));\r
       Cache.applicationProperties.setProperty("SHOW_FULLSCREEN", Boolean.toString(fullScreen.isSelected()));\r
 \r
       Cache.applicationProperties.setProperty("SHOW_ANNOTATIONS", Boolean.toString(annotations.isSelected()));\r
@@ -191,10 +229,29 @@ public class Preferences extends GPreferences
       Cache.applicationProperties.setProperty("FONT_STYLE", fontStyleCB.getSelectedItem().toString());\r
       Cache.applicationProperties.setProperty("FONT_SIZE", fontSizeCB.getSelectedItem().toString());\r
 \r
+      Cache.applicationProperties.setProperty("ID_ITALICS", Boolean.toString(idItalics.isSelected()));\r
+\r
+      Cache.applicationProperties.setProperty("ANTI_ALIAS", Boolean.toString(smoothFont.isSelected()));\r
+\r
+      Cache.applicationProperties.setProperty("WRAP_ALIGNMENT", Boolean.toString(wrap.isSelected()));\r
+\r
       Cache.applicationProperties.setProperty("STARTUP_FILE", startupFileTextfield.getText());\r
       Cache.applicationProperties.setProperty("SHOW_STARTUP_FILE",  Boolean.toString(startupCheckbox.isSelected()));\r
 \r
-      Cache.applicationProperties.setProperty("DEFAULT_BROWSER", defaultBrowser.getText());\r
+      Cache.applicationProperties.setProperty("SORT_ALIGNMENT", sortby.getSelectedItem().toString() );\r
+\r
+      if(epsRendering.getSelectedItem().equals("Prompt each time"))\r
+        Cache.applicationProperties.remove("EPS_RENDERING");\r
+      else\r
+        Cache.applicationProperties.setProperty("EPS_RENDERING", epsRendering.getSelectedItem().toString());\r
+\r
+      if(defaultBrowser.getText().trim().length()<1)\r
+        Cache.applicationProperties.remove("DEFAULT_BROWSER");\r
+      else\r
+        Cache.applicationProperties.setProperty("DEFAULT_BROWSER",\r
+                                                defaultBrowser.getText());\r
+\r
+        jalview.util.BrowserLauncher.resetBrowser();\r
 \r
         if(nameLinks.size()>0)\r
         {\r
@@ -210,18 +267,51 @@ public class Preferences extends GPreferences
           links.setLength( links.length()-1 );\r
           Cache.applicationProperties.setProperty("SEQUENCE_LINKS", links.toString());\r
         }\r
+        else\r
+          Cache.applicationProperties.remove("SEQUENCE_LINKS");\r
+\r
 \r
         Cache.applicationProperties.setProperty("USE_PROXY", Boolean.toString(useProxy.isSelected()));\r
-        Cache.applicationProperties.setProperty("PROXY_SERVER",proxyServerTB.getText());\r
-        Cache.applicationProperties.setProperty("PROXY_PORT", proxyPortTB.getText());\r
+\r
+        if (proxyServerTB.getText().trim().length() < 1)\r
+          Cache.applicationProperties.remove("PROXY_SERVER");\r
+        else\r
+          Cache.applicationProperties.setProperty("PROXY_SERVER",\r
+                                                  proxyServerTB.getText());\r
+\r
+        if (proxyPortTB.getText().trim().length() < 1)\r
+          Cache.applicationProperties.remove("PROXY_PORT");\r
+        else\r
+          Cache.applicationProperties.setProperty("PROXY_PORT", proxyPortTB.getText());\r
 \r
         if(useProxy.isSelected())\r
         {\r
           System.setProperty("http.proxyHost", proxyServerTB.getText());\r
           System.setProperty("http.proxyPort", proxyPortTB.getText());\r
         }\r
+        else\r
+        {\r
+          System.setProperty("http.proxyHost","");\r
+          System.setProperty("http.proxyPort","");\r
+        }\r
+\r
+\r
+        Cache.applicationProperties.setProperty("BLC_JVSUFFIX", Boolean.toString(blcjv.isSelected()) );\r
+        Cache.applicationProperties.setProperty("CLUSTAL_JVSUFFIX", Boolean.toString(clustaljv.isSelected()) );\r
+        Cache.applicationProperties.setProperty("FASTA_JVSUFFIX", Boolean.toString(fastajv.isSelected()) );\r
+        Cache.applicationProperties.setProperty("MSF_JVSUFFIX", Boolean.toString(msfjv.isSelected()) );\r
+        Cache.applicationProperties.setProperty("PFAM_JVSUFFIX", Boolean.toString(pfamjv.isSelected()) );\r
+        Cache.applicationProperties.setProperty("PILEUP_JVSUFFIX", Boolean.toString(pileupjv.isSelected()) );\r
+        Cache.applicationProperties.setProperty("PIR_JVSUFFIX", Boolean.toString(pirjv.isSelected()) );\r
+        Cache.applicationProperties.setProperty("PIR_MODELLER", Boolean.toString(modellerOutput.isSelected()) );\r
+        jalview.io.PIRFile.useModellerOutput = modellerOutput.isSelected();\r
 \r
+        Cache.applicationProperties.setProperty("AUTO_CALC_CONSENSUS",\r
+                                                Boolean.toString(autoCalculateConsCheck.isSelected()));\r
+        Cache.applicationProperties.setProperty("PAD_GAPS",\r
+                                                Boolean.toString(padGaps.isSelected()));\r
 \r
+        dasSource.saveProperties(Cache.applicationProperties);\r
 \r
         Cache.saveProperties();\r
         try\r