Ticket #18381: 18381.3.patch

File 18381.3.patch, 4.7 KB (added by taylor.smock, 6 years ago)

Clear lists where appropriate

  • src/org/openstreetmap/josm/gui/tagging/presets/TaggingPresetSelector.java

     
    5252 * GUI component to select tagging preset: the list with filter and two checkboxes
    5353 * @since 6068
    5454 */
    55 public class TaggingPresetSelector extends SearchTextResultListPanel<TaggingPreset> implements DataSelectionListener {
     55public class TaggingPresetSelector extends SearchTextResultListPanel<TaggingPreset>
     56        implements DataSelectionListener, TaggingPresetListener {
    5657
    5758    private static final int CLASSIFICATION_IN_FAVORITES = 300;
    5859    private static final int CLASSIFICATION_NAME_MATCH = 300;
     
    193194        super();
    194195        lsResult.setCellRenderer(new ResultListCellRenderer());
    195196        classifications.loadPresets(TaggingPresets.getTaggingPresets());
     197        TaggingPresets.addListener(this);
    196198
    197199        JPanel pnChecks = new JPanel();
    198200        pnChecks.setLayout(new BoxLayout(pnChecks, BoxLayout.Y_AXIS));
     
    436438    public synchronized void setSelectedPreset(TaggingPreset p) {
    437439        lsResult.setSelectedValue(p, true);
    438440    }
     441
     442    @Override
     443    public void taggingPresetsModified() {
     444        classifications.clear();
     445        classifications.loadPresets(TaggingPresets.getTaggingPresets());
     446    }
    439447}
  • src/org/openstreetmap/josm/data/validation/tests/RelationChecker.java

     
    2727import org.openstreetmap.josm.gui.progress.ProgressMonitor;
    2828import org.openstreetmap.josm.gui.tagging.presets.TaggingPreset;
    2929import org.openstreetmap.josm.gui.tagging.presets.TaggingPresetItem;
     30import org.openstreetmap.josm.gui.tagging.presets.TaggingPresetListener;
    3031import org.openstreetmap.josm.gui.tagging.presets.TaggingPresetType;
    3132import org.openstreetmap.josm.gui.tagging.presets.TaggingPresets;
    3233import org.openstreetmap.josm.gui.tagging.presets.items.KeyedItem;
     
    3839 * Check for wrong relations.
    3940 * @since 3669
    4041 */
    41 public class RelationChecker extends Test {
     42public class RelationChecker extends Test implements TaggingPresetListener {
    4243
    4344    // CHECKSTYLE.OFF: SingleSpaceSeparator
    4445    /** Role ''{0}'' is not in templates ''{1}'' */
     
    7980
    8081    @Override
    8182    public void initialize() {
     83        TaggingPresets.addListener(this);
    8284        initializePresets();
    8385    }
    8486
     
    375377        Collection<? extends OsmPrimitive> primitives = testError.getPrimitives();
    376378        return testError.getCode() == RELATION_EMPTY && !primitives.isEmpty() && primitives.iterator().next().isNew();
    377379    }
     380
     381    @Override
     382    public void taggingPresetsModified() {
     383        relationpresets.clear();
     384        initializePresets();
     385    }
    378386}
  • src/org/openstreetmap/josm/data/validation/tests/TagChecker.java

     
    4242import org.openstreetmap.josm.gui.progress.ProgressMonitor;
    4343import org.openstreetmap.josm.gui.tagging.presets.TaggingPreset;
    4444import org.openstreetmap.josm.gui.tagging.presets.TaggingPresetItem;
     45import org.openstreetmap.josm.gui.tagging.presets.TaggingPresetListener;
    4546import org.openstreetmap.josm.gui.tagging.presets.TaggingPresets;
    4647import org.openstreetmap.josm.gui.tagging.presets.items.Check;
    4748import org.openstreetmap.josm.gui.tagging.presets.items.CheckGroup;
     
    6061 * @author frsantos
    6162 * @since 3669
    6263 */
    63 public class TagChecker extends TagTest {
     64public class TagChecker extends TagTest implements TaggingPresetListener {
    6465
    6566    /** The config file of ignored tags */
    6667    public static final String IGNORE_FILE = "resource://data/validator/ignoretags.cfg";
     
    181182
    182183    @Override
    183184    public void initialize() throws IOException {
     185        TaggingPresets.addListener(this);
    184186        initializeData();
    185187        initializePresets();
    186188        analysePresets();
     
    10081010
    10091011        return false;
    10101012    }
     1013
     1014    @Override
     1015    public void taggingPresetsModified() {
     1016        try {
     1017            initializeData();
     1018            initializePresets();
     1019            analysePresets();
     1020        } catch (IOException e) {
     1021            Logging.error(e);
     1022        }
     1023    }
    10111024}