You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by jo...@apache.org on 2009/04/15 20:45:59 UTC
svn commit: r765300 - in
/incubator/uima/sandbox/trunk/CasEditorEclipsePlugin/src/main/java/org/apache/uima/caseditor:
editor/AnnotationEditor.java ui/action/DocumentActionRunnable.java
ui/property/AnnotationPropertyPage.java
Author: joern
Date: Wed Apr 15 18:45:58 2009
New Revision: 765300
URL: http://svn.apache.org/viewvc?rev=765300&view=rev
Log:
UIMA-569
Modified:
incubator/uima/sandbox/trunk/CasEditorEclipsePlugin/src/main/java/org/apache/uima/caseditor/editor/AnnotationEditor.java
incubator/uima/sandbox/trunk/CasEditorEclipsePlugin/src/main/java/org/apache/uima/caseditor/ui/action/DocumentActionRunnable.java
incubator/uima/sandbox/trunk/CasEditorEclipsePlugin/src/main/java/org/apache/uima/caseditor/ui/property/AnnotationPropertyPage.java
Modified: incubator/uima/sandbox/trunk/CasEditorEclipsePlugin/src/main/java/org/apache/uima/caseditor/editor/AnnotationEditor.java
URL: http://svn.apache.org/viewvc/incubator/uima/sandbox/trunk/CasEditorEclipsePlugin/src/main/java/org/apache/uima/caseditor/editor/AnnotationEditor.java?rev=765300&r1=765299&r2=765300&view=diff
==============================================================================
--- incubator/uima/sandbox/trunk/CasEditorEclipsePlugin/src/main/java/org/apache/uima/caseditor/editor/AnnotationEditor.java (original)
+++ incubator/uima/sandbox/trunk/CasEditorEclipsePlugin/src/main/java/org/apache/uima/caseditor/editor/AnnotationEditor.java Wed Apr 15 18:45:58 2009
@@ -79,9 +79,13 @@
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Display;
import org.eclipse.ui.IEditorInput;
+import org.eclipse.ui.IEditorPart;
import org.eclipse.ui.ISelectionListener;
import org.eclipse.ui.IWorkbenchActionConstants;
+import org.eclipse.ui.IWorkbenchPage;
import org.eclipse.ui.IWorkbenchPart;
+import org.eclipse.ui.IWorkbenchWindow;
+import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.texteditor.IStatusField;
import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds;
import org.eclipse.ui.texteditor.IWorkbenchActionDefinitionIds;
@@ -442,12 +446,13 @@
* Creates an new AnnotationEditor object.
*/
public AnnotationEditor() {
- CasDocumentProvider provider =
+ CasDocumentProvider provider =
CasDocumentProviderFactory.instance().getDocumentProvider();
setDocumentProvider(provider);
}
+ @Override
public CasDocumentProvider getDocumentProvider() {
return (CasDocumentProvider) super.getDocumentProvider();
}
@@ -574,7 +579,7 @@
// get and set editor annotation status must
// be added to document provider
- EditorAnnotationStatus status =
+ EditorAnnotationStatus status =
getDocumentProvider().getEditorAnnotationStatus(getEditorInput());
getDocumentProvider().setEditorAnnotationStatus(getEditorInput(),
@@ -732,7 +737,7 @@
/**
* Synchronizes all annotations which the eclipse annotation painter.
*/
- private void syncAnnotations() {
+ public void syncAnnotations() {
mPainter.removeAllAnnotationTypes();
@@ -746,7 +751,7 @@
mPainter.paint(IPainter.CONFIGURATION);
}
-
+
/**
* @param listener
*/
@@ -952,4 +957,28 @@
void setAnnotationSelection(AnnotationFS annotation) {
mFeatureStructureSelectionProvider.setSelection(getDocument(), annotation);
}
+
+ /**
+ * Creates a list of all {@link AnnotationEditor} which are currently opened.
+ */
+ public static AnnotationEditor[] getAnnotationEditors() {
+
+ ArrayList<AnnotationEditor> dirtyParts = new ArrayList<AnnotationEditor>();
+ IWorkbenchWindow windows[] = PlatformUI.getWorkbench().getWorkbenchWindows();
+ for (IWorkbenchWindow element : windows) {
+ IWorkbenchPage pages[] = element.getPages();
+ for (IWorkbenchPage page : pages) {
+ IEditorPart[] parts = page.getEditors();
+
+ for (IEditorPart part : parts) {
+ if (part instanceof AnnotationEditor) {
+ AnnotationEditor editor = (AnnotationEditor) part;
+ dirtyParts.add(editor);
+ }
+ }
+ }
+ }
+
+ return dirtyParts.toArray(new AnnotationEditor[dirtyParts.size()]);
+ }
}
\ No newline at end of file
Modified: incubator/uima/sandbox/trunk/CasEditorEclipsePlugin/src/main/java/org/apache/uima/caseditor/ui/action/DocumentActionRunnable.java
URL: http://svn.apache.org/viewvc/incubator/uima/sandbox/trunk/CasEditorEclipsePlugin/src/main/java/org/apache/uima/caseditor/ui/action/DocumentActionRunnable.java?rev=765300&r1=765299&r2=765300&view=diff
==============================================================================
--- incubator/uima/sandbox/trunk/CasEditorEclipsePlugin/src/main/java/org/apache/uima/caseditor/ui/action/DocumentActionRunnable.java (original)
+++ incubator/uima/sandbox/trunk/CasEditorEclipsePlugin/src/main/java/org/apache/uima/caseditor/ui/action/DocumentActionRunnable.java Wed Apr 15 18:45:58 2009
@@ -20,7 +20,6 @@
package org.apache.uima.caseditor.ui.action;
import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
@@ -34,10 +33,6 @@
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.jface.operation.IRunnableWithProgress;
import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
/**
* This class can be reused by ui actions which want to modify documents.
@@ -57,29 +52,7 @@
this.documents = documents;
}
- /**
- * Creates a list of all {@link AnnotationEditor} which are currently opened.
- */
- protected AnnotationEditor[] getAnnotationEditors() {
-
- ArrayList<AnnotationEditor> dirtyParts = new ArrayList<AnnotationEditor>();
- IWorkbenchWindow windows[] = PlatformUI.getWorkbench().getWorkbenchWindows();
- for (IWorkbenchWindow element : windows) {
- IWorkbenchPage pages[] = element.getPages();
- for (IWorkbenchPage page : pages) {
- IEditorPart[] parts = page.getEditors();
-
- for (IEditorPart part : parts) {
- if (part instanceof AnnotationEditor) {
- AnnotationEditor editor = (AnnotationEditor) part;
- dirtyParts.add(editor);
- }
- }
- }
- }
- return dirtyParts.toArray(new AnnotationEditor[dirtyParts.size()]);
- }
/**
* This method is called before the processing of the documents is started.
@@ -126,7 +99,7 @@
// do this kind of document element mapping
Map<DocumentElement, AnnotationEditor> editorMap = new HashMap<DocumentElement, AnnotationEditor>();
- for (AnnotationEditor annotationEditor : getAnnotationEditors()) {
+ for (AnnotationEditor annotationEditor : AnnotationEditor.getAnnotationEditors()) {
// TODO: fix it
// editorMap.put(annotationEditor.getDocument().getDocumentElement(), annotationEditor);
}
Modified: incubator/uima/sandbox/trunk/CasEditorEclipsePlugin/src/main/java/org/apache/uima/caseditor/ui/property/AnnotationPropertyPage.java
URL: http://svn.apache.org/viewvc/incubator/uima/sandbox/trunk/CasEditorEclipsePlugin/src/main/java/org/apache/uima/caseditor/ui/property/AnnotationPropertyPage.java?rev=765300&r1=765299&r2=765300&view=diff
==============================================================================
--- incubator/uima/sandbox/trunk/CasEditorEclipsePlugin/src/main/java/org/apache/uima/caseditor/ui/property/AnnotationPropertyPage.java (original)
+++ incubator/uima/sandbox/trunk/CasEditorEclipsePlugin/src/main/java/org/apache/uima/caseditor/ui/property/AnnotationPropertyPage.java Wed Apr 15 18:45:58 2009
@@ -29,6 +29,7 @@
import org.apache.uima.caseditor.core.model.INlpElement;
import org.apache.uima.caseditor.core.model.NlpProject;
import org.apache.uima.caseditor.core.model.TypesystemElement;
+import org.apache.uima.caseditor.editor.AnnotationEditor;
import org.apache.uima.caseditor.editor.AnnotationStyle;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.jface.layout.GridDataFactory;
@@ -333,7 +334,12 @@
CasEditorPlugin.log(e);
return false;
}
-
+
+ // Repaint annotations of all open editors
+ for (AnnotationEditor editor : AnnotationEditor.getAnnotationEditors()) {
+ editor.syncAnnotations();
+ }
+
return true;
}
}
\ No newline at end of file