public static final String CATEGORICAL_EDITABLE = CATEGORICAL+"_EDITABLE";
public static final String QUANTITATIVE_EDITABLE = QUANTITATIVE+"_EDITABLE";
public static final String NOT_EDITABLE = "NOT_EDITABLE";
+ public static final String NOT_APPLICABLE = "NOT APPLICABLE";
private CharacterMatrix matrix;
@Override
public void accumulateConfigLabels(LabelStack configLabels, int columnPosition, int rowPosition) {
boolean isEditable = true;
+ boolean isApplicable = true;
Object rowObject = matrix.getBodyDataProvider().getRowObject(rowPosition);
if(rowObject instanceof TaxonNodeDto){
isEditable = false;
}
if (!isApplicableCheck(feature, (RowWrapperDTO)rowObject)){
- isEditable = false;
+ isApplicable = false;
}
}
if(feature.isSupportsCategoricalData()){
configLabels.addLabel(CATEGORICAL);
- if(isEditable){
+ if(isEditable && isApplicable){
configLabels.addLabel(CATEGORICAL_EDITABLE);
- }else{
+ }else if (!isEditable && isApplicable){
configLabels.addLabel(NOT_EDITABLE);
}
+
}
else if(feature.isSupportsQuantitativeData()){
configLabels.addLabel(QUANTITATIVE);
- if(isEditable){
+ if(isEditable && isApplicable){
configLabels.addLabel(QUANTITATIVE_EDITABLE);
- }else{
+ }else if (!isEditable && isApplicable){
configLabels.addLabel(NOT_EDITABLE);
}
}
+ if (!isApplicable){
+ configLabels.addLabel(NOT_APPLICABLE);
+
+ }
}
}
notEditableValueStyle,
DisplayMode.NORMAL,
CharacterMatrixConfigLabelAccumulator.NOT_EDITABLE);
+
+ Style notApplicableValueStyle = new Style();
+ notApplicableValueStyle.setAttributeValue(
+ CellStyleAttributes.BACKGROUND_COLOR,
+ GUIHelper.COLOR_GRAY);
+ configRegistry.registerConfigAttribute(
+ CellConfigAttributes.CELL_STYLE,
+ notApplicableValueStyle,
+ DisplayMode.NORMAL,
+ CharacterMatrixConfigLabelAccumulator.NOT_APPLICABLE);
Style defaultOverriddenStyle = new Style();
defaultOverriddenStyle.setAttributeValue(