X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FFeatureRenderer.java;h=beef70c25c67a68e50f9df5b5a550ea84b355f4e;hb=bc77e2f0f477053147a4e56b681131c710eb3ec8;hp=14dd1a05f6f29363e10f21fe6f78d8d1d5076036;hpb=ecb5ab32cb7599f6665117ad4e25c61f0a650720;p=jalview.git diff --git a/src/jalview/gui/FeatureRenderer.java b/src/jalview/gui/FeatureRenderer.java index 14dd1a0..beef70c 100755 --- a/src/jalview/gui/FeatureRenderer.java +++ b/src/jalview/gui/FeatureRenderer.java @@ -212,7 +212,7 @@ public class FeatureRenderer { type = renderOrder[renderIndex]; - if(!av.featuresDisplayed.containsKey(type)) + if(type==null || !av.featuresDisplayed.containsKey(type)) continue; // loop through all features in sequence to find @@ -423,25 +423,29 @@ public class FeatureRenderer public boolean createNewFeatures(SequenceI[] sequences, SequenceFeature [] features) { - return amendFeatures(sequences, features, true); + return amendFeatures(sequences, features, true, null); } - boolean amendFeatures(SequenceI[] sequences, - final SequenceFeature [] features, - boolean newFeatures) + int featureIndex = 0; + boolean amendFeatures(final SequenceI[] sequences, + final SequenceFeature[] features, + boolean newFeatures, + final AlignmentPanel ap) { JPanel bigPanel = new JPanel(new BorderLayout()); final JComboBox name = new JComboBox(); final JComboBox source = new JComboBox(); final JTextArea description = new JTextArea(3,25); - final JTextField start = new JTextField(6); - final JTextField end = new JTextField(6); - final JButton colour = new JButton(" "); + final JSpinner start = new JSpinner(); + final JSpinner end = new JSpinner(); + start.setPreferredSize(new Dimension(80,20)); + end.setPreferredSize(new Dimension(80,20)); + final JPanel colour = new JPanel(); + colour.setBorder(BorderFactory.createEtchedBorder()); colour.setMaximumSize(new Dimension(40,10)); - colour.setBackground(new Color(60, 160, 115)); - colour.addActionListener(new ActionListener() + colour.addMouseListener(new MouseAdapter() { - public void actionPerformed(ActionEvent evt) + public void mousePressed(MouseEvent evt) { colour.setBackground( JColorChooser.showDialog(Desktop.desktop, @@ -475,9 +479,9 @@ public class FeatureRenderer bigPanel.add(panel, BorderLayout.SOUTH); panel = new JPanel(); - panel.add(new JLabel("Start: ", JLabel.RIGHT)); + panel.add(new JLabel(" Start:", JLabel.RIGHT)); panel.add(start); - panel.add(new JLabel("End: ", JLabel.RIGHT)); + panel.add(new JLabel(" End:", JLabel.RIGHT)); panel.add(end); bigPanel.add(panel, BorderLayout.CENTER); } @@ -523,9 +527,20 @@ public class FeatureRenderer description.setText( lastDescriptionAdded == null ? features[0].description : lastDescriptionAdded); + + if (getColour(lastFeatureAdded) != null) + { + colour.setBackground(getColour(lastFeatureAdded)); + } + else + { + colour.setBackground(new Color(60, 160, 115)); + } + } else if (!newFeatures) { + featureIndex = 0; for(int f=0; f