org.knime.core.node.defaultnodesettings
Class DialogComponentColumnFilter

java.lang.Object
  extended by org.knime.core.node.defaultnodesettings.DialogComponent
      extended by org.knime.core.node.defaultnodesettings.DialogComponentColumnFilter

public class DialogComponentColumnFilter
extends DialogComponent

Provides a component for column filtering. This component for the default dialog allows to enter a list of columns to include from the set of available columns.

Author:
M. Berthold, University of Konstanz

Nested Class Summary
 
Nested classes/interfaces inherited from class org.knime.core.node.defaultnodesettings.DialogComponent
DialogComponent.EmptySettingsModel
 
Field Summary
 
Fields inherited from class org.knime.core.node.defaultnodesettings.DialogComponent
DEFAULT_BG, DEFAULT_FG
 
Constructor Summary
DialogComponentColumnFilter(SettingsModelFilterString model, int inPortIndex)
          Deprecated. Use the constructor @{link DialogComponentColumnFilter(SettingsModelFilterString, int, boolean) instead.
DialogComponentColumnFilter(SettingsModelFilterString model, int inPortIndex, boolean showKeepAllBox)
          Creates a new filter column panel with three components which are the include list, button panel to shift elements between the two lists, and the exclude list.
DialogComponentColumnFilter(SettingsModelFilterString model, int inPortIndex, boolean showKeepAllBox, Class<? extends DataValue>... allowedTypes)
          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.
DialogComponentColumnFilter(SettingsModelFilterString model, int inPortIndex, boolean showKeepAllBox, ColumnFilter filter)
          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.
DialogComponentColumnFilter(SettingsModelFilterString model, int inPortIndex, Class<? extends DataValue>... allowedTypes)
          Deprecated. Use the constructor DialogComponentColumnFilter(SettingsModelFilterString, int, boolean, Class...) instead
DialogComponentColumnFilter(SettingsModelFilterString model, int inPortIndex, ColumnFilter filter)
          Deprecated. Use the constructor DialogComponentColumnFilter(SettingsModelFilterString, int, boolean, ColumnFilter) instead
 
Method Summary
protected  void checkConfigurabilityBeforeLoad(PortObjectSpec[] specs)
          Will be called before the new values are loaded from the NodeSettings object.
protected  void setEnabledComponents(boolean enabled)
          This method is called by the above (final) DialogComponent.setEnabled(boolean) method.
 void setExcludeTitle(String title)
          Sets the title of the exclude panel.
 void setIncludeTitle(String title)
          Sets the title of the include panel.
 void setToolTipText(String text)
          Implement this so it sets the tooltip on your component(s).
protected  void updateComponent()
          Read the value from the DialogComponent.EmptySettingsModel and set/display it in the component.
protected  void validateSettingsBeforeSave()
          We store the values from the panel in the model now.
 
Methods inherited from class org.knime.core.node.defaultnodesettings.DialogComponent
clearError, getComponentPanel, getLastTableSpec, getLastTableSpecs, getModel, loadSettingsFrom, saveSettingsTo, setEnabled, showError
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DialogComponentColumnFilter

@Deprecated
public DialogComponentColumnFilter(SettingsModelFilterString model,
                                              int inPortIndex)
Deprecated. Use the constructor @{link DialogComponentColumnFilter(SettingsModelFilterString, int, boolean) instead.

Creates a new filter column panel with three components which are the include list, button panel to shift elements between the two lists, and the exclude list. The settings model will hold the names of the columns to be in- or excluded.

Parameters:
model - a string array model that stores the value
inPortIndex - the index of the port whose table is filtered.

DialogComponentColumnFilter

public DialogComponentColumnFilter(SettingsModelFilterString model,
                                   int inPortIndex,
                                   boolean showKeepAllBox)
Creates a new filter column panel with three components which are the include list, button panel to shift elements between the two lists, and the exclude list. The settings model will hold the names of the columns to be in- or excluded.

Parameters:
model - a string array model that stores the value
inPortIndex - the index of the port whose table is filtered
showKeepAllBox - if the keep-all check box should be visible

DialogComponentColumnFilter

@Deprecated
public DialogComponentColumnFilter(SettingsModelFilterString model,
                                              int inPortIndex,
                                              Class<? extends DataValue>... allowedTypes)
Deprecated. Use the constructor DialogComponentColumnFilter(SettingsModelFilterString, int, boolean, Class...) instead

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. The allowed types filters out every column which is not compatible with the allowed type.

Parameters:
model - a string array model that stores the value
inPortIndex - the index of the port whose table is filtered.
allowedTypes - filter for the columns all column not compatible with any of the allowed types are not displayed.

DialogComponentColumnFilter

public DialogComponentColumnFilter(SettingsModelFilterString model,
                                   int inPortIndex,
                                   boolean showKeepAllBox,
                                   Class<? extends DataValue>... allowedTypes)
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. The allowed types filters out every column which is not compatible with the allowed type.

Parameters:
model - a string array model that stores the value
inPortIndex - the index of the port whose table is filtered
showKeepAllBox - if the keep-all check box should be visible
allowedTypes - filter for the columns all column not compatible with any of the allowed types are not displayed

DialogComponentColumnFilter

@Deprecated
public DialogComponentColumnFilter(SettingsModelFilterString model,
                                              int inPortIndex,
                                              ColumnFilter filter)
Deprecated. Use the constructor DialogComponentColumnFilter(SettingsModelFilterString, int, boolean, ColumnFilter) instead

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. The allowed types filters out every column which is not compatible with the allowed type.

Parameters:
model - a string array model that stores the value
inPortIndex - the index of the port whose table is filtered.
filter - for the columns, all column not compatible with any of the allowed types are not displayed.

DialogComponentColumnFilter

public DialogComponentColumnFilter(SettingsModelFilterString model,
                                   int inPortIndex,
                                   boolean showKeepAllBox,
                                   ColumnFilter filter)
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. The allowed types filters out every column which is not compatible with the allowed type.

Parameters:
model - a string array model that stores the value
inPortIndex - the index of the port whose table is filtered
showKeepAllBox - if the keep-all check box should be visible
filter - for the columns, all column not compatible with any of the allowed types are not displayed
Method Detail

updateComponent

protected void updateComponent()
Read the value from the DialogComponent.EmptySettingsModel and set/display it in the component. (Called after loading new values in the model to ensure they are transfered into the component.) Implementations should set the new value(s) in the components, should clear any possible error indications, and should also take over the enable state.

Specified by:
updateComponent in class DialogComponent

validateSettingsBeforeSave

protected void validateSettingsBeforeSave()
                                   throws InvalidSettingsException
We store the values from the panel in the model now. Will be called before the value of the component is saved into the NodeSettings object. Can be used to commit values, to update the model and must be used to validate the entered value. NOTE: it will be called even if the model is disabled.

Specified by:
validateSettingsBeforeSave in class DialogComponent
Throws:
InvalidSettingsException - if the entered values are invalid

checkConfigurabilityBeforeLoad

protected void checkConfigurabilityBeforeLoad(PortObjectSpec[] specs)
                                       throws NotConfigurableException
Will be called before the new values are loaded from the NodeSettings object. Can be used to avoid loading due to missing, invalid, or inappropriate incoming table specs.
Note: This is called even if the component is disabled. Don't reject specs that might be handled by other components

Specified by:
checkConfigurabilityBeforeLoad in class DialogComponent
Parameters:
specs - the specs from the input ports.
Throws:
NotConfigurableException - if the component can't be used due to inappropriate table specs. (Prevents the dialog from being opened.)

setEnabledComponents

protected void setEnabledComponents(boolean enabled)
This method is called by the above (final) DialogComponent.setEnabled(boolean) method. Derived classes should disable all the contained components in here.

Specified by:
setEnabledComponents in class DialogComponent
Parameters:
enabled - the new status of the component
See Also:
DialogComponent.setEnabled(boolean)

setIncludeTitle

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

Parameters:
title - the new title

setExcludeTitle

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

Parameters:
title - the new title

setToolTipText

public void setToolTipText(String text)
Implement this so it sets the tooltip on your component(s).

Specified by:
setToolTipText in class DialogComponent
Parameters:
text - the tool tip text to set.
See Also:
JComponent.setToolTipText(java.lang.String)


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.