Site hosted at byteslooser and Grasia! mirrors.


com.byteslooser.filters.gui.editors
Class TextFilterEditor

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.byteslooser.filters.gui.editors.TextFilterEditor
All Implemented Interfaces:
ITableFilterEditor, ITableFilterTextBasedEditor, ImageObserver, MenuContainer, Serializable, Accessible, Scrollable, SwingConstants

public class TextFilterEditor
extends JTextField
implements ITableFilterTextBasedEditor

Table filter editor based on text parsing, represented by a JTextField with a contextual menu to hold previous parsing expressions.

Author:
Luis M Pena - byteslooser@gmail.com
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JTextField
JTextField.AccessibleJTextField
 
Nested classes/interfaces inherited from class javax.swing.text.JTextComponent
JTextComponent.AccessibleJTextComponent, JTextComponent.DropLocation, JTextComponent.KeyBinding
 
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
static int DEFAULT_HISTORY
          Default number of elements to keep on the contextual menu holding previous correctly parsed entries.
 
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
TextFilterEditor()
          Default constructor.
TextFilterEditor(IFilterTextParser parser)
          Full constructor, where the filter position is IFilterTextParser.NO_FILTER_POSITION
TextFilterEditor(IFilterTextParser parser, int filterPosition)
          Full constructor.
 
Method Summary
 void addToHistoric(String text)
          Adds an expression to the historic entries.
 Component getComponent()
          Provides the GUI component associated to the given editor
 Color getErrorBackground()
          Returns the background color used to represent error conditions.
 Color getErrorForeground()
          Returns the foreground color used to represent error conditions.
 IFilterObservable getFilterObservable()
          Provides the IFilterObservable associated to the given instance
 int getFilterPosition()
          Returns the filter position
 int getHistoricLength()
          Returns the history length
 IFilterTextParser getTextParser()
          Returns the used parser
 void resetFilter()
          It sets the current filter text as an empty string, removing any previous entries from the historic -from the associated popup menu-
 void setBackgroundColor(Color bg)
           
 void setEnabled(boolean enabled)
           
 void setErrorBackground(Color bg)
          Sets the background color to be used on error conditions
 void setErrorForeground(Color fg)
          Sets the foreground color to be used on error conditions
 void setFilterBackground(Color bg)
          Sets the background color to be used on no error conditions
 void setFilterForeground(Color fg)
          Sets the foreground color to be used on no error conditions
 void setFilterPosition(int identifier)
          Sets the filter position associated to this editor.
 void setForegroundColor(Color fg)
           
 void setHistoricLength(int length)
          Sets the historic length, that is, it controls the number of elements kept on the contextual menu holding previous correctly parsed entries.
 void setTextParser(IFilterTextParser parser)
          Sets the parser used to parse the text.
 void updateFilter()
          It reparses the text and propagates the filter to any observers.
 
Methods inherited from class javax.swing.JTextField
actionPropertyChanged, addActionListener, configurePropertiesFromAction, createActionPropertyChangeListener, createDefaultModel, fireActionPerformed, getAccessibleContext, getAction, getActionListeners, getActions, getColumns, getColumnWidth, getHorizontalAlignment, getHorizontalVisibility, getPreferredSize, 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, updateUI, 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, 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

DEFAULT_HISTORY

public static final int DEFAULT_HISTORY
Default number of elements to keep on the contextual menu holding previous correctly parsed entries.

See Also:
Constant Field Values
Constructor Detail

TextFilterEditor

public TextFilterEditor()
Default constructor. It is yet needed to set, at least, the text parser.


TextFilterEditor

public TextFilterEditor(IFilterTextParser parser)
Full constructor, where the filter position is IFilterTextParser.NO_FILTER_POSITION

See Also:
TextFilterEditor(IFilterTextParser, int)

TextFilterEditor

public TextFilterEditor(IFilterTextParser parser,
                        int filterPosition)
Full constructor. Note that the identifier can be IFilterTextParser.NO_FILTER_POSITION, if no identifier is to be assumed

See Also:
setFilterPosition(int)
Method Detail

setTextParser

public void setTextParser(IFilterTextParser parser)
Description copied from interface: ITableFilterTextBasedEditor
Sets the parser used to parse the text.

Specified by:
setTextParser in interface ITableFilterTextBasedEditor
See Also:
ITableFilterTextBasedEditor.setTextParser(IFilterTextParser)

getTextParser

public IFilterTextParser getTextParser()
Description copied from interface: ITableFilterTextBasedEditor
Returns the used parser

Specified by:
getTextParser in interface ITableFilterTextBasedEditor
See Also:
ITableFilterTextBasedEditor.getTextParser()

setFilterPosition

public void setFilterPosition(int identifier)

Sets the filter position associated to this editor.

This is the filter position passed to the text parser; it corresponds, in the case of a table, to the column to which this editor is associated.

It is not mandatory to specify this position. In the case of a standalone editor, which could be not associated to any specific column, this position can be given as or IFilterTextParser.NO_FILTER_POSITION

See Also:
IFilterTextParser.parseText(String, int)

getFilterPosition

public int getFilterPosition()
Returns the filter position

See Also:
setFilterPosition(int)

getComponent

public Component getComponent()
Description copied from interface: ITableFilterEditor
Provides the GUI component associated to the given editor

Specified by:
getComponent in interface ITableFilterEditor
See Also:
ITableFilterEditor.getComponent()

updateFilter

public void updateFilter()

It reparses the text and propagates the filter to any observers.

Specified by:
updateFilter in interface ITableFilterEditor
See Also:
ITableFilterEditor.upd