X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fgui%2FFeatureRenderer.java;h=d580eaf53c925b937ec038e17e8a213512e54c43;hb=29ac9aa26871544cbbd43f4ea313144a6bd8ae39;hp=ac56590446bbb586fd553c8bc3a512c32cffe75d;hpb=b9d3d1f71c6a8aee09cd23e1303b062cbe43a239;p=jalview.git diff --git a/src/jalview/gui/FeatureRenderer.java b/src/jalview/gui/FeatureRenderer.java index ac56590..d580eaf 100644 --- a/src/jalview/gui/FeatureRenderer.java +++ b/src/jalview/gui/FeatureRenderer.java @@ -41,6 +41,7 @@ import java.awt.event.ItemEvent; import java.awt.event.ItemListener; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; +import java.util.ArrayList; import java.util.Arrays; import java.util.Comparator; import java.util.List; @@ -234,8 +235,9 @@ public class FeatureRenderer extends if (!create && features.size() > 1) { /* - * more than one feature at selected position - add a drop-down - * to choose the feature to amend + * more than one feature at selected position - + * add a drop-down to choose the feature to amend + * space pad text if necessary to make entries distinct */ gridPanel = new JPanel(new GridLayout(4, 1)); JPanel choosePanel = new JPanel(); @@ -243,11 +245,17 @@ public class FeatureRenderer extends .getString("label.select_feature") + ":")); final JComboBox overlaps = new JComboBox(); + List added = new ArrayList<>(); for (SequenceFeature sf : features) { - String text = sf.getType() + "/" + sf.getBegin() + "-" - + sf.getEnd() + " (" + sf.getFeatureGroup() + ")"; + String text = String.format("%s/%d-%d (%s)", sf.getType(), + sf.getBegin(), sf.getEnd(), sf.getFeatureGroup()); + while (added.contains(text)) + { + text += " "; + } overlaps.addItem(text); + added.add(text); } choosePanel.add(overlaps); @@ -271,7 +279,8 @@ public class FeatureRenderer extends highlight.addResult(sequences.get(0), sf.getBegin(), sf.getEnd()); - alignPanel.getSeqPanel().seqCanvas.highlightSearchResults(highlight); + alignPanel.getSeqPanel().seqCanvas.highlightSearchResults( + highlight, false); } FeatureColourI col = getFeatureStyle(name.getText()); @@ -448,9 +457,9 @@ 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()); - sf.setDescription(enteredDescription); + SequenceFeature newSf = new SequenceFeature(sf, enteredType, + newBegin, newEnd, enteredGroup, sf.getScore()); + newSf.setDescription(enteredDescription); ffile.parseDescriptionHTML(newSf, false); // amend features dialog only updates one sequence at a time sequences.get(0).addSequenceFeature(newSf);