Search in sources :

Example 1 with QuickFormConfigurationPanel

use of org.knime.core.quickform.QuickFormConfigurationPanel in project knime-core by knime.

the class MetaNodeDialogPane method loadSettingsFrom.

/**
 * {@inheritDoc}
 */
@Override
protected void loadSettingsFrom(final NodeSettingsRO settings, final PortObjectSpec[] specs) throws NotConfigurableException {
    // we may have quickform nodes to allow a column selection?)
    for (Map.Entry<NodeID, MetaNodeDialogNode> e : m_nodes.entrySet()) {
        if (e.getValue() instanceof QuickFormInputNode) {
            AbstractQuickFormConfiguration config = ((QuickFormInputNode) e.getValue()).getConfiguration();
            AbstractQuickFormValueInConfiguration valueConfig = config.getValueConfiguration();
            try {
                NodeSettingsRO subSettings = settings.getNodeSettings(Integer.toString(e.getKey().getIndex()));
                valueConfig.loadValueInDialog(subSettings);
                QuickFormConfigurationPanel panel = m_quickFormInputNodePanels.get(e.getKey());
                assert panel != null : "No panel instance for node " + e.getKey();
                panel.loadSettings(valueConfig);
            } catch (InvalidSettingsException ise) {
            // no op
            }
        } else if (e.getValue() instanceof DialogNode) {
            final DialogNode dialogNode = (DialogNode) e.getValue();
            final DialogNodeValue nodeValue = dialogNode.createEmptyDialogValue();
            final String parameterName = SubNodeContainer.getDialogNodeParameterName(dialogNode, e.getKey());
            try {
                NodeSettingsRO subSettings = settings.getNodeSettings(parameterName);
                nodeValue.loadFromNodeSettingsInDialog(subSettings);
                final DialogNodePanel dialogNodePanel = m_dialogNodePanels.get(e.getKey());
                dialogNodePanel.loadNodeValue(nodeValue);
            } catch (InvalidSettingsException ex) {
            // no op
            }
        }
    }
}
Also used : AbstractQuickFormValueInConfiguration(org.knime.core.quickform.AbstractQuickFormValueInConfiguration) QuickFormInputNode(org.knime.core.quickform.in.QuickFormInputNode) QuickFormConfigurationPanel(org.knime.core.quickform.QuickFormConfigurationPanel) DialogNode(org.knime.core.node.dialog.DialogNode) MetaNodeDialogNode(org.knime.core.node.dialog.MetaNodeDialogNode) AbstractQuickFormConfiguration(org.knime.core.quickform.AbstractQuickFormConfiguration) MetaNodeDialogNode(org.knime.core.node.dialog.MetaNodeDialogNode) InvalidSettingsException(org.knime.core.node.InvalidSettingsException) NodeSettingsRO(org.knime.core.node.NodeSettingsRO) DialogNodeValue(org.knime.core.node.dialog.DialogNodeValue) LinkedHashMap(java.util.LinkedHashMap) Map(java.util.Map) DialogNodePanel(org.knime.core.node.dialog.DialogNodePanel)

Example 2 with QuickFormConfigurationPanel

use of org.knime.core.quickform.QuickFormConfigurationPanel in project knime-core by knime.

the class MetaNodeDialogPane method saveSettingsTo.

/**
 * {@inheritDoc}
 */
@Override
protected void saveSettingsTo(final NodeSettingsWO settings) throws InvalidSettingsException {
    for (Map.Entry<NodeID, MetaNodeDialogNode> e : m_nodes.entrySet()) {
        final NodeID key = e.getKey();
        if (e.getValue() instanceof QuickFormInputNode) {
            AbstractQuickFormConfiguration config = ((QuickFormInputNode) e.getValue()).getConfiguration();
            AbstractQuickFormValueInConfiguration valueConfig = config.createValueConfiguration();
            QuickFormConfigurationPanel value = m_quickFormInputNodePanels.get(key);
            value.saveSettings(valueConfig);
            NodeSettingsWO subSettings = settings.addNodeSettings((Integer.toString(key.getIndex())));
            valueConfig.saveValue(subSettings);
        } else if (e.getValue() instanceof DialogNode) {
            DialogNode dialogNode = (DialogNode) e.getValue();
            DialogNodePanel nodePanel = m_dialogNodePanels.get(key);
            DialogNodeValue nodeValue = nodePanel.getNodeValue();
            final String parameterName = SubNodeContainer.getDialogNodeParameterName(dialogNode, key);
            if (nodeValue != null) {
                NodeSettingsWO subSettings = settings.addNodeSettings((parameterName));
                nodeValue.saveToNodeSettings(subSettings);
            }
        }
    }
}
Also used : AbstractQuickFormValueInConfiguration(org.knime.core.quickform.AbstractQuickFormValueInConfiguration) NodeSettingsWO(org.knime.core.node.NodeSettingsWO) QuickFormInputNode(org.knime.core.quickform.in.QuickFormInputNode) QuickFormConfigurationPanel(org.knime.core.quickform.QuickFormConfigurationPanel) DialogNode(org.knime.core.node.dialog.DialogNode) MetaNodeDialogNode(org.knime.core.node.dialog.MetaNodeDialogNode) AbstractQuickFormConfiguration(org.knime.core.quickform.AbstractQuickFormConfiguration) MetaNodeDialogNode(org.knime.core.node.dialog.MetaNodeDialogNode) DialogNodeValue(org.knime.core.node.dialog.DialogNodeValue) LinkedHashMap(java.util.LinkedHashMap) Map(java.util.Map) DialogNodePanel(org.knime.core.node.dialog.DialogNodePanel)

Aggregations

LinkedHashMap (java.util.LinkedHashMap)2 Map (java.util.Map)2 DialogNode (org.knime.core.node.dialog.DialogNode)2 DialogNodePanel (org.knime.core.node.dialog.DialogNodePanel)2 DialogNodeValue (org.knime.core.node.dialog.DialogNodeValue)2 MetaNodeDialogNode (org.knime.core.node.dialog.MetaNodeDialogNode)2 AbstractQuickFormConfiguration (org.knime.core.quickform.AbstractQuickFormConfiguration)2 AbstractQuickFormValueInConfiguration (org.knime.core.quickform.AbstractQuickFormValueInConfiguration)2 QuickFormConfigurationPanel (org.knime.core.quickform.QuickFormConfigurationPanel)2 QuickFormInputNode (org.knime.core.quickform.in.QuickFormInputNode)2 InvalidSettingsException (org.knime.core.node.InvalidSettingsException)1 NodeSettingsRO (org.knime.core.node.NodeSettingsRO)1 NodeSettingsWO (org.knime.core.node.NodeSettingsWO)1