com.alee.extended.tree
Class WebAsyncTreeFilterField<E extends AsyncUniqueNode>

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.text.JTextComponent
                  extended by javax.swing.JTextField
                      extended by com.alee.laf.text.WebTextField
                          extended by com.alee.extended.tree.WebAsyncTreeFilterField<E>
Type Parameters:
E - filtered node type
All Implemented Interfaces:
LanguageMethods, SettingsMethods, ShapeProvider, FontMethods<WebTextField>, SizeMethods<WebTextField>, SwingMethods, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.Scrollable, javax.swing.SwingConstants

public class WebAsyncTreeFilterField<E extends AsyncUniqueNode>
extends WebTextField

Special filter field that can be attached to any WebAsyncTree.

Author:
Mikle Garin
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JTextField
javax.swing.JTextField.AccessibleJTextField
 
Nested classes/interfaces inherited from class javax.swing.text.JTextComponent
javax.swing.text.JTextComponent.AccessibleJTextComponent, javax.swing.text.JTextComponent.DropLocation, javax.swing.text.JTextComponent.KeyBinding
 
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
protected  java.lang.ref.WeakReference<WebAsyncTree<E>> asyncTree
          Async tree to which this field should apply filtering.
protected  javax.swing.text.Document document
          Currently listened field document.
protected  javax.swing.event.DocumentListener documentListener
          Special document listener that notifies about filter changes.
protected  AsyncTreeNodesFilter<E> filter
          Nodes filter used by this field.
protected  WebImage filterIcon
          UI elements.
static javax.swing.ImageIcon matchCaseIcon
           
protected  WebCheckBoxMenuItem matchCaseItem
           
static javax.swing.ImageIcon searchFromStartIcon
           
protected  WebCheckBoxMenuItem searchFromStartItem
           
static javax.swing.ImageIcon settingsIcon
          Used icons.
protected  WebPopupMenu settingsMenu
           
static javax.swing.ImageIcon useSpaceAsSeparatorIcon
           
protected  WebCheckBoxMenuItem useSpaceAsSeparatorItem
           
 
Fields inherited from class javax.swing.JTextField
notifyAction
 
Fields inherited from class javax.swing.text.JTextComponent
DEFAULT_KEYMAP, FOCUS_ACCELERATOR_KEY
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface javax.swing.SwingConstants
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
WebAsyncTreeFilterField()
          Constructs new async tree filter field.
WebAsyncTreeFilterField(TextProvider<E> textProvider)
          Constructs new async tree filter field.
WebAsyncTreeFilterField(WebAsyncTree<E> asyncTree)
          Constructs new async tree filter field.
WebAsyncTreeFilterField(WebAsyncTree<E> asyncTree, TextProvider<E> textProvider)
          Constructs new async tree filter field.
 
Method Summary
protected  void applyFilter()
          Applies tree filter.
protected  void clearFilter()
          Clears tree filter.
 WebAsyncTree<E> getAsyncTree()
          Returns async tree to which this field applies filtering.
 AsyncTreeNodesFilter<E> getFilter()
          Returns nodes filter.
 TextProvider<E> getTextProvider()
          Returns node text provider.
protected  void init()
          Initializes filter field.
protected  void initFieldListeners()
          Initializes field listeners.
protected  void initFilterIcon()
          Initializes filter icon.
protected  void initSettingsMenu()
          Initializes settings menu.
 void setAsyncTree(WebAsyncTree<E> asyncTree)
          Sets async tree to which this field applies filtering.
 void setFilter(AsyncTreeNodesFilter<E> filter)
          Sets nodes filter.
 void setTextProvider(TextProvider<E> textProvider)
          Sets node text provider.
protected  void updateDocumentListener()
          Updates field document listener.
 void updateFiltering()
          Updates tree filtering.
 void updateNodeAcceptance(E node)
          Performs node acceptance re-check.
 
Methods inherited from class com.alee.laf.text.WebTextField
changeFontSize, clear, createWebTextField, createWebTextField, createWebTextField, createWebTextField, getFieldMargin, getFontName, getFontSize, getInputPrompt, getInputPromptFont, getInputPromptForeground, getInputPromptPosition, getLeadingComponent, getMinimumHeight, getMinimumWidth, getPainter, getPreferredHeight, getPreferredSize, getPreferredWidth, getRound, getShadeWidth, getTrailingComponent, getWebUI, isBoldFont, isDrawBackground, isDrawBorder, isDrawFocus, isDrawShade, isHideInputPromptOnFocus, isItalicFont, isLanguageSet, isPlainFont, isWebColored, loadSettings, provideShape, registerSettings, registerSettings, registerSettings, registerSettings, registerSettings, registerSettings, registerSettings, registerSettings, registerSettings, registerSettings, registerSettings, registerSettings, removeLanguage, removeLanguageUpdater, saveSettings, setBoldFont, setBoldFont, setDrawBackground, setDrawBorder, setDrawFocus, setDrawShade, setFieldMargin, setFieldMargin, setFieldMargin, setFontName, setFontSize, setFontSizeAndStyle, setFontSizeAndStyle, setFontStyle, setFontStyle, setHideInputPromptOnFocus, setInputPrompt, setInputPromptFont, setInputPromptForeground, setInputPromptPosition, setItalicFont, setItalicFont, setLanguage, setLanguageUpdater, setLeadingComponent, setMargin, setMargin, setMinimumHeight, setMinimumWidth, setPainter, setPlainFont, setPlainFont, setPreferredHeight, setPreferredWidth, setRound, setShadeWidth, setTrailingComponent, setWebColored, unregisterSettings, updateLanguage, updateLanguage, updateUI
 
