Changeset 16277 in josm
- Timestamp:
- 2020-04-12T17:06:27+02:00 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/gui/tagging/presets/items/Combo.java
r16057 r16277 2 2 package org.openstreetmap.josm.gui.tagging.presets.items; 3 3 4 import static org.openstreetmap.josm.tools.I18n.tr; 5 6 import java.awt.Color; 7 import java.awt.event.ActionEvent; 8 import java.awt.event.ActionListener; 9 10 import javax.swing.AbstractAction; 11 import javax.swing.JButton; 12 import javax.swing.JColorChooser; 4 13 import javax.swing.JPanel; 5 14 6 15 import org.openstreetmap.josm.data.tagging.ac.AutoCompletionPriority; 16 import org.openstreetmap.josm.gui.MainApplication; 7 17 import org.openstreetmap.josm.gui.tagging.ac.AutoCompletingTextField; 8 18 import org.openstreetmap.josm.gui.tagging.ac.AutoCompletionList; 9 19 import org.openstreetmap.josm.gui.widgets.JosmComboBox; 10 20 import org.openstreetmap.josm.spi.preferences.Config; 21 import org.openstreetmap.josm.tools.ColorHelper; 11 22 import org.openstreetmap.josm.tools.GBC; 12 23 … … 90 101 combobox.setSelectedItem(originalValue); 91 102 } 92 p.add(combobox, GBC.eol().fill(GBC.HORIZONTAL)); 103 if ("colour".equals(key) || key.startsWith("colour:") || key.endsWith(":colour")) { 104 p.add(combobox, GBC.std().fill(GBC.HORIZONTAL)); 105 JButton button = new JButton(new ChooseColorAction()); 106 p.add(button, GBC.eol().fill(GBC.VERTICAL)); 107 ActionListener updateColor = ignore -> button.setBackground(getColor()); 108 updateColor.actionPerformed(null); 109 combobox.addActionListener(updateColor); 110 } else { 111 p.add(combobox, GBC.eol().fill(GBC.HORIZONTAL)); 112 } 113 } 114 115 class ChooseColorAction extends AbstractAction { 116 ChooseColorAction() { 117 putValue(SHORT_DESCRIPTION, tr("Select color")); 118 } 119 120 @Override 121 public void actionPerformed(ActionEvent e) { 122 Color color = getColor(); 123 color = JColorChooser.showDialog(MainApplication.getMainPanel(), tr("Select color"), color); 124 setColor(color); 125 } 126 } 127 128 protected void setColor(Color color) { 129 if (color != null) { 130 combobox.setSelectedItem(ColorHelper.color2html(color)); 131 } 132 } 133 134 protected Color getColor() { 135 return ColorHelper.html2color(String.valueOf(getSelectedItem())); 93 136 } 94 137
Note:
See TracChangeset
for help on using the changeset viewer.