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 2011/11/07 16:05:44 UTC

svn commit: r1198767 - in /uima/uimaj/trunk/uimaj-ep-cas-editor/src/main/java/org/apache/uima/caseditor/editor: ./ editview/ fsview/ outline/ styleview/

Author: joern
Date: Mon Nov  7 15:05:43 2011
New Revision: 1198767

URL: http://svn.apache.org/viewvc?rev=1198767&view=rev
Log:
UIMA-2273 input change listener now also gets the old and new editor input, which is needed for views whcih listen for type system preference changes.

Modified:
    uima/uimaj/trunk/uimaj-ep-cas-editor/src/main/java/org/apache/uima/caseditor/editor/AnnotationEditor.java
    uima/uimaj/trunk/uimaj-ep-cas-editor/src/main/java/org/apache/uima/caseditor/editor/editview/FeatureStructureContentProvider.java
    uima/uimaj/trunk/uimaj-ep-cas-editor/src/main/java/org/apache/uima/caseditor/editor/fsview/FeatureStructureBrowserViewPage.java
    uima/uimaj/trunk/uimaj-ep-cas-editor/src/main/java/org/apache/uima/caseditor/editor/outline/OutlineContentProviderBase.java
    uima/uimaj/trunk/uimaj-ep-cas-editor/src/main/java/org/apache/uima/caseditor/editor/styleview/AnnotationStyleViewPage.java

Modified: uima/uimaj/trunk/uimaj-ep-cas-editor/src/main/java/org/apache/uima/caseditor/editor/AnnotationEditor.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-ep-cas-editor/src/main/java/org/apache/uima/caseditor/editor/AnnotationEditor.java?rev=1198767&r1=1198766&r2=1198767&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-ep-cas-editor/src/main/java/org/apache/uima/caseditor/editor/AnnotationEditor.java (original)
+++ uima/uimaj/trunk/uimaj-ep-cas-editor/src/main/java/org/apache/uima/caseditor/editor/AnnotationEditor.java Mon Nov  7 15:05:43 2011
@@ -803,6 +803,7 @@ public final class AnnotationEditor exte
   
   @Override
   protected void doSetInput(IEditorInput input) throws CoreException {
+    IEditorInput oldInput = getEditorInput();
     ICasDocument oldDocument = getDocument();
     super.doSetInput(input);
     
@@ -869,13 +870,10 @@ public final class AnnotationEditor exte
     }
     
     ICasDocument newDocument = getDocument();
-    fireCasDocumentChanged(oldDocument, newDocument);
-  }
-  
-  private void fireCasDocumentChanged(ICasDocument oldDocument, ICasDocument newDocument) {
+    
     if (mEditorInputListener != null) {
       for (ICasEditorInputListener listener : mEditorInputListener)
-        listener.casDocumentChanged(oldDocument, newDocument);
+        listener.casDocumentChanged(oldInput, oldDocument, input, newDocument);
     }
   }
 

Modified: uima/uimaj/trunk/uimaj-ep-cas-editor/src/main/java/org/apache/uima/caseditor/editor/editview/FeatureStructureContentProvider.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-ep-cas-editor/src/main/java/org/apache/uima/caseditor/editor/editview/FeatureStructureContentProvider.java?rev=1198767&r1=1198766&r2=1198767&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-ep-cas-editor/src/main/java/org/apache/uima/caseditor/editor/editview/FeatureStructureContentProvider.java (original)
+++ uima/uimaj/trunk/uimaj-ep-cas-editor/src/main/java/org/apache/uima/caseditor/editor/editview/FeatureStructureContentProvider.java Mon Nov  7 15:05:43 2011
@@ -38,6 +38,7 @@ import org.apache.uima.caseditor.editor.
 import org.eclipse.jface.viewers.ITreeContentProvider;
 import org.eclipse.jface.viewers.Viewer;
 import org.eclipse.swt.widgets.Display;
+import org.eclipse.ui.IEditorInput;
 
 final class FeatureStructureContentProvider extends AbstractDocumentListener implements
         ITreeContentProvider, ICasEditorInputListener {
@@ -245,7 +246,7 @@ final class FeatureStructureContentProvi
     }
   }
 
