/* * Jalview - A Sequence Alignment Editor and Viewer * Copyright (C) 2005 AM Waterhouse, J Procter, 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 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. * * 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 */ package jalview.jbgui; import java.awt.*; import javax.swing.*; import javax.swing.border.TitledBorder; import java.awt.event.*; import javax.swing.event.*; /** * DOCUMENT ME! * * @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(); protected JCheckBox fullID = new JCheckBox(); protected JCheckBox fullScreen = new JCheckBox(); protected JCheckBox conservation = new JCheckBox(); protected JCheckBox identity = new JCheckBox(); protected JCheckBox annotations = new JCheckBox(); JLabel gapLabel = new JLabel(); protected JComboBox colour = new JComboBox(); JLabel colourLabel = new JLabel(); JLabel fontLabel = new JLabel(); protected JComboBox fontSizeCB = new JComboBox(); protected JComboBox fontStyleCB = new JComboBox(); 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(); JLabel portLabel = new JLabel(); JLabel browserLabel = new JLabel(); protected JTextField defaultBrowser = new JTextField(); JButton newLink = new JButton(); JButton editLink = new JButton(); JButton deleteLink = new JButton(); JScrollPane linkScrollPane = new JScrollPane(); JPanel linkPanel = new JPanel(); BorderLayout borderLayout2 = new BorderLayout(); JPanel editLinkButtons = new JPanel(); GridLayout gridLayout1 = new GridLayout(); protected JList linkNameList = new JList(); JPanel linkPanel2 = new JPanel(); BorderLayout borderLayout3 = new BorderLayout(); protected JCheckBox useProxy = new JCheckBox(); JPanel jPanel1 = new JPanel(); TitledBorder titledBorder1 = new TitledBorder("Proxy Server"); GridBagLayout gridBagLayout2 = new GridBagLayout(); GridBagLayout gridBagLayout1 = new GridBagLayout(); GridBagLayout gridBagLayout3 = new GridBagLayout(); protected JComboBox sortby = new JComboBox(); JLabel sortLabel = new JLabel(); JPanel jPanel2 = new JPanel(); GridLayout gridLayout2 = new GridLayout(); JPanel jPanel3 = new JPanel(); JPanel exportTab = new JPanel(); JLabel epsLabel = new JLabel(); protected JComboBox epsRendering = new JComboBox(); /** * Creates a new GPreferences object. */ public GPreferences() { try { jbInit(); } catch (Exception ex) { ex.printStackTrace(); } } /** * DOCUMENT ME! * * @throws Exception DOCUMENT ME! */ private void jbInit() throws Exception { this.setLayout(borderLayout1); ok.setText("OK"); ok.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { ok_actionPerformed(e); } }); cancel.setText("Cancel"); cancel.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { cancel_actionPerformed(e); } }); quality.setEnabled(false); quality.setFont(new java.awt.Font("Verdana", Font.PLAIN, 11)); quality.setHorizontalAlignment(SwingConstants.RIGHT); quality.setHorizontalTextPosition(SwingConstants.LEFT); quality.setSelected(true); quality.setText("Quality"); visualTab.setBorder(new TitledBorder("Open new alignment")); visualTab.setLayout(null); fullID.setFont(new java.awt.Font("Verdana", Font.PLAIN, 11)); fullID.setHorizontalAlignment(SwingConstants.RIGHT); fullID.setHorizontalTextPosition(SwingConstants.LEFT); fullID.setMargin(new Insets(4, 2, 2, 0)); fullID.setText("Full Sequence ID"); fullScreen.setFont(new java.awt.Font("Verdana", Font.PLAIN, 11)); fullScreen.setHorizontalAlignment(SwingConstants.RIGHT); fullScreen.setHorizontalTextPosition(SwingConstants.LEFT); fullScreen.setMargin(new Insets(2, 2, 2, 0)); fullScreen.setText("Maximise Window"); conservation.setEnabled(false); conservation.setFont(new java.awt.Font("Verdana", Font.PLAIN, 11)); conservation.setHorizontalAlignment(SwingConstants.RIGHT); conservation.setHorizontalTextPosition(SwingConstants.LEFT); conservation.setSelected(true); conservation.setText("Conservation"); identity.setEnabled(false); identity.setFont(new java.awt.Font("Verdana", Font.PLAIN, 11)); identity.setHorizontalAlignment(SwingConstants.RIGHT); identity.setHorizontalTextPosition(SwingConstants.LEFT); identity.setSelected(true); identity.setText("Consensus"); annotations.setFont(new java.awt.Font("Verdana", Font.PLAIN, 11)); annotations.setHorizontalAlignment(SwingConstants.RIGHT); annotations.setHorizontalTextPosition(SwingConstants.LEFT); annotations.setMargin(new Insets(2, 4, 2, 0)); annotations.setSelected(true); annotations.setText("Show Annotations"); annotations.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { annotations_actionPerformed(e); } }); gapLabel.setFont(new java.awt.Font("Verdana", Font.PLAIN, 11)); gapLabel.setHorizontalAlignment(SwingConstants.RIGHT); gapLabel.setText("Gap Symbol "); colour.setFont(new java.awt.Font("Verdana", Font.PLAIN, 11)); colour.setBounds(new Rectangle(148, 171, 154, 21)); colourLabel.setFont(new java.awt.Font("Verdana", Font.PLAIN, 11)); colourLabel.setHorizontalAlignment(SwingConstants.RIGHT); colourLabel.setText("Colour "); fontLabel.setFont(new java.awt.Font("Verdana", Font.PLAIN, 11)); fontLabel.setHorizontalAlignment(SwingConstants.RIGHT); fontLabel.setText("Font "); fontSizeCB.setFont(new java.awt.Font("Verdana", Font.PLAIN, 11)); fontSizeCB.setBounds(new Rectangle(317, 111, 49, 21)); fontStyleCB.setFont(new java.awt.Font("Verdana", Font.PLAIN, 11)); fontStyleCB.setBounds(new Rectangle(365, 111, 70, 21)); fontNameCB.setFont(new java.awt.Font("Verdana", Font.PLAIN, 11)); fontNameCB.setBounds(new Rectangle(148, 111, 169, 21)); gapSymbolCB.setFont(new java.awt.Font("Verdana", Font.PLAIN, 11)); gapSymbolCB.setBounds(new Rectangle(148, 141, 67, 21)); startupCheckbox.setText("Open file"); startupCheckbox.setFont(new java.awt.Font("Verdana", Font.PLAIN, 11)); startupCheckbox.setHorizontalAlignment(SwingConstants.RIGHT); startupCheckbox.setHorizontalTextPosition(SwingConstants.LEFT); startupCheckbox.setSelected(true); startupFileTextfield.setFont(new java.awt.Font("Verdana", Font.PLAIN, 11)); startupFileTextfield.setBounds(new Rectangle(148, 232, 302, 20)); startupFileTextfield.addMouseListener(new MouseAdapter() { public void mouseClicked(MouseEvent e) { if (e.getClickCount() > 1) { startupFileTextfield_mouseClicked(); } } }); connectTab.setLayout(gridBagLayout3); serverLabel.setText("Address"); serverLabel.setHorizontalAlignment(SwingConstants.RIGHT); serverLabel.setFont(new java.awt.Font("Verdana", Font.PLAIN, 11)); proxyServerTB.setFont(new java.awt.Font("Verdana", Font.PLAIN, 11)); proxyPortTB.setFont(new java.awt.Font("Verdana", Font.PLAIN, 11)); portLabel.setFont(new java.awt.Font("Verdana", Font.PLAIN, 11)); portLabel.setHorizontalAlignment(SwingConstants.RIGHT); portLabel.setText("Port"); browserLabel.setFont(new java.awt.Font("SansSerif", 0, 11)); browserLabel.setHorizontalAlignment(SwingConstants.TRAILING); browserLabel.setText("Default Browser (Unix)"); defaultBrowser.setFont(new java.awt.Font("Verdana", Font.PLAIN, 11)); defaultBrowser.setText(""); newLink.setText("New"); newLink.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { newLink_actionPerformed(e); } }); editLink.setText("Edit"); editLink.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { editLink_actionPerformed(e); } }); deleteLink.setText("Delete"); deleteLink.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { deleteLink_actionPerformed(e); } }); linkURLList.addListSelectionListener(new ListSelectionListener() { public void valueChanged(ListSelectionEvent e) { int index = linkURLList.getSelectedIndex(); linkNameList.setSelectedIndex(index); } }); linkNameList.addListSelectionListener(new ListSelectionListener() { public void valueChanged(ListSelectionEvent e) { int index = linkNameList.getSelectedIndex(); linkURLList.setSelectedIndex(index); } }); linkScrollPane.setBorder(null); linkPanel.setBorder(new TitledBorder("URL link from Sequence ID")); linkPanel.setLayout(borderLayout2); editLinkButtons.setLayout(gridLayout1); gridLayout1.setRows(3); linkNameList.setFont(new java.awt.Font("Verdana", Font.ITALIC, 11)); linkNameList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); linkPanel2.setLayout(borderLayout3); linkURLList.setFont(new java.awt.Font("Verdana", Font.PLAIN, 11)); linkURLList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); defaultBrowser.addMouseListener(new MouseAdapter() { public void mouseClicked(MouseEvent e) { if (e.getClickCount() > 1) { defaultBrowser_mouseClicked(e); } } }); useProxy.setFont(new java.awt.Font("Verdana", Font.PLAIN, 11)); useProxy.setHorizontalAlignment(SwingConstants.RIGHT); useProxy.setHorizontalTextPosition(SwingConstants.LEADING); useProxy.setText("Use a proxy server"); useProxy.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { useProxy_actionPerformed(); } }); jPanel1.setBorder(titledBorder1); jPanel1.setLayout(gridBagLayout1); sortby.setFont(new java.awt.Font("Verdana", Font.PLAIN, 11)); sortby.setBounds(new Rectangle(148, 200, 302, 21)); sortLabel.setFont(new java.awt.Font("Verdana", Font.PLAIN, 11)); sortLabel.setHorizontalAlignment(SwingConstants.RIGHT); sortLabel.setText("Sort by "); jPanel2.setBounds(new Rectangle(7, 17, 138, 242)); jPanel2.setLayout(gridLayout2); gridLayout2.setRows(8); jPanel3.setBounds(new Rectangle(147, 46, 274, 26)); exportTab.setLayout(null); epsLabel.setFont(new java.awt.Font("Verdana", Font.PLAIN, 11)); epsLabel.setHorizontalAlignment(SwingConstants.RIGHT); epsLabel.setText("EPS Rendering Style"); epsLabel.setBounds(new Rectangle(3, 47, 134, 21)); epsRendering.setFont(new java.awt.Font("Verdana", Font.PLAIN, 11)); epsRendering.setBounds(new Rectangle(145, 47, 286, 21)); jPanel2.add(fullScreen); jPanel2.add(annotations); jPanel2.add(fullID); jPanel2.add(fontLabel); jPanel2.add(gapLabel); jPanel2.add(colourLabel); jPanel2.add(sortLabel); jPanel2.add(startupCheckbox); visualTab.add(jPanel3); jPanel3.add(conservation); jPanel3.add(quality); jPanel3.add(identity); visualTab.add(sortby); visualTab.add(colour); visualTab.add(startupFileTextfield); visualTab.add(fontNameCB); visualTab.add(fontSizeCB); visualTab.add(fontStyleCB); visualTab.add(gapSymbolCB); visualTab.add(jPanel2); 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)); exportTab.add(epsLabel); exportTab.add(epsRendering); 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, "Visual"); tabbedPane.add(connectTab, "Connections"); tabbedPane.add(exportTab, "Export"); } /** * DOCUMENT ME! * * @param e DOCUMENT ME! */ public void ok_actionPerformed(ActionEvent e) { } /** * DOCUMENT ME! * * @param e DOCUMENT ME! */ public void cancel_actionPerformed(ActionEvent e) { } /** * DOCUMENT ME! * * @param e DOCUMENT ME! */ public void annotations_actionPerformed(ActionEvent e) { } /** * DOCUMENT ME! */ public void startupFileTextfield_mouseClicked() { } public void newLink_actionPerformed(ActionEvent e) { } public void editLink_actionPerformed(ActionEvent e) { } public void deleteLink_actionPerformed(ActionEvent e) { } public void defaultBrowser_mouseClicked(MouseEvent e) { } public void linkURLList_keyTyped(KeyEvent e) { } public void useProxy_actionPerformed() { proxyServerTB.setEnabled(useProxy.isSelected()); proxyPortTB.setEnabled(useProxy.isSelected()); } }