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/12/22 03:07:27 UTC

svn commit: r1221993 - /uima/uimaj/trunk/uimaj-ep-cas-editor/src/main/java/org/apache/uima/caseditor/editor/editview/EditViewPage.java

Author: joern
Date: Thu Dec 22 02:07:27 2011
New Revision: 1221993

URL: http://svn.apache.org/viewvc?rev=1221993&view=rev
Log:
UIMA-2298 Replaced boolean combo with a checkbox like control. Thanks to Oliver Ferschke for providing a patch.

Modified:
    uima/uimaj/trunk/uimaj-ep-cas-editor/src/main/java/org/apache/uima/caseditor/editor/editview/EditViewPage.java

Modified: uima/uimaj/trunk/uimaj-ep-cas-editor/src/main/java/org/apache/uima/caseditor/editor/editview/EditViewPage.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-ep-cas-editor/src/main/java/org/apache/uima/caseditor/editor/editview/EditViewPage.java?rev=1221993&r1=1221992&r2=1221993&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-ep-cas-editor/src/main/java/org/apache/uima/caseditor/editor/editview/EditViewPage.java (original)
+++ uima/uimaj/trunk/uimaj-ep-cas-editor/src/main/java/org/apache/uima/caseditor/editor/editview/EditViewPage.java Thu Dec 22 02:07:27 2011
@@ -54,8 +54,8 @@ import org.eclipse.jface.action.Action;
 import org.eclipse.jface.action.IAction;
 import org.eclipse.jface.dialogs.IDialogConstants;
 import org.eclipse.jface.viewers.CellEditor;
+import org.eclipse.jface.viewers.CheckboxCellEditor;
 import org.eclipse.jface.viewers.ColumnViewer;
-import org.eclipse.jface.viewers.ComboBoxCellEditor;
 import org.eclipse.jface.viewers.EditingSupport;
 import org.eclipse.jface.viewers.ISelection;
 import org.eclipse.jface.viewers.IStructuredSelection;
@@ -144,8 +144,7 @@ final class EditViewPage extends Page im
           CellEditor editor;
 
           if (value.getFeature().getRange().getName().equals(CAS.TYPE_NAME_BOOLEAN)) {
-            editor = new ComboBoxCellEditor(viewer.getTree(), new String[]{"false", "true"},
-                    SWT.READ_ONLY);
+            editor = new CheckboxCellEditor(viewer.getTree(), SWT.CHECK);
           }
           else {
             editor = new TextCellEditor(viewer.getTree());
@@ -167,9 +166,7 @@ final class EditViewPage extends Page im
         CellEditor editor;
 
         if (arrayFS instanceof BooleanArrayFS) {
-          editor = new ComboBoxCellEditor(viewer.getTree(), new String[]{"false", "true"},
-                  SWT.READ_ONLY);
-          editor.setStyle(SWT.READ_ONLY);
+          editor = new CheckboxCellEditor(viewer.getTree(), SWT.CHECK);
         }
         else {
           editor = new TextCellEditor(viewer.getTree());
@@ -207,19 +204,6 @@ final class EditViewPage extends Page im
       }
     }
 
-    private int booleanToInt(boolean value) {
-      if (value) {
-        return 1;
-      }
-      else {
-        return 0;
-      }
-    }
-
-    private boolean intToBoolean(int value) {
-      return value == 1;
-    }
-
     @Override
     protected Object getValue(Object element) {
 
@@ -234,8 +218,7 @@ final class EditViewPage extends Page im
         }
         else {
           // for booleans
-          return booleanToInt(featureValue.getFeatureStructure().
-              getBooleanValue(featureValue.getFeature()));
+          return Primitives.getPrimitive(featureValue.getFeatureStructure(), featureValue.getFeature());
         }
 
       }
@@ -247,7 +230,7 @@ final class EditViewPage extends Page im
             return value.get().toString();
           }
           else {
-            return booleanToInt((Boolean) value.get());
+            return value.get();
           }
       }
       else {
@@ -276,8 +259,7 @@ final class EditViewPage extends Page im
             }
           }
           else {
-            featureValue.getFeatureStructure().setBooleanValue(featureValue.getFeature(),
-                    intToBoolean((Integer) value));
+            featureValue.getFeatureStructure().setBooleanValue(featureValue.getFeature(),(Boolean) value);
           }
           document.update(featureValue.getFeatureStructure());
 
@@ -291,8 +273,7 @@ final class EditViewPage extends Page im
             arrayValue.set((String) value);
           }
           else {
-            arrayValue.set(Boolean.toString(
-                    intToBoolean((Integer) value)).toString());
+            arrayValue.set(value.toString());
           }
 
           document.update(arrayValue.getFeatureStructure());
@@ -304,6 +285,7 @@ final class EditViewPage extends Page im
     }
   }
 