-  public void casDocumentChanged(ICasDocument oldDocument, ICasDocument newDocument) {
+  public void casDocumentChanged(IEditorInput oldInput, ICasDocument oldDocument, IEditorInput newInput, ICasDocument newDocument) {
     if (oldDocument != null)
       oldDocument.removeChangeListener(this);
     

Modified: uima/uimaj/trunk/uimaj-ep-cas-editor/src/main/java/org/apache/uima/caseditor/editor/fsview/FeatureStructureBrowserViewPage.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-ep-cas-editor/src/main/java/org/apache/uima/caseditor/editor/fsview/FeatureStructureBrowserViewPage.java?rev=1198767&r1=1198766&r2=1198767&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-ep-cas-editor/src/main/java/org/apache/uima/caseditor/editor/fsview/FeatureStructureBrowserViewPage.java (original)
+++ uima/uimaj/trunk/uimaj-ep-cas-editor/src/main/java/org/apache/uima/caseditor/editor/fsview/FeatureStructureBrowserViewPage.java Mon Nov  7 15:05:43 2011
@@ -58,6 +58,7 @@ import org.eclipse.swt.widgets.Control;
 import org.eclipse.swt.widgets.Display;
 import org.eclipse.swt.widgets.Label;
 import org.eclipse.ui.IActionBars;
+import org.eclipse.ui.IEditorInput;
 import org.eclipse.ui.actions.ActionFactory;
 import org.eclipse.ui.part.Page;
 
@@ -69,7 +70,7 @@ public final class FeatureStructureBrows
   private static final String LAST_SELECTED_FS_TYPE = "lastSelectedFeatureStructureBrowserViewType";
 
   final class FeatureStructureTreeContentProvider extends AbstractAnnotationDocumentListener
-          implements ITreeContentProvider , ICasEditorInputListener{
+          implements ITreeContentProvider , ICasEditorInputListener {
 
     private ICasDocument mDocument;
 
@@ -292,7 +293,8 @@ public final class FeatureStructureBrows
       mFSList.refresh();
     }
 
-    public void casDocumentChanged(ICasDocument oldDocument, ICasDocument newDocument) {
+    public void casDocumentChanged(IEditorInput oldInput, ICasDocument oldDocument, 
+            IEditorInput newInput, ICasDocument newDocument) {
       oldDocument.removeChangeListener(this);
       mDocument = newDocument;
       mDocument.addChangeListener(this);

Modified: uima/uimaj/trunk/uimaj-ep-cas-editor/src/main/java/org/apache/uima/caseditor/editor/outline/OutlineContentProviderBase.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-ep-cas-editor/src/main/java/org/apache/uima/caseditor/editor/outline/OutlineContentProviderBase.java?rev=1198767&r1=1198766&r2=1198767&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-ep-cas-editor/src/main/java/org/apache/uima/caseditor/editor/outline/OutlineContentProviderBase.java (original)
+++ uima/uimaj/trunk/uimaj-ep-cas-editor/src/main/java/org/apache/uima/caseditor/editor/outline/OutlineContentProviderBase.java Mon Nov  7 15:05:43 2011
@@ -32,6 +32,7 @@ import org.eclipse.jface.viewers.ITreeCo
 import org.eclipse.jface.viewers.TreeViewer;
 import org.eclipse.jface.viewers.Viewer;
 import org.eclipse.swt.widgets.Display;
+import org.eclipse.ui.IEditorInput;
 
 abstract class OutlineContentProviderBase extends AbstractAnnotationDocumentListener implements
         ITreeContentProvider, ICasEditorInputListener {
@@ -107,7 +108,7 @@ abstract class OutlineContentProviderBas
     });
   }
 
-  public void casDocumentChanged(ICasDocument oldDocument, ICasDocument newDocument) {
+  public void casDocumentChanged(IEditorInput oldInput, ICasDocument oldDocument, IEditorInput newInput, ICasDocument newDocument) {
     inputChanged(viewer, oldDocument, newDocument);
   }
 }

Modified: uima/uimaj/trunk/uimaj-ep-cas-editor/src/main/java/org/apache/uima/caseditor/editor/styleview/AnnotationStyleViewPage.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-ep-cas-editor/src/main/java/org/apache/uima/caseditor/editor/styleview/AnnotationStyleViewPage.java?rev=1198767&r1=1198766&r2=1198767&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-ep-cas-editor/src/main/java/org/apache/uima/caseditor/editor/styleview/AnnotationStyleViewPage.java (original)
+++ uima/uimaj/trunk/uimaj-ep-cas-editor/src/main/java/org/apache/uima/caseditor/editor/styleview/AnnotationStyleViewPage.java Mon Nov  7 15:05:43 2011
@@ -63,6 +63,7 @@ import org.eclipse.swt.widgets.Event;
 import org.eclipse.swt.widgets.Listener;
 import org.eclipse.swt.widgets.Table;
 import org.eclipse.swt.widgets.TableColumn;
+import org.eclipse.ui.IEditorInput;
 import org.eclipse.ui.dialogs.PropertyPage;
 import org.eclipse.ui.internal.dialogs.PropertyDialog;
 import org.eclipse.ui.part.Page;
@@ -320,7 +321,7 @@ class AnnotationStyleViewPage extends Pa
     // TODO: must this listener be removed ?!
     editor.addAnnotationListener(editorListener);
     
-    casDocumentChanged(null, editor.getDocument());
+    casDocumentChanged(null, null, editor.getEditorInput(), editor.getDocument());
   }
 
   @Override
@@ -378,7 +379,8 @@ class AnnotationStyleViewPage extends Pa
     editor.removeCasEditorInputListener(this);
   }
 
-  public void casDocumentChanged(ICasDocument oldDocument, ICasDocument newDocument) {
+  public void casDocumentChanged(IEditorInput oldInput, ICasDocument oldDocument, IEditorInput newInput, ICasDocument newDocument) {
+    
     if (newDocument != null) {
       treeViewer.setInput(newDocument.getCAS().getTypeSystem());
       setCheckBoxes();
@@ -386,6 +388,13 @@ class AnnotationStyleViewPage extends Pa
     else 
       treeViewer.setInput(null);
     
-    // TODO: Type system preference listener must also be changed!
+    if (oldInput != null) {
+      editor.getCasDocumentProvider().getTypeSystemPreferenceStore(
+              oldInput).removePropertyChangeListener(changeListener);
+    }
+    
+    if (newInput != null) {
+      editor.getCasDocumentProvider().getTypeSystemPreferenceStore(newInput).addPropertyChangeListener(changeListener);
+    }
   }
 }