source: josm/trunk/src/org/openstreetmap/josm/data/osm/Filter.java@ 5298

Last change on this file since 5298 was 4895, checked in by stoecker, 12 years ago

remove deprecation

  • Property svn:eol-style set to native
File size: 2.4 KB
Line 
1// License: GPL. For details, see LICENSE file.
2package org.openstreetmap.josm.data.osm;
3
4import static org.openstreetmap.josm.tools.Utils.equal;
5
6import org.openstreetmap.josm.actions.search.SearchAction.SearchMode;
7import org.openstreetmap.josm.actions.search.SearchAction.SearchSetting;
8import org.openstreetmap.josm.data.Preferences.pref;
9import org.openstreetmap.josm.data.Preferences.writeExplicitly;
10import org.openstreetmap.josm.tools.Utils;
11
12/**
13 *
14 * @author Petr_Dlouhý
15 */
16public class Filter extends SearchSetting {
17 private static final String version = "1";
18
19 public boolean enable = true;
20 public boolean hiding = false;
21 public boolean inverted = false;
22
23 public Filter() {
24 super("", SearchMode.add, false, false, false);
25 }
26 public Filter(String text, SearchMode mode, boolean caseSensitive,
27 boolean regexSearch, boolean allElements) {
28 super(text, mode, caseSensitive, regexSearch, allElements);
29 }
30
31 public Filter(FilterPreferenceEntry e) {
32 super(e.text, SearchMode.add, false, false, false);
33 if (equal(e.mode, "replace")) {
34 mode = SearchMode.replace;
35 } else if (equal(e.mode, "add")) {
36 mode = SearchMode.add;
37 } else if (equal(e.mode, "remove")) {
38 mode = SearchMode.remove;
39 } else if (equal(e.mode, "in_selection")) {
40 mode = SearchMode.in_selection;
41 }
42 caseSensitive = e.case_sensitive;
43 regexSearch = e.regex_search;
44 enable = e.enable;
45 hiding = e.hiding;
46 inverted = e.inverted;
47 }
48
49 public static class FilterPreferenceEntry {
50 @pref @writeExplicitly public String version = "1";
51 @pref public String text = null;
52 @pref @writeExplicitly public String mode = "add";
53 @pref public boolean case_sensitive = false;
54 @pref public boolean regex_search = false;
55 @pref @writeExplicitly public boolean enable = true;
56 @pref @writeExplicitly public boolean hiding = false;
57 @pref @writeExplicitly public boolean inverted = false;
58 }
59
60 public FilterPreferenceEntry getPreferenceEntry() {
61 FilterPreferenceEntry e = new FilterPreferenceEntry();
62 e.version = version;
63 e.text = text;
64 e.mode = mode.toString();
65 e.case_sensitive = caseSensitive;
66 e.regex_search = regexSearch;
67 e.enable = enable;
68 e.hiding = hiding;
69 e.inverted = inverted;
70 return e;
71 }
72}
Note: See TracBrowser for help on using the repository browser.