use of org.eclipse.gef.editparts.AbstractEditPart in project tdi-studio-se by Talend.
the class AbstractTalendEditor method setFocus.
/*
* (non-Javadoc)
*
* @see org.eclipse.gef.ui.parts.GraphicalEditor#setFocus()
*/
@Override
public void setFocus() {
IComponentSettingsView viewer = (IComponentSettingsView) PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().findView(IComponentSettingsView.ID);
if (viewer != null) {
IStructuredSelection selection = (IStructuredSelection) getViewer().getSelection();
if (selection.size() == 1 && (selection.getFirstElement() instanceof NodePart || selection.getFirstElement() instanceof ConnectionPart || selection.getFirstElement() instanceof SubjobContainerPart || selection.getFirstElement() instanceof ConnLabelEditPart)) {
viewer.setElement((Element) ((AbstractEditPart) selection.getFirstElement()).getModel());
} else {
viewer.cleanDisplay();
}
}
JobSettings.switchToCurJobSettingsView();
if (GlobalServiceRegister.getDefault().isServiceRegistered(ITestContainerProviderService.class)) {
ITestContainerProviderService testContainerService = (ITestContainerProviderService) GlobalServiceRegister.getDefault().getService(ITestContainerProviderService.class);
if (testContainerService != null) {
testContainerService.switchToCurTestContainerView();
}
}
super.setFocus();
if (!readOnly) {
// When gain focus, check read-only to disable read-only mode if process has been restore while opened :
// 1. Enabled/disabled components :
// process.checkReadOnly();
// 2. Set backgroung color :
List children = getViewer().getRootEditPart().getChildren();
if (!children.isEmpty()) {
ProcessPart rep = (ProcessPart) children.get(0);
rep.ajustReadOnly();
}
}
}
use of org.eclipse.gef.editparts.AbstractEditPart in project tdi-studio-se by Talend.
the class ClipboardActionHandler method saveCut.
private void saveCut(ISelection object) {
cutItemIds = new HashMap();
if (object instanceof IStructuredSelection) {
for (Object obj : ((IStructuredSelection) object).toList()) {
if (obj instanceof AbstractEditPart) {
AbstractEditPart editPart = (AbstractEditPart) obj;
EObject element = ((View) editPart.getModel()).getElement();
if (element instanceof BusinessItem) {
BusinessItem businessItem = (BusinessItem) element;
List assignments = new ArrayList();
for (Object assignment : businessItem.getAssignments()) {
BusinessAssignment ba = (BusinessAssignment) assignment;
TalendItem item = ba.getTalendItem();
if (item != null) {
assignments.add(item.getId());
}
}
cutItemIds.put(businessItem, assignments);
}
}
}
}
}
use of org.eclipse.gef.editparts.AbstractEditPart in project tdi-studio-se by Talend.
the class ClipboardActionHandler method transfer.
private void transfer(ISelection object) {
if (object instanceof IStructuredSelection) {
List<BusinessItem> selections = new ArrayList();
for (Object obj : ((IStructuredSelection) object).toList()) {
if (obj instanceof AbstractEditPart) {
AbstractEditPart editPart = (AbstractEditPart) obj;
EObject element = ((View) editPart.getModel()).getElement();
if (element instanceof BusinessItem) {
selections.add((BusinessItem) element);
}
}
}
TemplateTransfer.getInstance().setObject(selections);
}
}
use of org.eclipse.gef.editparts.AbstractEditPart in project knime-core by knime.
the class NewWorkflowContainerEditPolicy method handleNodeDrop.
/**
* @param manager the workflow manager
* @param factory the ndoe factory
* @param request the drop request
*/
private Command handleNodeDrop(final WorkflowManager manager, final NodeFactory<? extends NodeModel> factory, final CreateDropRequest request) {
RequestType requestType = request.getRequestType();
Point location = request.getLocation();
boolean snapToGrid = WorkflowEditor.getActiveEditorSnapToGrid();
if (requestType.equals(RequestType.CREATE)) {
// create a new node
return new CreateNodeCommand(manager, factory, location, snapToGrid);
} else {
AbstractEditPart editPart = request.getEditPart();
if (requestType.equals(RequestType.INSERT)) {
// insert new node into connection
InsertNodeCommand insertCommand = new InsertNodeCommand(manager, factory, location, snapToGrid, (ConnectionContainerEditPart) editPart);
if (request.createSpace()) {
CreateSpaceAction csa = new CreateSpaceAction((WorkflowEditor) PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActiveEditor(), request.getDirection(), request.getDistance());
return insertCommand.chain(csa.createCompoundCommand(csa.selectedParts()));
} else {
return insertCommand;
}
} else if (requestType.equals(RequestType.REPLACE)) {
// replace node with a node
return new ReplaceNodeCommand(manager, factory, location, snapToGrid, (NodeContainerEditPart) editPart);
} else {
return null;
}
}
}
use of org.eclipse.gef.editparts.AbstractEditPart in project knime-core by knime.
the class NewWorkflowContainerEditPolicy method handleMetaNodeTemplateDrop.
/**
* @param manager the workflow manager
* @param request the drop request
* @param filestore the location of the metanode template
*/
private Command handleMetaNodeTemplateDrop(final WorkflowManager manager, final CreateDropRequest request, final AbstractExplorerFileStore filestore) {
RequestType requestType = request.getRequestType();
Point location = request.getLocation();
boolean snapToGrid = WorkflowEditor.getActiveEditorSnapToGrid();
if (requestType.equals(RequestType.CREATE)) {
// create metanode from template
return new CreateMetaNodeTemplateCommand(manager, filestore, location, snapToGrid);
} else {
AbstractEditPart editPart = request.getEditPart();
if (requestType.equals(RequestType.INSERT)) {
// insert metanode from template into connection
InsertMetaNodeTempalteCommand insertCommand = new InsertMetaNodeTempalteCommand(manager, filestore, location, snapToGrid, (ConnectionContainerEditPart) editPart);
if (request.createSpace()) {
CreateSpaceAction csa = new CreateSpaceAction((WorkflowEditor) PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActiveEditor(), request.getDirection(), request.getDistance());
return insertCommand.chain(csa.createCompoundCommand(csa.selectedParts()));
} else {
return insertCommand;
}
} else if (requestType.equals(RequestType.REPLACE)) {
// replace node with metanode from template
return new ReplaceMetaNodeTemplateCommand(manager, filestore, location, snapToGrid, (NodeContainerEditPart) editPart);
} else {
return null;
}
}
}
Aggregations