public abstract class ComboMultiSelect extends KeyedItem
Modifier and Type | Class and Description |
---|---|
protected static class |
ComboMultiSelect.ConcatenatingJList
Class that allows list values to be assigned and retrieved as a comma-delimited
string (extracted from TaggingPreset)
|
static class |
ComboMultiSelect.PresetListEntry |
KeyedItem.MatchType, KeyedItem.Usage
Modifier and Type | Field and Description |
---|---|
protected javax.swing.JComponent |
component |
java.lang.String |
default_ |
java.lang.String |
delimiter |
java.lang.String |
display_values |
private boolean |
initialized |
protected java.util.Map<java.lang.String,ComboMultiSelect.PresetListEntry> |
lhm |
java.lang.String |
locale_display_values
The localized version of
display_values . |
java.lang.String |
locale_short_descriptions
The localized version of
short_descriptions . |
java.lang.String |
locale_text
The localized version of
KeyedItem.text . |
protected java.lang.Object |
originalValue |
private static javax.swing.ListCellRenderer<ComboMultiSelect.PresetListEntry> |
RENDERER |
java.lang.String |
short_descriptions |
protected KeyedItem.Usage |
usage |
java.lang.String |
use_last_as_default |
java.lang.String |
values |
java.lang.String |
values_context
The context used for translating
values |
java.lang.String |
values_from |
boolean |
values_no_i18n
Disabled internationalisation for value to avoid mistakes, see #11696
|
java.lang.String |
values_searchable
whether to use values for search via
TaggingPresetSelector |
boolean |
values_sort
Whether to sort the values, defaults to true.
|
DIFFERENT, key, LAST_VALUES, match, PROP_FILL_DEFAULT, text, text_context
Constructor and Description |
---|
ComboMultiSelect() |
Modifier and Type | Method and Description |
---|---|
void |
addCommands(java.util.List<Tag> changedTags)
Adds the new tags to apply to selected OSM primitives when the preset holding this item is applied.
|
void |
addListEntries(java.util.Collection<ComboMultiSelect.PresetListEntry> e) |
void |
addListEntry(ComboMultiSelect.PresetListEntry e) |
boolean |
addToPanel(javax.swing.JPanel p,
java.util.Collection<OsmPrimitive> sel,
boolean presetInitiallyMatches)
Called by
TaggingPreset.createPanel(java.util.Collection<org.openstreetmap.josm.data.osm.OsmPrimitive>) during tagging preset panel creation. |
protected abstract void |
addToPanelAnchor(javax.swing.JPanel p,
java.lang.String def,
boolean presetInitiallyMatches) |
KeyedItem.MatchType |
getDefaultMatch() |
protected char |
getDelChar() |
protected java.lang.String |
getDisplayIfNull() |
java.util.Collection<java.lang.String> |
getDisplayValues() |
protected javax.swing.ListCellRenderer<ComboMultiSelect.PresetListEntry> |
getListCellRenderer() |
protected abstract java.lang.Object |
getSelectedItem() |
java.util.Collection<java.lang.String> |
getValues() |
private void |
initListEntries() |
private void |
initListEntriesFromAttributes() |
static java.lang.String[] |
splitEscaped(char delimiter,
java.lang.String s)
allow escaped comma in comma separated list:
"A\, B\, C,one\, two" --> ["A, B, C", "one, two"]
|
determineBooleanUsage, determineTextUsage, matches, toString
fixPresetString, getLocaleText, getType, initAutoCompletionField, initAutoCompletionField, loadImageIcon, parseInteger
private static final javax.swing.ListCellRenderer<ComboMultiSelect.PresetListEntry> RENDERER
public java.lang.String locale_text
KeyedItem.text
.public java.lang.String values
public java.lang.String values_from
public java.lang.String values_context
values
public boolean values_no_i18n
public boolean values_sort
public java.lang.String display_values
public java.lang.String locale_display_values
display_values
.public java.lang.String short_descriptions
public java.lang.String locale_short_descriptions
short_descriptions
.public java.lang.String default_
public java.lang.String delimiter
public java.lang.String use_last_as_default
public java.lang.String values_searchable
TaggingPresetSelector
protected javax.swing.JComponent component
protected final java.util.Map<java.lang.String,ComboMultiSelect.PresetListEntry> lhm
private boolean initialized
protected KeyedItem.Usage usage
protected java.lang.Object originalValue
public ComboMultiSelect()
public static java.lang.String[] splitEscaped(char delimiter, java.lang.String s)
delimiter
- the delimiter, e.g. a comma. separates the entries and
must be escaped within one entrys
- the stringprotected abstract java.lang.Object getSelectedItem()
protected abstract void addToPanelAnchor(javax.swing.JPanel p, java.lang.String def, boolean presetInitiallyMatches)
protected char getDelChar()
public java.util.Collection<java.lang.String> getValues()
public java.util.Collection<java.lang.String> getDisplayValues()
public boolean addToPanel(javax.swing.JPanel p, java.util.Collection<OsmPrimitive> sel, boolean presetInitiallyMatches)
TaggingPresetItem
TaggingPreset.createPanel(java.util.Collection<org.openstreetmap.josm.data.osm.OsmPrimitive>)
during tagging preset panel creation.
All components defining this tagging preset item must be added to given panel.addToPanel
in class TaggingPresetItem
p
- The panel where components must be addedsel
- The related selected OSM primitivespresetInitiallyMatches
- Whether this TaggingPreset
already matched before applying,
i.e. whether the map feature already existed on the primitive.true
if this item adds semantic tagging elements, false
otherwise.private void initListEntries()
private void initListEntriesFromAttributes()
protected java.lang.String getDisplayIfNull()
public void addCommands(java.util.List<Tag> changedTags)
TaggingPresetItem
addCommands
in class TaggingPresetItem
changedTags
- The list of changed tags to modify if neededpublic void addListEntry(ComboMultiSelect.PresetListEntry e)
public void addListEntries(java.util.Collection<ComboMultiSelect.PresetListEntry> e)
protected javax.swing.ListCellRenderer<ComboMultiSelect.PresetListEntry> getListCellRenderer()
public KeyedItem.MatchType getDefaultMatch()
getDefaultMatch
in class KeyedItem