Package org.openstreetmap.josm.data.osm
Class FilterModel
- java.lang.Object
-
- org.openstreetmap.josm.data.osm.FilterModel
-
- All Implemented Interfaces:
ReorderableModel<Filter>,SortableModel<Filter>
public class FilterModel extends java.lang.Object implements SortableModel<Filter>
The model that is used both for auto and manual filters.- Since:
- 12400
-
-
Field Summary
Fields Modifier and Type Field Description private booleanchangedtrue, if the filter state (normal / disabled / hidden) of any primitive has changed in the processprivate intdisabledAndHiddenCountnumber of primitives that are disabled and hiddenprivate intdisabledCountnumber of primitives that are disabled but not hiddenprivate FilterMatcherfilterMatcherprivate java.util.List<Filter>filters
-
Constructor Summary
Constructors Constructor Description FilterModel()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanaddFilter(Filter filter)Adds a new filter to the filter list.booleanaddFilters(Filter... newFilters)Adds new filters to the filter list.voidclearFilterFlags()Clears all filtered flags from all primitives in the datasetvoidclearFilters()Removes all filters from this model.voiddrawOSDText(java.awt.Graphics2D g, OSDLabel lblOSD, java.lang.String header, java.lang.String footer)Draws a text on the map display that indicates that filters are active.voidexecuteFilters()Runs the filters on the current edit data set.voidexecuteFilters(java.util.Collection<? extends OsmPrimitive> primitives)Runs the filter on a list of primitives that are part of the edit data set.static java.util.Collection<OsmPrimitive>getAffectedPrimitives(java.util.Collection<? extends OsmPrimitive> primitives)Returns the list of primitives whose filtering can be affected by change in primitiveintgetDisabledAndHiddenCount()Returns the number of primitives that are disabled and hidden.intgetDisabledCount()Returns the number of primitives that are disabled but not hidden.java.util.List<Filter>getFilters()Returns the list of filters.intgetFiltersCount()Returns the number of filters.FiltergetValue(int rowIndex)Get object value at given index.booleanhasFilters()Determines if at least one filter is enabled.booleanisChanged()Determines if the filter state (normal / disabled / hidden) of any primitive has changed in the process.voidloadPrefs(java.lang.String prefEntry)Initializes the model from preferences.booleanmoveDownFilter(int rowIndex)Moves down the filter in the given row.booleanmoveFilters(int delta, int... rowIndexes)Moves the filters in the given rows by a number of positions.booleanmoveUpFilter(int rowIndex)Moves up the filter in the given rowFilterremoveFilter(int rowIndex)Removes the filter that is displayed in the given rowjava.util.Collection<Filter>removeFilters(int... rowIndexes)Removes the filters that are displayed in the given rowsvoidreverse()Reverse the items order.voidsavePrefs(java.lang.String prefEntry)Saves the model to preferences.FiltersetValue(int rowIndex, Filter filter)Set object value at given index.voidsort()Sort the items.private voidupdateFilterMatcher()private static voidupdateMap()-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.openstreetmap.josm.data.ReorderableModel
canMove, canMoveDown, canMoveUp, doMove
-
-
-
-
Field Detail
-
disabledCount
private int disabledCount
number of primitives that are disabled but not hidden
-
disabledAndHiddenCount
private int disabledAndHiddenCount
number of primitives that are disabled and hidden
-
changed
private boolean changed
true, if the filter state (normal / disabled / hidden) of any primitive has changed in the process
-
filterMatcher
private final FilterMatcher filterMatcher
-
-
Constructor Detail
-
FilterModel
public FilterModel()
-
-
Method Detail
-
updateFilterMatcher
private void updateFilterMatcher()
-
loadPrefs
public void loadPrefs(java.lang.String prefEntry)
Initializes the model from preferences.- Parameters:
prefEntry- preference key
-
savePrefs
public void savePrefs(java.lang.String prefEntry)
Saves the model to preferences.- Parameters:
prefEntry- preferences key
-
executeFilters
public void executeFilters()
Runs the filters on the current edit data set.
-
executeFilters
public void executeFilters(java.util.Collection<? extends OsmPrimitive> primitives)
Runs the filter on a list of primitives that are part of the edit data set.- Parameters:
primitives- The primitives
-
updateMap
private static void updateMap()
-
clearFilterFlags
public void clearFilterFlags()
Clears all filtered flags from all primitives in the dataset
-
clearFilters
public void clearFilters()
Removes all filters from this model.
-
addFilter
public boolean addFilter(Filter filter)
Adds a new filter to the filter list.- Parameters:
filter- The new filter- Returns:
- true (as specified by
Collection.add(E))
-
addFilters
public boolean addFilters(Filter... newFilters)
Adds new filters to the filter list.- Parameters:
newFilters- The new filters- Returns:
- true (as specified by
Collection.add(E)) - Since:
- 18556
-
moveFilters
public boolean moveFilters(int delta, int... rowIndexes)
Moves the filters in the given rows by a number of positions.- Parameters:
delta- negative or positive incrementrowIndexes- The filter rows- Returns:
- true if the filters have been moved down
- Since:
- 15226
-
moveDownFilter
public boolean moveDownFilter(int rowIndex)
Moves down the filter in the given row.- Parameters:
rowIndex- The filter row- Returns:
- true if the filter has been moved down
-
moveUpFilter
public boolean moveUpFilter(int rowIndex)
Moves up the filter in the given row- Parameters:
rowIndex- The filter row- Returns:
- true if the filter has been moved up
-
removeFilter
public Filter removeFilter(int rowIndex)
Removes the filter that is displayed in the given row- Parameters:
rowIndex- The index of the filter to remove- Returns:
- the filter previously at the specified position
- See Also:
for bulk removal
-
removeFilters
public java.util.Collection<Filter> removeFilters(int... rowIndexes)
Removes the filters that are displayed in the given rows- Parameters:
rowIndexes- The indexes of the filters to remove- Returns:
- the filters previously at the specified positions
- Since:
- 18556
-
setValue
public Filter setValue(int rowIndex, Filter filter)
Description copied from interface:ReorderableModelSet object value at given index.- Specified by:
setValuein interfaceReorderableModel<Filter>- Parameters:
rowIndex- indexfilter- new value- Returns:
- the value previously at the specified position
-
getValue
public Filter getValue(int rowIndex)
Description copied from interface:ReorderableModelGet object value at given index.- Specified by:
getValuein interfaceReorderableModel<Filter>- Parameters:
rowIndex- index- Returns:
- object value at given index
-
drawOSDText
public void drawOSDText(java.awt.Graphics2D g, OSDLabel lblOSD, java.lang.String header, java.lang.String footer)
Draws a text on the map display that indicates that filters are active.- Parameters:
g- The graphics to draw that text on.lblOSD- On Screen Display labelheader- The title to display at the beginning of OSDfooter- The message to display at the bottom of OSD. Must end by</html>
-
getFilters
public java.util.List<Filter> getFilters()
Returns the list of filters.- Returns:
- the list of filters
-
getFiltersCount
public int getFiltersCount()
Returns the number of filters.- Returns:
- the number of filters
-
getDisabledCount
public int getDisabledCount()
Returns the number of primitives that are disabled but not hidden.- Returns:
- the number of primitives that are disabled but not hidden
-
getDisabledAndHiddenCount
public int getDisabledAndHiddenCount()
Returns the number of primitives that are disabled and hidden.- Returns:
- the number of primitives that are disabled and hidden
-
isChanged
public boolean isChanged()
Determines if the filter state (normal / disabled / hidden) of any primitive has changed in the process.- Returns:
- true, if the filter state (normal / disabled / hidden) of any primitive has changed in the process
-
hasFilters
public boolean hasFilters()
Determines if at least one filter is enabled.- Returns:
trueif at least one filter is enabled- Since:
- 14206
-
getAffectedPrimitives
public static java.util.Collection<OsmPrimitive> getAffectedPrimitives(java.util.Collection<? extends OsmPrimitive> primitives)
Returns the list of primitives whose filtering can be affected by change in primitive- Parameters:
primitives- list of primitives to check- Returns:
- List of primitives whose filtering can be affected by change in source primitives
-
sort
public void sort()
Description copied from interface:SortableModelSort the items.- Specified by:
sortin interfaceSortableModel<Filter>
-
reverse
public void reverse()
Description copied from interface:SortableModelReverse the items order.- Specified by:
reversein interfaceSortableModel<Filter>
-
-