Don't do combobox filtering with HTML tags
This commit is contained in:
parent
a52f16bd7c
commit
7343807c58
@ -4,6 +4,7 @@ import info.openrocket.core.componentanalysis.CADataType;
|
|||||||
import info.openrocket.core.componentanalysis.CADataTypeGroup;
|
import info.openrocket.core.componentanalysis.CADataTypeGroup;
|
||||||
import info.openrocket.core.rocketcomponent.RocketComponent;
|
import info.openrocket.core.rocketcomponent.RocketComponent;
|
||||||
import info.openrocket.core.unit.Unit;
|
import info.openrocket.core.unit.Unit;
|
||||||
|
import info.openrocket.core.util.StringUtils;
|
||||||
import info.openrocket.swing.gui.plot.PlotTypeSelector;
|
import info.openrocket.swing.gui.plot.PlotTypeSelector;
|
||||||
|
|
||||||
import javax.swing.JComboBox;
|
import javax.swing.JComboBox;
|
||||||
@ -64,4 +65,9 @@ public class CAPlotTypeSelector extends PlotTypeSelector<CADataType, CADataTypeG
|
|||||||
public RocketComponent getSelectedComponent() {
|
public RocketComponent getSelectedComponent() {
|
||||||
return (RocketComponent) componentSelector.getSelectedItem();
|
return (RocketComponent) componentSelector.getSelectedItem();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected String getDisplayString(CADataType item) {
|
||||||
|
return StringUtils.removeHTMLTags(item.getName());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -12,6 +12,7 @@ import info.openrocket.swing.gui.util.Icons;
|
|||||||
|
|
||||||
import java.awt.event.ActionListener;
|
import java.awt.event.ActionListener;
|
||||||
import java.awt.event.ItemListener;
|
import java.awt.event.ItemListener;
|
||||||
|
import java.io.Serial;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import info.openrocket.swing.gui.widgets.GroupableAndSearchableComboBox;
|
import info.openrocket.swing.gui.widgets.GroupableAndSearchableComboBox;
|
||||||
@ -41,7 +42,15 @@ public class PlotTypeSelector<T extends Groupable<G> & UnitValue, G extends Grou
|
|||||||
|
|
||||||
this.index = plotIndex;
|
this.index = plotIndex;
|
||||||
|
|
||||||
typeSelector = new GroupableAndSearchableComboBox<>(availableTypes, trans.get("FlightDataComboBox.placeholder"));
|
typeSelector = new GroupableAndSearchableComboBox<>(availableTypes, trans.get("FlightDataComboBox.placeholder")) {
|
||||||
|
@Serial
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getDisplayString(T item) {
|
||||||
|
return PlotTypeSelector.this.getDisplayString(item);
|
||||||
|
}
|
||||||
|
};
|
||||||
typeSelector.setSelectedItem(type);
|
typeSelector.setSelectedItem(type);
|
||||||
this.add(typeSelector, "gapright para");
|
this.add(typeSelector, "gapright para");
|
||||||
|
|
||||||
@ -108,4 +117,8 @@ public class PlotTypeSelector<T extends Groupable<G> & UnitValue, G extends Grou
|
|||||||
public void setUnitGroup(UnitGroup unitGroup) {
|
public void setUnitGroup(UnitGroup unitGroup) {
|
||||||
unitSelector.setUnitGroup(unitGroup);
|
unitSelector.setUnitGroup(unitGroup);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected String getDisplayString(T item) {
|
||||||
|
return item.toString();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -48,6 +48,7 @@ import java.util.SortedSet;
|
|||||||
import java.util.TreeMap;
|
import java.util.TreeMap;
|
||||||
import java.util.TreeSet;
|
import java.util.TreeSet;
|
||||||
import java.util.Vector;
|
import java.util.Vector;
|
||||||
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A combo box that has a search box for searching the items in the combobox.
|
* A combo box that has a search box for searching the items in the combobox.
|
||||||
@ -606,7 +607,7 @@ public class GroupableAndSearchableComboBox<G extends Group, T extends Groupable
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (itemName.toLowerCase().contains(searchFieldSearch.getText().toLowerCase())) {
|
if (itemName.toLowerCase().contains(searchFieldSearch.getText().toLowerCase())) {
|
||||||
itemName = itemName.replaceAll("(?i)(" + searchFieldSearch.getText() + ")", "<u>$1</u>");
|
itemName = itemName.replaceAll("(?i)(" + Pattern.quote(searchFieldSearch.getText()) + ")", "<u>$1</u>");
|
||||||
label.setText("<html>" + itemName + "</html>");
|
label.setText("<html>" + itemName + "</html>");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user