//make cell editable
configRegistry.registerConfigAttribute(
EditConfigAttributes.CELL_EDITABLE_RULE,
- getEditRule(matrix.getBodyDataProvider()),
-// IEditableRule.ALWAYS_EDITABLE,
+// getEditRule(matrix.getBodyDataProvider()),
+ IEditableRule.ALWAYS_EDITABLE,
DisplayMode.EDIT,
CharacterMatrixConfigLabelAccumulator.CATEGORICAL_EDITABLE
);
//make cell editable
configRegistry.registerConfigAttribute(
EditConfigAttributes.CELL_EDITABLE_RULE,
- getEditRule(matrix.getBodyDataProvider()),
-// IEditableRule.ALWAYS_EDITABLE,
+// getEditRule(matrix.getBodyDataProvider()),
+ IEditableRule.ALWAYS_EDITABLE,
DisplayMode.EDIT,
CharacterMatrixConfigLabelAccumulator.QUANTITATIVE_EDITABLE
);
}
- private static IEditableRule getEditRule(final IDataProvider dataProvider) {
- return new EditableRule(){
- public boolean isEditable(int columnIndex, int rowIndex) {
- Object dataValue = dataProvider.getDataValue(columnIndex, rowIndex);
- if (dataValue instanceof Set && ((Set)dataValue).size()>1){
- return false;
- }else return true;
- }
- };
- }
+// private static IEditableRule getEditRule(final IDataProvider dataProvider) {
+// return new EditableRule(){
+// public boolean isEditable(int columnIndex, int rowIndex) {
+// Object dataValue = dataProvider.getDataValue(columnIndex, rowIndex);
+// if (dataValue instanceof Set && ((Set)dataValue).size()>1){
+// return false;
+// }else return true;
+// }
+// };
+// }
}
*/
package eu.etaxonomy.taxeditor.editor.descriptiveDataSet.matrix.categorical;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
import java.util.Set;
import org.eclipse.nebula.widgets.nattable.edit.editor.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
FeatureDto feature = matrix.getIndexToFeatureMap().get(getColumnIndex());
// FIXME avoid creating empty CategoricalData
// ((RowWrapperDTO) rowWrapper).addCategoricalData(feature);
-
}
}
+ List canonicalValueList = new ArrayList<>();
- super.setCanonicalValue(canonicalValue);
+ if (canonicalValue instanceof String[]){
+ String[] stringArray = (String[])canonicalValue;
+ for (int i = 0; i<stringArray.length; i++){
+ canonicalValueList.add(stringArray[i]);
+ }
+ }else if (canonicalValue instanceof List){
+ canonicalValueList = (List<String>)canonicalValue;
+ }else if (canonicalValue instanceof String){
+ canonicalValueList.add((String)canonicalValue);
+ }else if (canonicalValue instanceof HashSet){
+ canonicalValueList = new ArrayList(((HashSet)canonicalValue));
+ }
+ super.setCanonicalValue(canonicalValueList);
}
@Override
*/
package eu.etaxonomy.taxeditor.editor.descriptiveDataSet.matrix.quantitative;
+import java.util.Iterator;
import java.util.Map;
import java.util.Set;
if(rowObject instanceof RowWrapperDTO){
rowWrapperDTO = (RowWrapperDTO<?>) rowObject;
Set<DescriptionElementDto> dataValueForFeature = rowWrapperDTO.getDataValueForFeature(feature.getUuid());
- if (dataValueForFeature.size() > 1){
+ if (dataValueForFeature != null && dataValueForFeature.size() > 1){
return null;
}
- if(dataValueForFeature instanceof QuantitativeDataDto){
- quantitativeData = (QuantitativeDataDto) dataValueForFeature;
+ Iterator<DescriptionElementDto> it = dataValueForFeature.iterator();
+ if(it.hasNext() ){
+ DescriptionElementDto dto = it.next();
+ if(dto instanceof QuantitativeDataDto){
+ quantitativeData = (QuantitativeDataDto) dto;
+ }
}
//create new Quantitative Data
if (quantitativeData == null) {