Ticket #6974: addButton.patch
| File addButton.patch, 2.8 KB (added by , 15 years ago) |
|---|
-
src/org/openstreetmap/josm/actions/search/SearchAction.java
13 13 import java.util.ArrayList; 14 14 import java.util.Collection; 15 15 import java.util.Collections; 16 import java.util.HashMap; 16 17 import java.util.HashSet; 17 18 import java.util.LinkedList; 18 19 import java.util.List; 19 20 import java.util.Map; 20 21 22 import javax.swing.Action; 21 23 import javax.swing.ButtonGroup; 22 24 import javax.swing.JCheckBox; 23 25 import javax.swing.JLabel; … … 30 32 import org.openstreetmap.josm.actions.ActionParameter.SearchSettingsActionParameter; 31 33 import org.openstreetmap.josm.actions.JosmAction; 32 34 import org.openstreetmap.josm.actions.ParameterizedAction; 35 import org.openstreetmap.josm.actions.ParameterizedActionDecorator; 33 36 import org.openstreetmap.josm.actions.search.SearchCompiler.ParseError; 34 37 import org.openstreetmap.josm.data.osm.DataSet; 35 38 import org.openstreetmap.josm.data.osm.Filter; … … 185 188 JCheckBox allElements = new JCheckBox(tr("all objects"), initialValues.allElements); 186 189 allElements.setToolTipText(tr("Also include incomplete and deleted objects in search.")); 187 190 final JCheckBox regexSearch = new JCheckBox(tr("regular expression"), initialValues.regexSearch); 191 final JCheckBox addOnToolbar = new JCheckBox(tr("Add temporary button"), false); 188 192 189 193 JPanel top = new JPanel(new GridBagLayout()); 190 194 top.add(label, GBC.std().insets(0, 0, 5, 0)); … … 197 201 left.add(caseSensitive, GBC.eol()); 198 202 left.add(allElements, GBC.eol()); 199 203 left.add(regexSearch, GBC.eol()); 204 left.add(addOnToolbar, GBC.eol()); 200 205 201 206 JPanel right = new JPanel(); 202 207 DescriptionTextBuilder descriptionText = new DescriptionTextBuilder(); … … 276 281 int result = dialog.getValue(); 277 282 278 283 if(result != 1) return null; 279 284 280 285 // User pressed OK - let's perform the search 281 286 SearchMode mode = replace.isSelected() ? SearchAction.SearchMode.replace 282 287 : (add.isSelected() ? SearchAction.SearchMode.add … … 286 291 initialValues.caseSensitive = caseSensitive.isSelected(); 287 292 initialValues.allElements = allElements.isSelected(); 288 293 initialValues.regexSearch = regexSearch.isSelected(); 294 if (addOnToolbar.isSelected()) { 295 Map<String, Object> parameters=new HashMap<String, Object>(); 296 parameters.put("searchExpression",initialValues); 297 Action action = new ParameterizedActionDecorator((ParameterizedAction) 298 new SearchAction(), parameters); 299 Main.toolbar.control.add(action); 300 } 289 301 return initialValues; 290 302 } 291 303
