ref #9816: disable field for more than one description element
[taxeditor.git] / eu.etaxonomy.taxeditor.editor / src / main / java / eu / etaxonomy / taxeditor / editor / descriptiveDataSet / matrix / categorical / CategoricalDataCellEditor.java
index 069f0164e3df0ed484a6c4bb7a5cff4bcad8f44a..1890198cd1711b26e7d574cafdc0145e686334c2 100644 (file)
@@ -8,6 +8,8 @@
 */
 package eu.etaxonomy.taxeditor.editor.descriptiveDataSet.matrix.categorical;
 
+import java.util.Set;
+
 import org.eclipse.nebula.widgets.nattable.edit.editor.ComboBoxCellEditor;
 import org.eclipse.nebula.widgets.nattable.widget.NatCombo;
 import org.eclipse.swt.events.SelectionEvent;
@@ -15,6 +17,7 @@ import org.eclipse.swt.events.SelectionListener;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Control;
 
+import eu.etaxonomy.cdm.api.service.dto.DescriptionElementDto;
 import eu.etaxonomy.cdm.api.service.dto.RowWrapperDTO;
 import eu.etaxonomy.cdm.persistence.dto.FeatureDto;
 import eu.etaxonomy.taxeditor.editor.descriptiveDataSet.matrix.CharacterMatrix;
@@ -35,6 +38,14 @@ public class CategoricalDataCellEditor extends ComboBoxCellEditor{
         setUseCheckbox(true);
         setMultiselect(true);
         setShowDropdownFilter(true);
+//        Object rowWrapper = matrix.getBodyDataProvider().getRowObject(this.getRowIndex());
+//        if(rowWrapper instanceof RowWrapperDTO){
+//             FeatureDto feature = matrix.getIndexToFeatureMap().get(getColumnIndex());
+//             Set<DescriptionElementDto> elements = ((RowWrapperDTO)rowWrapper).getDataValueForFeature(feature.getUuid());
+//             if (elements != null && elements.size() >1){
+//                     this.getEditorControl().setEnabled(false);
+//             }
+//        }
     }
 
     @Override
@@ -45,8 +56,11 @@ public class CategoricalDataCellEditor extends ComboBoxCellEditor{
                 FeatureDto feature = matrix.getIndexToFeatureMap().get(getColumnIndex());
                 // FIXME avoid creating empty CategoricalData
 //                ((RowWrapperDTO) rowWrapper).addCategoricalData(feature);
+                
             }
+            
         }
+        
         super.setCanonicalValue(canonicalValue);
     }