+
   final class DeleteFeatureStructureValue extends BaseSelectionListenerAction {
 
     protected DeleteFeatureStructureValue() {
@@ -375,14 +357,15 @@ final class EditViewPage extends Page im
 
 
     FeatureStructure createFS(Type type, int arraySize) {
-    		
-      if (type.isPrimitive())
-    	  throw new IllegalArgumentException("Cannot create FS for primitive type!");
-      
+
+      if (type.isPrimitive()) {
+        throw new IllegalArgumentException("Cannot create FS for primitive type!");
+      }
+
       FeatureStructure fs;
-      
+
       TypeSystem ts = document.getCAS().getTypeSystem();
-      
+
       if (type.isArray()) {
           if (type.getName().equals(CAS.TYPE_NAME_BOOLEAN_ARRAY)) {
               fs = document.getCAS().createBooleanArrayFS(arraySize);
@@ -404,23 +387,23 @@ final class EditViewPage extends Page im
               fs = document.getCAS().createArrayFS(arraySize);
             } else {
               throw new CasEditorError("Unkown array type: " + type.getName() + "!");
-            }  
+            }
       }
       else if (ts.subsumes(ts.getType(CAS.TYPE_NAME_ANNOTATION), type)) {
-    	
-    	// get begin of selection from editor, if any  
-    	// TODO: Add an interface to retrieve the span from the editor  
-    	
+
+    	// get begin of selection from editor, if any
+    	// TODO: Add an interface to retrieve the span from the editor
+
     	int begin = 0;
     	int end = 0;
-    	
+
     	if (editor instanceof AnnotationEditor) {
     	  Point selection = ((AnnotationEditor) editor).getSelection();
-    	  
+
     	  begin = selection.x;
     	  end = selection.y;
     	}
-    	
+
     	fs = document.getCAS().createAnnotation(type, begin, end);
       }
       else if (!type.isArray()) {
@@ -429,7 +412,7 @@ final class EditViewPage extends Page im
       else {
         throw new TaeError("Unexpected error!");
       }
-      
+
       return fs;
     }
 
@@ -556,20 +539,21 @@ final class EditViewPage extends Page im
 
   private ICasDocument document;
   private ICasEditor editor;
-  
+
   private PinAction pinAction;
 
   private final EditView editView;
 
   EditViewPage(EditView editView, ICasEditor editor, ICasDocument document) {
 
-	if (editView == null || document == null)
-        throw new IllegalArgumentException("Parameters must not be null!");
+	if (editView == null || document == null) {
+		throw new IllegalArgumentException("Parameters must not be null!");
+	}
 
     this.editView = editView;
     this.editor = editor;
     this.document = document;
-    
+
   }
 
   @Override
@@ -596,7 +580,7 @@ final class EditViewPage extends Page im
 
     valueColumn.setEditingSupport(new ValueEditingSupport(viewer));
 
-    
+
     FeatureStructureContentProvider contentProvider =
         new FeatureStructureContentProvider(document);
 
@@ -650,13 +634,13 @@ final class EditViewPage extends Page im
 
               // this can fail
               FeatureValue value = (FeatureValue) tableItem.getData();
-              
+
               TypeSystem typeSystem = value.getFeatureStructure().getCAS().getTypeSystem();
-              
+
               Type range = value.getFeature().getRange();
 
               FeatureStructure dragFeatureStructure = (FeatureStructure) event.data;
-              
+
               if (typeSystem.subsumes(range, dragFeatureStructure.getType())) {
 
                 FeatureStructure target = value.getFeatureStructure();
@@ -750,11 +734,11 @@ final class EditViewPage extends Page im
   public void setActionBars(IActionBars actionBars) {
     // pin action
     pinAction = new PinAction();
-    
+
     pinAction.setText("Pin");
     pinAction.setImageDescriptor(CasEditorPlugin.getTaeImageDescriptor(Images.PIN));
     actionBars.getToolBarManager().add(pinAction);
-    
+
     CreateFeatureStructrueValue createAction = new CreateFeatureStructrueValue();
     createAction.setImageDescriptor(CasEditorPlugin.getTaeImageDescriptor(Images.ADD));
     actionBars.getToolBarManager().add(createAction);
@@ -777,12 +761,12 @@ final class EditViewPage extends Page im
 
     if (getSite().getPage().getActiveEditor() == editor) {
       if (selection instanceof IStructuredSelection) {
-  
+
         FeatureStructureSelection fsSelection = new FeatureStructureSelection(
                 (IStructuredSelection) selection);
-  
+
         if (fsSelection.size() == 1 && !pinAction.isChecked()) {
-  
+
           // filter out selection which are cause by this view itself
           if (editView != part) {
             viewer.setInput(fsSelection.toList().get(0));