Methods inherited from class javax.swing.JTextField
actionPropertyChanged, addActionListener, configurePropertiesFromAction, createActionPropertyChangeListener, createDefaultModel, fireActionPerformed, getAccessibleContext, getAction, getActionListeners, getActions, getColumns, getColumnWidth, getHorizontalAlignment, getHorizontalVisibility, getScrollOffset, getUIClassID, isValidateRoot, paramString, postActionEvent, removeActionListener, scrollRectToVisible, setAction, setActionCommand, setColumns, setDocument, setFont, setHorizontalAlignment, setScrollOffset
 
Methods inherited from class javax.swing.text.JTextComponent
addCaretListener, addInputMethodListener, addKeymap, copy, cut, fireCaretUpdate, getCaret, getCaretColor, getCaretListeners, getCaretPosition, getDisabledTextColor, getDocument, getDragEnabled, getDropLocation, getDropMode, getFocusAccelerator, getHighlighter, getInputMethodRequests, getKeymap, getKeymap, getMargin, getNavigationFilter, getPreferredScrollableViewportSize, getPrintable, getScrollableBlockIncrement, getScrollableTracksViewportHeight, getScrollableTracksViewportWidth, getScrollableUnitIncrement, getSelectedText, getSelectedTextColor, getSelectionColor, getSelectionEnd, getSelectionStart, getText, getText, getToolTipText, getUI, isEditable, loadKeymap, modelToView, moveCaretPosition, paste, print, print, print, processInputMethodEvent, read, removeCaretListener, removeKeymap, removeNotify, replaceSelection, select, selectAll, setCaret, setCaretColor, setCaretPosition, setComponentOrientation, setDisabledTextColor, setDragEnabled, setDropMode, setEditable, setFocusAccelerator, setHighlighter, setKeymap, setMargin, setNavigationFilter, setSelectedTextColor, setSelectionColor, setSelectionEnd, setSelectionStart, setText, setUI, viewToModel, write
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

settingsIcon

public static final javax.swing.ImageIcon settingsIcon
Used icons.


matchCaseIcon

public static final javax.swing.ImageIcon matchCaseIcon

useSpaceAsSeparatorIcon

public static final javax.swing.ImageIcon useSpaceAsSeparatorIcon

searchFromStartIcon

public static final javax.swing.ImageIcon searchFromStartIcon

asyncTree

protected java.lang.ref.WeakReference<WebAsyncTree<E extends AsyncUniqueNode>> asyncTree
Async tree to which this field should apply filtering.


filter

protected AsyncTreeNodesFilter<E extends AsyncUniqueNode> filter
Nodes filter used by this field.


document

protected javax.swing.text.Document document
Currently listened field document.


documentListener

protected javax.swing.event.DocumentListener documentListener
Special document listener that notifies about filter changes.


filterIcon

protected WebImage filterIcon
UI elements.


settingsMenu

protected WebPopupMenu settingsMenu

matchCaseItem

protected WebCheckBoxMenuItem matchCaseItem

useSpaceAsSeparatorItem

protected WebCheckBoxMenuItem useSpaceAsSeparatorItem

searchFromStartItem

protected WebCheckBoxMenuItem searchFromStartItem
Constructor Detail

WebAsyncTreeFilterField

public WebAsyncTreeFilterField()
Constructs new async tree filter field.


WebAsyncTreeFilterField

public WebAsyncTreeFilterField(WebAsyncTree<E> asyncTree)
Constructs new async tree filter field.

Parameters:
asyncTree - async tree to which this field applies filtering

WebAsyncTreeFilterField

public WebAsyncTreeFilterField(TextProvider<E> textProvider)
Constructs new async tree filter field.

Parameters:
textProvider - node text provider

WebAsyncTreeFilterField

public WebAsyncTreeFilterField(WebAsyncTree<E> asyncTree,
                               TextProvider<E> textProvider)
Constructs new async tree filter field.

Parameters:
asyncTree - async tree to which this field applies filtering
textProvider - node text provider
Method Detail

init

protected void init()
Initializes filter field.


initFilterIcon

protected void initFilterIcon()
Initializes filter icon.


initSettingsMenu

protected void initSettingsMenu()
Initializes settings menu.


initFieldListeners

protected void initFieldListeners()
Initializes field listeners.


updateDocumentListener

protected void updateDocumentListener()
Updates field document listener.


getAsyncTree

public WebAsyncTree<E> getAsyncTree()
Returns async tree to which this field applies filtering.

Returns:
async tree to which this field applies filtering

setAsyncTree

public void setAsyncTree(WebAsyncTree<E> asyncTree)
Sets async tree to which this field applies filtering.

Parameters:
asyncTree - async tree to which this field applies filtering

getFilter

public AsyncTreeNodesFilter<E> getFilter()
Returns nodes filter.

Returns:
nodes filter

setFilter

public void setFilter(AsyncTreeNodesFilter<E> filter)
Sets nodes filter.

Parameters:
filter - new nodes filter

applyFilter

protected void applyFilter()
Applies tree filter.


clearFilter

protected void clearFilter()
Clears tree filter.


getTextProvider

public TextProvider<E> getTextProvider()
Returns node text provider.

Returns:
node text provider

setTextProvider

public void setTextProvider(TextProvider<E> textProvider)
Sets node text provider.

Parameters:
textProvider - new node text provider

updateFiltering

public void updateFiltering()
Updates tree filtering.


updateNodeAcceptance

public void updateNodeAcceptance(E node)
Performs node acceptance re-check. Might be useful if external tree updates are applied.

Parameters:
node - node that should be re-checked