Search in sources :

Example 21 with WorkflowRootEditPart

use of org.knime.workbench.editor2.editparts.WorkflowRootEditPart in project knime-core by knime.

the class AddAnnotationCommand method execute.

/**
 * {@inheritDoc}
 */
@Override
public void execute() {
    // adapt location to the viewport location and the zoom factor
    // this seems to be a workaround for a bug in the framework
    ZoomManager zoomManager = (ZoomManager) m_viewer.getProperty(ZoomManager.class.toString());
    // adjust the location according to the viewport position
    // seems to be a workaround for a bug in the framework
    // (should imediately deliver the correct view position and not
    // the position of the viewport)
    PrecisionPoint location = new PrecisionPoint(m_location.x, m_location.y);
    WorkflowEditor.adaptZoom(zoomManager, location, true);
    m_anno = new WorkflowAnnotation();
    AnnotationData data = new AnnotationData();
    // it is a workflow annotation
    data.setBgColor(INITIAL_FLOWANNO_COLOR);
    data.setDimension((int) location.preciseX, (int) location.preciseY, DEFAULT_WIDTH, DEFAULT_HEIGHT);
    data.setBorderSize(AnnotationEditPart.getAnnotationDefaultBorderSizePrefValue());
    data.setBorderColor(INITAL_FLOWBORDER_COLOR);
    data.setText(INITIAL_FLOWANNO_TEXT);
    data.setStyleRanges(new AnnotationData.StyleRange[0]);
    m_anno.copyFrom(data, true);
    WorkflowManager hostWFM = getHostWFM();
    hostWFM.addWorkflowAnnotation(m_anno);
    m_viewer.deselectAll();
    // select the new ones....
    if (m_viewer.getRootEditPart().getContents() != null && m_viewer.getRootEditPart().getContents() instanceof WorkflowRootEditPart) {
        ((WorkflowRootEditPart) m_viewer.getRootEditPart().getContents()).setFutureAnnotationSelection(Collections.singleton(m_anno));
    }
}
Also used : ZoomManager(org.eclipse.gef.editparts.ZoomManager) AnnotationData(org.knime.core.node.workflow.AnnotationData) WorkflowRootEditPart(org.knime.workbench.editor2.editparts.WorkflowRootEditPart) WorkflowManager(org.knime.core.node.workflow.WorkflowManager) PrecisionPoint(org.eclipse.draw2d.geometry.PrecisionPoint) WorkflowAnnotation(org.knime.core.node.workflow.WorkflowAnnotation)

Example 22 with WorkflowRootEditPart

use of org.knime.workbench.editor2.editparts.WorkflowRootEditPart in project knime-core by knime.

the class ExpandSubNodeCommand method execute.

/**
 * {@inheritDoc}
 */
@Override
public void execute() {
    try {
        WorkflowManager hostWFM = getHostWFM();
        // close editor of subnode and children
        NodeID wfmID = ((SubNodeContainer) hostWFM.getNodeContainer(m_id)).getWorkflowManager().getID();
        for (IEditorPart child : m_editor.getSubEditors(m_id)) {
            child.getEditorSite().getPage().closeEditor(child, false);
        }
        m_expandResult = hostWFM.expandSubWorkflow(m_id);
        WorkflowAnnotation[] annotations = m_expandResult.getExpandedCopyContent().getAnnotations();
        NodeID[] nodeIDs = m_expandResult.getExpandedCopyContent().getNodeIDs();
        EditPartViewer partViewer = m_editor.getViewer();
        partViewer.deselectAll();
        // select the new ones....
        if (partViewer.getRootEditPart().getContents() != null && partViewer.getRootEditPart().getContents() instanceof WorkflowRootEditPart) {
            WorkflowRootEditPart rootEditPart = (WorkflowRootEditPart) partViewer.getRootEditPart().getContents();
            rootEditPart.setFutureSelection(nodeIDs);
            rootEditPart.setFutureAnnotationSelection(Arrays.asList(annotations));
        }
    } catch (Exception e) {
        String error = "Expanding Wrapped Metanode failed: " + e.getMessage();
        LOGGER.error(error, e);
        MessageDialog.openError(Display.getCurrent().getActiveShell(), "Expand failed", error);
    }
}
Also used : WorkflowRootEditPart(org.knime.workbench.editor2.editparts.WorkflowRootEditPart) WorkflowManager(org.knime.core.node.workflow.WorkflowManager) NodeID(org.knime.core.node.workflow.NodeID) EditPartViewer(org.eclipse.gef.EditPartViewer) IEditorPart(org.eclipse.ui.IEditorPart) WorkflowAnnotation(org.knime.core.node.workflow.WorkflowAnnotation)

