org.knime.base.node.preproc.filter.column
Class FilterColumnPanel

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by org.knime.base.node.preproc.filter.column.FilterColumnPanel
All Implemented Interfaces:
ImageObserver, MenuContainer, Serializable, Accessible

 class FilterColumnPanel
extends JPanel

Copy of the column filter panel with additional enforce exclude/include buttons. This copy is pending API, the functionality will eventually be moved to the public ColumnFilterPanel.

Author:
Thomas Gabriel, KNIME.com GmbH, Zurich, Switzerland

Nested Class Summary
static class FilterColumnPanel.SelectionOption
           
 
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
 
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 String EXCLUDED_COLUMNS
          Settings key for the excluded columns.
static String INCLUDED_COLUMNS
          Settings key for the excluded columns.
 
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 java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
FilterColumnPanel()
          Creates a new filter column panel with three component which are the include list, button panel to shift elements between the two lists, and the exclude list.
 
Method Summary
 void addChangeListener(ChangeListener listener)
          Adds a listener which gets informed whenever the column filtering changes.
 Set<String> getExcludedColumnSet()
          Returns all columns from the exclude list.
 Set<String> getIncludedColumnSet()
          Returns all columns from the include list.
 FilterColumnPanel.SelectionOption getSelectionOption()
           
 DataType getType(String name)
          Returns the data type for the given cell retrieving it from the initial DataTableSpec.
 void hideColumns(DataColumnSpec... columns)
          Removes the given columns form either include or exclude list and notifies all listeners.
 void removeAllColumnFilterChangeListener()
          Removes all column filter change listener.
 void removeChangeListener(ChangeListener listener)
          Removes the given listener from this filter column panel.
 void resetHiding()
          Re-adds all remove/hidden columns to the exclude list.
 void setAddAllButtonText(String text)
          Setter for the original "Add All" button.
 void setAddButtonText(String text)
          Setter for the original "Add" button.
 void setEnabled(boolean enabled)
          Enables or disables all components on this panel.
 void setExcludeTitle(String title)
          Sets the title of the exclude panel.
 void setIncludeTitle(String title)
          Sets the title of the include panel.
protected  void setListCellRenderer(ListCellRenderer renderer)
          Set the renderer that is used for both list in this panel.
 void setRemoveAllButtonText(String text)
          Setter for the original "Remove All" button.
 void setRemoveButtonText(String text)
          Setter for the original "Remove" button.
 void update(DataTableSpec spec, FilterColumnPanel.SelectionOption selOption, Collection<String> list)
          Updates this filter panel by removing all current selections from the include and exclude list.
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
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, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setFocusTraversalKeys, setFont, 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, addInputMethodListener, 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, getInputMethodRequests, 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, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, 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

INCLUDED_COLUMNS

public static final String INCLUDED_COLUMNS
Settings key for the excluded columns.

See Also:
Constant Field Values

EXCLUDED_COLUMNS

public static final String EXCLUDED_COLUMNS
Settings key for the excluded columns.

See Also:
Constant Field Values
Constructor Detail

FilterColumnPanel

public FilterColumnPanel()
Creates a new filter column panel with three component which are the include list, button panel to shift elements between the two lists, and the exclude list. The include list then will contain all values to filter.

Method Detail

setEnabled

public void setEnabled(boolean enabled)
Enables or disables all components on this panel.

Overrides:
setEnabled in class JComponent

addChangeListener

public void addChangeListener(ChangeListener listener)
Adds a listener which gets informed whenever the column filtering changes.

Parameters:
listener - the listener

removeChangeListener

public void removeChangeListener(ChangeListener listener)
Removes the given listener from this filter column panel.

Parameters:
listener - the listener.

removeAllColumnFilterChangeListener

public void removeAllColumnFilterChangeListener()
Removes all column filter change listener.


update

public void update(DataTableSpec spec,
                   FilterColumnPanel.SelectionOption selOption,
                   Collection<String> list)
Updates this filter panel by removing all current selections from the include and exclude list. The include list will contains all column names from the spec afterwards.

Parameters:
spec - the spec to retrieve the column names from
selOption - selection option FilterColumnPanel.SelectionOption
list - the list of columns to exclude or include depending on the inclusion/exclusion option that need to be set before

getExcludedColumnSet

public Set<String> getExcludedColumnSet()
Returns all columns from the exclude list.

Returns:
a set of all columns from the exclude list

getIncludedColumnSet

public Set<String> getIncludedColumnSet()
Returns all columns from the include list.

Returns:
a list of all columns from the include list

getSelectionOption

public FilterColumnPanel.SelectionOption getSelectionOption()

getType

public DataType getType(String name)
Returns the data type for the given cell retrieving it from the initial DataTableSpec. If this name could not found, return null.

Parameters:
name - the column name to get the data type for
Returns:
the data type or null

setListCellRenderer

protected final void setListCellRenderer(ListCellRenderer renderer)
Set the renderer that is used for both list in this panel.

Parameters:
renderer - the new renderer being used
See Also:
JList.setCellRenderer(javax.swing.ListCellRenderer)

hideColumns

public final void hideColumns(DataColumnSpec... columns)
Removes the given columns form either include or exclude list and notifies all listeners. Does not throw an exception if the argument contains null elements or is not contained in any of the lists.

Parameters:
columns - the columns to remove

resetHiding

public final void resetHiding()
Re-adds all remove/hidden columns to the exclude list.


setIncludeTitle

public final void setIncludeTitle(String title)
Sets the title of the include panel.

Parameters:
title - the new title

setExcludeTitle

public final void setExcludeTitle(String title)
Sets the title of the exclude panel.

Parameters:
title - the new title

setRemoveAllButtonText

public void setRemoveAllButtonText(String text)
Setter for the original "Remove All" button.

Parameters:
text - the new button title

setAddAllButtonText

public void setAddAllButtonText(String text)
Setter for the original "Add All" button.

Parameters:
text - the new button title

setRemoveButtonText

public void setRemoveButtonText(String text)
Setter for the original "Remove" button.

Parameters:
text - the new button title

setAddButtonText

public void setAddButtonText(String text)
Setter for the original "Add" button.

Parameters:
text - the new button title


Copyright, 2003 - 2010. All rights reserved.
University of Konstanz, Germany.
Chair for Bioinformatics and Information Mining, Prof. Dr. Michael R. Berthold.
You may not modify, publish, transmit, transfer or sell, reproduce, create derivative works from, distribute, perform, display, or in any way exploit any of the content, in whole or in part, except as otherwise expressly permitted in writing by the copyright owner or as specified in the license file distributed with this product.