field.getExpected() );
box.addKeyPressHandler( new NumbericFilterKeyPressHandler( box ) );
panel.add( box );
} else if ( flType != null && flType.equals( SuggestionCompletionEngine.TYPE_BOOLEAN ) ) {
String[] c = new String[]{"true", "false"};
panel.add( new EnumDropDown( field.getExpected(),
new DropDownValueChanged() {
public void valueChanged(String newText,
String newValue) {
callback.valueChanged( newValue );
}
},
DropDownData.create( c ) ) );
} else if ( flType != null && flType.equals( SuggestionCompletionEngine.TYPE_DATE ) ) {
final DatePickerTextBox datePicker = new DatePickerTextBox( field.getExpected() );
String m = ((Constants) GWT.create( Constants.class )).ValueFor0( field.getFieldName() );
datePicker.setTitle( m );
datePicker.addValueChanged( new ValueChanged() {
public void valueChanged(String newValue) {
field.setExpected( newValue );
}
} );
panel.add( datePicker );
} else {
Map<String, String> currentValueMap = new HashMap<String, String>();
// TODO fill currentValueMap with values of other VerifyFields (if any)
DropDownData dropDownData = sce.getEnums(factType, field.getFieldName(), currentValueMap);
if ( dropDownData != null ) {
//GUVNOR-1324: Java enums are of type TYPE_COMPARABLE whereas Guvnor enums are not.
//The distinction here controls whether the EXPECTED value is handled as a true
//Java enum or a literal with a selection list (i.e. Guvnor enum)
String dataType = sce.getFieldType( key );
if(dataType.equals(SuggestionCompletionEngine.TYPE_COMPARABLE)) {
field.setNature( FieldData.TYPE_ENUM );
} else {
field.setNature( FieldData.TYPE_LITERAL );
}
panel.add( new EnumDropDown( field.getExpected(),
new DropDownValueChanged() {
public void valueChanged(String newText,
String newValue) {
callback.valueChanged( newValue );
}