--- /dev/null
+package jalview.jbgui;\r
+\r
+import java.awt.*;\r
+import javax.swing.JTextField;\r
+import javax.swing.JLabel;\r
+import javax.swing.*;\r
+import java.awt.event.ActionListener;\r
+import java.awt.event.ActionEvent;\r
+import java.awt.event.KeyAdapter;\r
+import java.awt.event.KeyEvent;\r
+\r
+public class GSequenceLink\r
+ extends Panel\r
+{\r
+ public GSequenceLink()\r
+ {\r
+ try\r
+ {\r
+ jbInit();\r
+ }\r
+ catch (Exception ex)\r
+ {\r
+ ex.printStackTrace();\r
+ }\r
+ }\r
+\r
+ private void jbInit()\r
+ throws Exception\r
+ {\r
+ this.setLayout(gridBagLayout1);\r
+ nameTB.setFont(new java.awt.Font("Verdana", Font.PLAIN, 11));\r
+ nameTB.setBounds(new Rectangle(77, 10, 310, 23));\r
+ nameTB.addKeyListener(new KeyAdapter()\r
+ {\r
+ public void keyTyped(KeyEvent e)\r
+ {\r
+ nameTB_keyTyped(e);\r
+ }\r
+ });\r
+ urlTB.setFont(new java.awt.Font("Verdana", Font.PLAIN, 11));\r
+ urlTB.setText("http://www.");\r
+ urlTB.setBounds(new Rectangle(78, 40, 309, 23));\r
+ urlTB.addKeyListener(new KeyAdapter()\r
+ {\r
+ public void keyTyped(KeyEvent e)\r
+ {\r
+ urlTB_keyTyped(e);\r
+ }\r
+ });\r
+ jLabel1.setFont(new java.awt.Font("Verdana", Font.PLAIN, 11));\r
+ jLabel1.setHorizontalAlignment(SwingConstants.TRAILING);\r
+ jLabel1.setText("Link Name");\r
+ jLabel1.setBounds(new Rectangle(4, 10, 71, 24));\r
+ jLabel2.setFont(new java.awt.Font("Verdana", Font.PLAIN, 11));\r
+ jLabel2.setHorizontalAlignment(SwingConstants.TRAILING);\r
+ jLabel2.setText("URL");\r
+ jLabel2.setBounds(new Rectangle(17, 37, 54, 27));\r
+ jLabel3.setFont(new java.awt.Font("Verdana", Font.ITALIC, 11));\r
+ jLabel3.setText("Use $SEQUENCE_ID$ to specify where sequence id is in URL");\r
+ jLabel3.setBounds(new Rectangle(21, 72, 351, 15));\r
+ jPanel1.setBorder(BorderFactory.createEtchedBorder());\r
+ jPanel1.setLayout(null);\r
+ jPanel1.add(jLabel1);\r
+ jPanel1.add(nameTB);\r
+ jPanel1.add(urlTB);\r
+ jPanel1.add(jLabel2);\r
+ jPanel1.add(jLabel3);\r
+ this.add(jPanel1, new GridBagConstraints(0, 0, 1, 1, 1.0, 1.0\r
+ , GridBagConstraints.CENTER,\r
+ GridBagConstraints.BOTH,\r
+ new Insets(5, 4, 6, 5), 390, 100));\r
+ }\r
+\r
+ public void setName(String name)\r
+ {\r
+ nameTB.setText(name);\r
+ }\r
+\r
+ public void setURL(String url)\r
+ {\r
+ urlTB.setText(url);\r
+ }\r
+\r
+ public String getName()\r
+ {\r
+ return nameTB.getText();\r
+ }\r
+\r
+ public String getURL()\r
+ {\r
+ return urlTB.getText();\r
+ }\r
+\r
+ public boolean checkValid()\r
+ {\r
+ if(urlTB.getText().indexOf("$SEQUENCE_ID$")==-1)\r
+ {\r
+ JOptionPane.showInternalMessageDialog(jalview.gui.Desktop.desktop,\r
+ "Sequence URL must contain $SEQUENCE_ID$",\r
+ "URL not valid", JOptionPane.WARNING_MESSAGE);\r
+ return false;\r
+ }\r
+ return true;\r
+ }\r
+\r
+\r
+\r
+ JTextField nameTB = new JTextField();\r
+ JTextField urlTB = new JTextField();\r
+ JLabel jLabel1 = new JLabel();\r
+ JLabel jLabel2 = new JLabel();\r
+ JLabel jLabel3 = new JLabel();\r
+ JPanel jPanel1 = new JPanel();\r
+ GridBagLayout gridBagLayout1 = new GridBagLayout();\r
+ public void nameTB_keyTyped(KeyEvent e)\r
+ {\r
+ if(e.getKeyChar()=='|')\r
+ {\r
+ e.consume();\r
+ }\r
+ }\r
+\r
+ public void urlTB_keyTyped(KeyEvent e)\r
+ {\r
+ if (e.getKeyChar() == '|' || e.getKeyChar()==' ')\r
+ {\r
+ e.consume();\r
+ }\r
+\r
+ }\r
+}\r
+\r