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/30 14:56:00 UTC
svn commit: r1208431 - in
/uima/uimaj/trunk/uimaj-ep-cas-editor/src/main/java/org/apache/uima/caseditor/editor:
CasEditorView.java styleview/AnnotationStyleViewPage.java
Author: joern
Date: Wed Nov 30 13:55:59 2011
New Revision: 1208431
URL: http://svn.apache.org/viewvc?rev=1208431&view=rev
Log:
UIMA-2293 Now always the correct view page is accessed.
Modified:
uima/uimaj/trunk/uimaj-ep-cas-editor/src/main/java/org/apache/uima/caseditor/editor/CasEditorView.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/CasEditorView.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-ep-cas-editor/src/main/java/org/apache/uima/caseditor/editor/CasEditorView.java?rev=1208431&r1=1208430&r2=1208431&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-ep-cas-editor/src/main/java/org/apache/uima/caseditor/editor/CasEditorView.java (original)
+++ uima/uimaj/trunk/uimaj-ep-cas-editor/src/main/java/org/apache/uima/caseditor/editor/CasEditorView.java Wed Nov 30 13:55:59 2011
@@ -49,8 +49,6 @@ public abstract class CasEditorView exte
private final String editorNotAvailableMessage;
- private CasEditorViewPage casViewPageBookedPage;
-
private Map<ICasEditor, ICasEditorInputListener> editorListenerMap =
new HashMap<ICasEditor, ICasEditorInputListener>();
@@ -91,7 +89,7 @@ public abstract class CasEditorView exte
// Will be recreated on view switch (need a flag to disable that) and input cas switch
protected abstract IPageBookViewPage doCreatePage(ICasEditor editor);
- private void createViewPage(ICasEditor editor) {
+ private void createViewPage( CasEditorViewPage casViewPageBookedPage, ICasEditor editor) {
IPageBookViewPage page = doCreatePage(editor);
if (page != null) {
@@ -116,12 +114,14 @@ public abstract class CasEditorView exte
if (part instanceof ICasEditor) {
final ICasEditor editor = (ICasEditor) part;
+ final CasEditorViewPage casViewPageBookedPage = new CasEditorViewPage(editorNotAvailableMessage);
+
if (editor.getDocument() != null) {
ICasDocumentListener documentListener = new AbstractDocumentListener() {
@Override
public void viewChanged(String oldViewName, String newViewName) {
if (isRecreatePageOnCASViewSwitch()) {
- createViewPage(editor);
+ createViewPage(casViewPageBookedPage, editor);
}
}
};
@@ -137,7 +137,7 @@ public abstract class CasEditorView exte
public void casDocumentChanged(IEditorInput oldInput, ICasDocument oldDocument,
IEditorInput newInput, ICasDocument newDocument) {
- createViewPage(editor);
+ createViewPage(casViewPageBookedPage, editor);
ICasDocumentListener changeListener = documentListenerMap.get(editor);
@@ -151,16 +151,17 @@ public abstract class CasEditorView exte
}
};
-
+ editorListenerMap.put(editor, inputListener);
editor.addCasEditorInputListener(inputListener);
- casViewPageBookedPage = new CasEditorViewPage(editorNotAvailableMessage);
+ // BUG: This does not work!
+
initPage(casViewPageBookedPage);
casViewPageBookedPage.createControl(getPageBook());
- createViewPage(editor);
+ createViewPage(casViewPageBookedPage, editor);
result = new PageRec(editor, casViewPageBookedPage);
}
@@ -214,6 +215,7 @@ public abstract class CasEditorView exte
@Override
public void dispose() {
+
for (Map.Entry<ICasEditor, ICasEditorInputListener> entry :
editorListenerMap.entrySet()) {
entry.getKey().removeCasEditorInputListener(entry.getValue());
@@ -231,8 +233,8 @@ public abstract class CasEditorView exte
documentListenerMap.clear();
- if (casViewPageBookedPage != null)
- casViewPageBookedPage.dispose();
+// if (casViewPageBookedPage != null)
+// casViewPageBookedPage.dispose();
super.dispose();
}
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=1208431&r1=1208430&r2=1208431&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 Wed Nov 30 13:55:59 2011
@@ -362,7 +362,7 @@ class AnnotationStyleViewPage extends Pa
IPreferenceStore store = editor.getCasDocumentProvider().getTypeSystemPreferenceStore(
editor.getEditorInput()); // TODO: Use old input, which was used when the view was created!
- if (store != null)
+ if (store != null && changeListener != null)
store.removePropertyChangeListener(changeListener);
editor.removeAnnotationListener(editorListener);