org.knime.base.node.preproc.rowsplit
Class NumericRowSplitterNodeDialogPane

java.lang.Object
  extended by org.knime.core.node.NodeDialogPane
      extended by org.knime.base.node.preproc.rowsplit.NumericRowSplitterNodeDialogPane

public class NumericRowSplitterNodeDialogPane
extends NodeDialogPane

Author:
Thomas Gabriel, University of Konstanz

Constructor Summary
NumericRowSplitterNodeDialogPane()
          Creates a new dialog pane with a field for numeric column selection, as well as components to define lower and upper bound optionally.
 
Method Summary
(package private) static SettingsModelString createColumnSelectionModel()
           
(package private) static SettingsModelBoolean createLowerBoundCheckBoxModel()
           
(package private) static SettingsModelString createLowerBoundModel()
           
(package private) static SettingsModelDouble createLowerBoundTextfieldModel()
           
(package private) static SettingsModelBoolean createUpperBoundCheckBoxModel()
           
(package private) static SettingsModelString createUpperBoundModel()
           
(package private) static SettingsModelDouble createUpperBoundTextfieldModel()
           
(package private) static boolean includeLowerBound(SettingsModelString model)
           
(package private) static boolean includeUpperBound(SettingsModelString model)
           
protected  void loadSettingsFrom(NodeSettingsRO settings, DataTableSpec[] specs)
          Invoked before the dialog window is opened.
protected  void saveSettingsTo(NodeSettingsWO settings)
          Invoked when the settings need to be applied.
 
Methods inherited from class org.knime.core.node.NodeDialogPane
addJobMgrTab, addTab, addTabAt, createFlowVariableModel, createFlowVariableModel, createFlowVariableModel, finishEditingAndSaveSettingsTo, getAvailableFlowVariables, getPanel, getTab, getTabIndex, internalLoadSettingsFrom, loadSettingsFrom, loadSettingsFrom, onCancel, onClose, onOpen, removeTab, renameTab, saveSettingsTo, setEnabled, setSelected
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

NumericRowSplitterNodeDialogPane

public NumericRowSplitterNodeDialogPane()
Creates a new dialog pane with a field for numeric column selection, as well as components to define lower and upper bound optionally.

Method Detail

loadSettingsFrom

protected void loadSettingsFrom(NodeSettingsRO settings,
                                DataTableSpec[] specs)
                         throws NotConfigurableException
Description copied from class: NodeDialogPane
Invoked before the dialog window is opened. The settings object passed, contains the current settings of the corresponding node model. The model and the dialog must agree on a mutual contract on how settings are stored in the spec. I.e. they must able to read each other's settings.

The implementation must be able to handle invalid or incomplete settings as the model may not have any reasonable values yet (for example when the dialog is opened for the first time). When an empty/invalid settings object is passed the dialog should set default values in its components.

Overrides:
loadSettingsFrom in class NodeDialogPane
Parameters:
settings - The settings to load into the dialog. Could be an empty object or contain invalid settings. But will never be null.
specs - The input data table specs. Items of the array could be null if no spec is available from the corresponding input port.
Throws:
NotConfigurableException - if the dialog cannot be opened because of real invalid settings or if any preconditions are not fulfilled, e.g. no predecessor node, no nominal column in input table, etc.
See Also:
NodeModel.loadSettingsFrom(NodeSettingsRO)

saveSettingsTo

protected void saveSettingsTo(NodeSettingsWO settings)
                       throws InvalidSettingsException
Description copied from class: NodeDialogPane
Invoked when the settings need to be applied. The implementation should write the current user settings from its components into the passed object. It should not check consistency or completeness of the settings - this is part of the model's load method. The only situation this method would throw an exception is when a component contains an invalid value that can't be stored in the settings object.
The settings must be written in a way the model is able to load in, i.e. with the model's keys.

Specified by:
saveSettingsTo in class NodeDialogPane
Parameters:
settings - The settings object to write into.
Throws:
InvalidSettingsException - If the settings are not applicable to the model.
See Also:
NodeModel.loadSettingsFrom(NodeSettingsRO)

createColumnSelectionModel

static final SettingsModelString createColumnSelectionModel()
Returns:
model used for numeric column selection

createLowerBoundCheckBoxModel

static final SettingsModelBoolean createLowerBoundCheckBoxModel()
Returns:
model to check if lower bound is defined

createLowerBoundTextfieldModel

static final SettingsModelDouble createLowerBoundTextfieldModel()
Returns:
a new model to specify lower bound value

createLowerBoundModel

static final SettingsModelString createLowerBoundModel()
Returns:
a new string model to select lower bound property

createUpperBoundCheckBoxModel

static final SettingsModelBoolean createUpperBoundCheckBoxModel()
Returns:
model to check if upper bound is defined

createUpperBoundTextfieldModel

static final SettingsModelDouble createUpperBoundTextfieldModel()
Returns:
a new model to specify a upper value

createUpperBoundModel

static final SettingsModelString createUpperBoundModel()
Returns:
a new string model to select the upper bound property

includeLowerBound

static final boolean includeLowerBound(SettingsModelString model)
Parameters:
model - contains the selected lower bound property
Returns:
true if the belongs to the interval, otherwise false

includeUpperBound

static final boolean includeUpperBound(SettingsModelString model)
Parameters:
model - contains the selected upper bound property
Returns:
true if the belongs to the interval, otherwise false


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.