use of org.eclipse.gmf.runtime.diagram.ui.editparts.CompartmentEditPart in project tdi-studio-se by Talend.
the class BusinessDiagramEditor method selectionChanged.
@Override
public void selectionChanged(IWorkbenchPart part, ISelection selection) {
super.selectionChanged(part, selection);
IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
JobSettingsView view = (JobSettingsView) page.findView(JobSettingsView.ID);
getDiagramEditorInput().getItem().getProperty().eAdapters().remove(dirtyListener);
if (view == null) {
return;
}
if (!(selection instanceof IStructuredSelection)) {
return;
}
Object firstElement = ((IStructuredSelection) selection).getFirstElement();
if (!(selection instanceof IStructuredSelection)) {
return;
} else if (firstElement instanceof RepositoryNode) {
return;
}
// for Find Assignment
if (((IStructuredSelection) selection).size() > 0) {
DiagramEditPart diagramEditPart = getDiagramEditPart();
if (diagramEditPart instanceof BusinessProcessEditPart) {
BusinessProcessEditPart processPart = (BusinessProcessEditPart) diagramEditPart;
for (Object object : processPart.getChildren()) {
if (object instanceof BusinessItemShapeEditPart) {
BusinessItemShapeEditPart shapEditPart = (BusinessItemShapeEditPart) object;
IFigure figure = shapEditPart.getFigure();
for (Object child : figure.getChildren()) {
if (child instanceof BusinessItemShapeFigure) {
BusinessItemShapeFigure shapFigure = (BusinessItemShapeFigure) child;
Border border = shapFigure.getBorder();
if (border != null) {
shapFigure.setDrawFrame(false);
shapFigure.revalidate();
shapFigure.repaint();
}
}
}
}
}
}
}
// to refresh the jobsettings view
if (((IStructuredSelection) selection).size() > 1) {
view.cleanDisplay();
} else {
if (firstElement instanceof BusinessItemShapeEditPart || firstElement instanceof BaseBusinessItemRelationShipEditPart || firstElement instanceof NoteEditPart || firstElement instanceof NoteAttachmentEditPart) {
view.refresh(false, firstElement);
} else if (firstElement instanceof BusinessProcessEditPart || firstElement instanceof CompartmentEditPart) {
view.refresh(true, this);
}
}
getDiagramEditorInput().getItem().getProperty().eAdapters().add(dirtyListener);
}
Aggregations