diff --git a/src/org/openstreetmap/josm/gui/dialogs/changeset/ChangesetTagsPanel.java b/src/org/openstreetmap/josm/gui/dialogs/changeset/ChangesetTagsPanel.java
index 69e6860..4f540ec 100644
|
a
|
b
|
protected void build() {
|
| 25 | 25 | setLayout(new BorderLayout()); |
| 26 | 26 | setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5)); |
| 27 | 27 | model = new TagEditorModel(); |
| 28 | | TagTable tblTags = new TagTable(model); |
| | 28 | TagTable tblTags = new TagTable(model, 0); |
| 29 | 29 | tblTags.setEnabled(false); |
| 30 | 30 | add(new JScrollPane(tblTags), BorderLayout.CENTER); |
| 31 | 31 | } |
diff --git a/src/org/openstreetmap/josm/gui/io/TagSettingsPanel.java b/src/org/openstreetmap/josm/gui/io/TagSettingsPanel.java
index 3eee75d..4537314 100644
|
a
|
b
|
|
| 21 | 21 | public class TagSettingsPanel extends JPanel implements TableModelListener { |
| 22 | 22 | |
| 23 | 23 | /** checkbox for selecting whether an atomic upload is to be used */ |
| 24 | | private final TagEditorPanel pnlTagEditor = new TagEditorPanel(null); |
| | 24 | private final TagEditorPanel pnlTagEditor = new TagEditorPanel(null, null, Changeset.MAX_CHANGESET_TAG_LENGTH); |
| 25 | 25 | /** the model for the changeset comment */ |
| 26 | 26 | private final transient ChangesetCommentModel changesetCommentModel; |
| 27 | 27 | private final transient ChangesetCommentModel changesetSourceModel; |
diff --git a/src/org/openstreetmap/josm/gui/tagging/TagCellEditor.java b/src/org/openstreetmap/josm/gui/tagging/TagCellEditor.java
index caf2312..9d22738 100644
|
a
|
b
|
|
| 29 | 29 | |
| 30 | 30 | /** |
| 31 | 31 | * constructor |
| | 32 | * @param maxCharacters maximum number of characters allowed, 0 for unlimited |
| 32 | 33 | */ |
| 33 | | public TagCellEditor() { |
| | 34 | public TagCellEditor(int maxCharacters) { |
| 34 | 35 | editor = new AutoCompletingTextField(0, false); |
| | 36 | if (maxCharacters > 0) { |
| | 37 | editor.setMaxChars(maxCharacters); |
| | 38 | } |
| 35 | 39 | editor.setBorder(BorderFactory.createEmptyBorder(1, 1, 1, 1)); |
| 36 | 40 | } |
| 37 | 41 | |
diff --git a/src/org/openstreetmap/josm/gui/tagging/TagEditorPanel.java b/src/org/openstreetmap/josm/gui/tagging/TagEditorPanel.java
index fe4eaf1..88b4742 100644
|
a
|
b
|
|
| 35 | 35 | /** the tag editor model */ |
| 36 | 36 | private TagEditorModel model; |
| 37 | 37 | /** the tag table */ |
| 38 | | private TagTable tagTable; |
| | 38 | private final TagTable tagTable; |
| 39 | 39 | |
| 40 | 40 | private PresetListPanel presetListPanel; |
| 41 | 41 | private final transient PresetHandler presetHandler; |
| … |
… |
|
| 47 | 47 | */ |
| 48 | 48 | protected JPanel buildTagTableEditorPanel() { |
| 49 | 49 | JPanel pnl = new JPanel(); |
| 50 | | tagTable = new TagTable(model); |
| 51 | 50 | pnl.setLayout(new BorderLayout()); |
| 52 | 51 | pnl.add(new JScrollPane(tagTable), BorderLayout.CENTER); |
| 53 | 52 | if (presetHandler != null) { |
| … |
… |
public void tableChanged(TableModelEvent e) {
|
| 141 | 140 | * internally and can be retrieved with {@link #getModel()}. |
| 142 | 141 | */ |
| 143 | 142 | public TagEditorPanel(PresetHandler presetHandler) { |
| 144 | | this(null, presetHandler); |
| | 143 | this(null, presetHandler, 0); |
| 145 | 144 | } |
| 146 | 145 | |
| 147 | 146 | /** |
| … |
… |
public TagEditorPanel(PresetHandler presetHandler) {
|
| 149 | 148 | * {@code model} is null, a new model is created. |
| 150 | 149 | * |
| 151 | 150 | * @param model the tag editor model |
| | 151 | * @param maxCharacters maximum number of characters allowed, 0 for unlimited |
| 152 | 152 | */ |
| 153 | | public TagEditorPanel(TagEditorModel model, PresetHandler presetHandler) { |
| | 153 | public TagEditorPanel(TagEditorModel model, PresetHandler presetHandler, int maxCharacters) { |
| 154 | 154 | this.model = model; |
| 155 | 155 | this.presetHandler = presetHandler; |
| 156 | 156 | if (this.model == null) { |
| 157 | 157 | this.model = new TagEditorModel(); |
| 158 | 158 | } |
| | 159 | this.tagTable = new TagTable(this.model, maxCharacters); |
| 159 | 160 | build(); |
| 160 | 161 | } |
| 161 | 162 | |
diff --git a/src/org/openstreetmap/josm/gui/tagging/TagTable.java b/src/org/openstreetmap/josm/gui/tagging/TagTable.java
index 98c91bb..0193f21 100644
|
a
|
b
|
public RunnableAction getPasteAction() {
|
| 392 | 392 | |
| 393 | 393 | /** |
| 394 | 394 | * initialize the table |
| | 395 | * @param maxCharacters maximum number of characters allowed for keys and values, 0 for unlimited |
| 395 | 396 | */ |
| 396 | | protected final void init() { |
| | 397 | protected final void init(int maxCharacters) { |
| 397 | 398 | setAutoResizeMode(JTable.AUTO_RESIZE_OFF); |
| 398 | 399 | setRowSelectionAllowed(true); |
| 399 | 400 | setColumnSelectionAllowed(true); |
| … |
… |
protected final void init() {
|
| 425 | 426 | |
| 426 | 427 | // create the table cell editor and set it to key and value columns |
| 427 | 428 | // |
| 428 | | TagCellEditor tmpEditor = new TagCellEditor(); |
| | 429 | TagCellEditor tmpEditor = new TagCellEditor(maxCharacters); |
| 429 | 430 | setRowHeight(tmpEditor.getEditor().getPreferredSize().height); |
| 430 | 431 | setTagCellEditor(tmpEditor); |
| 431 | 432 | } |
| … |
… |
protected final void init() {
|
| 434 | 435 | * Creates a new tag table |
| 435 | 436 | * |
| 436 | 437 | * @param model the tag editor model |
| | 438 | * @param maxCharacters maximum number of characters allowed for keys and values, 0 for unlimited |
| 437 | 439 | */ |
| 438 | | public TagTable(TagEditorModel model) { |
| | 440 | public TagTable(TagEditorModel model, int maxCharacters) { |
| 439 | 441 | super(model, new TagTableColumnModel(model.getColumnSelectionModel()), model.getRowSelectionModel()); |
| 440 | 442 | this.model = model; |
| 441 | | init(); |
| | 443 | init(maxCharacters); |
| 442 | 444 | } |
| 443 | 445 | |
| 444 | 446 | @Override |