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/08/01 17:21:14 UTC
svn commit: r1152822 [2/3] - in
/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions:
./ META-INF/ bin/ icons/ src/ src/main/ src/main/java/ src/main/java/org/
src/main/java/org/apache/ src/main/java/org/apache/uima/ src/main/jav...
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/basic/BasicTokenStreamTableContentProvider.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/basic/BasicTokenStreamTableContentProvider.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/basic/BasicTokenStreamTableLabelProvider.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/basic/BasicTokenStreamTableLabelProvider.java?rev=1152822&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/basic/BasicTokenStreamTableLabelProvider.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/basic/BasicTokenStreamTableLabelProvider.java Mon Aug 1 15:20:50 2011
@@ -0,0 +1,64 @@
+package org.apache.uima.tm.textmarker.cev.explain.basic;
+
+import org.eclipse.jface.viewers.ColumnLabelProvider;
+import org.eclipse.jface.viewers.TableViewer;
+import org.eclipse.jface.viewers.TableViewerColumn;
+import org.eclipse.swt.SWT;
+
+public class BasicTokenStreamTableLabelProvider {
+
+ public void createColumns(TableViewer viewer) {
+ String[] titles = { "Begin", "End", "Typ", "Text" };
+ int[] bounds = { 50, 50, 70, 200 };
+
+ int i = 0;
+ TableViewerColumn column = new TableViewerColumn(viewer, SWT.NONE);
+ column.getColumn().setWidth(bounds[i]);
+ column.getColumn().setText(titles[i]);
+ column.getColumn().setMoveable(true);
+ column.setLabelProvider(new ColumnLabelProvider() {
+ @Override
+ public String getText(Object element) {
+ return "" + ((BasicTokenEntry) element).getAnnotation().getBegin();
+ }
+ });
+
+ i++;
+ column = new TableViewerColumn(viewer, SWT.NONE);
+ column.getColumn().setWidth(bounds[i]);
+ column.getColumn().setText(titles[i]);
+ column.getColumn().setMoveable(true);
+ column.setLabelProvider(new ColumnLabelProvider() {
+ @Override
+ public String getText(Object element) {
+ return "" + ((BasicTokenEntry) element).getAnnotation().getEnd();
+ }
+ });
+
+ i++;
+ column = new TableViewerColumn(viewer, SWT.NONE);
+ column.getColumn().setWidth(bounds[i]);
+ column.getColumn().setText(titles[i]);
+ column.getColumn().setMoveable(true);
+ column.setLabelProvider(new ColumnLabelProvider() {
+
+ @Override
+ public String getText(Object element) {
+ return ((BasicTokenEntry) element).getTyp();
+ }
+ });
+
+ i++;
+ column = new TableViewerColumn(viewer, SWT.NONE);
+ column.getColumn().setWidth(bounds[i]);
+ column.getColumn().setText(titles[i]);
+ column.getColumn().setMoveable(true);
+ column.setLabelProvider(new ColumnLabelProvider() {
+
+ @Override
+ public String getText(Object element) {
+ return ((BasicTokenEntry) element).getText();
+ }
+ });
+ }
+}
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/basic/BasicTokenStreamTableLabelProvider.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/basic/BasicTokenStreamTableLabelProvider.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/basic/BasicTokenStreamView.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/basic/BasicTokenStreamView.java?rev=1152822&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/basic/BasicTokenStreamView.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/basic/BasicTokenStreamView.java Mon Aug 1 15:20:50 2011
@@ -0,0 +1,23 @@
+package org.apache.uima.tm.textmarker.cev.explain.basic;
+
+import org.apache.uima.tm.cev.views.CEVPageBookView;
+import org.eclipse.ui.IWorkbenchPart;
+
+
+//import org.apache.uima.tm.cas.ui.views.CASAnnotationTreeViewPage;
+
+public class BasicTokenStreamView extends CEVPageBookView {
+
+ public BasicTokenStreamView() {
+ super();
+
+ }
+
+ @Override
+ protected PageRec doCreatePage(IWorkbenchPart part) {
+
+ return doCreatePage(part, IBasicTokenStreamViewPage.class);
+
+ }
+
+}
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/basic/BasicTokenStreamView.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/basic/BasicTokenStreamView.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/basic/BasicTokenStreamViewFactory.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/basic/BasicTokenStreamViewFactory.java?rev=1152822&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/basic/BasicTokenStreamViewFactory.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/basic/BasicTokenStreamViewFactory.java Mon Aug 1 15:20:50 2011
@@ -0,0 +1,21 @@
+package org.apache.uima.tm.textmarker.cev.explain.basic;
+
+import org.apache.uima.tm.cev.data.CEVDocument;
+import org.apache.uima.tm.cev.editor.CEVViewer;
+import org.apache.uima.tm.cev.extension.ICEVView;
+import org.apache.uima.tm.cev.extension.ICEVViewFactory;
+
+public class BasicTokenStreamViewFactory implements ICEVViewFactory {
+
+ public BasicTokenStreamViewFactory() {
+ }
+
+ public ICEVView createView(CEVViewer viewer, CEVDocument cevDocument, int index) {
+ return new BasicTokenStreamViewPage(viewer, cevDocument, index);
+ }
+
+ public Class<?> getAdapterInterface() {
+ return IBasicTokenStreamViewPage.class;
+ }
+
+}
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/basic/BasicTokenStreamViewFactory.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/basic/BasicTokenStreamViewFactory.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/basic/BasicTokenStreamViewPage.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/basic/BasicTokenStreamViewPage.java?rev=1152822&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/basic/BasicTokenStreamViewPage.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/basic/BasicTokenStreamViewPage.java Mon Aug 1 15:20:50 2011
@@ -0,0 +1,128 @@
+package org.apache.uima.tm.textmarker.cev.explain.basic;
+
+import java.util.List;
+
+import org.apache.uima.cas.Type;
+import org.apache.uima.cas.text.AnnotationFS;
+import org.apache.uima.tm.cev.data.CEVData;
+import org.apache.uima.tm.cev.data.CEVDocument;
+import org.apache.uima.tm.cev.editor.CEVViewer;
+import org.apache.uima.tm.cev.extension.ICEVView;
+import org.eclipse.jface.viewers.DoubleClickEvent;
+import org.eclipse.jface.viewers.IDoubleClickListener;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.jface.viewers.TableViewer;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.part.Page;
+
+
+public class BasicTokenStreamViewPage extends Page implements IBasicTokenStreamViewPage, ICEVView,
+ IDoubleClickListener {
+
+ private TableViewer tableViewer;
+
+ private CEVViewer casViewer;
+
+ private CEVDocument casDoc;
+
+ private int current = 0;
+
+ private BasicTokenStreamTableContentProvider provider;
+
+ public BasicTokenStreamViewPage(CEVViewer casViewer, CEVDocument casDoc, int index) {
+ this.casDoc = casDoc;
+ this.casViewer = casViewer;
+ this.current = index;
+ }
+
+ @Override
+ public void createControl(Composite parent) {
+ tableViewer = new TableViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL
+ | SWT.FULL_SELECTION);
+ provider = new BasicTokenStreamTableContentProvider(getCurrentCEVData());
+ tableViewer.setContentProvider(provider);
+ BasicTokenStreamTableLabelProvider columnLabels = new BasicTokenStreamTableLabelProvider();
+ columnLabels.createColumns(tableViewer);
+ // Set the header to visible
+ tableViewer.getTable().setHeaderVisible(true);
+ // Set the line of the table visible
+ tableViewer.getTable().setLinesVisible(true);
+ tableViewer.setInput(getSite());
+ tableViewer.addDoubleClickListener(this);
+ }
+
+ @Override
+ public Control getControl() {
+ return tableViewer.getControl();
+ }
+
+ public CEVData getCurrentCEVData() {
+ return casDoc.getCASData(current);
+ }
+
+ @Override
+ public void setFocus() {
+ tableViewer.getControl().setFocus();
+ }
+
+ public TableViewer getViewer() {
+ return this.tableViewer;
+ }
+
+ public void newSelection(int offset) {
+ Object obj = getElementAt(offset);
+ StructuredSelection selection = new StructuredSelection(obj);
+ tableViewer.setSelection(selection, true);
+ }
+
+ private Object getElementAt(int offset) {
+ if (provider != null) {
+ return provider.getEntryAt(offset);
+ }
+ return null;
+ }
+
+ public void viewChanged(int newIndex) {
+ getCurrentCEVData().removeAnnotationListener(this);
+ current = newIndex;
+ getCurrentCEVData().addAnnotationListener(this);
+ provider.init(getCurrentCEVData());
+ tableViewer.refresh();
+ }
+
+ public void annotationsAdded(List<AnnotationFS> annots) {
+
+ }
+
+ public void annotationsRemoved(List<AnnotationFS> annots) {
+
+ }
+
+ public void annotationStateChanged(Type type) {
+
+ }
+
+ public void annotationStateChanged(AnnotationFS annot) {
+
+ }
+
+ public void colorChanged(Type type) {
+
+ }
+
+ public void doubleClick(DoubleClickEvent event) {
+ if (event.getSelection() != null && event.getSelection() instanceof IStructuredSelection) {
+ Object entry = ((IStructuredSelection) event.getSelection()).getFirstElement();
+ if (entry instanceof BasicTokenEntry) {
+ casViewer.moveToAnnotation(((BasicTokenEntry) entry).getAnnotation());
+ }
+ }
+ }
+
+ public void casChanged(CEVDocument casDocument) {
+ this.casDoc = casDocument;
+ }
+}
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/basic/BasicTokenStreamViewPage.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/basic/BasicTokenStreamViewPage.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/basic/IBasicTokenStreamViewPage.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/basic/IBasicTokenStreamViewPage.java?rev=1152822&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/basic/IBasicTokenStreamViewPage.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/basic/IBasicTokenStreamViewPage.java Mon Aug 1 15:20:50 2011
@@ -0,0 +1,7 @@
+package org.apache.uima.tm.textmarker.cev.explain.basic;
+
+import org.apache.uima.tm.cev.views.ICEVViewPage;
+
+public interface IBasicTokenStreamViewPage extends ICEVViewPage {
+
+}
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/basic/IBasicTokenStreamViewPage.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/basic/IBasicTokenStreamViewPage.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/element/ElementTreeContentProvider.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/element/ElementTreeContentProvider.java?rev=1152822&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/element/ElementTreeContentProvider.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/element/ElementTreeContentProvider.java Mon Aug 1 15:20:50 2011
@@ -0,0 +1,44 @@
+package org.apache.uima.tm.textmarker.cev.explain.element;
+
+import org.apache.uima.tm.textmarker.cev.explain.tree.IExplainTreeNode;
+import org.eclipse.jface.viewers.ITreeContentProvider;
+import org.eclipse.jface.viewers.Viewer;
+
+
+public class ElementTreeContentProvider implements ITreeContentProvider {
+
+ public Object[] getChildren(Object parentElement) {
+ if (parentElement instanceof IExplainTreeNode) {
+ IExplainTreeNode debugNode = (IExplainTreeNode) parentElement;
+ return debugNode.getChildren().toArray();
+ }
+ return null;
+ }
+
+ public Object getParent(Object element) {
+ if (element instanceof IExplainTreeNode) {
+ return ((IExplainTreeNode) element).getParent();
+ }
+ return null;
+
+ }
+
+ public Object[] getElements(Object element) {
+ return getChildren(element);
+ }
+
+ public boolean hasChildren(Object parentElement) {
+ if (parentElement instanceof IExplainTreeNode) {
+ IExplainTreeNode debugNode = (IExplainTreeNode) parentElement;
+ return debugNode.hasChildren();
+ }
+ return false;
+ }
+
+ public void dispose() {
+ }
+
+ public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
+ }
+
+}
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/element/ElementTreeContentProvider.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/element/ElementTreeContentProvider.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/element/ElementTreeLabelProvider.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/element/ElementTreeLabelProvider.java?rev=1152822&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/element/ElementTreeLabelProvider.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/element/ElementTreeLabelProvider.java Mon Aug 1 15:20:50 2011
@@ -0,0 +1,79 @@
+package org.apache.uima.tm.textmarker.cev.explain.element;
+
+import org.apache.uima.cas.Feature;
+import org.apache.uima.cas.FeatureStructure;
+import org.apache.uima.cas.Type;
+import org.apache.uima.cas.TypeSystem;
+import org.apache.uima.cas.text.AnnotationFS;
+import org.apache.uima.tm.textmarker.cev.TextMarkerCEVPlugin;
+import org.apache.uima.tm.textmarker.cev.explain.tree.ConditionNode;
+import org.apache.uima.tm.textmarker.cev.explain.tree.ExplainTree;
+import org.apache.uima.tm.textmarker.cev.explain.tree.IExplainTreeNode;
+import org.apache.uima.tm.textmarker.cev.explain.tree.RuleElementMatchNode;
+import org.apache.uima.tm.textmarker.cev.explain.tree.RuleElementMatchesNode;
+import org.eclipse.jface.viewers.ILabelProvider;
+import org.eclipse.jface.viewers.LabelProvider;
+import org.eclipse.swt.graphics.Image;
+
+
+public class ElementTreeLabelProvider extends LabelProvider implements ILabelProvider {
+
+ private ElementViewPage owner;
+
+ public ElementTreeLabelProvider(ElementViewPage owner) {
+ super();
+ this.owner = owner;
+ }
+
+ @Override
+ public Image getImage(Object element) {
+ if (element instanceof RuleElementMatchNode) {
+ RuleElementMatchNode rem = (RuleElementMatchNode) element;
+ boolean matched = rem.matched();
+ return owner.getImage(TextMarkerCEVPlugin.RULE_ELEMENT_MATCH_TYPE + matched);
+ } else if (element instanceof RuleElementMatchesNode) {
+ RuleElementMatchesNode rems = (RuleElementMatchesNode) element;
+ boolean matched = rems.matched();
+ return owner.getImage(TextMarkerCEVPlugin.RULE_ELEMENT_MATCHES_TYPE + matched);
+ } else if (element instanceof ConditionNode) {
+ ConditionNode rems = (ConditionNode) element;
+ boolean matched = rems.matched();
+ return owner.getImage(TextMarkerCEVPlugin.EVAL_CONDITION_TYPE + matched);
+ }
+ return owner.getImage("element");
+ }
+
+ @Override
+ public String getText(Object element) {
+ if (element instanceof IExplainTreeNode) {
+ IExplainTreeNode debugNode = (IExplainTreeNode) element;
+ TypeSystem ts = debugNode.getTypeSystem();
+
+ if (element instanceof RuleElementMatchesNode) {
+ Type type = ts.getType(TextMarkerCEVPlugin.RULE_ELEMENT_MATCHES_TYPE);
+ FeatureStructure fs = debugNode.getFeatureStructure();
+ Feature f = type.getFeatureByBaseName(ExplainTree.ELEMENT);
+ if (f != null) {
+ String v = fs.getStringValue(f);
+ return v;
+ }
+ } else if (element instanceof RuleElementMatchNode) {
+ FeatureStructure fs = debugNode.getFeatureStructure();
+ if (fs instanceof AnnotationFS) {
+ String s = ((AnnotationFS) fs).getCoveredText();
+ s = s.replaceAll("[\\n\\r]", "");
+ return s;
+ }
+ } else if (element instanceof ConditionNode) {
+ Type type = ts.getType(TextMarkerCEVPlugin.EVAL_CONDITION_TYPE);
+ FeatureStructure fs = debugNode.getFeatureStructure();
+ Feature f = type.getFeatureByBaseName(ExplainTree.ELEMENT);
+ if (f != null) {
+ String v = fs.getStringValue(f);
+ return v;
+ }
+ }
+ }
+ return element.toString();
+ }
+}
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/element/ElementTreeLabelProvider.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/element/ElementTreeLabelProvider.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/element/ElementView.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/element/ElementView.java?rev=1152822&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/element/ElementView.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/element/ElementView.java Mon Aug 1 15:20:50 2011
@@ -0,0 +1,18 @@
+package org.apache.uima.tm.textmarker.cev.explain.element;
+
+import org.apache.uima.tm.cev.views.CEVPageBookView;
+import org.eclipse.ui.IWorkbenchPart;
+
+
+public class ElementView extends CEVPageBookView {
+
+ public ElementView() {
+ super();
+ }
+
+ @Override
+ protected PageRec doCreatePage(IWorkbenchPart part) {
+ return doCreatePage(part, IElementViewPage.class);
+ }
+
+}
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/element/ElementView.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/element/ElementView.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/element/ElementViewFactory.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/element/ElementViewFactory.java?rev=1152822&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/element/ElementViewFactory.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/element/ElementViewFactory.java Mon Aug 1 15:20:50 2011
@@ -0,0 +1,21 @@
+package org.apache.uima.tm.textmarker.cev.explain.element;
+
+import org.apache.uima.tm.cev.data.CEVDocument;
+import org.apache.uima.tm.cev.editor.CEVViewer;
+import org.apache.uima.tm.cev.extension.ICEVView;
+import org.apache.uima.tm.cev.extension.ICEVViewFactory;
+
+public class ElementViewFactory implements ICEVViewFactory {
+
+ public ElementViewFactory() {
+ }
+
+ public ICEVView createView(CEVViewer viewer, CEVDocument cevDocument, int index) {
+ return new ElementViewPage(viewer, cevDocument, index);
+ }
+
+ public Class<?> getAdapterInterface() {
+ return IElementViewPage.class;
+ }
+
+}
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/element/ElementViewFactory.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/element/ElementViewFactory.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/element/ElementViewPage.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/element/ElementViewPage.java?rev=1152822&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/element/ElementViewPage.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/element/ElementViewPage.java Mon Aug 1 15:20:50 2011
@@ -0,0 +1,198 @@
+package org.apache.uima.tm.textmarker.cev.explain.element;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.uima.cas.Type;
+import org.apache.uima.cas.text.AnnotationFS;
+import org.apache.uima.tm.cev.data.CEVData;
+import org.apache.uima.tm.cev.data.CEVDocument;
+import org.apache.uima.tm.cev.data.tree.ICEVAnnotationNode;
+import org.apache.uima.tm.cev.editor.CEVViewer;
+import org.apache.uima.tm.cev.extension.ICEVView;
+import org.apache.uima.tm.textmarker.cev.TextMarkerCEVPlugin;
+import org.apache.uima.tm.textmarker.cev.explain.tree.IExplainTreeNode;
+import org.apache.uima.tm.textmarker.cev.explain.tree.RuleElementRootNode;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.jface.viewers.DoubleClickEvent;
+import org.eclipse.jface.viewers.IDoubleClickListener;
+import org.eclipse.jface.viewers.ITreeSelection;
+import org.eclipse.jface.viewers.TreeViewer;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.part.Page;
+
+
+public class ElementViewPage extends Page implements IElementViewPage, ICEVView,
+ IDoubleClickListener {
+
+ private IExplainTreeNode node;
+
+ // private CheckboxTreeViewer treeView;
+ private TreeViewer treeView;
+
+ private CEVDocument casDoc;
+
+ private int current;
+
+ private CEVViewer casViewer;
+
+ private Map<String, Image> images;
+
+ public ElementViewPage(CEVViewer casViewer, CEVDocument casDoc, int index) {
+ super();
+ this.casViewer = casViewer;
+ this.casDoc = casDoc;
+ this.current = index;
+ }
+
+ @Override
+ public void dispose() {
+ super.dispose();
+ if (images != null) {
+ for (Image each : images.values()) {
+ each.dispose();
+ }
+ }
+ }
+
+ private void initImages() {
+ images = new HashMap<String, Image>();
+ ImageDescriptor desc;
+ Image image;
+ String name;
+
+ desc = TextMarkerCEVPlugin.getImageDescriptor("/icons/chart_organisation_add.png");
+ image = desc.createImage();
+ name = TextMarkerCEVPlugin.RULE_ELEMENT_MATCHES_TYPE + "true";
+ images.put(name, image);
+
+ desc = TextMarkerCEVPlugin.getImageDescriptor("/icons/chart_organisation_delete.png");
+ image = desc.createImage();
+ name = TextMarkerCEVPlugin.RULE_ELEMENT_MATCHES_TYPE + "false";
+ images.put(name, image);
+
+ desc = TextMarkerCEVPlugin.getImageDescriptor("/icons/chart_organisation_delete.png");
+ image = desc.createImage();
+ name = "element";
+ images.put(name, image);
+
+ desc = TextMarkerCEVPlugin.getImageDescriptor("/icons/font_add.png");
+ image = desc.createImage();
+ name = TextMarkerCEVPlugin.RULE_ELEMENT_MATCH_TYPE + "true";
+ images.put(name, image);
+
+ desc = TextMarkerCEVPlugin.getImageDescriptor("/icons/font_delete.png");
+ image = desc.createImage();
+ name = TextMarkerCEVPlugin.RULE_ELEMENT_MATCH_TYPE + "false";
+ images.put(name, image);
+
+ desc = TextMarkerCEVPlugin.getImageDescriptor("/icons/accept.png");
+ image = desc.createImage();
+ name = TextMarkerCEVPlugin.EVAL_CONDITION_TYPE + "true";
+ images.put(name, image);
+
+ desc = TextMarkerCEVPlugin.getImageDescriptor("/icons/cancel.png");
+ image = desc.createImage();
+ name = TextMarkerCEVPlugin.EVAL_CONDITION_TYPE + "false";
+ images.put(name, image);
+
+ }
+
+ public Image getImage(String name) {
+ if (images == null) {
+ initImages();
+ }
+ return images.get(name);
+ }
+
+ @Override
+ public void createControl(Composite parent) {
+ // treeView = new CheckboxTreeViewer(parent, SWT.SINGLE | SWT.H_SCROLL
+ // | SWT.V_SCROLL);
+ treeView = new TreeViewer(parent, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL);
+ treeView.setContentProvider(new ElementTreeContentProvider());
+ treeView.setLabelProvider(new ElementTreeLabelProvider(this));
+ treeView.setInput(node);
+ // treeView.addCheckStateListener(getCurrentCEVData());
+ treeView.addDoubleClickListener(this);
+ }
+
+ public void doubleClick(DoubleClickEvent event) {
+ if (event.getSelection() != null && event.getSelection() instanceof ITreeSelection) {
+ Object treeNode = ((ITreeSelection) event.getSelection()).getFirstElement();
+ if (treeNode instanceof ICEVAnnotationNode) {
+ casViewer.moveToAnnotation(((ICEVAnnotationNode) treeNode).getAnnotation());
+ }
+ }
+ }
+
+ public CEVData getCurrentCEVData() {
+ return casDoc.getCASData(current);
+ }
+
+ @Override
+ public Control getControl() {
+ return treeView.getControl();
+ }
+
+ @Override
+ public void setFocus() {
+ treeView.getControl().setFocus();
+ }
+
+ public void inputChange(Object newInput) {
+ if (treeView == null) {
+ return;
+ }
+ Object oldInput = treeView.getInput();
+ if ((oldInput == null && newInput == null) || (oldInput != null && oldInput.equals(newInput)))
+ return;
+
+ if (newInput != null && newInput instanceof RuleElementRootNode) {
+ treeView.setInput(newInput);
+ treeView.expandAll();
+ treeView.refresh();
+ } else {
+ treeView.setInput(null);
+ }
+ }
+
+ public void viewChanged(int newIndex) {
+ getCurrentCEVData().removeAnnotationListener(this);
+ current = newIndex;
+ getCurrentCEVData().addAnnotationListener(this);
+ inputChange(null);
+ }
+
+ public void annotationsAdded(List<AnnotationFS> annots) {
+
+ }
+
+ public void annotationsRemoved(List<AnnotationFS> annots) {
+
+ }
+
+ public void annotationStateChanged(Type type) {
+
+ }
+
+ public void annotationStateChanged(AnnotationFS annot) {
+
+ }
+
+ public void colorChanged(Type type) {
+
+ }
+
+ public void newSelection(int offset) {
+
+ }
+
+ public void casChanged(CEVDocument casDocument) {
+ this.casDoc = casDocument;
+ }
+}
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/element/ElementViewPage.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/element/ElementViewPage.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/element/IElementViewPage.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/element/IElementViewPage.java?rev=1152822&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/element/IElementViewPage.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/element/IElementViewPage.java Mon Aug 1 15:20:50 2011
@@ -0,0 +1,7 @@
+package org.apache.uima.tm.textmarker.cev.explain.element;
+
+import org.apache.uima.tm.cev.views.ICEVViewPage;
+
+public interface IElementViewPage extends ICEVViewPage {
+
+}
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/element/IElementViewPage.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/element/IElementViewPage.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/failed/FailedTreeContentProvider.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/failed/FailedTreeContentProvider.java?rev=1152822&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/failed/FailedTreeContentProvider.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/failed/FailedTreeContentProvider.java Mon Aug 1 15:20:50 2011
@@ -0,0 +1,50 @@
+package org.apache.uima.tm.textmarker.cev.explain.failed;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.uima.tm.textmarker.cev.explain.tree.IExplainTreeNode;
+import org.apache.uima.tm.textmarker.cev.explain.tree.RuleMatchNode;
+import org.eclipse.jface.viewers.ITreeContentProvider;
+import org.eclipse.jface.viewers.Viewer;
+
+
+public class FailedTreeContentProvider implements ITreeContentProvider {
+
+ public Object[] getChildren(Object parentElement) {
+ if (parentElement instanceof IExplainTreeNode) {
+ List<Object> result = new ArrayList<Object>();
+ IExplainTreeNode debugNode = (IExplainTreeNode) parentElement;
+ for (IExplainTreeNode each : debugNode.getChildren()) {
+ if (each instanceof RuleMatchNode) {
+ result.add(each);
+ }
+ }
+ return result.toArray();
+ }
+ return null;
+ }
+
+ public Object getParent(Object element) {
+ if (element instanceof IExplainTreeNode) {
+ return ((IExplainTreeNode) element).getParent();
+ }
+ return null;
+
+ }
+
+ public Object[] getElements(Object element) {
+ return getChildren(element);
+ }
+
+ public boolean hasChildren(Object parentElement) {
+ return false;
+ }
+
+ public void dispose() {
+ }
+
+ public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
+ }
+
+}
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/failed/FailedTreeContentProvider.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/failed/FailedTreeContentProvider.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/failed/FailedTreeLabelProvider.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/failed/FailedTreeLabelProvider.java?rev=1152822&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/failed/FailedTreeLabelProvider.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/failed/FailedTreeLabelProvider.java Mon Aug 1 15:20:50 2011
@@ -0,0 +1,47 @@
+package org.apache.uima.tm.textmarker.cev.explain.failed;
+
+import org.apache.uima.cas.FeatureStructure;
+import org.apache.uima.cas.text.AnnotationFS;
+import org.apache.uima.tm.textmarker.cev.explain.tree.RuleMatchNode;
+import org.eclipse.jface.viewers.ILabelProvider;
+import org.eclipse.jface.viewers.LabelProvider;
+import org.eclipse.swt.graphics.Image;
+
+
+public class FailedTreeLabelProvider extends LabelProvider implements ILabelProvider {
+
+ private FailedViewPage owner;
+
+ public FailedTreeLabelProvider(FailedViewPage owner) {
+ super();
+ this.owner = owner;
+ }
+
+ @Override
+ public Image getImage(Object element) {
+ if (element instanceof RuleMatchNode) {
+ RuleMatchNode ruleMatchNode = (RuleMatchNode) element;
+ FeatureStructure fs = ruleMatchNode.getFeatureStructure();
+ if (fs != null) {
+ String name = fs.getType().getName();
+ return owner.getImage(name);
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public String getText(Object element) {
+ if (element instanceof RuleMatchNode) {
+ RuleMatchNode debugNode = (RuleMatchNode) element;
+ FeatureStructure fs = debugNode.getFeatureStructure();
+ if (fs != null) {
+ String s = ((AnnotationFS) fs).getCoveredText();
+ s = s.replaceAll("[\\n\\r]", "");
+ return s;
+ }
+ }
+
+ return element.toString();
+ }
+}
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/failed/FailedTreeLabelProvider.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/failed/FailedTreeLabelProvider.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/failed/FailedView.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/failed/FailedView.java?rev=1152822&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/failed/FailedView.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/failed/FailedView.java Mon Aug 1 15:20:50 2011
@@ -0,0 +1,18 @@
+package org.apache.uima.tm.textmarker.cev.explain.failed;
+
+import org.apache.uima.tm.cev.views.CEVPageBookView;
+import org.eclipse.ui.IWorkbenchPart;
+
+
+public class FailedView extends CEVPageBookView {
+
+ public FailedView() {
+ super();
+ }
+
+ @Override
+ protected PageRec doCreatePage(IWorkbenchPart part) {
+ return doCreatePage(part, IFailedViewPage.class);
+ }
+
+}
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/failed/FailedView.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/failed/FailedView.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/failed/FailedViewFactory.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/failed/FailedViewFactory.java?rev=1152822&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/failed/FailedViewFactory.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/failed/FailedViewFactory.java Mon Aug 1 15:20:50 2011
@@ -0,0 +1,21 @@
+package org.apache.uima.tm.textmarker.cev.explain.failed;
+
+import org.apache.uima.tm.cev.data.CEVDocument;
+import org.apache.uima.tm.cev.editor.CEVViewer;
+import org.apache.uima.tm.cev.extension.ICEVView;
+import org.apache.uima.tm.cev.extension.ICEVViewFactory;
+
+public class FailedViewFactory implements ICEVViewFactory {
+
+ public FailedViewFactory() {
+ }
+
+ public ICEVView createView(CEVViewer viewer, CEVDocument cevDocument, int index) {
+ return new FailedViewPage(viewer, cevDocument, index);
+ }
+
+ public Class<?> getAdapterInterface() {
+ return IFailedViewPage.class;
+ }
+
+}
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/failed/FailedViewFactory.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/failed/FailedViewFactory.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/failed/FailedViewPage.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/failed/FailedViewPage.java?rev=1152822&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/failed/FailedViewPage.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/failed/FailedViewPage.java Mon Aug 1 15:20:50 2011
@@ -0,0 +1,195 @@
+package org.apache.uima.tm.textmarker.cev.explain.failed;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.uima.cas.Type;
+import org.apache.uima.cas.text.AnnotationFS;
+import org.apache.uima.tm.cev.data.CEVData;
+import org.apache.uima.tm.cev.data.CEVDocument;
+import org.apache.uima.tm.cev.data.tree.ICEVAnnotationNode;
+import org.apache.uima.tm.cev.editor.CEVViewer;
+import org.apache.uima.tm.cev.extension.ICEVView;
+import org.apache.uima.tm.textmarker.cev.TextMarkerCEVPlugin;
+import org.apache.uima.tm.textmarker.cev.explain.element.ElementViewPage;
+import org.apache.uima.tm.textmarker.cev.explain.element.IElementViewPage;
+import org.apache.uima.tm.textmarker.cev.explain.tree.FailedRootNode;
+import org.apache.uima.tm.textmarker.cev.explain.tree.IExplainTreeNode;
+import org.apache.uima.tm.textmarker.cev.explain.tree.RuleMatchNode;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.jface.viewers.CheckboxTreeViewer;
+import org.eclipse.jface.viewers.DoubleClickEvent;
+import org.eclipse.jface.viewers.IDoubleClickListener;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.ITreeSelection;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.part.Page;
+
+
+public class FailedViewPage extends Page implements IFailedViewPage, ICEVView,
+ IDoubleClickListener, ISelectionChangedListener {
+
+ private IExplainTreeNode node;
+
+ private CheckboxTreeViewer treeView;
+
+ private CEVDocument casDoc;
+
+ private int current;
+
+ private CEVViewer casViewer;
+
+ private Map<String, Image> images;
+
+ public FailedViewPage(CEVViewer casViewer, CEVDocument casDoc, int index) {
+ super();
+ this.casViewer = casViewer;
+ this.casDoc = casDoc;
+ this.current = index;
+ }
+
+ @Override
+ public void dispose() {
+ super.dispose();
+ if (images != null) {
+ for (Image each : images.values()) {
+ each.dispose();
+ }
+ }
+ }
+
+ private void initImages() {
+ images = new HashMap<String, Image>();
+ ImageDescriptor desc;
+ Image image;
+ String name;
+
+ desc = TextMarkerCEVPlugin.getImageDescriptor("/icons/accept.png");
+ image = desc.createImage();
+ name = "matched";
+ images.put(name, image);
+
+ desc = TextMarkerCEVPlugin.getImageDescriptor("/icons/cancel.png");
+ image = desc.createImage();
+ name = "failed";
+ images.put(name, image);
+
+ desc = TextMarkerCEVPlugin.getImageDescriptor("/icons/font_add.png");
+ image = desc.createImage();
+ name = TextMarkerCEVPlugin.MATCHED_RULE_MATCH_TYPE;
+ images.put(name, image);
+
+ desc = TextMarkerCEVPlugin.getImageDescriptor("/icons/font_delete.png");
+ image = desc.createImage();
+ name = TextMarkerCEVPlugin.FAILED_RULE_MATCH_TYPE;
+ images.put(name, image);
+ }
+
+ public Image getImage(String name) {
+ if (images == null) {
+ initImages();
+ }
+ return images.get(name);
+ }
+
+ @Override
+ public void createControl(Composite parent) {
+ treeView = new CheckboxTreeViewer(parent, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL);
+ treeView.setContentProvider(new FailedTreeContentProvider());
+ treeView.setLabelProvider(new FailedTreeLabelProvider(this));
+ treeView.setInput(node);
+ treeView.addCheckStateListener(getCurrentCEVData());
+ treeView.addSelectionChangedListener(this);
+ treeView.addDoubleClickListener(this);
+ }
+
+ public void doubleClick(DoubleClickEvent event) {
+ if (event.getSelection() != null && event.getSelection() instanceof ITreeSelection) {
+ Object treeNode = ((ITreeSelection) event.getSelection()).getFirstElement();
+ if (treeNode instanceof ICEVAnnotationNode) {
+ casViewer.moveToAnnotation(((ICEVAnnotationNode) treeNode).getAnnotation());
+ }
+ }
+ }
+
+ public CEVData getCurrentCEVData() {
+ return casDoc.getCASData(current);
+ }
+
+ @Override
+ public Control getControl() {
+ return treeView.getControl();
+ }
+
+ @Override
+ public void setFocus() {
+ treeView.getControl().setFocus();
+ }
+
+ public void inputChange(Object newInput) {
+ if (newInput != null && newInput instanceof FailedRootNode && treeView != null) {
+ this.treeView.setInput(newInput);
+ this.treeView.refresh();
+ }
+ Object elementPage = casViewer.getAdapter(IElementViewPage.class);
+ if (elementPage instanceof ElementViewPage) {
+ ((ElementViewPage) elementPage).inputChange(null);
+ }
+ }
+
+ public void viewChanged(int newIndex) {
+ getCurrentCEVData().removeAnnotationListener(this);
+ current = newIndex;
+ getCurrentCEVData().addAnnotationListener(this);
+ inputChange(null);
+ }
+
+ public void annotationsAdded(List<AnnotationFS> annots) {
+
+ }
+
+ public void annotationsRemoved(List<AnnotationFS> annots) {
+
+ }
+
+ public void annotationStateChanged(Type type) {
+
+ }
+
+ public void annotationStateChanged(AnnotationFS annot) {
+
+ }
+
+ public void colorChanged(Type type) {
+
+ }
+
+ public void newSelection(int offset) {
+
+ }
+
+ public void selectionChanged(SelectionChangedEvent event) {
+ ISelection selection = event.getSelection();
+ if (selection instanceof ITreeSelection) {
+ ITreeSelection struct = (ITreeSelection) selection;
+ Object firstElement = struct.getFirstElement();
+ if (firstElement instanceof RuleMatchNode) {
+ RuleMatchNode node = (RuleMatchNode) firstElement;
+ Object elementPage = casViewer.getAdapter(IElementViewPage.class);
+ if (elementPage instanceof ElementViewPage && node.hasChildren()) {
+ ((ElementViewPage) elementPage).inputChange(node.getChildren().get(0));
+ }
+ }
+ }
+ }
+
+ public void casChanged(CEVDocument casDocument) {
+ this.casDoc = casDocument;
+ }
+}
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/failed/FailedViewPage.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/failed/FailedViewPage.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/failed/IFailedViewPage.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/failed/IFailedViewPage.java?rev=1152822&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/failed/IFailedViewPage.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/failed/IFailedViewPage.java Mon Aug 1 15:20:50 2011
@@ -0,0 +1,7 @@
+package org.apache.uima.tm.textmarker.cev.explain.failed;
+
+import org.apache.uima.tm.cev.views.ICEVViewPage;
+
+public interface IFailedViewPage extends ICEVViewPage {
+
+}
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/failed/IFailedViewPage.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/failed/IFailedViewPage.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/matched/IMatchedViewPage.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/matched/IMatchedViewPage.java?rev=1152822&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/matched/IMatchedViewPage.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/matched/IMatchedViewPage.java Mon Aug 1 15:20:50 2011
@@ -0,0 +1,7 @@
+package org.apache.uima.tm.textmarker.cev.explain.matched;
+
+import org.apache.uima.tm.cev.views.ICEVViewPage;
+
+public interface IMatchedViewPage extends ICEVViewPage {
+
+}
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/matched/IMatchedViewPage.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/matched/IMatchedViewPage.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/matched/MatchedTreeContentProvider.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/matched/MatchedTreeContentProvider.java?rev=1152822&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/matched/MatchedTreeContentProvider.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/matched/MatchedTreeContentProvider.java Mon Aug 1 15:20:50 2011
@@ -0,0 +1,59 @@
+package org.apache.uima.tm.textmarker.cev.explain.matched;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.uima.tm.textmarker.cev.explain.tree.IExplainTreeNode;
+import org.apache.uima.tm.textmarker.cev.explain.tree.RuleMatchNode;
+import org.eclipse.jface.viewers.ITreeContentProvider;
+import org.eclipse.jface.viewers.Viewer;
+
+
+public class MatchedTreeContentProvider implements ITreeContentProvider {
+
+ public Object[] getChildren(Object parentElement) {
+ if (parentElement instanceof IExplainTreeNode) {
+ List<Object> result = new ArrayList<Object>();
+ IExplainTreeNode debugNode = (IExplainTreeNode) parentElement;
+ for (IExplainTreeNode each : debugNode.getChildren()) {
+ if (each instanceof RuleMatchNode) {
+ result.add(each);
+ }
+ }
+ return result.toArray();
+ }
+ return null;
+ }
+
+ public Object getParent(Object element) {
+ if (element instanceof IExplainTreeNode) {
+ return ((IExplainTreeNode) element).getParent();
+ }
+ return null;
+
+ }
+
+ public Object[] getElements(Object element) {
+ return getChildren(element);
+ }
+
+ public boolean hasChildren(Object parentElement) {
+
+ // if (parentElement instanceof IExplainTreeNode) {
+ // IExplainTreeNode debugNode = (IExplainTreeNode) parentElement;
+ // for (Object each : debugNode.getChildren()) {
+ // if(!(each instanceof ExplainRootNode)) {
+ // return true;
+ // }
+ // }
+ // }
+ return false;
+ }
+
+ public void dispose() {
+ }
+
+ public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
+ }
+
+}
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/matched/MatchedTreeContentProvider.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/matched/MatchedTreeContentProvider.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/matched/MatchedTreeLabelProvider.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/matched/MatchedTreeLabelProvider.java?rev=1152822&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/matched/MatchedTreeLabelProvider.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/matched/MatchedTreeLabelProvider.java Mon Aug 1 15:20:50 2011
@@ -0,0 +1,47 @@
+package org.apache.uima.tm.textmarker.cev.explain.matched;
+
+import org.apache.uima.cas.FeatureStructure;
+import org.apache.uima.cas.text.AnnotationFS;
+import org.apache.uima.tm.textmarker.cev.explain.tree.RuleMatchNode;
+import org.eclipse.jface.viewers.ILabelProvider;
+import org.eclipse.jface.viewers.LabelProvider;
+import org.eclipse.swt.graphics.Image;
+
+
+public class MatchedTreeLabelProvider extends LabelProvider implements ILabelProvider {
+
+ private MatchedViewPage owner;
+
+ public MatchedTreeLabelProvider(MatchedViewPage owner) {
+ super();
+ this.owner = owner;
+ }
+
+ @Override
+ public Image getImage(Object element) {
+ if (element instanceof RuleMatchNode) {
+ RuleMatchNode ruleMatchNode = (RuleMatchNode) element;
+ FeatureStructure fs = ruleMatchNode.getFeatureStructure();
+ if (fs != null) {
+ String name = fs.getType().getName();
+ return owner.getImage(name);
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public String getText(Object element) {
+ if (element instanceof RuleMatchNode) {
+ RuleMatchNode debugNode = (RuleMatchNode) element;
+ FeatureStructure fs = debugNode.getFeatureStructure();
+ if (fs != null) {
+ String s = ((AnnotationFS) fs).getCoveredText();
+ s = s.replaceAll("[\\n\\r]", "");
+ return s;
+ }
+ }
+
+ return element.toString();
+ }
+}
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/matched/MatchedTreeLabelProvider.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/matched/MatchedTreeLabelProvider.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/matched/MatchedView.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/matched/MatchedView.java?rev=1152822&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/matched/MatchedView.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/matched/MatchedView.java Mon Aug 1 15:20:50 2011
@@ -0,0 +1,18 @@
+package org.apache.uima.tm.textmarker.cev.explain.matched;
+
+import org.apache.uima.tm.cev.views.CEVPageBookView;
+import org.eclipse.ui.IWorkbenchPart;
+
+
+public class MatchedView extends CEVPageBookView {
+
+ public MatchedView() {
+ super();
+ }
+
+ @Override
+ protected PageRec doCreatePage(IWorkbenchPart part) {
+ return doCreatePage(part, IMatchedViewPage.class);
+ }
+
+}
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/matched/MatchedView.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/matched/MatchedView.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/matched/MatchedViewFactory.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/matched/MatchedViewFactory.java?rev=1152822&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/matched/MatchedViewFactory.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/matched/MatchedViewFactory.java Mon Aug 1 15:20:50 2011
@@ -0,0 +1,21 @@
+package org.apache.uima.tm.textmarker.cev.explain.matched;
+
+import org.apache.uima.tm.cev.data.CEVDocument;
+import org.apache.uima.tm.cev.editor.CEVViewer;
+import org.apache.uima.tm.cev.extension.ICEVView;
+import org.apache.uima.tm.cev.extension.ICEVViewFactory;
+
+public class MatchedViewFactory implements ICEVViewFactory {
+
+ public MatchedViewFactory() {
+ }
+
+ public ICEVView createView(CEVViewer viewer, CEVDocument cevDocument, int index) {
+ return new MatchedViewPage(viewer, cevDocument, index);
+ }
+
+ public Class<?> getAdapterInterface() {
+ return IMatchedViewPage.class;
+ }
+
+}
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/matched/MatchedViewFactory.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/matched/MatchedViewFactory.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/matched/MatchedViewPage.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/matched/MatchedViewPage.java?rev=1152822&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/matched/MatchedViewPage.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/matched/MatchedViewPage.java Mon Aug 1 15:20:50 2011
@@ -0,0 +1,198 @@
+package org.apache.uima.tm.textmarker.cev.explain.matched;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.uima.cas.Type;
+import org.apache.uima.cas.text.AnnotationFS;
+import org.apache.uima.tm.cev.data.CEVData;
+import org.apache.uima.tm.cev.data.CEVDocument;
+import org.apache.uima.tm.cev.data.tree.ICEVAnnotationNode;
+import org.apache.uima.tm.cev.editor.CEVViewer;
+import org.apache.uima.tm.cev.extension.ICEVView;
+import org.apache.uima.tm.textmarker.cev.TextMarkerCEVPlugin;
+import org.apache.uima.tm.textmarker.cev.explain.element.ElementViewPage;
+import org.apache.uima.tm.textmarker.cev.explain.element.IElementViewPage;
+import org.apache.uima.tm.textmarker.cev.explain.tree.IExplainTreeNode;
+import org.apache.uima.tm.textmarker.cev.explain.tree.MatchedRootNode;
+import org.apache.uima.tm.textmarker.cev.explain.tree.RuleMatchNode;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.jface.viewers.CheckboxTreeViewer;
+import org.eclipse.jface.viewers.DoubleClickEvent;
+import org.eclipse.jface.viewers.IDoubleClickListener;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.ITreeSelection;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.part.Page;
+
+
+public class MatchedViewPage extends Page implements IMatchedViewPage, ICEVView,
+ IDoubleClickListener, ISelectionChangedListener {
+
+ private IExplainTreeNode node;
+
+ // private CASViewer casViewer;
+ private CheckboxTreeViewer treeView;
+
+ // private Tree tree;
+ private CEVDocument casDoc;
+
+ private int current;
+
+ private CEVViewer casViewer;
+
+ private Map<String, Image> images;
+
+ public MatchedViewPage(CEVViewer casViewer, CEVDocument casDoc, int index) {
+ super();
+ this.casViewer = casViewer;
+ this.casDoc = casDoc;
+ this.current = index;
+ }
+
+ @Override
+ public void dispose() {
+ super.dispose();
+ if (images != null) {
+ for (Image each : images.values()) {
+ each.dispose();
+ }
+ }
+ }
+
+ private void initImages() {
+ images = new HashMap<String, Image>();
+ ImageDescriptor desc;
+ Image image;
+ String name;
+
+ desc = TextMarkerCEVPlugin.getImageDescriptor("/icons/accept.png");
+ image = desc.createImage();
+ name = "matched";
+ images.put(name, image);
+
+ desc = TextMarkerCEVPlugin.getImageDescriptor("/icons/cancel.png");
+ image = desc.createImage();
+ name = "failed";
+ images.put(name, image);
+
+ desc = TextMarkerCEVPlugin.getImageDescriptor("/icons/font_add.png");
+ image = desc.createImage();
+ name = TextMarkerCEVPlugin.MATCHED_RULE_MATCH_TYPE;
+ images.put(name, image);
+
+ desc = TextMarkerCEVPlugin.getImageDescriptor("/icons/font_delete.png");
+ image = desc.createImage();
+ name = TextMarkerCEVPlugin.FAILED_RULE_MATCH_TYPE;
+ images.put(name, image);
+ }
+
+ public Image getImage(String name) {
+ if (images == null) {
+ initImages();
+ }
+ return images.get(name);
+ }
+
+ @Override
+ public void createControl(Composite parent) {
+ treeView = new CheckboxTreeViewer(parent, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL);
+ treeView.setContentProvider(new MatchedTreeContentProvider());
+ treeView.setLabelProvider(new MatchedTreeLabelProvider(this));
+ treeView.setInput(node);
+ treeView.addCheckStateListener(getCurrentCEVData());
+ treeView.addSelectionChangedListener(this);
+ treeView.addDoubleClickListener(this);
+ }
+
+ public CEVData getCurrentCEVData() {
+ return casDoc.getCASData(current);
+ }
+
+ public void doubleClick(DoubleClickEvent event) {
+ if (event.getSelection() != null && event.getSelection() instanceof ITreeSelection) {
+ Object treeNode = ((ITreeSelection) event.getSelection()).getFirstElement();
+ if (treeNode instanceof ICEVAnnotationNode) {
+ casViewer.moveToAnnotation(((ICEVAnnotationNode) treeNode).getAnnotation());
+ }
+ }
+ }
+
+ @Override
+ public Control getControl() {
+ return treeView.getControl();
+ }
+
+ @Override
+ public void setFocus() {
+ treeView.getControl().setFocus();
+ }
+
+ public void inputChange(Object newInput) {
+ if (newInput != null && newInput instanceof MatchedRootNode && treeView != null) {
+ this.treeView.setInput(newInput);
+ this.treeView.refresh();
+ }
+ Object elementPage = casViewer.getAdapter(IElementViewPage.class);
+ if (elementPage instanceof ElementViewPage) {
+ ((ElementViewPage) elementPage).inputChange(null);
+ }
+ }
+
+ public void viewChanged(int newIndex) {
+ getCurrentCEVData().removeAnnotationListener(this);
+ current = newIndex;
+ getCurrentCEVData().addAnnotationListener(this);
+ inputChange(null);
+ }
+
+ public void annotationsAdded(List<AnnotationFS> annots) {
+
+ }
+
+ public void annotationsRemoved(List<AnnotationFS> annots) {
+
+ }
+
+ public void annotationStateChanged(Type type) {
+
+ }
+
+ public void annotationStateChanged(AnnotationFS annot) {
+
+ }
+
+ public void colorChanged(Type type) {
+
+ }
+
+ public void newSelection(int offset) {
+
+ }
+
+ public void selectionChanged(SelectionChangedEvent event) {
+ ISelection selection = event.getSelection();
+ if (selection instanceof ITreeSelection) {
+ ITreeSelection struct = (ITreeSelection) selection;
+ Object firstElement = struct.getFirstElement();
+ if (firstElement instanceof RuleMatchNode) {
+ RuleMatchNode node = (RuleMatchNode) firstElement;
+ Object elementPage = casViewer.getAdapter(IElementViewPage.class);
+ if (elementPage instanceof ElementViewPage && node.hasChildren()) {
+ ((ElementViewPage) elementPage).inputChange(node.getChildren().get(0));
+ }
+ }
+ }
+ }
+
+ public void casChanged(CEVDocument casDocument) {
+ this.casDoc = casDocument;
+ }
+
+}
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/matched/MatchedViewPage.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/matched/MatchedViewPage.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/rulelist/IRuleListViewPage.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/rulelist/IRuleListViewPage.java?rev=1152822&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/rulelist/IRuleListViewPage.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/rulelist/IRuleListViewPage.java Mon Aug 1 15:20:50 2011
@@ -0,0 +1,7 @@
+package org.apache.uima.tm.textmarker.cev.explain.rulelist;
+
+import org.apache.uima.tm.cev.views.ICEVViewPage;
+
+public interface IRuleListViewPage extends ICEVViewPage {
+
+}
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/rulelist/IRuleListViewPage.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/rulelist/IRuleListViewPage.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/rulelist/RuleListSelectionView.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/rulelist/RuleListSelectionView.java?rev=1152822&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/rulelist/RuleListSelectionView.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/rulelist/RuleListSelectionView.java Mon Aug 1 15:20:50 2011
@@ -0,0 +1,17 @@
+package org.apache.uima.tm.textmarker.cev.explain.rulelist;
+
+import org.apache.uima.tm.cev.views.CEVPageBookView;
+import org.eclipse.ui.IWorkbenchPart;
+
+
+public class RuleListSelectionView extends CEVPageBookView {
+
+ public RuleListSelectionView() {
+ super();
+ }
+
+ @Override
+ protected PageRec doCreatePage(IWorkbenchPart part) {
+ return doCreatePage(part, IRuleListViewPage.class);
+ }
+}
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/rulelist/RuleListSelectionView.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/rulelist/RuleListSelectionView.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/rulelist/RuleListViewFactory.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/rulelist/RuleListViewFactory.java?rev=1152822&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/rulelist/RuleListViewFactory.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/rulelist/RuleListViewFactory.java Mon Aug 1 15:20:50 2011
@@ -0,0 +1,21 @@
+package org.apache.uima.tm.textmarker.cev.explain.rulelist;
+
+import org.apache.uima.tm.cev.data.CEVDocument;
+import org.apache.uima.tm.cev.editor.CEVViewer;
+import org.apache.uima.tm.cev.extension.ICEVView;
+import org.apache.uima.tm.cev.extension.ICEVViewFactory;
+
+public class RuleListViewFactory implements ICEVViewFactory {
+
+ public RuleListViewFactory() {
+ }
+
+ public ICEVView createView(CEVViewer viewer, CEVDocument cevDocument, int index) {
+ return new RuleListViewPage(viewer, cevDocument, index);
+ }
+
+ public Class<?> getAdapterInterface() {
+ return IRuleListViewPage.class;
+ }
+
+}
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/rulelist/RuleListViewFactory.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/rulelist/RuleListViewFactory.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/rulelist/RuleListViewPage.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/rulelist/RuleListViewPage.java?rev=1152822&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/rulelist/RuleListViewPage.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/rulelist/RuleListViewPage.java Mon Aug 1 15:20:50 2011
@@ -0,0 +1,155 @@
+package org.apache.uima.tm.textmarker.cev.explain.rulelist;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.uima.cas.Feature;
+import org.apache.uima.cas.Type;
+import org.apache.uima.tm.cev.data.CEVData;
+import org.apache.uima.tm.cev.data.CEVDocument;
+import org.apache.uima.tm.cev.editor.CEVViewer;
+import org.apache.uima.tm.textmarker.cev.TextMarkerCEVPlugin;
+import org.apache.uima.tm.textmarker.cev.explain.apply.ApplyTreeContentProvider;
+import org.apache.uima.tm.textmarker.cev.explain.apply.ApplyTreeLabelProvider;
+import org.apache.uima.tm.textmarker.cev.explain.apply.ApplyViewPage;
+import org.apache.uima.tm.textmarker.cev.explain.tree.ApplyRootNode;
+import org.apache.uima.tm.textmarker.cev.explain.tree.ExplainTree;
+import org.apache.uima.tm.textmarker.cev.explain.tree.IExplainTreeNode;
+import org.apache.uima.tm.textmarker.cev.explain.tree.RuleApplyNode;
+import org.eclipse.jface.viewers.CheckboxTreeViewer;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Event;
+import org.eclipse.swt.widgets.Listener;
+import org.eclipse.swt.widgets.Text;
+
+
+public class RuleListViewPage extends ApplyViewPage implements IRuleListViewPage, Listener {
+
+ protected Text filterTextField;
+
+ protected String manualFilter = "";
+
+ private Composite overlay;
+
+ private int offset = -1;
+
+ public RuleListViewPage(CEVViewer casViewer, CEVDocument casDoc, int index) {
+ super(casViewer, casDoc, index);
+ }
+
+ @Override
+ public void createControl(Composite parent) {
+ this.overlay = new Composite(parent, SWT.NONE);
+ GridLayout layout = new GridLayout();
+ layout.horizontalSpacing = 0;
+ layout.verticalSpacing = 0;
+ layout.marginWidth = 0;
+ layout.marginHeight = 0;
+ // FillLayout layout = new FillLayout(SWT.VERTICAL);
+ overlay.setLayout(layout);
+
+ filterTextField = new Text(overlay, SWT.SINGLE | SWT.BORDER);
+ GridData gd = new GridData();
+ gd.grabExcessHorizontalSpace = true;
+ gd.horizontalAlignment = GridData.FILL;
+ gd.horizontalSpan = 1;
+ filterTextField.setLayoutData(gd);
+ filterTextField.setToolTipText("Retain types that contain...");
+ filterTextField.addListener(SWT.KeyUp, this);
+ filterTextField.addListener(SWT.MouseUp, this);
+ filterTextField.addListener(SWT.Modify, this);
+
+ viewer = new CheckboxTreeViewer(overlay, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
+ gd = new GridData(GridData.FILL_BOTH);
+ viewer.getTree().setLayoutData(gd);
+ viewer.setContentProvider(new ApplyTreeContentProvider());
+ viewer.setLabelProvider(new ApplyTreeLabelProvider(this));
+ viewer.addDoubleClickListener(this);
+ viewer.addSelectionChangedListener(this);
+ viewer.setInput(new ApplyRootNode(null, getCurrentCEVData().getCAS().getTypeSystem()));
+ }
+
+ public void viewChanged(int newIndex) {
+ getCurrentCEVData().removeAnnotationListener(this);
+ current = newIndex;
+ getCurrentCEVData().addAnnotationListener(this);
+ newSelection(offset);
+ }
+
+ public CEVData getCurrentCEVData() {
+ return casDoc.getCASData(current);
+ }
+
+ public void newSelection(int offset) {
+ this.offset = offset;
+
+ if (offset >= 0) {
+ ExplainTree tree = new ExplainTree(getCurrentCEVData(), offset, true);
+ filterTree(tree);
+ viewer.setInput(tree.getRoot());
+ viewer.refresh();
+ }
+ }
+
+ private void filterTree(ExplainTree tree) {
+ Type ruleType = getCurrentCEVData().getCAS().getTypeSystem().getType(
+ TextMarkerCEVPlugin.RULE_APPLY_TYPE);
+ IExplainTreeNode root = tree.getRoot();
+ List<IExplainTreeNode> children = new ArrayList<IExplainTreeNode>(root.getChildren());
+ for (IExplainTreeNode each : children) {
+ if (each instanceof RuleApplyNode) {
+ RuleApplyNode ran = (RuleApplyNode) each;
+ Feature f = ruleType.getFeatureByBaseName(ExplainTree.ELEMENTS);
+ if (f != null) {
+ String v = ran.getFeatureStructure().getStringValue(f);
+ if (manualFilter != null && !"".equals(manualFilter) && v.indexOf(manualFilter) == -1) {
+ root.removeChild(ran);
+ }
+ }
+ }
+ }
+ }
+
+ public void handleEvent(Event event) {
+ if (event.widget == filterTextField && event.type == SWT.Modify) {
+ manualFilter = filterTextField.getText();
+ newSelection(offset);
+ }
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.ui.part.Page#dispose()
+ */
+ @Override
+ public void dispose() {
+ super.dispose();
+ overlay.dispose();
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.ui.part.Page#getControl()
+ */
+ @Override
+ public Control getControl() {
+ return overlay;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.ui.part.Page#setFocus()
+ */
+ @Override
+ public void setFocus() {
+ overlay.setFocus();
+ }
+
+}
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/rulelist/RuleListViewPage.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/rulelist/RuleListViewPage.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/selection/ExplainSelectionView.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/selection/ExplainSelectionView.java?rev=1152822&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/selection/ExplainSelectionView.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/selection/ExplainSelectionView.java Mon Aug 1 15:20:50 2011
@@ -0,0 +1,17 @@
+package org.apache.uima.tm.textmarker.cev.explain.selection;
+
+import org.apache.uima.tm.cev.views.CEVPageBookView;
+import org.eclipse.ui.IWorkbenchPart;
+
+
+public class ExplainSelectionView extends CEVPageBookView {
+
+ public ExplainSelectionView() {
+ super();
+ }
+
+ @Override
+ protected PageRec doCreatePage(IWorkbenchPart part) {
+ return doCreatePage(part, IExplainSelectionViewPage.class);
+ }
+}
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/selection/ExplainSelectionView.java
------------------------------------------------------------------------------
svn:executable = *
Propchange: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/selection/ExplainSelectionView.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/selection/ExplainSelectionViewFactory.java
URL: http://svn.apache.org/viewvc/uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/selection/ExplainSelectionViewFactory.java?rev=1152822&view=auto
==============================================================================
--- uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/selection/ExplainSelectionViewFactory.java (added)
+++ uima/sandbox/trunk/TextMarker/org.apache.uima.tm.textmarker.cev.extensions/src/main/java/org/apache/uima/tm/textmarker/cev/explain/selection/ExplainSelectionViewFactory.java Mon Aug 1 15:20:50 2011
@@ -0,0 +1,21 @@
+package org.apache.uima.tm.textmarker.cev.explain.selection;
+
+import org.apache.uima.tm.cev.data.CEVDocument;
+import org.apache.uima.tm.cev.editor.CEVViewer;
+import org.apache.uima.tm.cev.extension.ICEVView;
+import org.apache.uima.tm.cev.extension.ICEVViewFactory;
+
+public class ExplainSelectionViewFactory implements ICEVViewFactory {
+
+ public ExplainSelectionViewFactory() {
+ }
+
+ public ICEVView createView(CEVViewer viewer, CEVDocument cevDocument, int index) {
+ return new ExplainSelectionViewPage(viewer, cevDocument, index);
+ }
+
+ public Class<?> getAdapterInterface() {
+ return IExplainSelectionViewPage.class;
+ }
+
+}