EnumDropDown edd = ((EnumDropDown) selectedTable.getWidget(2, 1));
if (edd.getSelectedIndex() > -1) {
String field = edd.getValue(edd.getSelectedIndex());
field = field.substring(field.indexOf(":")+1).trim();
CellTable<Attribute> cellTable = (CellTable<Attribute>) characteristicsAttrMap.get(selectedTable).getDataDisplays().iterator().next();
DynamicSelectionCell dynamicSelectionCell = (DynamicSelectionCell) cellTable.getColumn(0).getCell();
List<String> newOptions = null;
if ("double".equalsIgnoreCase(field) || "int".equalsIgnoreCase(field)) {
newOptions = Arrays.asList(numericOperators);
} else if ("boolean".equalsIgnoreCase(field)) {
newOptions = Arrays.asList(booleanOperators);
CustomEditTextCell etc = (CustomEditTextCell)cellTable.getColumn(1).getCell();
etc.setEnabled(false);
((Button)selectedTable.getWidget(0, 3)).setEnabled(characteristicsAttrMap.get(selectedTable).getList().size() != 2);
if (newAttribute != null) {
newAttribute.setValue("N/A");
}
} else if ("String".equalsIgnoreCase(field)) {
newOptions = Arrays.asList(stringOperators);
}
dynamicSelectionCell.setOptions(newOptions);
if ( newAttribute != null) {
if (newOptions != null) {
newAttribute.setOperator(newOptions.get(0));
}
}