diff --git a/uk/ac/sanger/artemis/components/genebuilder/gff/AddButton.java b/uk/ac/sanger/artemis/components/genebuilder/gff/AddButton.java new file mode 100644 index 0000000000000000000000000000000000000000..9b6d8bad42050888dcbb7361fdea20be88f67d64 --- /dev/null +++ b/uk/ac/sanger/artemis/components/genebuilder/gff/AddButton.java @@ -0,0 +1,57 @@ +/* AddButton + * This file is part of Artemis + * + * Copyright (C) 2009 Genome Research Limited + * + * 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * + */ +package uk.ac.sanger.artemis.components.genebuilder.gff; + +import java.awt.Color; +import java.awt.Dimension; +import java.awt.Font; +import java.awt.event.ActionListener; + +import javax.swing.JButton; +import javax.swing.SwingConstants; +import javax.swing.border.BevelBorder; +import javax.swing.border.SoftBevelBorder; + +class AddButton extends JButton +{ + private static final long serialVersionUID = 1L; + + public AddButton(ActionListener addAction, String tt) + { + super("+"); + + setToolTipText(tt); + setVerticalTextPosition(SwingConstants.TOP); + setHorizontalTextPosition(SwingConstants.LEFT); + + setForeground(new Color(0, 100, 0)); + setFont(getFont().deriveFont(Font.BOLD, 16.f)); + + setBorder(new SoftBevelBorder(BevelBorder.RAISED)); + setOpaque(false); + + Dimension size = new Dimension(16, 20); + setPreferredSize(size); + setMaximumSize(size); + + addActionListener(addAction); + } +} diff --git a/uk/ac/sanger/artemis/components/genebuilder/gff/PropertiesPanel.java b/uk/ac/sanger/artemis/components/genebuilder/gff/PropertiesPanel.java index 0efaafecbed5f27aed18e1f2bfd37eac09d60140..da00b61a398184ae940f3e24df7c81ed4faf61e9 100644 --- a/uk/ac/sanger/artemis/components/genebuilder/gff/PropertiesPanel.java +++ b/uk/ac/sanger/artemis/components/genebuilder/gff/PropertiesPanel.java @@ -235,7 +235,15 @@ public class PropertiesPanel extends JPanel gridPanel.add(primaryNameTextField, c); } - AddSynonymButton addSynonymButton = new AddSynonymButton("Add Synonym"); + ActionListener addAction = new ActionListener() + { + public void actionPerformed(ActionEvent e) + { + addSynonym(); + } + }; + + AddButton addSynonymButton = new AddButton(addAction, "Add Synonym"); c.gridx = 4; gridPanel.add(addSynonymButton, c); } @@ -885,7 +893,14 @@ public class PropertiesPanel extends JPanel syn.setEnabled(false); synBox.add(syn); - RemoveSynonymButton remove = new RemoveSynonymButton(qualifier.getName(), val); + ActionListener removeAction = new ActionListener() + { + public void actionPerformed(ActionEvent e) + { + removeSynonym(qualifier.getName(), val); + } + }; + RemoveButton remove = new RemoveButton(removeAction); synBox.add(remove); } c.gridwidth = GridBagConstraints.REMAINDER; @@ -943,66 +958,4 @@ public class PropertiesPanel extends JPanel feature.getKey().getKeyString())); } - protected class RemoveSynonymButton extends JButton - { - private static final long serialVersionUID = 1L; - - public RemoveSynonymButton(final String name, final String val) - { - super("X"); - - setVerticalTextPosition(SwingConstants.TOP); - setHorizontalTextPosition(SwingConstants.LEFT); - - setForeground(Color.red); - setFont(getFont().deriveFont(Font.BOLD, 9.f)); - setBorder(BorderFactory.createEmptyBorder()); - setOpaque(false); - - Dimension size = new Dimension(9,20); - setPreferredSize(size); - setMaximumSize(size); - - addActionListener(new ActionListener() - { - public void actionPerformed(ActionEvent e) - { - removeSynonym(name, val); - } - }); - } - } - - protected class AddSynonymButton extends JButton - { - private static final long serialVersionUID = 1L; - - public AddSynonymButton(String tt) - { - super("+"); - - setToolTipText(tt); - setVerticalTextPosition(SwingConstants.TOP); - setHorizontalTextPosition(SwingConstants.LEFT); - - setForeground(new Color(0,100,0)); - setFont(getFont().deriveFont(Font.BOLD, 16.f)); - - setBorder(new SoftBevelBorder ( BevelBorder.RAISED )); - setOpaque(false); - - Dimension size = new Dimension(16,20); - setPreferredSize(size); - setMaximumSize(size); - - addActionListener(new ActionListener() - { - public void actionPerformed(ActionEvent e) - { - addSynonym(); - } - }); - } - } - } \ No newline at end of file diff --git a/uk/ac/sanger/artemis/components/genebuilder/gff/RemoveButton.java b/uk/ac/sanger/artemis/components/genebuilder/gff/RemoveButton.java new file mode 100644 index 0000000000000000000000000000000000000000..180adab01425d4f2869577422bdc910da249530b --- /dev/null +++ b/uk/ac/sanger/artemis/components/genebuilder/gff/RemoveButton.java @@ -0,0 +1,55 @@ +/* RemoveButton + * This file is part of Artemis + * + * Copyright (C) 2009 Genome Research Limited + * + * 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * + */ + +package uk.ac.sanger.artemis.components.genebuilder.gff; + +import java.awt.Color; +import java.awt.Dimension; +import java.awt.Font; +import java.awt.event.ActionListener; + +import javax.swing.BorderFactory; +import javax.swing.JButton; +import javax.swing.SwingConstants; + +class RemoveButton extends JButton +{ + private static final long serialVersionUID = 1L; + + public RemoveButton(ActionListener removeAction) + { + super("X"); + + setVerticalTextPosition(SwingConstants.TOP); + setHorizontalTextPosition(SwingConstants.LEFT); + + setForeground(Color.red); + setFont(getFont().deriveFont(Font.BOLD, 9.f)); + setBorder(BorderFactory.createEmptyBorder()); + setOpaque(false); + + Dimension size = new Dimension(9, 20); + setPreferredSize(size); + setMaximumSize(size); + + addActionListener(removeAction); + } +} \ No newline at end of file