Example 23 with WorkflowRootEditPart

use of org.knime.workbench.editor2.editparts.WorkflowRootEditPart in project knime-core by knime.

the class ExpandMetaNodeCommand method execute.

/**
 * {@inheritDoc}
 */
@Override
public void execute() {
    try {
        WorkflowManager hostWFM = getHostWFM();
        // close editor of metanode and children
        for (IEditorPart child : m_editor.getSubEditors(m_id)) {
            child.getEditorSite().getPage().closeEditor(child, false);
        }
        WorkflowCopyContent.Builder cnt = WorkflowCopyContent.builder();
        cnt.setNodeIDs(m_id);
        cnt.setIncludeInOutConnections(true);
        m_undoCopyPersistor = hostWFM.copy(true, cnt.build());
        WorkflowCopyContent wcc = hostWFM.expandMetaNode(m_id);
        m_pastedNodes = wcc.getNodeIDs();
        m_pastedAnnotations = wcc.getAnnotations();
        EditPartViewer partViewer = m_editor.getViewer();
        partViewer.deselectAll();
        // select the new ones....
        if (partViewer.getRootEditPart().getContents() != null && partViewer.getRootEditPart().getContents() instanceof WorkflowRootEditPart) {
            WorkflowRootEditPart rootEditPart = (WorkflowRootEditPart) partViewer.getRootEditPart().getContents();
            rootEditPart.setFutureSelection(m_pastedNodes);
            rootEditPart.setFutureAnnotationSelection(Arrays.asList(m_pastedAnnotations));
        }
    } catch (Exception e) {
        String error = "Expanding Metanode failed: " + e.getMessage();
        LOGGER.error(error, e);
        MessageDialog.openError(Display.getCurrent().getActiveShell(), "Expand failed", error);
    }
}
Also used : WorkflowCopyContent(org.knime.core.node.workflow.WorkflowCopyContent) WorkflowRootEditPart(org.knime.workbench.editor2.editparts.WorkflowRootEditPart) WorkflowManager(org.knime.core.node.workflow.WorkflowManager) EditPartViewer(org.eclipse.gef.EditPartViewer) IEditorPart(org.eclipse.ui.IEditorPart)

Example 24 with WorkflowRootEditPart

use of org.knime.workbench.editor2.editparts.WorkflowRootEditPart in project knime-core by knime.

the class NodeContainerEditPart method updateLabelText.

/**
 * Updates the label text either with or without the node id, depending on the settings in the root.
 */
private void updateLabelText() {
    WorkflowRootEditPart root = getRootEditPart();
    NodeContainerFigure ncFigure = (NodeContainerFigure) getFigure();
    String nodeName = getNodeContainer().getName();
    if (root != null && root.showNodeId()) {
        nodeName += " (#" + getNodeContainer().getID().getIndex() + ")";
    }
    ncFigure.setLabelText(nodeName);
}
Also used : NodeContainerFigure(org.knime.workbench.editor2.figures.NodeContainerFigure)

Aggregations

WorkflowRootEditPart (org.knime.workbench.editor2.editparts.WorkflowRootEditPart)18 WorkflowManager (org.knime.core.node.workflow.WorkflowManager)7 NodeContainerEditPart (org.knime.workbench.editor2.editparts.NodeContainerEditPart)6 NodeContainerFigure (org.knime.workbench.editor2.figures.NodeContainerFigure)5 Point (org.eclipse.draw2d.geometry.Point)4 EditPart (org.eclipse.gef.EditPart)4 WorkflowAnnotation (org.knime.core.node.workflow.WorkflowAnnotation)4 Rectangle (org.eclipse.draw2d.geometry.Rectangle)3 EditPartViewer (org.eclipse.gef.EditPartViewer)3 IEditorPart (org.eclipse.ui.IEditorPart)3 NodeAnnotation (org.knime.core.node.workflow.NodeAnnotation)3 WorkflowManagerUI (org.knime.core.ui.node.workflow.WorkflowManagerUI)3 NodeAnnotationEditPart (org.knime.workbench.editor2.editparts.NodeAnnotationEditPart)3 IFigure (org.eclipse.draw2d.IFigure)2 PrecisionPoint (org.eclipse.draw2d.geometry.PrecisionPoint)2 ZoomManager (org.eclipse.gef.editparts.ZoomManager)2 ScrollingGraphicalViewer (org.eclipse.gef.ui.parts.ScrollingGraphicalViewer)2 ConnectionContainer (org.knime.core.node.workflow.ConnectionContainer)2 NodeContainer (org.knime.core.node.workflow.NodeContainer)2 NodeUIInformation (org.knime.core.node.workflow.NodeUIInformation)2