Example #1
0
  protected void showAddFieldPopup(ClickEvent w) {
    final DataModelOracle completions = this.getModeller().getSuggestionCompletions();
    final FormStylePopup popup =
        new FormStylePopup(
            GuidedRuleEditorImages508.INSTANCE.Wizard(), Constants.INSTANCE.AddAField());

    final ListBox box = new ListBox();
    box.addItem("...");

    for (int i = 0; i < fieldCompletions.length; i++) {
      box.addItem(fieldCompletions[i]);
    }

    box.setSelectedIndex(0);

    popup.addAttribute(Constants.INSTANCE.AddField(), box);
    box.addChangeHandler(
        new ChangeHandler() {

          public void onChange(ChangeEvent event) {
            String fieldName = box.getItemText(box.getSelectedIndex());

            String fieldType = completions.getFieldType(variableClass, fieldName);
            model.addFieldValue(new ActionFieldValue(fieldName, "", fieldType));
            setModified(true);
            getModeller().refreshWidget();
            popup.hide();
          }
        });

    popup.show();
  }