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));
}
}
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);
}
}
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);
}
}
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);
}
Aggregations