Ignore:
Timestamp:
2014-05-11T01:01:33+02:00 (10 years ago)
Author:
Don-vip
Message:

refactor tagging presets to allow presets-dependent unit tests to update them correctly at runtime

Location:
trunk/src/org/openstreetmap/josm/gui/tagging
Files:
2 added
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/gui/tagging/TaggingPreset.java

    r7090 r7100  
    4444import org.openstreetmap.josm.gui.layer.Layer;
    4545import org.openstreetmap.josm.gui.preferences.ToolbarPreferences;
    46 import org.openstreetmap.josm.gui.preferences.map.TaggingPresetPreference;
    4746import org.openstreetmap.josm.gui.tagging.TaggingPresetItems.Link;
    4847import org.openstreetmap.josm.gui.tagging.TaggingPresetItems.Role;
     
    199198    private static class PresetPanel extends JPanel {
    200199        boolean hasElements = false;
    201         PresetPanel()
    202         {
     200        PresetPanel() {
    203201            super(new GridBagLayout());
    204202        }
     
    262260    }
    263261
    264     public boolean isShowable()
    265     {
    266         for(TaggingPresetItem i : data)
    267         {
     262    public boolean isShowable() {
     263        for(TaggingPresetItem i : data) {
    268264            if(!(i instanceof TaggingPresetItems.Optional || i instanceof TaggingPresetItems.Space || i instanceof TaggingPresetItems.Key))
    269265                return true;
     
    495491
    496492    public static Collection<TaggingPreset> getMatchingPresets(final Collection<TaggingPresetType> t, final Map<String, String> tags, final boolean onlyShowable) {
    497         return Utils.filter(TaggingPresetPreference.taggingPresets, new Predicate<TaggingPreset>() {
     493        return Utils.filter(TaggingPresets.getTaggingPresets(), new Predicate<TaggingPreset>() {
    498494            @Override
    499495            public boolean evaluate(TaggingPreset object) {
     
    508504    public class ToolbarButtonAction extends AbstractAction {
    509505        private final int toolbarIndex;
     506
     507        /**
     508         * Constructs a new {@code ToolbarButtonAction}.
     509         */
    510510        public ToolbarButtonAction() {
    511511            super("", ImageProvider.get("styles/standard/waypoint","pin"));
     
    524524
    525525    public String getToolbarString() {
    526         ToolbarPreferences.ActionDefinition aDef
    527             = new ToolbarPreferences.ActionDefinition(this);
    528526        ToolbarPreferences.ActionParser actionParser = new ToolbarPreferences.ActionParser(null);
    529         return actionParser.saveAction(aDef);
     527        return actionParser.saveAction(new ToolbarPreferences.ActionDefinition(this));
    530528    }
    531529}
  • trunk/src/org/openstreetmap/josm/gui/tagging/TaggingPresetItems.java

    r7015 r7100  
    5050import org.openstreetmap.josm.data.preferences.BooleanProperty;
    5151import org.openstreetmap.josm.gui.dialogs.properties.PresetListPanel;
    52 import org.openstreetmap.josm.gui.preferences.map.TaggingPresetPreference;
    5352import org.openstreetmap.josm.gui.tagging.ac.AutoCompletingTextField;
    5453import org.openstreetmap.josm.gui.tagging.ac.AutoCompletionItemPriority;
     
    402401        boolean addToPanel(JPanel p, Collection<OsmPrimitive> sel, boolean presetInitiallyMatches) {
    403402            final String presetName = preset_name;
    404             final TaggingPreset t = Utils.filter(TaggingPresetPreference.taggingPresets, new Predicate<TaggingPreset>() {
     403            final TaggingPreset t = Utils.filter(TaggingPresets.getTaggingPresets(), new Predicate<TaggingPreset>() {
    405404                @Override
    406405                public boolean evaluate(TaggingPreset object) {
  • trunk/src/org/openstreetmap/josm/gui/tagging/TaggingPresetSelector.java

    r7022 r7100  
    4747import org.openstreetmap.josm.data.osm.Way;
    4848import org.openstreetmap.josm.data.preferences.BooleanProperty;
    49 import org.openstreetmap.josm.gui.preferences.map.TaggingPresetPreference;
    5049import org.openstreetmap.josm.gui.tagging.TaggingPresetItems.Key;
    5150import org.openstreetmap.josm.gui.tagging.TaggingPresetItems.KeyedItem;
     
    6059 */
    6160public class TaggingPresetSelector extends JPanel implements SelectionChangedListener {
    62    
     61
    6362    private static final int CLASSIFICATION_IN_FAVORITES = 300;
    6463    private static final int CLASSIFICATION_NAME_MATCH = 300;
     
    6867    private static final BooleanProperty SEARCH_IN_TAGS = new BooleanProperty("taggingpreset.dialog.search-in-tags", true);
    6968    private static final BooleanProperty ONLY_APPLICABLE  = new BooleanProperty("taggingpreset.dialog.only-applicable-to-selection", true);
    70    
     69
    7170    private JosmTextField edSearchText;
    7271    private JList<TaggingPreset> lsResult;
     
    208207    public TaggingPresetSelector(boolean displayOnlyApplicable, boolean displaySearchInTags) {
    209208        super(new BorderLayout());
    210         if (TaggingPresetPreference.taggingPresets!=null) {
    211             loadPresets(TaggingPresetPreference.taggingPresets);
    212         }
    213        
     209        loadPresets(TaggingPresets.getTaggingPresets());
     210
    214211        edSearchText = new JosmTextField();
    215212        edSearchText.getDocument().addDocumentListener(new DocumentListener() {
     
    304301        lsResult.addMouseListener(new PopupMenuLauncher(popupMenu));
    305302    }
    306    
     303
    307304    private void selectPreset(int newIndex) {
    308305        if (newIndex < 0) {
     
    389386
    390387    }
    391    
     388
    392389    private EnumSet<TaggingPresetType> getTypesInSelection() {
    393390        if (typesInSelectionDirty) {
     
    412409        return typesInSelection;
    413410    }
    414    
     411
    415412    @Override
    416413    public void selectionChanged(Collection<? extends OsmPrimitive> newSelection) {
     
    426423        filterPresets();
    427424    }
    428    
     425
    429426    public void init(Collection<TaggingPreset> presets) {
    430427        classifications.clear();
     
    432429        init();
    433430    }
    434    
     431
    435432    public void clearSelection() {
    436433        lsResult.getSelectionModel().clearSelection();
    437434    }
    438    
     435
    439436    /**
    440437     * Save checkbox values in preferences for future reuse
     
    448445        }
    449446    }
    450    
     447
    451448    /**
    452449     * Determines, which preset is selected at the current moment
     
    483480        lsResult.setSelectedValue(p, true);
    484481    }
    485    
     482
    486483    public int getItemCount() {
    487484        return lsResultModel.getSize();
    488485    }
    489    
     486
    490487    public void setDblClickListener(ActionListener dblClickListener) {
    491488        this.dblClickListener = dblClickListener;
    492489    }
    493    
     490
    494491    public void setClickListener(ActionListener clickListener) {
    495492        this.clickListener = clickListener;
    496493    }
    497    
     494
    498495    public void addSelectionListener(final ActionListener selectListener) {
    499496        lsResult.getSelectionModel().addListSelectionListener(new ListSelectionListener() {
Note: See TracChangeset for help on using the changeset viewer.