X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fappletgui%2FFeatureRenderer.java;h=be027ec1131f25f2a3d532f06683f773e7ee3e3d;hb=b07f18d4d94d3ba2c1f4e756a059d7a463eef8cd;hp=82736d71f04bb9f5b767b816a8e9ac0beb495adf;hpb=303efec33360f77648cc2c7583934cdfd1ae76ae;p=jalview.git diff --git a/src/jalview/appletgui/FeatureRenderer.java b/src/jalview/appletgui/FeatureRenderer.java index 82736d7..be027ec 100644 --- a/src/jalview/appletgui/FeatureRenderer.java +++ b/src/jalview/appletgui/FeatureRenderer.java @@ -22,11 +22,12 @@ package jalview.appletgui; import jalview.api.FeatureColourI; import jalview.datamodel.SearchResults; +import jalview.datamodel.SearchResultsI; import jalview.datamodel.SequenceFeature; import jalview.datamodel.SequenceI; import jalview.io.FeaturesFile; import jalview.schemes.FeatureColour; -import jalview.schemes.UserColourScheme; +import jalview.util.ColorUtils; import jalview.util.MessageManager; import jalview.viewmodel.AlignmentViewport; @@ -164,9 +165,20 @@ public class FeatureRenderer extends } + /** + * Shows a dialog allowing the user to create, or amend or delete, sequence + * features. + * + * @param sequences + * @param features + * @param create + * @param ap + * @param featureType + * @return + */ boolean amendFeatures(final SequenceI[] sequences, - final SequenceFeature[] features, boolean newFeatures, - final AlignmentPanel ap) + final SequenceFeature[] features, boolean create, + final AlignmentPanel ap, String featureType) { Panel bigPanel = new Panel(new BorderLayout()); final TextField name = new TextField(16); @@ -189,7 +201,7 @@ public class FeatureRenderer extends // ///////////////////////////////////// // /MULTIPLE FEATURES AT SELECTED RESIDUE - if (!newFeatures && features.length > 1) + if (!create && features.length > 1) { panel = new Panel(new GridLayout(4, 1)); tmp = new Panel(); @@ -225,7 +237,7 @@ public class FeatureRenderer extends start.setText(features[index].getBegin() + ""); end.setText(features[index].getEnd() + ""); - SearchResults highlight = new SearchResults(); + SearchResultsI highlight = new SearchResults(); highlight.addResult(sequences[0], features[index].getBegin(), features[index].getEnd()); @@ -235,7 +247,7 @@ public class FeatureRenderer extends FeatureColourI col = getFeatureStyle(name.getText()); if (col == null) { - Color generatedColour = UserColourScheme + Color generatedColour = ColorUtils .createColourFromName(name.getText()); col = new FeatureColour(generatedColour); } @@ -271,7 +283,7 @@ public class FeatureRenderer extends Label.RIGHT)); panel.add(new ScrollPane().add(description)); - if (!newFeatures) + if (!create) { bigPanel.add(panel, BorderLayout.SOUTH); @@ -289,15 +301,22 @@ public class FeatureRenderer extends bigPanel.add(panel, BorderLayout.CENTER); } - if (lastFeatureAdded == null) + if (featureType != null) { - if (features[0].type != null) - { - lastFeatureAdded = features[0].type; - } - else + lastFeatureAdded = featureType; + } + else + { + if (lastFeatureAdded == null) { - lastFeatureAdded = "feature_1"; + if (features[0].type != null) + { + lastFeatureAdded = features[0].type; + } + else + { + lastFeatureAdded = "feature_1"; + } } } @@ -313,7 +332,7 @@ public class FeatureRenderer extends } } - String title = newFeatures ? MessageManager + String title = create ? MessageManager .getString("label.create_new_sequence_features") : MessageManager.formatMessage("label.amend_delete_features", new String[] { sequences[0].getName() }); @@ -323,7 +342,7 @@ public class FeatureRenderer extends dialog.setMainPanel(bigPanel); - if (newFeatures) + if (create) { name.setText(lastFeatureAdded); source.setText(lastFeatureGroupAdded); @@ -376,9 +395,6 @@ public class FeatureRenderer extends if (dialog.accept) { - // This ensures that the last sequence - // is refreshed and new features are rendered - lastSeq = null; lastFeatureAdded = name.getText().trim(); lastFeatureGroupAdded = source.getText().trim(); lastDescriptionAdded = description.getText().replace('\n', ' '); @@ -389,7 +405,7 @@ public class FeatureRenderer extends lastFeatureGroupAdded = null; } - if (!newFeatures) + if (!create) { SequenceFeature sf = features[featureIndex];