package org.flowerplatform.eclipse;
import org.eclipse.core.expressions.PropertyTester;
import org.eclipse.ui.IEditorPart;
import org.eclipse.ui.IEditorReference;
import org.eclipse.ui.PlatformUI;
import org.flowerplatform.eclipse.part.FlowerDiagramEditor;
public class IsDiagramEditorOpenTest extends PropertyTester {
public static final String PROPERTY_IS_DIAGRAM_OPEN = "isDiagramEditorOpen";
public IsDiagramEditorOpenTest() {
}
@Override
public boolean test(Object receiver, String property, Object[] args,
Object expectedValue) {
if (PROPERTY_IS_DIAGRAM_OPEN.equals(property)) {
IEditorReference[] editorReference = PlatformUI.getWorkbench()
.getActiveWorkbenchWindow().getActivePage()
.getEditorReferences();
for (int i = editorReference.length - 1; i >= 0; i--) {
IEditorPart edit = editorReference[i].getEditor(false);
if (edit instanceof FlowerDiagramEditor) {
return true;
}
}
}
return false;
}
}