public void onClick(ClickEvent event) {
//build up a list of what we have got, don't want to add it twice
HashSet<String> existingFields = new HashSet<String>();
if ( definitionList.size() > 0 ) {
FactData factData = (FactData) definitionList.get( 0 );
for ( FieldData fieldData : factData.fieldData ) {
existingFields.add( fieldData.name );
}
}
String[] fields = (String[]) suggestionCompletionEngine.getModelFields( type );
final FormStylePopup pop = new FormStylePopup(); //NON-NLS
pop.setTitle( constants.ChooseDotDotDot() );
final ListBox fieldsListBox = new ListBox();
for ( int i = 0; i < fields.length; i++ ) {
String field = fields[i];
if ( !existingFields.contains( field ) ) fieldsListBox.addItem( field );
}
Button ok = new Button( constants.OK() );
ok.addClickHandler( new ClickHandler() {
public void onClick(ClickEvent event) {
String field = fieldsListBox.getItemText( fieldsListBox.getSelectedIndex() );
for ( Fixture fixture : definitionList ) {
if ( fixture instanceof FactData ) {
FactData factData = (FactData) fixture;
factData.fieldData.add( new FieldData( field,
"" ) );
}
}
render();