From 6a1564abce042be6eb37fd3ae883921e00a2bd0c Mon Sep 17 00:00:00 2001 From: gmungoc Date: Wed, 5 Nov 2014 12:21:23 +0000 Subject: [PATCH] JAL-1152 new Structure tab on Preferences for SS derivation / annotation --- resources/lang/Messages.properties | 8 +- resources/lang/Messages_es.properties | 2 +- src/jalview/bin/Cache.java | 18 +- src/jalview/gui/AlignViewport.java | 8 +- src/jalview/gui/Preferences.java | 251 ++++--- src/jalview/gui/StructureViewer.java | 10 +- src/jalview/jbgui/GAlignFrame.java | 6 +- src/jalview/jbgui/GPreferences.java | 1337 ++++++++++++++++++--------------- 8 files changed, 907 insertions(+), 733 deletions(-) diff --git a/resources/lang/Messages.properties b/resources/lang/Messages.properties index 93977b4..ac5394d 100644 --- a/resources/lang/Messages.properties +++ b/resources/lang/Messages.properties @@ -21,7 +21,7 @@ action.edit = Edit action.new = New action.open_file = Open file action.show_unconserved = Show Unconserved -action.open_new_aligmnent = Open new alignment +action.open_new_alignment = Open new alignment action.raise_associated_windows = Raise Associated Windows action.minimize_associated_windows = Minimize Associated Windows action.close_all = Close all @@ -243,6 +243,11 @@ label.apply_all_groups = Apply to all groups label.autocalculated_annotation = Autocalculated Annotation label.show_first = Show first label.show_last = Show last +label.struct_from_pdb = Process secondary structure from PDB +label.use_rnaview = Use RNAView for secondary structure +label.autoadd_secstr = Add secondary structure annotation to alignment +label.autoadd_temp = Add Temperature Factor annotation to alignment +label.structure_viewer = Default structure viewer label.min_colour = Minimum Colour label.max_colour = Maximum Colour label.use_original_colours = Use Original Colours @@ -416,6 +421,7 @@ label.input_cut_paste = Cut & Paste Input label.input_cut_paste_params = Cut & Paste Input - {0} label.alignment_output_command = Alignment output - {0} label.annotations = Annotations +label.structure_options = Structure Options label.features = Features label.overview_params = Overview {0} label.paste_newick_file = Paste Newick file diff --git a/resources/lang/Messages_es.properties b/resources/lang/Messages_es.properties index 08fd094..a1663d9 100644 --- a/resources/lang/Messages_es.properties +++ b/resources/lang/Messages_es.properties @@ -21,7 +21,7 @@ action.edit = Editar action.new = Nuevo action.open_file = Abrir fichero action.show_unconserved = Mostrar regiones no conservadas -action.open_new_aligmnent = Abrir nuevo alineamiento +action.open_new_alignment = Abrir nuevo alineamiento action.raise_associated_windows = Destacar ventanas asociadas action.minimize_associated_windows = Minimizar ventanas asociadas action.close_all = Cerrar todo diff --git a/src/jalview/bin/Cache.java b/src/jalview/bin/Cache.java index 21a030b..a48b750 100755 --- a/src/jalview/bin/Cache.java +++ b/src/jalview/bin/Cache.java @@ -158,14 +158,21 @@ import org.apache.log4j.SimpleLayout; * when shading by annotation *
  • www.jalview.org (http://www.jalview.org) a property enabling all HTTP * requests to be redirected to a mirror of http://www.jalview.org
  • - * *
  • FIGURE_AUTOIDWIDTH (false) Expand the left hand column of an exported * alignment figure to accommodate even the longest sequence ID or annotation * label.
  • *
  • FIGURE_FIXEDIDWIDTH Specifies the width to use for the left-hand column * when exporting an alignment as a figure (setting FIGURE_AUTOIDWIDTH to true * will override this).
  • - *
  • + *
  • STRUCT_FROM_PDB (false) derive secondary structure annotation from PDB + * record
  • + *
  • USE_RNAVIEW (false) use RNAViewer to derive secondary structure
  • + *
  • ADD_SS_ANN (false) add secondary structure annotation to alignment + * display
  • + *
  • ADD_TEMPFACT_ANN (false) add Temperature Factor annotation to alignment + * display
  • + *
  • STRUCTURE_DISPLAY choose from JMOL (default) or CHIMERA for 3D structure + * display
  • * * * Deprecated settings: @@ -207,13 +214,6 @@ public class Cache public static final String DAS_ACTIVE_SOURCE = "DAS_ACTIVE_SOURCE"; - /* - * Property key/value constants - */ - public static final String SORT_ANNOTATIONS = "SORT_ANNOTATIONS"; - - public static final String SHOW_AUTOCALC_ABOVE = "SHOW_AUTOCALC_ABOVE"; - /** * Initialises the Jalview Application Log */ diff --git a/src/jalview/gui/AlignViewport.java b/src/jalview/gui/AlignViewport.java index a738991..5c383d8 100644 --- a/src/jalview/gui/AlignViewport.java +++ b/src/jalview/gui/AlignViewport.java @@ -366,10 +366,10 @@ public class AlignViewport extends AlignmentViewport implements sortByTree = Cache.getDefault("SORT_BY_TREE", false); followSelection = Cache.getDefault("FOLLOW_SELECTIONS", true); sortAnnotationsBy = SequenceAnnotationOrder.valueOf(Cache.getDefault( - Cache.SORT_ANNOTATIONS, SequenceAnnotationOrder.NONE.name())); - showAutocalculatedAbove = Cache -.getDefault(Cache.SHOW_AUTOCALC_ABOVE, - false); + Preferences.SORT_ANNOTATIONS, + SequenceAnnotationOrder.NONE.name())); + showAutocalculatedAbove = Cache.getDefault( + Preferences.SHOW_AUTOCALC_ABOVE, false); } /** diff --git a/src/jalview/gui/Preferences.java b/src/jalview/gui/Preferences.java index dfb89b2..2e8aa89 100755 --- a/src/jalview/gui/Preferences.java +++ b/src/jalview/gui/Preferences.java @@ -22,6 +22,7 @@ package jalview.gui; import jalview.analysis.AnnotationSorter.SequenceAnnotationOrder; import jalview.bin.Cache; +import jalview.gui.StructureViewer.Viewer; import jalview.io.JalviewFileChooser; import jalview.io.JalviewFileView; import jalview.jbgui.GPreferences; @@ -43,6 +44,7 @@ import javax.swing.JColorChooser; import javax.swing.JFileChooser; import javax.swing.JInternalFrame; import javax.swing.JOptionPane; +import javax.swing.JPanel; /** * DOCUMENT ME! @@ -53,6 +55,24 @@ import javax.swing.JOptionPane; public class Preferences extends GPreferences { + public static final String ADD_TEMPFACT_ANN = "ADD_TEMPFACT_ANN"; + + public static final String ADD_SS_ANN = "ADD_SS_ANN"; + + public static final String USE_RNAVIEW = "USE_RNAVIEW"; + + public static final String STRUCT_FROM_PDB = "STRUCT_FROM_PDB"; + + public static final String STRUCTURE_DISPLAY = "STRUCTURE_DISPLAY"; + + public static final String SORT_ANNOTATIONS = "SORT_ANNOTATIONS"; + + public static final String SHOW_AUTOCALC_ABOVE = "SHOW_AUTOCALC_ABOVE"; + + private static final int MIN_FONT_SIZE = 1; + + private static final int MAX_FONT_SIZE = 30; + /** * Holds name and link separated with | character. Sequence ID must be * $SEQUENCE_ID$ or $SEQUENCE_ID=/.possible | chars ./=$ @@ -129,13 +149,13 @@ public class Preferences extends GPreferences */ public Preferences() { - + super(); frame = new JInternalFrame(); frame.setContentPane(this); dasSource = new DasSourceBrowser(); - dasPanel.add(dasSource, BorderLayout.CENTER); + dasTab.add(dasSource, BorderLayout.CENTER); wsPrefs = new WsPreferences(); - wsPanel.add(wsPrefs, BorderLayout.CENTER); + wsTab.add(wsPrefs, BorderLayout.CENTER); int width = 500, height = 420; if (new jalview.util.Platform().isAMac()) { @@ -147,6 +167,9 @@ public class Preferences extends GPreferences MessageManager.getString("label.preferences"), width, height); frame.setMinimumSize(new Dimension(width, height)); + /* + * Set Visual tab defaults + */ seqLimit.setSelected(Cache.getDefault("SHOW_JVSUFFIX", true)); rightAlign.setSelected(Cache.getDefault("RIGHT_ALIGN_IDS", false)); fullScreen.setSelected(Cache.getDefault("SHOW_FULLSCREEN", false)); @@ -158,37 +181,27 @@ public class Preferences extends GPreferences openoverv.setSelected(Cache.getDefault("SHOW_OVERVIEW", false)); showUnconserved .setSelected(Cache.getDefault("SHOW_UNCONSERVED", false)); + showGroupConsensus.setSelected(Cache.getDefault("SHOW_GROUP_CONSENSUS", + false)); + showGroupConservation.setSelected(Cache.getDefault( + "SHOW_GROUP_CONSERVATION", false)); + showConsensHistogram.setSelected(Cache.getDefault( + "SHOW_CONSENSUS_HISTOGRAM", true)); + showConsensLogo.setSelected(Cache.getDefault("SHOW_CONSENSUS_LOGO", + false)); showNpTooltip.setSelected(Cache .getDefault("SHOW_NPFEATS_TOOLTIP", true)); showDbRefTooltip.setSelected(Cache.getDefault("SHOW_DBREFS_TOOLTIP", true)); - sortByTree.setSelected(Cache.getDefault("SORT_BY_TREE", false)); - for (int i = ColourSchemeProperty.FIRST_COLOUR; i <= ColourSchemeProperty.LAST_COLOUR; i++) - { - colour.addItem(ColourSchemeProperty.getColourName(i)); - } - - String string = Cache.getDefault("DEFAULT_COLOUR", "None"); - - colour.setSelectedItem(string); - - /** - * default min-max colours for annotation shading - */ - minColour.setBackground(Cache.getDefaultColour("ANNOTATIONCOLOUR_MIN", - Color.orange)); - maxColour.setBackground(Cache.getDefaultColour("ANNOTATIONCOLOUR_MAX", - Color.red)); String[] fonts = java.awt.GraphicsEnvironment .getLocalGraphicsEnvironment().getAvailableFontFamilyNames(); - for (int i = 0; i < fonts.length; i++) { fontNameCB.addItem(fonts[i]); } - for (int i = 1; i < 31; i++) + for (int i = MIN_FONT_SIZE; i <= MAX_FONT_SIZE; i++) { fontSizeCB.addItem(i + ""); } @@ -213,12 +226,6 @@ public class Preferences extends GPreferences gapSymbolCB.setSelectedItem(Cache.getDefault("GAP_SYMBOL", "-")); - startupCheckbox - .setSelected(Cache.getDefault("SHOW_STARTUP_FILE", true)); - startupFileTextfield.setText(Cache.getDefault("STARTUP_FILE", - Cache.getDefault("www.jalview.org", "http://www.jalview.org") - + "/examples/exampleFile_2_3.jar")); - sortby.addItem("No sort"); sortby.addItem("Id"); sortby.addItem("Pairwise Identity"); @@ -230,52 +237,53 @@ public class Preferences extends GPreferences sortAnnBy .addItem(SequenceAnnotationOrder.LABEL_AND_SEQUENCE.toString()); SequenceAnnotationOrder savedSort = SequenceAnnotationOrder - .valueOf(Cache.getDefault(Cache.SORT_ANNOTATIONS, + .valueOf(Cache.getDefault(SORT_ANNOTATIONS, SequenceAnnotationOrder.NONE.name())); sortAnnBy.setSelectedItem(savedSort.toString()); sortAutocalc.addItem("Autocalculated first"); sortAutocalc.addItem("Autocalculated last"); - - final boolean showAbove = Cache.getDefault(Cache.SHOW_AUTOCALC_ABOVE, + final boolean showAbove = Cache.getDefault(SHOW_AUTOCALC_ABOVE, true); sortAutocalc.setSelectedItem(showAbove ? sortAutocalc.getItemAt(0) : sortAutocalc.getItemAt(1)); + startupCheckbox + .setSelected(Cache.getDefault("SHOW_STARTUP_FILE", true)); + startupFileTextfield.setText(Cache.getDefault("STARTUP_FILE", + Cache.getDefault("www.jalview.org", "http://www.jalview.org") + + "/examples/exampleFile_2_3.jar")); - epsRendering.addItem(MessageManager.getString("label.prompt_each_time")); - epsRendering.addItem(MessageManager.getString("label.lineart")); - epsRendering.addItem(MessageManager.getString("action.text")); - epsRendering.setSelectedIndex(0); - autoIdWidth.setSelected(Cache.getDefault("FIGURE_AUTOIDWIDTH", false)); - userIdWidth.setEnabled(autoIdWidth.isSelected()); - userIdWidthlabel.setEnabled(autoIdWidth.isSelected()); - Integer wi = Cache.getIntegerProperty("FIGURE_USERIDWIDTH"); - userIdWidth.setText(wi == null ? "" : wi.toString()); - blcjv.setSelected(Cache.getDefault("BLC_JVSUFFIX", true)); - clustaljv.setSelected(Cache.getDefault("CLUSTAL_JVSUFFIX", true)); - fastajv.setSelected(Cache.getDefault("FASTA_JVSUFFIX", true)); - msfjv.setSelected(Cache.getDefault("MSF_JVSUFFIX", true)); - pfamjv.setSelected(Cache.getDefault("PFAM_JVSUFFIX", true)); - pileupjv.setSelected(Cache.getDefault("PILEUP_JVSUFFIX", true)); - pirjv.setSelected(Cache.getDefault("PIR_JVSUFFIX", true)); - - modellerOutput.setSelected(Cache.getDefault("PIR_MODELLER", false)); - - autoCalculateConsCheck.setSelected(Cache.getDefault( - "AUTO_CALC_CONSENSUS", true)); - showGroupConsensus.setSelected(Cache.getDefault("SHOW_GROUP_CONSENSUS", - false)); - showGroupConservation.setSelected(Cache.getDefault( - "SHOW_GROUP_CONSERVATION", false)); - showConsensHistogram.setSelected(Cache.getDefault( - "SHOW_CONSENSUS_HISTOGRAM", true)); - showConsensLogo.setSelected(Cache.getDefault("SHOW_CONSENSUS_LOGO", - false)); - - padGaps.setSelected(Cache.getDefault("PAD_GAPS", false)); + /* + * Set Colours tab defaults + */ + for (int i = ColourSchemeProperty.FIRST_COLOUR; i <= ColourSchemeProperty.LAST_COLOUR; i++) + { + colour.addItem(ColourSchemeProperty.getColourName(i)); + } + String string = Cache.getDefault("DEFAULT_COLOUR", "None"); + colour.setSelectedItem(string); + minColour.setBackground(Cache.getDefaultColour("ANNOTATIONCOLOUR_MIN", + Color.orange)); + maxColour.setBackground(Cache.getDefaultColour("ANNOTATIONCOLOUR_MAX", + Color.red)); - /*************************************************************************** - * Set up Connections + /* + * Set Structure tab defaults. + */ + final boolean structSelected = Cache.getDefault(STRUCT_FROM_PDB, false); + structFromPdb.setSelected(structSelected); + useRnaView.setSelected(Cache.getDefault(USE_RNAVIEW, false)); + useRnaView.setEnabled(structSelected); + addSecondaryStructure + .setSelected(Cache.getDefault(ADD_SS_ANN, false)); + addSecondaryStructure.setEnabled(structSelected); + addTempFactor.setSelected(Cache.getDefault(ADD_TEMPFACT_ANN, false)); + addTempFactor.setEnabled(structSelected); + structViewer.setSelectedItem(Cache.getDefault(STRUCTURE_DISPLAY, + Viewer.JMOL.name())); + + /* + * Set Connections tab defaults */ nameLinks = new Vector(); urlLinks = new Vector(); @@ -297,34 +305,57 @@ public class Preferences extends GPreferences defaultBrowser.setText(Cache.getDefault("DEFAULT_BROWSER", "")); usagestats.setSelected(Cache.getDefault("USAGESTATS", false)); + // note antisense here: default is true questionnaire - .setSelected(Cache.getProperty("NOQUESTIONNAIRES") == null); // note - // antisense - // here - versioncheck.setSelected(Cache.getDefault("VERSION_CHECK", true)); // default - // is - // true + .setSelected(Cache.getProperty("NOQUESTIONNAIRES") == null); + versioncheck.setSelected(Cache.getDefault("VERSION_CHECK", true)); + + /* + * Set Output tab defaults + */ + epsRendering + .addItem(MessageManager.getString("label.prompt_each_time")); + epsRendering.addItem(MessageManager.getString("label.lineart")); + epsRendering.addItem(MessageManager.getString("action.text")); + epsRendering.setSelectedItem(Cache.getDefault("EPS_RENDERING", + "Prompt each time")); + autoIdWidth.setSelected(Cache.getDefault("FIGURE_AUTOIDWIDTH", false)); + userIdWidth.setEnabled(autoIdWidth.isSelected()); + userIdWidthlabel.setEnabled(autoIdWidth.isSelected()); + Integer wi = Cache.getIntegerProperty("FIGURE_USERIDWIDTH"); + userIdWidth.setText(wi == null ? "" : wi.toString()); + blcjv.setSelected(Cache.getDefault("BLC_JVSUFFIX", true)); + clustaljv.setSelected(Cache.getDefault("CLUSTAL_JVSUFFIX", true)); + fastajv.setSelected(Cache.getDefault("FASTA_JVSUFFIX", true)); + msfjv.setSelected(Cache.getDefault("MSF_JVSUFFIX", true)); + pfamjv.setSelected(Cache.getDefault("PFAM_JVSUFFIX", true)); + pileupjv.setSelected(Cache.getDefault("PILEUP_JVSUFFIX", true)); + pirjv.setSelected(Cache.getDefault("PIR_JVSUFFIX", true)); + modellerOutput.setSelected(Cache.getDefault("PIR_MODELLER", false)); + + /* + * Set Editing tab defaults + */ + autoCalculateConsCheck.setSelected(Cache.getDefault( + "AUTO_CALC_CONSENSUS", true)); + padGaps.setSelected(Cache.getDefault("PAD_GAPS", false)); + sortByTree.setSelected(Cache.getDefault("SORT_BY_TREE", false)); + annotations_actionPerformed(null); // update the display of the annotation // settings - try - { - jbInit(); - } catch (Exception ex) - { - ex.printStackTrace(); - } - } /** - * DOCUMENT ME! + * Save user selections on the Preferences tabs to the Cache and write out to + * file. * * @param e - * DOCUMENT ME! */ public void ok_actionPerformed(ActionEvent e) { - + /* + * Save Visual settings + */ Cache.applicationProperties.setProperty("SHOW_JVSUFFIX", Boolean.toString(seqLimit.isSelected())); Cache.applicationProperties.setProperty("RIGHT_ALIGN_IDS", @@ -342,8 +373,6 @@ public class Preferences extends GPreferences Cache.applicationProperties.setProperty("SHOW_IDENTITY", Boolean.toString(identity.isSelected())); - Cache.applicationProperties.setProperty("DEFAULT_COLOUR", colour - .getSelectedItem().toString()); Cache.applicationProperties.setProperty("GAP_SYMBOL", gapSymbolCB .getSelectedItem().toString()); @@ -389,19 +418,41 @@ public class Preferences extends GPreferences .forDescription(sortAnnBy.getSelectedItem().toString()); if (annSortOrder != null) { - Cache.applicationProperties.setProperty(Cache.SORT_ANNOTATIONS, + Cache.applicationProperties.setProperty(SORT_ANNOTATIONS, annSortOrder.name()); } final boolean showAutocalcFirst = sortAutocalc.getSelectedIndex() == 0; - Cache.applicationProperties.setProperty(Cache.SHOW_AUTOCALC_ABOVE, + Cache.applicationProperties.setProperty(SHOW_AUTOCALC_ABOVE, Boolean.valueOf(showAutocalcFirst).toString()); + /* + * Save Colours settings + */ + Cache.applicationProperties.setProperty("DEFAULT_COLOUR", colour + .getSelectedItem().toString()); Cache.setColourProperty("ANNOTATIONCOLOUR_MIN", minColour.getBackground()); Cache.setColourProperty("ANNOTATIONCOLOUR_MAX", maxColour.getBackground()); + /* + * Save Structure settings + */ + Cache.applicationProperties.setProperty(ADD_TEMPFACT_ANN, + Boolean.toString(addTempFactor.isSelected())); + Cache.applicationProperties.setProperty(ADD_SS_ANN, + Boolean.toString(addSecondaryStructure.isSelected())); + Cache.applicationProperties.setProperty(USE_RNAVIEW, + Boolean.toString(useRnaView.isSelected())); + Cache.applicationProperties.setProperty(STRUCT_FROM_PDB, + Boolean.toString(structFromPdb.isSelected())); + Cache.applicationProperties.setProperty(STRUCTURE_DISPLAY, structViewer + .getSelectedItem().toString()); + + /* + * Save Output settings + */ if (epsRendering.getSelectedItem().equals("Prompt each time")) { Cache.applicationProperties.remove("EPS_RENDERING"); @@ -412,6 +463,9 @@ public class Preferences extends GPreferences .getSelectedItem().toString()); } + /* + * Save Connections settings + */ if (defaultBrowser.getText().trim().length() < 1) { Cache.applicationProperties.remove("DEFAULT_BROWSER"); @@ -496,6 +550,10 @@ public class Preferences extends GPreferences // by just adding the given line Cache.removeProperty("NOQUESTIONNAIRES"); } + + /* + * Save Output settings + */ Cache.applicationProperties.setProperty("BLC_JVSUFFIX", Boolean.toString(blcjv.isSelected())); Cache.applicationProperties.setProperty("CLUSTAL_JVSUFFIX", @@ -520,6 +578,9 @@ public class Preferences extends GPreferences Cache.applicationProperties.setProperty("FIGURE_USERIDWIDTH", userIdWidth.getText()); + /* + * Save Editing settings + */ Cache.applicationProperties.setProperty("AUTO_CALC_CONSENSUS", Boolean.toString(autoCalculateConsCheck.isSelected())); Cache.applicationProperties.setProperty("SORT_BY_TREE", @@ -529,7 +590,9 @@ public class Preferences extends GPreferences dasSource.saveProperties(Cache.applicationProperties); wsPrefs.updateAndRefreshWsMenuConfig(false); + Cache.saveProperties(); + try { frame.setClosed(true); @@ -717,35 +780,33 @@ public class Preferences extends GPreferences super.showunconserved_actionPerformed(e); } - private void jbInit() throws Exception - { - } - public static Collection getGroupURLLinks() { return groupURLLinks; } - public void minColour_actionPerformed() + @Override + public void minColour_actionPerformed(JPanel panel) { Color col = JColorChooser.showDialog(this, MessageManager.getString("label.select_colour_minimum_value"), minColour.getBackground()); if (col != null) { - minColour.setBackground(col); + panel.setBackground(col); } - minColour.repaint(); + panel.repaint(); } - public void maxColour_actionPerformed() + @Override + public void maxColour_actionPerformed(JPanel panel) { Color col = JColorChooser.showDialog(this, MessageManager.getString("label.select_colour_maximum_value"), maxColour.getBackground()); if (col != null) { - maxColour.setBackground(col); + panel.setBackground(col); } - maxColour.repaint(); + panel.repaint(); } @Override diff --git a/src/jalview/gui/StructureViewer.java b/src/jalview/gui/StructureViewer.java index ccb3c18..ad7b675 100644 --- a/src/jalview/gui/StructureViewer.java +++ b/src/jalview/gui/StructureViewer.java @@ -20,15 +20,14 @@ */ package jalview.gui; -import java.awt.Rectangle; - import jalview.api.structures.JalviewStructureDisplayI; import jalview.bin.Cache; import jalview.datamodel.PDBEntry; import jalview.datamodel.SequenceI; -import jalview.gui.StructureViewer.Viewer; import jalview.structure.StructureSelectionManager; +import java.awt.Rectangle; + /** * proxy for handling structure viewers. * @@ -49,13 +48,14 @@ public class StructureViewer public Viewer getViewerType() { - String viewType = Cache.getDefault("STRUCTURE_DISPLAY", "JMOL"); + String viewType = Cache.getDefault(Preferences.STRUCTURE_DISPLAY, + Viewer.JMOL.name()); return Viewer.valueOf(viewType); } public void setViewerType(Viewer type) { - Cache.setProperty("STRUCTURE_DISPLAY", type.toString()); + Cache.setProperty(Preferences.STRUCTURE_DISPLAY, type.name()); } public StructureViewer(StructureSelectionManager structureSelectionManager) diff --git a/src/jalview/jbgui/GAlignFrame.java b/src/jalview/jbgui/GAlignFrame.java index a7852b4..1e67ff7 100755 --- a/src/jalview/jbgui/GAlignFrame.java +++ b/src/jalview/jbgui/GAlignFrame.java @@ -23,6 +23,7 @@ package jalview.jbgui; import jalview.analysis.AnnotationSorter.SequenceAnnotationOrder; import jalview.bin.Cache; import jalview.gui.JvSwingUtils; +import jalview.gui.Preferences; import jalview.schemes.ColourSchemeProperty; import jalview.util.MessageManager; @@ -1140,7 +1141,7 @@ public class GAlignFrame extends JInternalFrame } }); SequenceAnnotationOrder sortAnnotationsBy = SequenceAnnotationOrder - .valueOf(Cache.getDefault(Cache.SORT_ANNOTATIONS, + .valueOf(Cache.getDefault(Preferences.SORT_ANNOTATIONS, SequenceAnnotationOrder.NONE.name())); sortAnnBySequence.setText(MessageManager .getString("label.sort_annotations_by_sequence")); @@ -1422,7 +1423,8 @@ public class GAlignFrame extends JInternalFrame }); showAutoFirst.setText(MessageManager.getString("label.show_first")); - showAutoFirst.setState(Cache.getDefault(Cache.SHOW_AUTOCALC_ABOVE, + showAutoFirst.setState(Cache.getDefault( + Preferences.SHOW_AUTOCALC_ABOVE, false)); showAutoFirst.addActionListener(new ActionListener() { diff --git a/src/jalview/jbgui/GPreferences.java b/src/jalview/jbgui/GPreferences.java index 2223c1f..f3289a3 100755 --- a/src/jalview/jbgui/GPreferences.java +++ b/src/jalview/jbgui/GPreferences.java @@ -21,6 +21,7 @@ package jalview.jbgui; import jalview.gui.JvSwingUtils; +import jalview.gui.StructureViewer.Viewer; import jalview.util.MessageManager; import java.awt.BorderLayout; @@ -59,52 +60,25 @@ import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; /** - * DOCUMENT ME! + * Base class for the Preferences panel. * * @author $author$ * @version $Revision$ */ public class GPreferences extends JPanel { - JTabbedPane tabbedPane = new JTabbedPane(); - - JButton ok = new JButton(); - - JButton cancel = new JButton(); - - JPanel okCancelPanel = new JPanel(); - - BorderLayout borderLayout1 = new BorderLayout(); - - protected JCheckBox quality = new JCheckBox(); - - JPanel visualTab = new JPanel(); - - JPanel visual2Tab = new JPanel(); + private static final Font verdana11 = JvSwingUtils.getLabelFont(); + /* + * Visual tab components + */ protected JCheckBox fullScreen = new JCheckBox(); - protected JCheckBox conservation = new JCheckBox(); - - protected JCheckBox identity = new JCheckBox(); - - 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(); - - protected JComboBox colour = new JComboBox(); + protected JCheckBox openoverv = new JCheckBox(); - JLabel colourLabel = new JLabel(); + protected JCheckBox seqLimit = new JCheckBox(); - JLabel fontLabel = new JLabel(); + protected JCheckBox rightAlign = new JCheckBox(); protected JComboBox fontSizeCB = new JComboBox(); @@ -112,96 +86,93 @@ public class GPreferences extends JPanel protected JComboBox fontNameCB = new JComboBox(); - protected JComboBox gapSymbolCB = new JComboBox(); - - protected JCheckBox startupCheckbox = new JCheckBox(); - - protected JTextField startupFileTextfield = new JTextField(); - - JPanel connectTab = new JPanel(); - - JLabel serverLabel = new JLabel(); - - protected JList linkURLList = new JList(); - - protected JTextField proxyServerTB = new JTextField(); - - protected JTextField proxyPortTB = new JTextField(); + protected JCheckBox showUnconserved = new JCheckBox(); - JLabel portLabel = new JLabel(); + protected JCheckBox idItalics = new JCheckBox(); - JLabel browserLabel = new JLabel(); + protected JCheckBox smoothFont = new JCheckBox(); - protected JTextField defaultBrowser = new JTextField(); + protected JComboBox gapSymbolCB = new JComboBox(); - JButton newLink = new JButton(); + protected JCheckBox wrap = new JCheckBox(); - JButton editLink = new JButton(); + protected JComboBox sortby = new JComboBox(); - JButton deleteLink = new JButton(); + protected JComboBox sortAnnBy = new JComboBox(); - JScrollPane linkScrollPane = new JScrollPane(); + protected JComboBox sortAutocalc = new JComboBox(); - JPanel linkPanel = new JPanel(); + protected JCheckBox startupCheckbox = new JCheckBox(); - BorderLayout borderLayout2 = new BorderLayout(); + protected JTextField startupFileTextfield = new JTextField(); - JPanel editLinkButtons = new JPanel(); + // below are in the 'second column' + protected JCheckBox annotations = new JCheckBox(); - GridLayout gridLayout1 = new GridLayout(); + protected JCheckBox quality = new JCheckBox(); - protected JList linkNameList = new JList(); + protected JCheckBox conservation = new JCheckBox(); - JPanel linkPanel2 = new JPanel(); + protected JCheckBox identity = new JCheckBox(); - BorderLayout borderLayout3 = new BorderLayout(); + protected JCheckBox showGroupConsensus = new JCheckBox(); - protected JCheckBox useProxy = new JCheckBox(); + protected JCheckBox showGroupConservation = new JCheckBox(); - JPanel jPanel1 = new JPanel(); + protected JCheckBox showConsensHistogram = new JCheckBox(); - TitledBorder titledBorder1 = new TitledBorder( - MessageManager.getString("label.proxy_server")); + protected JCheckBox showConsensLogo = new JCheckBox(); - TitledBorder titledBorder2 = new TitledBorder( - MessageManager.getString("label.file_output")); + protected JCheckBox showDbRefTooltip = new JCheckBox(); - GridBagLayout gridBagLayout2 = new GridBagLayout(); + protected JCheckBox showNpTooltip = new JCheckBox(); - GridBagLayout gridBagLayout1 = new GridBagLayout(); + /* + * Annotations tab components + */ + protected JCheckBox structFromPdb = new JCheckBox(); - GridBagLayout gridBagLayout3 = new GridBagLayout(); + protected JCheckBox useRnaView = new JCheckBox(); - protected JComboBox sortby = new JComboBox(); + protected JCheckBox addSecondaryStructure = new JCheckBox(); - JLabel sortLabel = new JLabel(); + protected JCheckBox addTempFactor = new JCheckBox(); - protected JComboBox sortAnnBy = new JComboBox(); + protected JComboBox structViewer = new JComboBox(); - protected JComboBox sortAutocalc = new JComboBox(); + /* + * Colours tab components + */ + protected JPanel minColour = new JPanel(); - JLabel sortAnnLabel = new JLabel(); + protected JPanel maxColour = new JPanel(); - JPanel jPanel2 = new JPanel(); + protected JComboBox colour = new JComboBox(); - JPanel visual2panel = new JPanel(); + /* + * Connections tab components + */ + protected JList linkURLList = new JList(); - GridLayout gridLayout2 = new GridLayout(); + protected JTextField proxyServerTB = new JTextField(); - GridLayout gridLayout4 = new GridLayout(); + protected JTextField proxyPortTB = new JTextField(); - JPanel annsettingsPanel = new JPanel(); + protected JTextField defaultBrowser = new JTextField(); - JPanel autoAnnotSettings1 = new JPanel(); + protected JList linkNameList = new JList(); - JPanel autoAnnotSettings2 = new JPanel(); + protected JCheckBox useProxy = new JCheckBox(); - JPanel autoAnnotSettings3 = new JPanel(); + protected JCheckBox usagestats = new JCheckBox(); - JPanel exportTab = new JPanel(); + protected JCheckBox questionnaire = new JCheckBox(); - JLabel epsLabel = new JLabel(); + protected JCheckBox versioncheck = new JCheckBox(); + /* + * Output tab components + */ protected JComboBox epsRendering = new JComboBox(); protected JLabel userIdWidthlabel = new JLabel(); @@ -210,8 +181,6 @@ public class GPreferences extends JPanel protected JTextField userIdWidth = new JTextField(); - JLabel jLabel1 = new JLabel(); - protected JCheckBox blcjv = new JCheckBox(); protected JCheckBox pileupjv = new JCheckBox(); @@ -224,73 +193,28 @@ public class GPreferences extends JPanel protected JCheckBox pfamjv = new JCheckBox(); - FlowLayout flowLayout1 = new FlowLayout(); - protected JCheckBox pirjv = new JCheckBox(); - JPanel jPanel11 = new JPanel(); - - Font verdana11 = JvSwingUtils.getLabelFont(); - - protected JCheckBox seqLimit = new JCheckBox(); - - GridLayout gridLayout3 = new GridLayout(); - - protected JCheckBox smoothFont = new JCheckBox(); - - JPanel calcTab = new JPanel(); + protected JCheckBox modellerOutput = new JCheckBox(); + /* + * Editing tab components + */ protected JCheckBox autoCalculateConsCheck = new JCheckBox(); protected JCheckBox padGaps = new JCheckBox(); - protected JCheckBox modellerOutput = new JCheckBox(); - - protected JPanel dasPanel = new JPanel(); - - BorderLayout borderLayout4 = new BorderLayout(); - - protected JPanel wsPanel = new JPanel(); - - BorderLayout borderLayout5 = new BorderLayout(); - - protected JCheckBox wrap = new JCheckBox(); - - protected JCheckBox rightAlign = new JCheckBox(); - - protected JCheckBox showUnconserved = new JCheckBox(); - - protected JCheckBox showDbRefTooltip = new JCheckBox(); - - protected JCheckBox showNpTooltip = new JCheckBox(); - - protected JCheckBox idItalics = new JCheckBox(); - - protected JCheckBox openoverv = new JCheckBox(); - - protected JCheckBox usagestats = new JCheckBox(); - - protected JCheckBox questionnaire = new JCheckBox(); - - protected JCheckBox versioncheck = new JCheckBox(); - - protected JLabel showGroupbits = new JLabel(); - - protected JLabel showConsensbits = new JLabel(); - - protected JCheckBox showConsensLogo = new JCheckBox(); - - protected JCheckBox showConsensHistogram = new JCheckBox(); - - protected JCheckBox showGroupConsensus = new JCheckBox(); - - protected JCheckBox showGroupConservation = new JCheckBox(); - - protected JCheckBox shareSelections = new JCheckBox(); + protected JCheckBox sortByTree = new JCheckBox(); - protected JCheckBox followHighlight = new JCheckBox(); + /* + * DAS Settings tab + */ + protected JPanel dasTab = new JPanel(); - protected JCheckBox sortByTree = new JCheckBox(); + /* + * Web Services tab + */ + protected JPanel wsTab = new JPanel(); /** * Creates a new GPreferences object. @@ -307,237 +231,205 @@ public class GPreferences extends JPanel } /** - * DOCUMENT ME! + * Construct the panel and its tabbed sub-panels. * * @throws Exception - * DOCUMENT ME! */ private void jbInit() throws Exception { - this.setLayout(borderLayout1); - ok.setText(MessageManager.getString("action.ok")); - ok.addActionListener(new ActionListener() + JTabbedPane tabbedPane = new JTabbedPane(); + this.setLayout(new BorderLayout()); + JPanel okCancelPanel = initOkCancelPanel(); + this.add(tabbedPane, BorderLayout.CENTER); + this.add(okCancelPanel, BorderLayout.SOUTH); + + tabbedPane.add(initVisualTab(), + MessageManager.getString("label.visual")); + + tabbedPane.add(initColoursTab(), + MessageManager.getString("label.colours")); + + tabbedPane.add(initStructureTab(), + MessageManager.getString("label.structure")); + + tabbedPane.add(initConnectionsTab(), + MessageManager.getString("label.connections")); + + tabbedPane.add(initOutputTab(), MessageManager.getString("label.output")); + + tabbedPane.add(initEditingTab(), MessageManager.getString("label.editing")); + + /* + * See DasSourceBrowser for the real work of configuring this tab. + */ + dasTab.setLayout(new BorderLayout()); + tabbedPane + .add(dasTab, MessageManager.getString("label.das_settings")); + + /* + * See WsPreferences for the real work of configuring this tab. + */ + wsTab.setLayout(new BorderLayout()); + tabbedPane.add(wsTab, MessageManager.getString("label.web_services")); + } + + /** + * Initialises the Editing tabbed panel. + * + * @return + */ + private JPanel initEditingTab() + { + JPanel editingTab = new JPanel(); + editingTab.setLayout(null); + autoCalculateConsCheck.setFont(verdana11); + autoCalculateConsCheck.setText(MessageManager + .getString("label.autocalculate_consensus")); + autoCalculateConsCheck.setBounds(new Rectangle(21, 52, 209, 23)); + padGaps.setFont(verdana11); + padGaps.setText(MessageManager.getString("label.pad_gaps_when_editing")); + padGaps.setBounds(new Rectangle(22, 94, 168, 23)); + sortByTree.setFont(verdana11); + sortByTree + .setText(MessageManager.getString("label.sort_with_new_tree")); + sortByTree + .setToolTipText(MessageManager + .getString("label.any_trees_calculated_or_loaded_alignment_automatically_sort")); + sortByTree.setBounds(new Rectangle(22, 136, 168, 23)); + editingTab.add(autoCalculateConsCheck); + editingTab.add(padGaps); + editingTab.add(sortByTree); + return editingTab; + } + + /** + * Initialises the Output tabbed panel. + * + * @return + */ + private JPanel initOutputTab() + { + JPanel outputTab = new JPanel(); + outputTab.setLayout(null); + JLabel epsLabel = new JLabel(); + epsLabel.setFont(verdana11); + epsLabel.setHorizontalAlignment(SwingConstants.RIGHT); + epsLabel.setText(MessageManager.getString("label.eps_rendering_style")); + epsLabel.setBounds(new Rectangle(9, 31, 140, 24)); + epsRendering.setFont(verdana11); + epsRendering.setBounds(new Rectangle(154, 34, 187, 21)); + JLabel jLabel1 = new JLabel(); + jLabel1.setFont(verdana11); + jLabel1.setHorizontalAlignment(SwingConstants.CENTER); + jLabel1.setText(MessageManager.getString("label.append_start_end")); + jLabel1.setFont(verdana11); + fastajv.setFont(verdana11); + fastajv.setHorizontalAlignment(SwingConstants.LEFT); + clustaljv.setText(MessageManager.getString("label.clustal") + " "); + blcjv.setText(MessageManager.getString("label.blc") + " "); + fastajv.setText(MessageManager.getString("label.fasta") + " "); + msfjv.setText(MessageManager.getString("label.msf") + " "); + pfamjv.setText(MessageManager.getString("label.pfam") + " "); + pileupjv.setText(MessageManager.getString("label.pileup") + " "); + msfjv.setFont(verdana11); + msfjv.setHorizontalAlignment(SwingConstants.LEFT); + pirjv.setText(MessageManager.getString("label.pir") + " "); + JPanel jPanel11 = new JPanel(); + jPanel11.setFont(verdana11); + TitledBorder titledBorder2 = new TitledBorder( + MessageManager.getString("label.file_output")); + jPanel11.setBorder(titledBorder2); + jPanel11.setBounds(new Rectangle(30, 72, 196, 182)); + GridLayout gridLayout3 = new GridLayout(); + jPanel11.setLayout(gridLayout3); + gridLayout3.setRows(8); + blcjv.setFont(verdana11); + blcjv.setHorizontalAlignment(SwingConstants.LEFT); + clustaljv.setFont(verdana11); + clustaljv.setHorizontalAlignment(SwingConstants.LEFT); + pfamjv.setFont(verdana11); + pfamjv.setHorizontalAlignment(SwingConstants.LEFT); + pileupjv.setFont(verdana11); + pileupjv.setHorizontalAlignment(SwingConstants.LEFT); + pirjv.setFont(verdana11); + pirjv.setHorizontalAlignment(SwingConstants.LEFT); + autoIdWidth.setFont(verdana11); + autoIdWidth.setText(MessageManager + .getString("label.automatically_set_id_width")); + autoIdWidth + .setToolTipText(JvSwingUtils.wrapTooltip(true, MessageManager.getString("label.adjusts_width_generated_eps_png"))); + autoIdWidth.setBounds(new Rectangle(228, 96, 188, 23)); + autoIdWidth.addActionListener(new ActionListener() { + + @Override public void actionPerformed(ActionEvent e) { - ok_actionPerformed(e); + autoIdWidth_actionPerformed(); } }); - cancel.setText(MessageManager.getString("action.cancel")); - cancel.addActionListener(new ActionListener() + userIdWidthlabel.setFont(verdana11); + userIdWidthlabel.setText(MessageManager + .getString("label.figure_id_column_width")); + userIdWidth + .setToolTipText(JvSwingUtils.wrapTooltip(true, MessageManager.getString("label.manually_specify_width_left_column"))); + userIdWidthlabel + .setToolTipText(JvSwingUtils.wrapTooltip(true, MessageManager.getString("label.manually_specify_width_left_column"))); + 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) { - cancel_actionPerformed(e); - } - }); - quality.setEnabled(false); - quality.setFont(verdana11); - quality.setHorizontalAlignment(SwingConstants.RIGHT); - quality.setHorizontalTextPosition(SwingConstants.LEFT); - quality.setSelected(true); - quality.setText(MessageManager.getString("label.quality")); - visualTab.setBorder(new TitledBorder(MessageManager - .getString("action.open_new_aligmnent"))); - visualTab.setLayout(null); - visual2Tab.setBorder(new TitledBorder(MessageManager - .getString("action.open_new_aligmnent"))); - visual2Tab.setLayout(new FlowLayout()); - fullScreen.setFont(verdana11); - fullScreen.setHorizontalAlignment(SwingConstants.RIGHT); - fullScreen.setHorizontalTextPosition(SwingConstants.LEFT); - fullScreen.setText(MessageManager.getString("label.maximize_window")); - conservation.setEnabled(false); - conservation.setFont(verdana11); - conservation.setHorizontalAlignment(SwingConstants.RIGHT); - conservation.setHorizontalTextPosition(SwingConstants.LEFT); - conservation.setSelected(true); - conservation.setText(MessageManager.getString("label.conservation")); - identity.setEnabled(false); - identity.setFont(verdana11); - identity.setHorizontalAlignment(SwingConstants.RIGHT); - identity.setHorizontalTextPosition(SwingConstants.LEFT); - identity.setSelected(true); - identity.setText(MessageManager.getString("label.consensus")); - showGroupbits.setFont(verdana11); - showGroupbits.setHorizontalAlignment(SwingConstants.RIGHT); - showGroupbits.setHorizontalTextPosition(SwingConstants.LEFT); - showGroupbits.setText(MessageManager.getString("action.show_group") - + ":"); - showConsensbits.setFont(verdana11); - showConsensbits.setHorizontalAlignment(SwingConstants.RIGHT); - showConsensbits.setHorizontalTextPosition(SwingConstants.LEFT); - showConsensbits.setText(MessageManager.getString("label.consensus") - + ":"); - showConsensHistogram.setEnabled(false); - showConsensHistogram.setFont(verdana11); - showConsensHistogram.setHorizontalAlignment(SwingConstants.RIGHT); - showConsensHistogram.setHorizontalTextPosition(SwingConstants.LEFT); - showConsensHistogram.setSelected(true); - showConsensHistogram.setText(MessageManager - .getString("label.histogram")); - showConsensLogo.setEnabled(false); - showConsensLogo.setFont(verdana11); - showConsensLogo.setHorizontalAlignment(SwingConstants.RIGHT); - showConsensLogo.setHorizontalTextPosition(SwingConstants.LEFT); - showConsensLogo.setSelected(true); - showConsensLogo.setText(MessageManager.getString("label.logo")); - showGroupConsensus.setEnabled(false); - showGroupConsensus.setFont(verdana11); - showGroupConsensus.setHorizontalAlignment(SwingConstants.RIGHT); - showGroupConsensus.setHorizontalTextPosition(SwingConstants.LEFT); - showGroupConsensus.setSelected(true); - showGroupConsensus.setText(MessageManager.getString("label.consensus")); - showGroupConservation.setEnabled(false); - showGroupConservation.setFont(verdana11); - showGroupConservation.setHorizontalAlignment(SwingConstants.RIGHT); - showGroupConservation.setHorizontalTextPosition(SwingConstants.LEFT); - showGroupConservation.setSelected(true); - showGroupConservation.setText(MessageManager - .getString("label.conservation")); - showNpTooltip.setEnabled(true); - showNpTooltip.setFont(verdana11); - showNpTooltip.setHorizontalAlignment(SwingConstants.RIGHT); - showNpTooltip.setHorizontalTextPosition(SwingConstants.LEFT); - showNpTooltip.setSelected(true); - showNpTooltip.setText(MessageManager - .getString("label.non_positional_features")); - showDbRefTooltip.setEnabled(true); - showDbRefTooltip.setFont(verdana11); - showDbRefTooltip.setHorizontalAlignment(SwingConstants.RIGHT); - showDbRefTooltip.setHorizontalTextPosition(SwingConstants.LEFT); - showDbRefTooltip.setSelected(true); - showDbRefTooltip.setText(MessageManager - .getString("label.database_references")); - annotations.setFont(verdana11); - annotations.setHorizontalAlignment(SwingConstants.RIGHT); - annotations.setHorizontalTextPosition(SwingConstants.LEADING); - annotations.setSelected(true); - annotations.setText(MessageManager.getString("label.show_annotations")); - annotations.setBounds(new Rectangle(169, 12, 200, 23)); - annotations.addActionListener(new ActionListener() - { - public void actionPerformed(ActionEvent e) - { - annotations_actionPerformed(e); - } - }); - identity.addActionListener(new ActionListener() - { - public void actionPerformed(ActionEvent e) - { - annotations_actionPerformed(e); - } - }); - showGroupConsensus.addActionListener(new ActionListener() - { - public void actionPerformed(ActionEvent e) - { - annotations_actionPerformed(e); - } - }); - showUnconserved.setFont(verdana11); - showUnconserved.setHorizontalAlignment(SwingConstants.RIGHT); - showUnconserved.setHorizontalTextPosition(SwingConstants.LEFT); - showUnconserved.setSelected(true); - showUnconserved.setText(MessageManager - .getString("action.show_unconserved")); - showUnconserved.addActionListener(new ActionListener() - { - public void actionPerformed(ActionEvent e) - { - showunconserved_actionPerformed(e); - } - }); - // / TODO: fit these in to preferences panel!!!!! - shareSelections.setFont(verdana11); - shareSelections.setHorizontalAlignment(SwingConstants.RIGHT); - shareSelections.setHorizontalTextPosition(SwingConstants.LEFT); - shareSelections.setSelected(true); - shareSelections.setText(MessageManager - .getString("label.share_selection_across_views")); - followHighlight.setFont(verdana11); - followHighlight.setHorizontalAlignment(SwingConstants.RIGHT); - followHighlight.setHorizontalTextPosition(SwingConstants.LEFT); - // showUnconserved.setBounds(new Rectangle(169, 40, 200, 23)); - followHighlight.setSelected(true); - followHighlight.setText(MessageManager - .getString("label.scroll_highlighted_regions")); - - gapLabel.setFont(verdana11); - gapLabel.setHorizontalAlignment(SwingConstants.RIGHT); - gapLabel.setText(MessageManager.getString("label.gap_symbol") + " "); - colour.setFont(verdana11); - colour.setBounds(new Rectangle(172, 225, 155, 21)); - colourLabel.setFont(verdana11); - colourLabel.setHorizontalAlignment(SwingConstants.RIGHT); - colourLabel.setText(MessageManager.getString("label.alignment_colour") - + " "); - fontLabel.setFont(verdana11); - fontLabel.setHorizontalAlignment(SwingConstants.RIGHT); - fontLabel.setText(MessageManager.getString("label.font")); - fontSizeCB.setFont(verdana11); - fontSizeCB.setBounds(new Rectangle(319, 104, 49, 23)); - fontStyleCB.setFont(verdana11); - fontStyleCB.setBounds(new Rectangle(367, 104, 70, 23)); - fontNameCB.setFont(verdana11); - fontNameCB.setBounds(new Rectangle(172, 104, 147, 23)); - gapSymbolCB.setFont(verdana11); - gapSymbolCB.setBounds(new Rectangle(172, 196, 69, 23)); - mincolourLabel.setFont(verdana11); - mincolourLabel.setHorizontalAlignment(SwingConstants.RIGHT); - mincolourLabel.setText(MessageManager.getString("label.min_colour")); - minColour.setFont(verdana11); - minColour.setBorder(BorderFactory.createEtchedBorder()); - minColour.setPreferredSize(new Dimension(40, 20)); - minColour.addMouseListener(new MouseAdapter() - { - public void mousePressed(MouseEvent e) - { - minColour_actionPerformed(); - } - }); - maxcolourLabel.setFont(verdana11); - maxcolourLabel.setHorizontalAlignment(SwingConstants.RIGHT); - maxcolourLabel.setText(MessageManager.getString("label.max_colour")); - maxColour.setFont(verdana11); - maxColour.setBorder(BorderFactory.createEtchedBorder()); - maxColour.setPreferredSize(new Dimension(40, 20)); - maxColour.addMouseListener(new MouseAdapter() - { - public void mousePressed(MouseEvent e) - { - maxColour_actionPerformed(); - } - }); - - startupCheckbox.setText(MessageManager.getString("action.open_file")); - startupCheckbox.setFont(verdana11); - startupCheckbox.setHorizontalAlignment(SwingConstants.RIGHT); - startupCheckbox.setHorizontalTextPosition(SwingConstants.LEFT); - startupCheckbox.setSelected(true); - startupFileTextfield.setFont(verdana11); - startupFileTextfield.setBounds(new Rectangle(172, 287, 270, 20)); - startupFileTextfield.addMouseListener(new MouseAdapter() - { - public void mouseClicked(MouseEvent e) - { - if (e.getClickCount() > 1) - { - startupFileTextfield_mouseClicked(); - } + userIdWidth_actionPerformed(); } }); + jPanel11.add(jLabel1); + jPanel11.add(blcjv); + jPanel11.add(clustaljv); + jPanel11.add(fastajv); + jPanel11.add(msfjv); + jPanel11.add(pfamjv); + jPanel11.add(pileupjv); + jPanel11.add(pirjv); + outputTab.add(autoIdWidth); + outputTab.add(userIdWidth); + outputTab.add(userIdWidthlabel); + outputTab.add(modellerOutput); + outputTab.add(epsLabel); + outputTab.add(epsRendering); + outputTab.add(jPanel11); + modellerOutput.setFont(verdana11); + modellerOutput.setText(MessageManager + .getString("label.use_modeller_output")); + modellerOutput.setBounds(new Rectangle(228, 226, 168, 23)); + return outputTab; + } - connectTab.setLayout(gridBagLayout3); + /** + * Initialises the Connections tabbed panel. + * + * @return + */ + private JPanel initConnectionsTab() + { + JPanel connectTab = new JPanel(); + connectTab.setLayout(new GridBagLayout()); + JLabel serverLabel = new JLabel(); serverLabel.setText(MessageManager.getString("label.address")); serverLabel.setHorizontalAlignment(SwingConstants.RIGHT); serverLabel.setFont(verdana11); proxyServerTB.setFont(verdana11); proxyPortTB.setFont(verdana11); + JLabel portLabel = new JLabel(); portLabel.setFont(verdana11); portLabel.setHorizontalAlignment(SwingConstants.RIGHT); portLabel.setText(MessageManager.getString("label.port")); + JLabel browserLabel = new JLabel(); browserLabel.setFont(new java.awt.Font("SansSerif", 0, 11)); browserLabel.setHorizontalAlignment(SwingConstants.TRAILING); browserLabel.setText(MessageManager @@ -559,6 +451,7 @@ public class GPreferences extends JPanel versioncheck.setFont(verdana11); versioncheck.setHorizontalAlignment(SwingConstants.RIGHT); versioncheck.setHorizontalTextPosition(SwingConstants.LEADING); + JButton newLink = new JButton(); newLink.setText(MessageManager.getString("action.new")); newLink.addActionListener(new java.awt.event.ActionListener() { @@ -567,6 +460,7 @@ public class GPreferences extends JPanel newLink_actionPerformed(e); } }); + JButton editLink = new JButton(); editLink.setText(MessageManager.getString("action.edit")); editLink.addActionListener(new java.awt.event.ActionListener() { @@ -575,6 +469,7 @@ public class GPreferences extends JPanel editLink_actionPerformed(e); } }); + JButton deleteLink = new JButton(); deleteLink.setText(MessageManager.getString("action.delete")); deleteLink.addActionListener(new java.awt.event.ActionListener() { @@ -602,14 +497,20 @@ public class GPreferences extends JPanel } }); + JScrollPane linkScrollPane = new JScrollPane(); linkScrollPane.setBorder(null); + JPanel linkPanel = new JPanel(); linkPanel.setBorder(new TitledBorder(MessageManager .getString("label.url_linkfrom_sequence_id"))); - linkPanel.setLayout(borderLayout2); + linkPanel.setLayout(new BorderLayout()); + GridLayout gridLayout1 = new GridLayout(); + JPanel editLinkButtons = new JPanel(); editLinkButtons.setLayout(gridLayout1); gridLayout1.setRows(3); linkNameList.setFont(verdana11); linkNameList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); + BorderLayout borderLayout3 = new BorderLayout(); + JPanel linkPanel2 = new JPanel(); linkPanel2.setLayout(borderLayout3); linkURLList.setFont(verdana11); linkURLList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); @@ -635,146 +536,493 @@ public class GPreferences extends JPanel useProxy_actionPerformed(); } }); + linkPanel.add(editLinkButtons, BorderLayout.EAST); + editLinkButtons.add(newLink, null); + editLinkButtons.add(editLink, null); + editLinkButtons.add(deleteLink, null); + linkPanel.add(linkScrollPane, BorderLayout.CENTER); + linkScrollPane.getViewport().add(linkPanel2, null); + linkPanel2.add(linkURLList, BorderLayout.CENTER); + linkPanel2.add(linkNameList, BorderLayout.WEST); + JPanel jPanel1 = new JPanel(); + TitledBorder titledBorder1 = new TitledBorder( + MessageManager.getString("label.proxy_server")); jPanel1.setBorder(titledBorder1); - jPanel1.setLayout(gridBagLayout1); - sortby.setFont(verdana11); - sortby.setBounds(new Rectangle(172, 240, 155, 21)); - sortLabel.setFont(verdana11); - sortLabel.setHorizontalAlignment(SwingConstants.RIGHT); - sortLabel.setText(MessageManager.getString("label.sort_by")); - sortAnnBy.setFont(verdana11); - sortAnnBy.setBounds(new Rectangle(172, 264, 120, 21)); - sortAnnLabel.setFont(verdana11); - sortAnnLabel.setHorizontalAlignment(SwingConstants.RIGHT); - sortAnnLabel.setText(MessageManager.getString("label.sort_ann_by")); - sortAutocalc.setFont(verdana11); - sortAutocalc.setBounds(new Rectangle(300, 264, 185, 21)); - jPanel2.setBounds(new Rectangle(7, 17, 158, 297)); - jPanel2.setLayout(gridLayout2); - gridLayout2.setRows(13); - exportTab.setLayout(null); - epsLabel.setFont(verdana11); - epsLabel.setHorizontalAlignment(SwingConstants.RIGHT); - epsLabel.setText(MessageManager.getString("label.eps_rendering_style")); - epsLabel.setBounds(new Rectangle(9, 31, 140, 24)); - epsRendering.setFont(verdana11); - epsRendering.setBounds(new Rectangle(154, 34, 187, 21)); - jLabel1.setFont(verdana11); - jLabel1.setHorizontalAlignment(SwingConstants.CENTER); - jLabel1.setText(MessageManager.getString("label.append_start_end")); - jLabel1.setFont(verdana11); - fastajv.setFont(verdana11); - fastajv.setHorizontalAlignment(SwingConstants.LEFT); - clustaljv.setText(MessageManager.getString("label.clustal") + " "); - blcjv.setText(MessageManager.getString("label.blc") + " "); - fastajv.setText(MessageManager.getString("label.fasta") + " "); - msfjv.setText(MessageManager.getString("label.msf") + " "); - pfamjv.setText(MessageManager.getString("label.pfam") + " "); - pileupjv.setText(MessageManager.getString("label.pileup") + " "); - msfjv.setFont(verdana11); - msfjv.setHorizontalAlignment(SwingConstants.LEFT); - pirjv.setText(MessageManager.getString("label.pir") + " "); - jPanel11.setFont(verdana11); - jPanel11.setBorder(titledBorder2); - jPanel11.setBounds(new Rectangle(30, 72, 196, 182)); - jPanel11.setLayout(gridLayout3); - blcjv.setFont(verdana11); - blcjv.setHorizontalAlignment(SwingConstants.LEFT); - clustaljv.setFont(verdana11); - clustaljv.setHorizontalAlignment(SwingConstants.LEFT); - pfamjv.setFont(verdana11); - pfamjv.setHorizontalAlignment(SwingConstants.LEFT); - pileupjv.setFont(verdana11); - pileupjv.setHorizontalAlignment(SwingConstants.LEFT); - pirjv.setFont(verdana11); - pirjv.setHorizontalAlignment(SwingConstants.LEFT); - seqLimit.setFont(verdana11); - seqLimit.setHorizontalAlignment(SwingConstants.RIGHT); - seqLimit.setHorizontalTextPosition(SwingConstants.LEFT); - seqLimit.setText(MessageManager.getString("label.full_sequence_id")); - gridLayout3.setRows(8); - smoothFont.setFont(verdana11); - smoothFont.setHorizontalAlignment(SwingConstants.RIGHT); - smoothFont.setHorizontalTextPosition(SwingConstants.LEADING); - smoothFont.setText(MessageManager.getString("label.smooth_font")); - calcTab.setLayout(null); - autoCalculateConsCheck.setFont(JvSwingUtils.getLabelFont()); - autoCalculateConsCheck.setText(MessageManager - .getString("label.autocalculate_consensus")); - autoCalculateConsCheck.setBounds(new Rectangle(21, 52, 209, 23)); - padGaps.setFont(JvSwingUtils.getLabelFont()); - padGaps.setText(MessageManager.getString("label.pad_gaps_when_editing")); - padGaps.setBounds(new Rectangle(22, 94, 168, 23)); - sortByTree.setFont(JvSwingUtils.getLabelFont()); - sortByTree - .setText(MessageManager.getString("label.sort_with_new_tree")); - sortByTree - .setToolTipText(MessageManager - .getString("label.any_trees_calculated_or_loaded_alignment_automatically_sort")); - sortByTree.setBounds(new Rectangle(22, 136, 168, 23)); - - autoIdWidth.setFont(JvSwingUtils.getLabelFont()); - autoIdWidth.setText(MessageManager - .getString("label.automatically_set_id_width")); - autoIdWidth - .setToolTipText(JvSwingUtils.wrapTooltip(true, MessageManager.getString("label.adjusts_width_generated_eps_png"))); - autoIdWidth.setBounds(new Rectangle(228, 96, 188, 23)); - autoIdWidth.addActionListener(new ActionListener() - { - - @Override - public void actionPerformed(ActionEvent e) - { - autoIdWidth_actionPerformed(); + jPanel1.setLayout(new GridBagLayout()); + jPanel1.add(serverLabel, new GridBagConstraints(0, 1, 1, 1, 0.0, 0.0, + GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(0, + 2, 4, 0), 5, 0)); + jPanel1.add(portLabel, new GridBagConstraints(2, 1, 1, 1, 0.0, 0.0, + GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(0, + 0, 4, 0), 11, 6)); + connectTab.add(linkPanel, new GridBagConstraints(0, 0, 2, 1, 1.0, 1.0, + GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets( + 16, 0, 0, 12), 359, -17)); + connectTab.add(jPanel1, new GridBagConstraints(0, 2, 2, 1, 1.0, 1.0, + GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets( + 21, 0, 35, 12), 4, 6)); + connectTab.add(browserLabel, new GridBagConstraints(0, 1, 1, 1, 0.0, + 0.0, GridBagConstraints.WEST, GridBagConstraints.NONE, + new Insets(16, 0, 0, 0), 5, 1)); + jPanel1.add(useProxy, new GridBagConstraints(0, 0, 2, 1, 0.0, 0.0, + GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(0, + 2, 5, 185), 2, -4)); + jPanel1.add(proxyPortTB, new GridBagConstraints(3, 1, 1, 1, 1.0, 0.0, + GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, + new Insets(0, 2, 4, 2), 54, 1)); + jPanel1.add(proxyServerTB, new GridBagConstraints(1, 1, 1, 1, 1.0, 0.0, + GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, + new Insets(0, 2, 4, 0), 263, 1)); + connectTab.add(defaultBrowser, new GridBagConstraints(1, 1, 1, 1, 1.0, + 0.0, GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, + new Insets(15, 0, 0, 15), 307, 1)); + connectTab.add(usagestats, new GridBagConstraints(0, 4, 1, 1, 1.0, 0.0, + GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, + new Insets(0, 2, 4, 2), 70, 1)); + connectTab.add(questionnaire, new GridBagConstraints(1, 4, 1, 1, 1.0, + 0.0, GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, + new Insets(0, 2, 4, 2), 70, 1)); + connectTab.add(versioncheck, new GridBagConstraints(0, 5, 1, 1, 1.0, + 0.0, GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, + new Insets(0, 2, 4, 2), 70, 1)); + return connectTab; + } + + /** + * Initialises the parent panel which contains the tabbed sections. + * + * @return + */ + private JPanel initOkCancelPanel() + { + JButton ok = new JButton(); + ok.setText(MessageManager.getString("action.ok")); + ok.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent e) + { + ok_actionPerformed(e); } }); - userIdWidthlabel.setFont(JvSwingUtils.getLabelFont()); - userIdWidthlabel.setText(MessageManager - .getString("label.figure_id_column_width")); - userIdWidth - .setToolTipText(JvSwingUtils.wrapTooltip(true, MessageManager.getString("label.manually_specify_width_left_column"))); - userIdWidthlabel - .setToolTipText(JvSwingUtils.wrapTooltip(true, MessageManager.getString("label.manually_specify_width_left_column"))); - 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() + JButton cancel = new JButton(); + cancel.setText(MessageManager.getString("action.cancel")); + cancel.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent e) + { + cancel_actionPerformed(e); + } + }); + JPanel okCancelPanel = new JPanel(); + okCancelPanel.add(ok); + okCancelPanel.add(cancel); + return okCancelPanel; + } + + /** + * Initialises the Colours tabbed panel. + * + * @return + */ + private JPanel initColoursTab() + { + JPanel coloursTab = new JPanel(); + coloursTab.setBorder(new TitledBorder(MessageManager + .getString("action.open_new_alignment"))); + coloursTab.setLayout(new FlowLayout()); + JLabel mincolourLabel = new JLabel(); + mincolourLabel.setFont(verdana11); + mincolourLabel.setHorizontalAlignment(SwingConstants.RIGHT); + mincolourLabel.setText(MessageManager.getString("label.min_colour")); + minColour.setFont(verdana11); + minColour.setBorder(BorderFactory.createEtchedBorder()); + minColour.setPreferredSize(new Dimension(40, 20)); + minColour.addMouseListener(new MouseAdapter() + { + public void mousePressed(MouseEvent e) + { + minColour_actionPerformed(minColour); + } + }); + JLabel maxcolourLabel = new JLabel(); + maxcolourLabel.setFont(verdana11); + maxcolourLabel.setHorizontalAlignment(SwingConstants.RIGHT); + maxcolourLabel.setText(MessageManager.getString("label.max_colour")); + maxColour.setFont(verdana11); + maxColour.setBorder(BorderFactory.createEtchedBorder()); + maxColour.setPreferredSize(new Dimension(40, 20)); + maxColour.addMouseListener(new MouseAdapter() { + public void mousePressed(MouseEvent e) + { + 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") + + " "); + JvSwingUtils.addtoLayout(coloursTab, MessageManager + .getString("label.default_colour_scheme_for_alignment"), + colourLabel, colour); + JPanel annotationShding = new JPanel(); + annotationShding.setBorder(new TitledBorder(MessageManager + .getString("label.annotation_shading_default"))); + annotationShding.setLayout(new GridLayout(1, 2)); + JvSwingUtils.addtoLayout(annotationShding, MessageManager + .getString("label.default_minimum_colour_annotation_shading"), + mincolourLabel, minColour); + JvSwingUtils.addtoLayout(annotationShding, MessageManager + .getString("label.default_maximum_colour_annotation_shading"), + maxcolourLabel, maxColour); + coloursTab.add(annotationShding); // , FlowLayout.LEFT); + return coloursTab; + } + /** + * Initialises the Structure tabbed panel. + * + * @return + */ + private JPanel initStructureTab() + { + JPanel structureTab = new JPanel(); + structureTab.setBorder(new TitledBorder(MessageManager + .getString("label.structure_options"))); + structureTab.setLayout(null); + final int width = 400; + final int height = 23; + final int lineSpacing = 30; + int ypos = 30; + + structFromPdb.setFont(verdana11); + structFromPdb.setText(MessageManager.getString("label.struct_from_pdb")); + structFromPdb.setBounds(new Rectangle(5, ypos, width, height)); + structFromPdb.addActionListener(new ActionListener() + { @Override public void actionPerformed(ActionEvent e) { - userIdWidth_actionPerformed(); + boolean selected = structFromPdb.isSelected(); + // enable other options only when the first is checked + useRnaView.setEnabled(selected); + addSecondaryStructure.setEnabled(selected); + addTempFactor.setEnabled(selected); } }); - modellerOutput.setFont(JvSwingUtils.getLabelFont()); - modellerOutput.setText(MessageManager - .getString("label.use_modeller_output")); - modellerOutput.setBounds(new Rectangle(228, 226, 168, 23)); + structureTab.add(structFromPdb); + + // indent checkboxes that are conditional on the first one + ypos += lineSpacing; + useRnaView.setFont(verdana11); + useRnaView.setText(MessageManager.getString("label.use_rnaview")); + useRnaView.setBounds(new Rectangle(25, ypos, width, height)); + structureTab.add(useRnaView); + + ypos += lineSpacing; + addSecondaryStructure.setFont(verdana11); + addSecondaryStructure.setText(MessageManager + .getString("label.autoadd_secstr")); + addSecondaryStructure.setBounds(new Rectangle(25, ypos, width, height)); + structureTab.add(addSecondaryStructure); + + ypos += lineSpacing; + addTempFactor.setFont(verdana11); + addTempFactor.setText(MessageManager.getString("label.autoadd_temp")); + addTempFactor.setBounds(new Rectangle(25, ypos, width, height)); + structureTab.add(addTempFactor); + + ypos += lineSpacing; + JLabel viewerLabel = new JLabel(); + viewerLabel.setFont(verdana11); + viewerLabel.setHorizontalAlignment(SwingConstants.LEFT); + viewerLabel.setText(MessageManager.getString("label.structure_viewer")); + viewerLabel.setBounds(new Rectangle(10, ypos, 200, height)); + structureTab.add(viewerLabel); + + structViewer.setFont(verdana11); + structViewer.setBounds(new Rectangle(150, ypos, 120, height)); + structViewer.addItem(Viewer.JMOL.name()); + structViewer.addItem(Viewer.CHIMERA.name()); + structureTab.add(structViewer); + + return structureTab; + } - dasPanel.setLayout(borderLayout4); - wsPanel.setLayout(borderLayout5); - wrap.setFont(JvSwingUtils.getLabelFont()); + /** + * Initialises the Visual tabbed panel. + * + * @return + */ + private JPanel initVisualTab() + { + JPanel visualTab = new JPanel(); + visualTab.setBorder(new TitledBorder(MessageManager + .getString("action.open_new_alignment"))); + visualTab.setLayout(null); + fullScreen.setFont(verdana11); + fullScreen.setHorizontalAlignment(SwingConstants.RIGHT); + fullScreen.setHorizontalTextPosition(SwingConstants.LEFT); + fullScreen.setText(MessageManager.getString("label.maximize_window")); + quality.setEnabled(false); + quality.setFont(verdana11); + quality.setHorizontalAlignment(SwingConstants.RIGHT); + quality.setHorizontalTextPosition(SwingConstants.LEFT); + quality.setSelected(true); + quality.setText(MessageManager.getString("label.quality")); + conservation.setEnabled(false); + conservation.setFont(verdana11); + conservation.setHorizontalAlignment(SwingConstants.RIGHT); + conservation.setHorizontalTextPosition(SwingConstants.LEFT); + conservation.setSelected(true); + conservation.setText(MessageManager.getString("label.conservation")); + identity.setEnabled(false); + identity.setFont(verdana11); + identity.setHorizontalAlignment(SwingConstants.RIGHT); + identity.setHorizontalTextPosition(SwingConstants.LEFT); + identity.setSelected(true); + identity.setText(MessageManager.getString("label.consensus")); + JLabel showGroupbits = new JLabel(); + showGroupbits.setFont(verdana11); + showGroupbits.setHorizontalAlignment(SwingConstants.RIGHT); + showGroupbits.setHorizontalTextPosition(SwingConstants.LEFT); + showGroupbits.setText(MessageManager.getString("action.show_group") + + ":"); + JLabel showConsensbits = new JLabel(); + showConsensbits.setFont(verdana11); + showConsensbits.setHorizontalAlignment(SwingConstants.RIGHT); + showConsensbits.setHorizontalTextPosition(SwingConstants.LEFT); + showConsensbits.setText(MessageManager.getString("label.consensus") + + ":"); + showConsensHistogram.setEnabled(false); + showConsensHistogram.setFont(verdana11); + showConsensHistogram.setHorizontalAlignment(SwingConstants.RIGHT); + showConsensHistogram.setHorizontalTextPosition(SwingConstants.LEFT); + showConsensHistogram.setSelected(true); + showConsensHistogram.setText(MessageManager + .getString("label.histogram")); + showConsensLogo.setEnabled(false); + showConsensLogo.setFont(verdana11); + showConsensLogo.setHorizontalAlignment(SwingConstants.RIGHT); + showConsensLogo.setHorizontalTextPosition(SwingConstants.LEFT); + showConsensLogo.setSelected(true); + showConsensLogo.setText(MessageManager.getString("label.logo")); + showGroupConsensus.setEnabled(false); + showGroupConsensus.setFont(verdana11); + showGroupConsensus.setHorizontalAlignment(SwingConstants.RIGHT); + showGroupConsensus.setHorizontalTextPosition(SwingConstants.LEFT); + showGroupConsensus.setSelected(true); + showGroupConsensus.setText(MessageManager.getString("label.consensus")); + showGroupConservation.setEnabled(false); + showGroupConservation.setFont(verdana11); + showGroupConservation.setHorizontalAlignment(SwingConstants.RIGHT); + showGroupConservation.setHorizontalTextPosition(SwingConstants.LEFT); + showGroupConservation.setSelected(true); + showGroupConservation.setText(MessageManager + .getString("label.conservation")); + showNpTooltip.setEnabled(true); + showNpTooltip.setFont(verdana11); + showNpTooltip.setHorizontalAlignment(SwingConstants.RIGHT); + showNpTooltip.setHorizontalTextPosition(SwingConstants.LEFT); + showNpTooltip.setSelected(true); + showNpTooltip.setText(MessageManager + .getString("label.non_positional_features")); + showDbRefTooltip.setEnabled(true); + showDbRefTooltip.setFont(verdana11); + showDbRefTooltip.setHorizontalAlignment(SwingConstants.RIGHT); + showDbRefTooltip.setHorizontalTextPosition(SwingConstants.LEFT); + showDbRefTooltip.setSelected(true); + showDbRefTooltip.setText(MessageManager + .getString("label.database_references")); + annotations.setFont(verdana11); + annotations.setHorizontalAlignment(SwingConstants.RIGHT); + annotations.setHorizontalTextPosition(SwingConstants.LEADING); + annotations.setSelected(true); + annotations.setText(MessageManager.getString("label.show_annotations")); + annotations.setBounds(new Rectangle(169, 12, 200, 23)); + annotations.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent e) + { + annotations_actionPerformed(e); + } + }); + identity.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent e) + { + annotations_actionPerformed(e); + } + }); + showGroupConsensus.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent e) + { + annotations_actionPerformed(e); + } + }); + showUnconserved.setFont(verdana11); + showUnconserved.setHorizontalAlignment(SwingConstants.RIGHT); + showUnconserved.setHorizontalTextPosition(SwingConstants.LEFT); + showUnconserved.setSelected(true); + showUnconserved.setText(MessageManager + .getString("action.show_unconserved")); + showUnconserved.addActionListener(new ActionListener() + { + public void actionPerformed(ActionEvent e) + { + showunconserved_actionPerformed(e); + } + }); + + // TODO these are not yet added to / action from Preferences + // JCheckBox shareSelections = new JCheckBox(); + // shareSelections.setFont(verdana11); + // shareSelections.setHorizontalAlignment(SwingConstants.RIGHT); + // shareSelections.setHorizontalTextPosition(SwingConstants.LEFT); + // shareSelections.setSelected(true); + // shareSelections.setText(MessageManager + // .getString("label.share_selection_across_views")); + // JCheckBox followHighlight = new JCheckBox(); + // followHighlight.setFont(verdana11); + // followHighlight.setHorizontalAlignment(SwingConstants.RIGHT); + // followHighlight.setHorizontalTextPosition(SwingConstants.LEFT); + // // showUnconserved.setBounds(new Rectangle(169, 40, 200, 23)); + // followHighlight.setSelected(true); + // followHighlight.setText(MessageManager + // .getString("label.scroll_highlighted_regions")); + + seqLimit.setFont(verdana11); + seqLimit.setHorizontalAlignment(SwingConstants.RIGHT); + seqLimit.setHorizontalTextPosition(SwingConstants.LEFT); + seqLimit.setText(MessageManager.getString("label.full_sequence_id")); + smoothFont.setFont(verdana11); + smoothFont.setHorizontalAlignment(SwingConstants.RIGHT); + smoothFont.setHorizontalTextPosition(SwingConstants.LEADING); + smoothFont.setText(MessageManager.getString("label.smooth_font")); + JLabel gapLabel = new JLabel(); + gapLabel.setFont(verdana11); + gapLabel.setHorizontalAlignment(SwingConstants.RIGHT); + gapLabel.setText(MessageManager.getString("label.gap_symbol") + " "); + JLabel fontLabel = new JLabel(); + fontLabel.setFont(verdana11); + fontLabel.setHorizontalAlignment(SwingConstants.RIGHT); + fontLabel.setText(MessageManager.getString("label.font")); + fontSizeCB.setFont(verdana11); + fontSizeCB.setBounds(new Rectangle(319, 104, 49, 23)); + fontStyleCB.setFont(verdana11); + fontStyleCB.setBounds(new Rectangle(367, 104, 70, 23)); + fontNameCB.setFont(verdana11); + fontNameCB.setBounds(new Rectangle(172, 104, 147, 23)); + gapSymbolCB.setFont(verdana11); + gapSymbolCB.setBounds(new Rectangle(172, 196, 69, 23)); + DefaultListCellRenderer dlcr = new DefaultListCellRenderer(); + dlcr.setHorizontalAlignment(DefaultListCellRenderer.CENTER); + gapSymbolCB.setRenderer(dlcr); + + startupCheckbox.setText(MessageManager.getString("action.open_file")); + startupCheckbox.setFont(verdana11); + startupCheckbox.setHorizontalAlignment(SwingConstants.RIGHT); + startupCheckbox.setHorizontalTextPosition(SwingConstants.LEFT); + startupCheckbox.setSelected(true); + startupFileTextfield.setFont(verdana11); + startupFileTextfield.setBounds(new Rectangle(172, 290, 270, 20)); + startupFileTextfield.addMouseListener(new MouseAdapter() + { + public void mouseClicked(MouseEvent e) + { + if (e.getClickCount() > 1) + { + startupFileTextfield_mouseClicked(); + } + } + }); + + sortby.setFont(verdana11); + sortby.setBounds(new Rectangle(172, 240, 155, 21)); + JLabel sortLabel = new JLabel(); + sortLabel.setFont(verdana11); + sortLabel.setHorizontalAlignment(SwingConstants.RIGHT); + sortLabel.setText(MessageManager.getString("label.sort_by")); + sortAnnBy.setFont(verdana11); + sortAnnBy.setBounds(new Rectangle(172, 265, 120, 21)); + JLabel sortAnnLabel = new JLabel(); + sortAnnLabel.setFont(verdana11); + sortAnnLabel.setHorizontalAlignment(SwingConstants.RIGHT); + sortAnnLabel.setText(MessageManager.getString("label.sort_ann_by")); + sortAutocalc.setFont(verdana11); + sortAutocalc.setBounds(new Rectangle(300, 265, 185, 21)); + JPanel annsettingsPanel = new JPanel(); + annsettingsPanel.setBounds(new Rectangle(173, 34, 300, 61)); + annsettingsPanel.setLayout(new FlowLayout(FlowLayout.LEFT, 0, 0)); + JPanel autoAnnotSettings1 = new JPanel(); + autoAnnotSettings1.setLayout(new GridLayout(3, 1, 0, 0)); + annsettingsPanel.add(autoAnnotSettings1); + JPanel autoAnnotSettings2 = new JPanel(); + autoAnnotSettings2.setLayout(new GridLayout(3, 1, 0, 0)); + annsettingsPanel.add(autoAnnotSettings2); + JPanel autoAnnotSettings3 = new JPanel(); + autoAnnotSettings3.setLayout(new GridLayout(3, 1, 0, 0)); + annsettingsPanel.add(autoAnnotSettings3); + visualTab.add(annsettingsPanel); + Border jb = new EmptyBorder(1, 1, 4, 5); + quality.setBorder(jb); + conservation.setBorder(jb); + identity.setBorder(jb); + showConsensbits.setBorder(jb); + showGroupbits.setBorder(jb); + showGroupConsensus.setBorder(jb); + showGroupConservation.setBorder(jb); + showConsensHistogram.setBorder(jb); + showConsensLogo.setBorder(jb); + + autoAnnotSettings2.add(conservation); + autoAnnotSettings1.add(quality); + autoAnnotSettings3.add(identity); + autoAnnotSettings1.add(showGroupbits); + autoAnnotSettings3.add(showGroupConsensus); + autoAnnotSettings2.add(showGroupConservation); + autoAnnotSettings1.add(showConsensbits); + autoAnnotSettings2.add(showConsensHistogram); + autoAnnotSettings3.add(showConsensLogo); + + JPanel tooltipSettings = new JPanel(); + tooltipSettings.setBorder(new TitledBorder(MessageManager + .getString("label.sequence_id_tooltip"))); + tooltipSettings.setBounds(173, 130, 200, 62); + tooltipSettings.setLayout(new GridLayout(2, 1)); + tooltipSettings.add(showDbRefTooltip); + tooltipSettings.add(showNpTooltip); + visualTab.add(tooltipSettings); + + wrap.setFont(verdana11); wrap.setHorizontalAlignment(SwingConstants.TRAILING); wrap.setHorizontalTextPosition(SwingConstants.LEADING); wrap.setText(MessageManager.getString("label.wrap_alignment")); - rightAlign.setFont(JvSwingUtils.getLabelFont()); + rightAlign.setFont(verdana11); rightAlign.setForeground(Color.black); rightAlign.setHorizontalAlignment(SwingConstants.RIGHT); rightAlign.setHorizontalTextPosition(SwingConstants.LEFT); rightAlign.setText(MessageManager.getString("label.right_align_ids")); - idItalics.setFont(JvSwingUtils.getLabelFont()); + idItalics.setFont(verdana11); idItalics.setHorizontalAlignment(SwingConstants.RIGHT); idItalics.setHorizontalTextPosition(SwingConstants.LEADING); idItalics.setText(MessageManager .getString("label.sequence_name_italics")); - openoverv.setFont(JvSwingUtils.getLabelFont()); + openoverv.setFont(verdana11); openoverv.setActionCommand(MessageManager .getString("label.open_overview")); openoverv.setHorizontalAlignment(SwingConstants.RIGHT); openoverv.setHorizontalTextPosition(SwingConstants.LEFT); openoverv.setText(MessageManager.getString(("label.open_overview"))); + JPanel jPanel2 = new JPanel(); + jPanel2.setBounds(new Rectangle(7, 17, 158, 297)); + GridLayout gridLayout2 = new GridLayout(); + jPanel2.setLayout(gridLayout2); + gridLayout2.setRows(13); jPanel2.add(fullScreen); jPanel2.add(openoverv); jPanel2.add(seqLimit); @@ -788,6 +1036,7 @@ public class GPreferences extends JPanel jPanel2.add(sortLabel); jPanel2.add(sortAnnLabel); jPanel2.add(startupCheckbox); + visualTab.add(jPanel2); visualTab.add(annotations); visualTab.add(startupFileTextfield); visualTab.add(sortby); @@ -797,147 +1046,7 @@ public class GPreferences extends JPanel visualTab.add(fontNameCB); visualTab.add(fontSizeCB); visualTab.add(fontStyleCB); - annsettingsPanel.setBounds(new Rectangle(173, 34, 300, 61)); - annsettingsPanel.setLayout(new FlowLayout(FlowLayout.LEFT, 0, 0)); - annsettingsPanel.add(autoAnnotSettings1); - annsettingsPanel.add(autoAnnotSettings2); - annsettingsPanel.add(autoAnnotSettings3); - autoAnnotSettings1.setLayout(new GridLayout(3, 1, 0, 0)); - autoAnnotSettings2.setLayout(new GridLayout(3, 1, 0, 0)); - autoAnnotSettings3.setLayout(new GridLayout(3, 1, 0, 0)); - visualTab.add(annsettingsPanel); - Border jb = new EmptyBorder(1, 1, 4, 5); - quality.setBorder(jb); - conservation.setBorder(jb); - identity.setBorder(jb); - showConsensbits.setBorder(jb); - showGroupbits.setBorder(jb); - showGroupConsensus.setBorder(jb); - showGroupConservation.setBorder(jb); - showConsensHistogram.setBorder(jb); - showConsensLogo.setBorder(jb); - - autoAnnotSettings2.add(conservation); - autoAnnotSettings1.add(quality); - autoAnnotSettings3.add(identity); - autoAnnotSettings1.add(showGroupbits); - autoAnnotSettings3.add(showGroupConsensus); - autoAnnotSettings2.add(showGroupConservation); - autoAnnotSettings1.add(showConsensbits); - autoAnnotSettings2.add(showConsensHistogram); - autoAnnotSettings3.add(showConsensLogo); - - JPanel tooltipSettings = new JPanel(); - tooltipSettings.setBorder(new TitledBorder(MessageManager - .getString("label.sequence_id_tooltip"))); - tooltipSettings.setBounds(173, 130, 200, 62); - tooltipSettings.setLayout(new GridLayout(2, 1)); - tooltipSettings.add(showDbRefTooltip); - tooltipSettings.add(showNpTooltip); - visualTab.add(tooltipSettings); - visualTab.add(jPanel2); - JvSwingUtils.addtoLayout(visual2Tab, MessageManager - .getString("label.default_colour_scheme_for_alignment"), - colourLabel, colour); - JPanel annotationShding = new JPanel(); - annotationShding.setBorder(new TitledBorder(MessageManager - .getString("label.annotation_shading_default"))); - annotationShding.setLayout(new GridLayout(1, 2)); - JvSwingUtils.addtoLayout(annotationShding, MessageManager - .getString("label.default_minimum_colour_annotation_shading"), - mincolourLabel, minColour); - JvSwingUtils.addtoLayout(annotationShding, MessageManager - .getString("label.default_maximum_colour_annotation_shading"), - maxcolourLabel, maxColour); - visual2Tab.add(annotationShding); // , FlowLayout.LEFT); - - // visual2panel.add(minColour); - // visual2panel.add(maxColour); - // visual2Tab.add(visual2panel); - - linkPanel.add(editLinkButtons, BorderLayout.EAST); - editLinkButtons.add(newLink, null); - editLinkButtons.add(editLink, null); - editLinkButtons.add(deleteLink, null); - linkPanel.add(linkScrollPane, BorderLayout.CENTER); - linkScrollPane.getViewport().add(linkPanel2, null); - linkPanel2.add(linkURLList, BorderLayout.CENTER); - linkPanel2.add(linkNameList, BorderLayout.WEST); - okCancelPanel.add(ok); - okCancelPanel.add(cancel); - this.add(tabbedPane, java.awt.BorderLayout.CENTER); - - this.add(okCancelPanel, java.awt.BorderLayout.SOUTH); - jPanel1.add(serverLabel, new GridBagConstraints(0, 1, 1, 1, 0.0, 0.0, - GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(0, - 2, 4, 0), 5, 0)); - jPanel1.add(portLabel, new GridBagConstraints(2, 1, 1, 1, 0.0, 0.0, - GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(0, - 0, 4, 0), 11, 6)); - connectTab.add(linkPanel, new GridBagConstraints(0, 0, 2, 1, 1.0, 1.0, - GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets( - 16, 0, 0, 12), 359, -17)); - connectTab.add(jPanel1, new GridBagConstraints(0, 2, 2, 1, 1.0, 1.0, - GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets( - 21, 0, 35, 12), 4, 6)); - connectTab.add(browserLabel, new GridBagConstraints(0, 1, 1, 1, 0.0, - 0.0, GridBagConstraints.WEST, GridBagConstraints.NONE, - new Insets(16, 0, 0, 0), 5, 1)); - jPanel1.add(proxyPortTB, new GridBagConstraints(3, 1, 1, 1, 1.0, 0.0, - GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, - new Insets(0, 2, 4, 2), 54, 1)); - jPanel1.add(proxyServerTB, new GridBagConstraints(1, 1, 1, 1, 1.0, 0.0, - GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, - new Insets(0, 2, 4, 0), 263, 1)); - connectTab.add(defaultBrowser, new GridBagConstraints(1, 1, 1, 1, 1.0, - 0.0, GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, - new Insets(15, 0, 0, 15), 307, 1)); - connectTab.add(usagestats, new GridBagConstraints(0, 4, 1, 1, 1.0, 0.0, - GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, - new Insets(0, 2, 4, 2), 70, 1)); - connectTab.add(questionnaire, new GridBagConstraints(1, 4, 1, 1, 1.0, - 0.0, GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, - new Insets(0, 2, 4, 2), 70, 1)); - connectTab.add(versioncheck, new GridBagConstraints(0, 5, 1, 1, 1.0, - 0.0, GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, - new Insets(0, 2, 4, 2), 70, 1)); - - jPanel1.add(useProxy, new GridBagConstraints(0, 0, 2, 1, 0.0, 0.0, - GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(0, - 2, 5, 185), 2, -4)); - DefaultListCellRenderer dlcr = new DefaultListCellRenderer(); - dlcr.setHorizontalAlignment(DefaultListCellRenderer.CENTER); - gapSymbolCB.setRenderer(dlcr); - - tabbedPane.add(visualTab, MessageManager.getString("label.visual")); - tabbedPane.add(visual2Tab, MessageManager.getString("label.colours")); - tabbedPane.add(connectTab, - MessageManager.getString("label.connections")); - tabbedPane.add(exportTab, MessageManager.getString("label.output")); - jPanel11.add(jLabel1); - jPanel11.add(blcjv); - jPanel11.add(clustaljv); - jPanel11.add(fastajv); - jPanel11.add(msfjv); - jPanel11.add(pfamjv); - jPanel11.add(pileupjv); - jPanel11.add(pirjv); - exportTab.add(autoIdWidth); - exportTab.add(userIdWidth); - exportTab.add(userIdWidthlabel); - exportTab.add(modellerOutput); - tabbedPane.add(calcTab, MessageManager.getString("label.editing")); - calcTab.add(autoCalculateConsCheck); - calcTab.add(padGaps); - calcTab.add(sortByTree); - - tabbedPane - .add(dasPanel, MessageManager.getString("label.das_settings")); - tabbedPane.add(wsPanel, MessageManager.getString("label.web_services")); - - exportTab.add(epsLabel); - exportTab.add(epsRendering); - exportTab.add(jPanel11); + return visualTab; } protected void autoIdWidth_actionPerformed() @@ -952,16 +1061,12 @@ public class GPreferences extends JPanel } - protected void maxColour_actionPerformed() + protected void maxColour_actionPerformed(JPanel panel) { - // TODO Auto-generated method stub - } - protected void minColour_actionPerformed() + protected void minColour_actionPerformed(JPanel panel) { - // TODO Auto-generated method stub - } protected void showunconserved_actionPerformed(ActionEvent e) -- 1.7.10.2