Package org.jdesktop.swingx.search
Class TreeSearchable
- java.lang.Object
-
- org.jdesktop.swingx.search.AbstractSearchable
-
- org.jdesktop.swingx.search.TreeSearchable
-
- All Implemented Interfaces:
Searchable
public class TreeSearchable extends AbstractSearchable
A searchable targetting the visible rows of a JXTree.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.jdesktop.swingx.search.AbstractSearchable
AbstractSearchable.SearchResult
-
-
Field Summary
Fields Modifier and Type Field Description protected JXTree
tree
-
Fields inherited from class org.jdesktop.swingx.search.AbstractSearchable
lastSearchResult, MATCH_HIGHLIGHTER
-
-
Constructor Summary
Constructors Constructor Description TreeSearchable(JXTree tree)
Instantiates a Searchable for the given JTree.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
addHighlighter(Highlighter highlighter)
Adds the highlighter to the target.protected AbstractSearchable.SearchResult
findExtendedMatch(java.util.regex.Pattern pattern, int row)
Matches the cell at row/lastFoundColumn against the pattern.protected void
findMatchAndUpdateState(java.util.regex.Pattern pattern, int startRow, boolean backwards)
Loops through the searchable until a match is found or the end is reached.protected AbstractSearchable.SearchResult
findMatchAt(java.util.regex.Pattern pattern, int row)
Matches the cell content at row/col against the given Pattern.protected Highlighter[]
getHighlighters()
Returns the highlighters registered on the search target.protected int
getSize()
Returns the size of this searchable.JXTree
getTarget()
It's the responsibility of subclasses to covariant override.protected void
moveMatchByHighlighter()
use and move the match highlighter.protected void
moveMatchBySelection()
protected void
moveMatchMarker()
Moves the match marker according to current found state.protected void
removeHighlighter(Highlighter searchHighlighter)
Removes the highlighter.-
Methods inherited from class org.jdesktop.swingx.search.AbstractSearchable
adjustStartPosition, convertColumnIndexToModel, createMatchHighlighter, createMatchPredicate, createSearchResult, doSearch, ensureInsertedSearchHighlighters, getConfiguredMatchHighlighter, getMatchHighlighter, hasMatch, isEmpty, isEqualPattern, isEqualStartIndex, isTrivialNoMatch, isValidIndex, markByHighlighter, moveStartPosition, search, search, search, search, search, search, setMatchHighlighter, updateState
-
-
-
-
Field Detail
-
tree
protected JXTree tree
-
-
Constructor Detail
-
TreeSearchable
public TreeSearchable(JXTree tree)
Instantiates a Searchable for the given JTree.- Parameters:
tree
- the JTree to search, must not be null.
-
-
Method Detail
-
findMatchAndUpdateState
protected void findMatchAndUpdateState(java.util.regex.Pattern pattern, int startRow, boolean backwards)
Description copied from class:AbstractSearchable
Loops through the searchable until a match is found or the end is reached. Updates internal search state.- Specified by:
findMatchAndUpdateState
in classAbstractSearchable
- Parameters:
pattern
-Pattern
that we will try to locatestartRow
- position in the document in the appropriate coordinates from which we will start search or -1 to start from the beginningbackwards
-true
if we should perform search towards the beginning
-
findExtendedMatch
protected AbstractSearchable.SearchResult findExtendedMatch(java.util.regex.Pattern pattern, int row)
Description copied from class:AbstractSearchable
Matches the cell at row/lastFoundColumn against the pattern. Called if sameRowIndex && !hasEqualRegEx. PRE: lastFoundColumn valid.- Specified by:
findExtendedMatch
in classAbstractSearchable
- Parameters:
pattern
-Pattern
that we will try to matchrow
- position at which we will get the value to match with the providedPattern
- Returns:
- result of the match;
AbstractSearchable.SearchResult
-
findMatchAt
protected AbstractSearchable.SearchResult findMatchAt(java.util.regex.Pattern pattern, int row)
Matches the cell content at row/col against the given Pattern. Returns an appropriate SearchResult if matching or null if no matching- Parameters:
pattern
-row
- a valid row index in view coordinates a valid column index in view coordinates- Returns:
- an appropriate
SearchResult
if matching or null if no matching
-
getSize
protected int getSize()
Description copied from class:AbstractSearchable
Returns the size of this searchable.- Specified by:
getSize
in classAbstractSearchable
- Returns:
- size of this searchable
-
getTarget
public JXTree getTarget()
It's the responsibility of subclasses to covariant override.- Specified by:
getTarget
in classAbstractSearchable
- Returns:
- the target component
-
moveMatchMarker
protected void moveMatchMarker()
Moves the match marker according to current found state.- Specified by:
moveMatchMarker
in classAbstractSearchable
-
moveMatchBySelection
protected void moveMatchBySelection()
-
moveMatchByHighlighter
protected void moveMatchByHighlighter()
use and move the match highlighter. PRE: markByHighlighter
-
removeHighlighter
protected void removeHighlighter(Highlighter searchHighlighter)
Description copied from class:AbstractSearchable
Removes the highlighter.- Specified by:
removeHighlighter
in classAbstractSearchable
- Parameters:
searchHighlighter
-
-
getHighlighters
protected Highlighter[] getHighlighters()
Description copied from class:AbstractSearchable
Returns the highlighters registered on the search target.- Specified by:
getHighlighters
in classAbstractSearchable
- Returns:
- all registered highlighters
-
addHighlighter
protected void addHighlighter(Highlighter highlighter)
Description copied from class:AbstractSearchable
Adds the highlighter to the target.- Specified by:
addHighlighter
in classAbstractSearchable
- Parameters:
highlighter
-
-
-