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