Fix for feature name amended
authoramwaterhouse <Andrew Waterhouse>
Mon, 30 Oct 2006 16:59:52 +0000 (16:59 +0000)
committeramwaterhouse <Andrew Waterhouse>
Mon, 30 Oct 2006 16:59:52 +0000 (16:59 +0000)
src/jalview/gui/FeatureRenderer.java

index 14dd1a0..2ca3ca3 100755 (executable)
@@ -426,6 +426,7 @@ public class FeatureRenderer
       return amendFeatures(sequences, features, true);\r
     }\r
 \r
+    int featureIndex = 0;\r
     boolean amendFeatures(SequenceI[] sequences,\r
                            final SequenceFeature [] features,\r
                            boolean newFeatures)\r
@@ -526,6 +527,7 @@ public class FeatureRenderer
       }\r
       else if (!newFeatures)\r
       {\r
+        featureIndex = 0;\r
         for(int f=0; f<features.length; f++)\r
         {\r
           name.addItem(features[f].getType().toString());\r
@@ -542,12 +544,16 @@ public class FeatureRenderer
           public void itemStateChanged(ItemEvent e)\r
           {\r
             int index = name.getSelectedIndex();\r
-            description.setText(features[index].getDescription());\r
-            source.setSelectedItem(features[index].getFeatureGroup());\r
-            start.setText(features[index].getBegin() + "");\r
-            end.setText(features[index].getEnd() + "");\r
-            colour.setBackground(\r
-                getColour(name.getSelectedItem().toString()));\r
+            if(index!=-1)\r
+            {\r
+              featureIndex = index;\r
+              description.setText(features[index].getDescription());\r
+              source.setSelectedItem(features[index].getFeatureGroup());\r
+              start.setText(features[index].getBegin() + "");\r
+              end.setText(features[index].getEnd() + "");\r
+              colour.setBackground(\r
+                  getColour(name.getSelectedItem().toString()));\r
+            }\r
           }\r
         });\r
 \r
@@ -583,7 +589,8 @@ public class FeatureRenderer
 \r
       if(!newFeatures)\r
       {\r
-        SequenceFeature sf = features[name.getSelectedIndex()];\r
+        SequenceFeature sf = features[featureIndex];\r
+\r
         if(reply==JOptionPane.NO_OPTION)\r
           sequences[0].getDatasetSequence().deleteFeature(sf);\r
         else if(reply==JOptionPane.YES_OPTION)\r
@@ -638,6 +645,10 @@ public class FeatureRenderer
           return false;\r
       }\r
 \r
+      if(name.getSelectedIndex()==-1)\r
+        findAllFeatures();\r
+\r
+\r
       return true;\r
     }\r
 \r