X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fjalview%2Fjbgui%2FGSequenceLink.java;h=2689946e59952fce0141c9c809960e58040addbc;hb=cd8f0eb5083ecbb73bde4b87c45e0d4286998ab9;hp=40d00be9f32c7195cb19d9f9eac16a19106f55a2;hpb=988f114b8ade17976c45693a1da84eda2dbd6e3f;p=jalview.git diff --git a/src/jalview/jbgui/GSequenceLink.java b/src/jalview/jbgui/GSequenceLink.java index 40d00be..2689946 100755 --- a/src/jalview/jbgui/GSequenceLink.java +++ b/src/jalview/jbgui/GSequenceLink.java @@ -1,81 +1,109 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer - * Copyright (C) 2007 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 + * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$) + * Copyright (C) $$Year-Rel$$ The Jalview Authors + * + * This file is part of Jalview. + * + * Jalview is free software: you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation, either version 3 * of the License, or (at your option) any later version. - * - * 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 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 + * along with Jalview. If not, see . + * The Jalview Authors are detailed in the 'AUTHORS' file. */ package jalview.jbgui; +import jalview.gui.JvSwingUtils; +import jalview.util.MessageManager; import jalview.util.UrlLink; -import java.awt.*; -import java.awt.event.*; -import javax.swing.*; +import java.awt.Font; +import java.awt.GridBagConstraints; +import java.awt.GridBagLayout; +import java.awt.Insets; +import java.awt.Panel; +import java.awt.Rectangle; +import java.awt.event.KeyAdapter; +import java.awt.event.KeyEvent; -public class GSequenceLink - extends Panel +import javax.swing.BorderFactory; +import javax.swing.JLabel; +import javax.swing.JOptionPane; +import javax.swing.JPanel; +import javax.swing.JTextField; +import javax.swing.SwingConstants; + +public class GSequenceLink extends Panel { public GSequenceLink() { try { jbInit(); - } - catch (Exception ex) + } catch (Exception ex) { ex.printStackTrace(); } } - private void jbInit() - throws Exception + private void jbInit() throws Exception { this.setLayout(gridBagLayout1); - nameTB.setFont(new java.awt.Font("Verdana", Font.PLAIN, 11)); + nameTB.setFont(JvSwingUtils.getLabelFont()); nameTB.setBounds(new Rectangle(77, 10, 310, 23)); nameTB.addKeyListener(new KeyAdapter() { + @Override public void keyTyped(KeyEvent e) { nameTB_keyTyped(e); } }); - urlTB.setFont(new java.awt.Font("Verdana", Font.PLAIN, 11)); - urlTB.setText("http://www."); + urlTB.setFont(JvSwingUtils.getLabelFont()); + urlTB.setText("http://"); urlTB.setBounds(new Rectangle(78, 40, 309, 23)); urlTB.addKeyListener(new KeyAdapter() { + @Override public void keyTyped(KeyEvent e) { urlTB_keyTyped(e); } }); - jLabel1.setFont(new java.awt.Font("Verdana", Font.PLAIN, 11)); + jLabel1.setFont(JvSwingUtils.getLabelFont()); jLabel1.setHorizontalAlignment(SwingConstants.TRAILING); - jLabel1.setText("Link Name"); + jLabel1.setText(MessageManager.getString("label.link_name")); jLabel1.setBounds(new Rectangle(4, 10, 71, 24)); - jLabel2.setFont(new java.awt.Font("Verdana", Font.PLAIN, 11)); + jLabel2.setFont(JvSwingUtils.getLabelFont()); jLabel2.setHorizontalAlignment(SwingConstants.TRAILING); - jLabel2.setText("URL"); + jLabel2.setText(MessageManager.getString("label.url")); jLabel2.setBounds(new Rectangle(17, 37, 54, 27)); jLabel3.setFont(new java.awt.Font("Verdana", Font.ITALIC, 11)); - jLabel3.setText("Use $SEQUENCE_ID$ or $SEQUENCE_ID=//=$"); + jLabel3.setText(MessageManager.getString("label.use_sequence_id_1")); jLabel3.setBounds(new Rectangle(21, 72, 351, 15)); jLabel4.setFont(new java.awt.Font("Verdana", Font.ITALIC, 11)); - jLabel4.setText("\nto embed sequence id in URL"); - jLabel4.setBounds(new Rectangle(21, 93, 351, 15)); + jLabel4.setText(MessageManager.getString("label.use_sequence_id_2")); + jLabel4.setBounds(new Rectangle(21, 88, 351, 15)); + jLabel5.setFont(new java.awt.Font("Verdana", Font.ITALIC, 11)); + jLabel5.setText(MessageManager.getString("label.use_sequence_id_3")); + jLabel5.setBounds(new Rectangle(21, 106, 351, 15)); + + String lastLabel = MessageManager.getString("label.use_sequence_id_4"); + if (lastLabel.length() > 0) + { + // e.g. Spanish version has longer text + jLabel6.setFont(new java.awt.Font("Verdana", Font.ITALIC, 11)); + jLabel6.setText(lastLabel); + jLabel6.setBounds(new Rectangle(21, 122, 351, 15)); + } + jPanel1.setBorder(BorderFactory.createEtchedBorder()); jPanel1.setLayout(null); jPanel1.add(jLabel1); @@ -84,12 +112,21 @@ public class GSequenceLink jPanel1.add(jLabel2); jPanel1.add(jLabel3); jPanel1.add(jLabel4); - this.add(jPanel1, new GridBagConstraints(0, 0, 1, 1, 1.0, 1.0 - , GridBagConstraints.CENTER, - GridBagConstraints.BOTH, - new Insets(5, 4, 6, 5), 390, 130)); + jPanel1.add(jLabel5); + + int height = 130; + if (lastLabel.length() > 0) + { + jPanel1.add(jLabel6); + height = 146; + } + + this.add(jPanel1, new GridBagConstraints(0, 0, 1, 1, 1.0, 1.0, + GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets( + 5, 4, 6, 5), 390, height)); } + @Override public void setName(String name) { nameTB.setText(name); @@ -100,6 +137,7 @@ public class GSequenceLink urlTB.setText(url); } + @Override public String getName() { return nameTB.getText(); @@ -112,27 +150,39 @@ public class GSequenceLink public boolean checkValid() { - UrlLink ul = new UrlLink("foo|"+urlTB.getText().trim()); - if (ul.isValid()&&ul.isDynamic()) + UrlLink ul = new UrlLink("foo|" + urlTB.getText().trim()); + if (ul.isValid() && ul.isDynamic()) { return true; } - + JOptionPane.showInternalMessageDialog(jalview.gui.Desktop.desktop, - "Sequence URL must contain $SEQUENCE_ID$ or a regex $SEQUENCE_ID=//=$", - "URL not valid", + MessageManager.getString("warn.url_must_contain"), + MessageManager.getString("label.invalid_url"), JOptionPane.WARNING_MESSAGE); return false; } JTextField nameTB = new JTextField(); + JTextField urlTB = new JTextField(); + JLabel jLabel1 = new JLabel(); + JLabel jLabel2 = new JLabel(); + JLabel jLabel3 = new JLabel(); + JLabel jLabel4 = new JLabel(); + + JLabel jLabel5 = new JLabel(); + + JLabel jLabel6 = new JLabel(); + JPanel jPanel1 = new JPanel(); + GridBagLayout gridBagLayout1 = new GridBagLayout(); + public void nameTB_keyTyped(KeyEvent e) { if (e.getKeyChar() == '|') @@ -144,10 +194,10 @@ public class GSequenceLink public void urlTB_keyTyped(KeyEvent e) { // URLLink object validation takes care of incorrect regexes. - //if (e.getKeyChar() == '|' || e.getKeyChar() == ' ') - //{ - // e.consume(); - // } + // if (e.getKeyChar() == '|' || e.getKeyChar() == ' ') + // { + // e.consume(); + // } } }