From 95032c2e3e635e40bd92f3c6e218dde19a7db068 Mon Sep 17 00:00:00 2001 From: amwaterhouse Date: Wed, 18 Oct 2006 13:03:22 +0000 Subject: [PATCH] Can set description for new features --- src/jalview/gui/FeatureRenderer.java | 61 ++++++++++++++++++++++++++-------- 1 file changed, 47 insertions(+), 14 deletions(-) diff --git a/src/jalview/gui/FeatureRenderer.java b/src/jalview/gui/FeatureRenderer.java index d20fa63..ec03b85 100755 --- a/src/jalview/gui/FeatureRenderer.java +++ b/src/jalview/gui/FeatureRenderer.java @@ -25,9 +25,7 @@ import java.awt.*; import java.util.*; import java.awt.image.*; -import javax.swing.JComboBox; -import javax.swing.JPanel; -import javax.swing.JLabel; +import javax.swing.*; import javax.swing.JOptionPane; @@ -417,25 +415,36 @@ public class FeatureRenderer } - static String lastFeatureAdded = "feature_1"; - static String lastSourceAdded = "Jalview"; + static String lastFeatureAdded; + static String lastFeatureGroupAdded; + static String lastDescriptionAdded; public boolean createNewFeatures(SequenceI[] sequences, SequenceFeature [] features) { + JPanel bigPanel = new JPanel(new BorderLayout()); JComboBox name = new JComboBox(); JComboBox source = new JComboBox(); + JTextArea description = new JTextArea(3,25); JPanel panel = new JPanel(new GridLayout(2, 2)); - panel.add(new JLabel("New Sequence Feature Name")); + panel.add(new JLabel("New Sequence Feature Name: ",JLabel.RIGHT)); panel.add(name); - panel.add(new JLabel("Source:")); + panel.add(new JLabel("Feature Group: ", JLabel.RIGHT)); panel.add(source); - // name.setPreferredSize(new Dimension(300, 20)); name.setEditable(true); source.setEditable(true); + bigPanel.add(panel, BorderLayout.NORTH); + panel = new JPanel(); + panel.add(new JLabel("Description: ", JLabel.RIGHT)); + description.setFont(new java.awt.Font("Verdana", Font.PLAIN, 11)); + description.setLineWrap(true); + panel.add(new JScrollPane(description)); + bigPanel.add(panel, BorderLayout.CENTER); + + Enumeration en; if (av.featuresDisplayed != null) { @@ -455,11 +464,28 @@ public class FeatureRenderer } } + if (lastFeatureAdded == null) + if (features[0].type != null) + lastFeatureAdded = features[0].type; + else + lastFeatureAdded = "feature_1"; + + if (lastFeatureGroupAdded == null) + if (features[0].featureGroup != null) + lastFeatureGroupAdded = features[0].featureGroup; + else + lastFeatureAdded = "Jalview"; + + name.setSelectedItem(lastFeatureAdded); - source.setSelectedItem(lastSourceAdded); + source.setSelectedItem(lastFeatureGroupAdded); + description.setText( + lastDescriptionAdded == null ? + features[0].description : lastDescriptionAdded); + int reply = JOptionPane.showInternalConfirmDialog(Desktop.desktop, - panel, "Create New Sequence Feature(s)", + bigPanel, "Create New Sequence Feature(s)", JOptionPane.OK_CANCEL_OPTION); @@ -468,12 +494,19 @@ public class FeatureRenderer && source.getSelectedItem()!=null) { lastFeatureAdded = name.getSelectedItem().toString(); - lastSourceAdded = source.getSelectedItem().toString(); + lastFeatureGroupAdded = source.getSelectedItem().toString(); + lastDescriptionAdded = description.getText().replaceAll("\n"," "); + + jalview.io.FeaturesFile ffile = new jalview.io.FeaturesFile(); + + for(int i=0; i