package de.mpicbg.knime.scripting.r.node.plot; import org.knime.core.node.NodeView; import de.mpicbg.knime.scripting.r.plots.AbstractRPlotNodeModel; /** * <code>NodeView</code> for the "RSnippet" Node. * * @author Holger Brandl (MPI-CBG) */ public class RPlotNodeView<RPlotModel extends AbstractRPlotNodeModel> extends NodeView<RPlotModel> { /** * Creates a new view. * * @param nodeModel The model (class: {@link de.mpicbg.knime.scripting.r.node.snippet.RSnippetNodeModel}) */ public RPlotNodeView(final RPlotModel nodeModel) { super(nodeModel); updateView(nodeModel); } private void updateView(RPlotModel nodeModel) { if (nodeModel.getWSFile() == null) { nodeModel.setPlotWarning(); return; } RPlotCanvas rPlotCanvas = new RPlotCanvas(nodeModel); setComponent(rPlotCanvas); } /** * {@inheritDoc} */ @Override protected void modelChanged() { // retrieve the new model from your nodemodel and // update the view. RPlotModel nodeModel = getNodeModel(); assert nodeModel != null; // be aware of a possibly not executed nodeModel! The data you retrieve // from your nodemodel could be null, emtpy, or invalid in any kind. updateView(getNodeModel()); } /** * {@inheritDoc} */ @Override protected void onClose() { // things to do when closing the view } /** * {@inheritDoc} */ @Override protected void onOpen() { // things to do when opening the view } }