JAL-4020 Added search for PyMOLWinWithConsole.bat (and PyMOLWin.exe) in likely places...
[jalview.git] / src / jalview / appletgui / FeatureRenderer.java
index 435e78d..5f5e8e0 100644 (file)
@@ -61,8 +61,8 @@ import java.util.List;
  * @author $author$
  * @version $Revision$
  */
-public class FeatureRenderer extends
-        jalview.renderer.seqfeatures.FeatureRenderer
+public class FeatureRenderer
+        extends jalview.renderer.seqfeatures.FeatureRenderer
 {
   /*
    * creating a new feature defaults to the type and group as
@@ -269,8 +269,8 @@ public class FeatureRenderer extends
           FeatureColourI col = getFeatureStyle(name.getText());
           if (col == null)
           {
-            Color generatedColour = ColorUtils.createColourFromName(name
-                    .getText());
+            Color generatedColour = ColorUtils
+                    .createColourFromName(name.getText());
             col = new FeatureColour(generatedColour);
           }
 
@@ -285,17 +285,20 @@ public class FeatureRenderer extends
 
     tmp = new Panel();
     panel.add(tmp);
-    tmp.add(new Label(MessageManager.getString("label.name:"), Label.RIGHT));
+    tmp.add(new Label(MessageManager.getString("label.name:"),
+            Label.RIGHT));
     tmp.add(name);
 
     tmp = new Panel();
     panel.add(tmp);
-    tmp.add(new Label(MessageManager.getString("label.group:"), Label.RIGHT));
+    tmp.add(new Label(MessageManager.getString("label.group:"),
+            Label.RIGHT));
     tmp.add(group);
 
     tmp = new Panel();
     panel.add(tmp);
-    tmp.add(new Label(MessageManager.getString("label.colour"), Label.RIGHT));
+    tmp.add(new Label(MessageManager.getString("label.colour"),
+            Label.RIGHT));
     tmp.add(colourPanel);
 
     bigPanel.add(panel, BorderLayout.NORTH);
@@ -330,15 +333,16 @@ public class FeatureRenderer extends
      */
     SequenceFeature firstFeature = features.get(0);
     boolean useLastDefaults = firstFeature.getType() == null;
-    String featureType = useLastDefaults ? lastFeatureAdded : firstFeature
-            .getType();
+    String featureType = useLastDefaults ? lastFeatureAdded
+            : firstFeature.getType();
     String featureGroup = useLastDefaults ? lastFeatureGroupAdded
             : firstFeature.getFeatureGroup();
 
-    String title = create ? MessageManager
-            .getString("label.create_new_sequence_features")
+    String title = create
+            ? MessageManager.getString("label.create_new_sequence_features")
             : MessageManager.formatMessage("label.amend_delete_features",
-                    new String[] { sequences.get(0).getName() });
+                    new String[]
+                    { sequences.get(0).getName() });
 
     final JVDialog dialog = new JVDialog(ap.alignFrame, title, true, 385,
             240);
@@ -413,7 +417,8 @@ public class FeatureRenderer extends
         if (!colourPanel.isGcol)
         {
           // update colour - otherwise its already done.
-          setColour(sf.type, new FeatureColour(colourPanel.getBackground()));
+          setColour(enteredType,
+                  new FeatureColour(colourPanel.getBackground()));
         }
         int newBegin = sf.begin;
         int newEnd = sf.end;
@@ -423,7 +428,7 @@ public class FeatureRenderer extends
           newEnd = Integer.parseInt(end.getText());
         } catch (NumberFormatException ex)
         {
-          // 
+          //
         }
 
         /*
@@ -431,14 +436,14 @@ public class FeatureRenderer extends
          * (to ensure integrity of SequenceFeatures data store)
          */
         sequences.get(0).deleteFeature(sf);
-        SequenceFeature newSf = new SequenceFeature(sf, newBegin, newEnd,
-                enteredGroup, sf.getScore());
+        SequenceFeature newSf = new SequenceFeature(sf, enteredType,
+                newBegin, newEnd, enteredGroup, sf.getScore());
         newSf.setDescription(enteredDesc);
         ffile.parseDescriptionHTML(newSf, false);
         // amend features dialog only updates one sequence at a time
         sequences.get(0).addSequenceFeature(newSf);
-        boolean typeOrGroupChanged = (!featureType.equals(sf.type) || !featureGroup
-                .equals(sf.featureGroup));
+        boolean typeOrGroupChanged = (!featureType.equals(newSf.getType())
+                || !featureGroup.equals(newSf.getFeatureGroup()));
 
         ffile.parseDescriptionHTML(sf, false);
         if (typeOrGroupChanged)
@@ -488,7 +493,7 @@ public class FeatureRenderer extends
     }
     // findAllFeatures();
 
-    ap.paintAlignment(true);
+    ap.paintAlignment(true, true);
 
     return true;
   }