/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.4)
- * Copyright (C) 2008 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.6)
+ * Copyright (C) 2010 J Procter, AM Waterhouse, G Barton, M Clamp, S Searle
*
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
+ * This file is part of Jalview.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * Jalview is free software: you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
+ * Jalview is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along with Jalview. If not, see <http://www.gnu.org/licenses/>.
*/
package jalview.jbgui;
+import jalview.gui.JvSwingUtils;
+
import java.awt.*;
import java.awt.event.*;
+
import javax.swing.*;
import javax.swing.border.*;
import javax.swing.event.*;
protected JCheckBox quality = new JCheckBox();
JPanel visualTab = new JPanel();
+ JPanel visual2Tab = new JPanel();
protected JCheckBox fullScreen = 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();
JLabel sortLabel = new JLabel();
JPanel jPanel2 = new JPanel();
+ JPanel visual2panel = new JPanel();
GridLayout gridLayout2 = new GridLayout();
- JPanel jPanel3 = new JPanel();
+ GridLayout gridLayout4 = new GridLayout();
+
+ JPanel annsettingsPanel = new JPanel();
+
+ JPanel autoAnnotSettings1 = new JPanel();
+
+ JPanel autoAnnotSettings2 = new JPanel();
+
+ JPanel autoAnnotSettings3 = new JPanel();
JPanel exportTab = new JPanel();
JPanel jPanel11 = new JPanel();
- Font verdana11 = new java.awt.Font("Verdana", Font.PLAIN, 11);
+ Font verdana11 = JvSwingUtils.getLabelFont();
protected JCheckBox seqLimit = new JCheckBox();
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 followHighlight = new JCheckBox();
+
+ protected JCheckBox sortByTree= new JCheckBox();
+
/**
* Creates a new GPreferences object.
*/
* DOCUMENT ME!
*
* @throws Exception
- * DOCUMENT ME!
+ * DOCUMENT ME!
*/
private void jbInit() throws Exception
{
quality.setText("Quality");
visualTab.setBorder(new TitledBorder("Open new alignment"));
visualTab.setLayout(null);
+ visual2Tab.setBorder(new TitledBorder("Open new alignment"));
+ visual2Tab.setLayout(new FlowLayout());
fullScreen.setFont(verdana11);
fullScreen.setHorizontalAlignment(SwingConstants.RIGHT);
fullScreen.setHorizontalTextPosition(SwingConstants.LEFT);
identity.setHorizontalTextPosition(SwingConstants.LEFT);
identity.setSelected(true);
identity.setText("Consensus");
+ showGroupbits.setFont(verdana11);
+ showGroupbits.setHorizontalAlignment(SwingConstants.RIGHT);
+ showGroupbits.setHorizontalTextPosition(SwingConstants.LEFT);
+ showGroupbits.setText("Show group:");
+ showConsensbits.setFont(verdana11);
+ showConsensbits.setHorizontalAlignment(SwingConstants.RIGHT);
+ showConsensbits.setHorizontalTextPosition(SwingConstants.LEFT);
+ showConsensbits.setText("Consensus:");
+ showConsensHistogram.setEnabled(false);
+ showConsensHistogram.setFont(verdana11);
+ showConsensHistogram.setHorizontalAlignment(SwingConstants.RIGHT);
+ showConsensHistogram.setHorizontalTextPosition(SwingConstants.LEFT);
+ showConsensHistogram.setSelected(true);
+ showConsensHistogram.setText("Histogram");
+ showConsensLogo.setEnabled(false);
+ showConsensLogo.setFont(verdana11);
+ showConsensLogo.setHorizontalAlignment(SwingConstants.RIGHT);
+ showConsensLogo.setHorizontalTextPosition(SwingConstants.LEFT);
+ showConsensLogo.setSelected(true);
+ showConsensLogo.setText("Logo");
+ showGroupConsensus.setEnabled(false);
+ showGroupConsensus.setFont(verdana11);
+ showGroupConsensus.setHorizontalAlignment(SwingConstants.RIGHT);
+ showGroupConsensus.setHorizontalTextPosition(SwingConstants.LEFT);
+ showGroupConsensus.setSelected(true);
+ showGroupConsensus.setText("Consensus");
+ showGroupConservation.setEnabled(false);
+ showGroupConservation.setFont(verdana11);
+ showGroupConservation.setHorizontalAlignment(SwingConstants.RIGHT);
+ showGroupConservation.setHorizontalTextPosition(SwingConstants.LEFT);
+ showGroupConservation.setSelected(true);
+ showGroupConservation.setText("Conservation");
+ showNpTooltip.setEnabled(true);
+ showNpTooltip.setFont(verdana11);
+ showNpTooltip.setHorizontalAlignment(SwingConstants.RIGHT);
+ showNpTooltip.setHorizontalTextPosition(SwingConstants.LEFT);
+ showNpTooltip.setSelected(true);
+ showNpTooltip.setText("Non-positional Features");
+ showDbRefTooltip.setEnabled(true);
+ showDbRefTooltip.setFont(verdana11);
+ showDbRefTooltip.setHorizontalAlignment(SwingConstants.RIGHT);
+ showDbRefTooltip.setHorizontalTextPosition(SwingConstants.LEFT);
+ showDbRefTooltip.setSelected(true);
+ showDbRefTooltip.setText("Database References");
annotations.setFont(verdana11);
annotations.setHorizontalAlignment(SwingConstants.RIGHT);
- annotations.setHorizontalTextPosition(SwingConstants.LEFT);
+ annotations.setHorizontalTextPosition(SwingConstants.LEADING);
annotations.setSelected(true);
annotations.setText("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("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("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("Scroll to highlighted regions");
+
gapLabel.setFont(verdana11);
gapLabel.setHorizontalAlignment(SwingConstants.RIGHT);
gapLabel.setText("Gap Symbol ");
colour.setBounds(new Rectangle(172, 225, 155, 21));
colourLabel.setFont(verdana11);
colourLabel.setHorizontalAlignment(SwingConstants.RIGHT);
- colourLabel.setText("Colour ");
+ colourLabel.setText("Alignment Colour ");
fontLabel.setFont(verdana11);
fontLabel.setHorizontalAlignment(SwingConstants.RIGHT);
fontLabel.setText("Font ");
fontSizeCB.setFont(verdana11);
- fontSizeCB.setBounds(new Rectangle(319, 111, 49, 21));
+ fontSizeCB.setBounds(new Rectangle(319, 104, 49, 23));
fontStyleCB.setFont(verdana11);
- fontStyleCB.setBounds(new Rectangle(367, 111, 70, 21));
+ fontStyleCB.setBounds(new Rectangle(367, 104, 70, 23));
fontNameCB.setFont(verdana11);
- fontNameCB.setBounds(new Rectangle(172, 111, 147, 21));
+ fontNameCB.setBounds(new Rectangle(172, 104, 147, 23));
gapSymbolCB.setFont(verdana11);
- gapSymbolCB.setBounds(new Rectangle(172, 204, 69, 21));
+ gapSymbolCB.setBounds(new Rectangle(172, 204, 69, 23));
+ mincolourLabel.setFont(verdana11);
+ mincolourLabel.setHorizontalAlignment(SwingConstants.RIGHT);
+ mincolourLabel.setText("Minimum 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("Maximum 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("Open file");
startupCheckbox.setFont(verdana11);
startupCheckbox.setHorizontalAlignment(SwingConstants.RIGHT);
browserLabel.setText("Default Browser (Unix)");
defaultBrowser.setFont(verdana11);
defaultBrowser.setText("");
+ usagestats.setText("Send usage statistics");
+ usagestats.setFont(verdana11);
+ usagestats.setHorizontalAlignment(SwingConstants.RIGHT);
+ usagestats.setHorizontalTextPosition(SwingConstants.LEADING);
+ questionnaire.setText("Check for questionnaires");
+ questionnaire.setFont(verdana11);
+ questionnaire.setHorizontalAlignment(SwingConstants.RIGHT);
+ questionnaire.setHorizontalTextPosition(SwingConstants.LEADING);
+ versioncheck.setText("Check for latest version");
+ versioncheck.setFont(verdana11);
+ versioncheck.setHorizontalAlignment(SwingConstants.RIGHT);
+ versioncheck.setHorizontalTextPosition(SwingConstants.LEADING);
newLink.setText("New");
newLink.addActionListener(new java.awt.event.ActionListener()
{
jPanel2.setBounds(new Rectangle(7, 17, 158, 278));
jPanel2.setLayout(gridLayout2);
gridLayout2.setRows(12);
- jPanel3.setBounds(new Rectangle(173, 35, 274, 26));
exportTab.setLayout(null);
epsLabel.setFont(verdana11);
epsLabel.setHorizontalAlignment(SwingConstants.RIGHT);
smoothFont.setHorizontalTextPosition(SwingConstants.LEADING);
smoothFont.setText("Smooth Font");
calcTab.setLayout(null);
- autoCalculateConsCheck.setFont(new java.awt.Font("Verdana", Font.PLAIN,
- 11));
+ autoCalculateConsCheck.setFont(JvSwingUtils.getLabelFont());
autoCalculateConsCheck.setText("AutoCalculate Consensus");
autoCalculateConsCheck.setBounds(new Rectangle(21, 52, 209, 23));
- padGaps.setFont(new java.awt.Font("Verdana", Font.PLAIN, 11));
- padGaps.setText("Pad gaps when editing");
+ padGaps.setFont(JvSwingUtils.getLabelFont());
+ padGaps.setText("Pad Gaps When Editing");
padGaps.setBounds(new Rectangle(22, 94, 168, 23));
- modellerOutput.setFont(new java.awt.Font("Verdana", Font.PLAIN, 11));
+ sortByTree.setFont(JvSwingUtils.getLabelFont());
+ sortByTree.setText("Sort With New Tree");
+ sortByTree.setToolTipText("When selected, any trees calculated or loaded onto the alignment will automatically sort the alignment.");
+ sortByTree.setBounds(new Rectangle(22, 136, 168, 23));
+ modellerOutput.setFont(JvSwingUtils.getLabelFont());
modellerOutput.setText("Use Modeller Output");
modellerOutput.setBounds(new Rectangle(228, 226, 168, 23));
dasPanel.setLayout(borderLayout4);
- wrap.setFont(new java.awt.Font("Verdana", Font.PLAIN, 11));
+ wsPanel.setLayout(borderLayout5);
+ wrap.setFont(JvSwingUtils.getLabelFont());
wrap.setHorizontalAlignment(SwingConstants.TRAILING);
wrap.setHorizontalTextPosition(SwingConstants.LEADING);
wrap.setText("Wrap Alignment");
- rightAlign.setFont(new java.awt.Font("Verdana", Font.PLAIN, 11));
+ rightAlign.setFont(JvSwingUtils.getLabelFont());
rightAlign.setForeground(Color.black);
rightAlign.setHorizontalAlignment(SwingConstants.RIGHT);
rightAlign.setHorizontalTextPosition(SwingConstants.LEFT);
rightAlign.setText("Right Align Ids");
- idItalics.setFont(new java.awt.Font("Verdana", Font.PLAIN, 11));
+ idItalics.setFont(JvSwingUtils.getLabelFont());
idItalics.setHorizontalAlignment(SwingConstants.RIGHT);
idItalics.setHorizontalTextPosition(SwingConstants.LEADING);
idItalics.setText("Sequence Name Italics");
- openoverv.setFont(new java.awt.Font("Verdana", Font.PLAIN, 11));
+ openoverv.setFont(JvSwingUtils.getLabelFont());
openoverv.setActionCommand("Open Overview");
openoverv.setHorizontalAlignment(SwingConstants.RIGHT);
- openoverv.setHorizontalTextPosition(SwingConstants.LEADING);
- openoverv.setText("Open Overview Window");
- openoverv.setBounds(new Rectangle(169, 17, 200, 23));
+ openoverv.setHorizontalTextPosition(SwingConstants.LEFT);
+ openoverv.setText("Open Overview");
jPanel2.add(fullScreen);
- jPanel2.add(annotations);
+ jPanel2.add(openoverv);
jPanel2.add(seqLimit);
jPanel2.add(rightAlign);
jPanel2.add(fontLabel);
+ jPanel2.add(showUnconserved);
jPanel2.add(idItalics);
jPanel2.add(smoothFont);
- jPanel2.add(wrap);
jPanel2.add(gapLabel);
- jPanel2.add(colourLabel);
+ jPanel2.add(wrap);
jPanel2.add(sortLabel);
jPanel2.add(startupCheckbox);
- visualTab.add(openoverv);
+ visualTab.add(annotations);
visualTab.add(startupFileTextfield);
visualTab.add(sortby);
- visualTab.add(colour);
visualTab.add(gapSymbolCB);
- visualTab.add(jPanel3);
visualTab.add(fontNameCB);
visualTab.add(fontSizeCB);
visualTab.add(fontStyleCB);
- jPanel3.add(conservation);
- jPanel3.add(identity);
- jPanel3.add(quality);
+ 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("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, "Default Colourscheme for alignment", colourLabel, colour);
+ JPanel annotationShding=new JPanel();
+ annotationShding.setBorder(new TitledBorder("Annotation Shading Default"));
+ annotationShding.setLayout(new GridLayout(1,2));
+ JvSwingUtils.addtoLayout(annotationShding, "Default Minimum Colour for annotation shading", mincolourLabel,minColour);
+ JvSwingUtils.addtoLayout(annotationShding,"Default Maximum Colour for annotation shading", maxcolourLabel, maxColour);
+ visual2Tab.add(annotationShding); // , FlowLayout.LEFT);
+
+// visual2panel.add(minColour);
+// visual2panel.add(maxColour);
+// visual2Tab.add(visual2panel);
+
linkPanel.add(editLinkButtons, BorderLayout.EAST);
editLinkButtons.add(newLink, null);
editLinkButtons.add(editLink, null);
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,
gapSymbolCB.setRenderer(dlcr);
tabbedPane.add(visualTab, "Visual");
+ tabbedPane.add(visual2Tab,"Colours");
tabbedPane.add(connectTab, "Connections");
tabbedPane.add(exportTab, "Output");
jPanel11.add(jLabel1);
tabbedPane.add(calcTab, "Editing");
calcTab.add(autoCalculateConsCheck);
calcTab.add(padGaps);
+ calcTab.add(sortByTree);
+
tabbedPane.add(dasPanel, "DAS Settings");
+ tabbedPane.add(wsPanel, "Web Services");
exportTab.add(epsLabel);
exportTab.add(epsRendering);
exportTab.add(jPanel11);
}
+ protected void maxColour_actionPerformed()
+ {
+ // TODO Auto-generated method stub
+
+ }
+
+ protected void minColour_actionPerformed()
+ {
+ // TODO Auto-generated method stub
+
+ }
+
+ protected void showunconserved_actionPerformed(ActionEvent e)
+ {
+ // TODO Auto-generated method stub
+
+ }
+
/**
* DOCUMENT ME!
*
* @param e
- * DOCUMENT ME!
+ * DOCUMENT ME!
*/
public void ok_actionPerformed(ActionEvent e)
{
* DOCUMENT ME!
*
* @param e
- * DOCUMENT ME!
+ * DOCUMENT ME!
*/
public void cancel_actionPerformed(ActionEvent e)
{
* DOCUMENT ME!
*
* @param e
- * DOCUMENT ME!
+ * DOCUMENT ME!
*/
public void annotations_actionPerformed(ActionEvent e)
{