use of com.google.gwt.event.dom.client.ChangeEvent in project drools-wb by kiegroup.
the class ActionSetFieldWidget method showAddFieldPopup.
protected void showAddFieldPopup(ClickEvent w) {
final AsyncPackageDataModelOracle oracle = this.getModeller().getDataModelOracle();
final FormStylePopup popup = new FormStylePopup(GuidedRuleEditorImages508.INSTANCE.Wizard(), GuidedRuleEditorResources.CONSTANTS.AddAField());
final ListBox box = new ListBox();
box.addItem("...");
final ModelField[] availableFieldCompletions = ModelFieldUtil.getAvailableFieldCompletions(fieldCompletions, model);
final boolean isEnabled = !isReadOnly() && availableFieldCompletions.length > 0;
if (availableFieldCompletions.length > 0) {
for (int i = 0; i < availableFieldCompletions.length; i++) {
box.addItem(availableFieldCompletions[i].getName());
}
}
box.setSelectedIndex(0);
popup.addAttribute(GuidedRuleEditorResources.CONSTANTS.AddField(), box);
box.addChangeHandler(new ChangeHandler() {
public void onChange(ChangeEvent event) {
String fieldName = box.getItemText(box.getSelectedIndex());
String fieldType = oracle.getFieldType(variableClass, fieldName);
model.addFieldValue(new ActionFieldValue(fieldName, "", fieldType));
setModified(true);
getModeller().refreshWidget();
popup.hide();
}
});
box.setEnabled(isEnabled);
popup.show();
}
use of com.google.gwt.event.dom.client.ChangeEvent in project drools-wb by kiegroup.
the class FromEntryPointFactPatternWidget method getCompositeLabel.
@Override
protected Widget getCompositeLabel() {
ClickHandler click = new ClickHandler() {
public void onClick(ClickEvent event) {
showFactTypeSelector();
}
};
String lbl = "<div class='form-field'>" + HumanReadable.getCEDisplayName("from entry-point") + "</div>";
FlexTable panel = new FlexTable();
int r = 0;
if (pattern.getFactPattern() == null) {
panel.setWidget(r, 0, new ClickableLabel("<br> <font color='red'>" + GuidedRuleEditorResources.CONSTANTS.clickToAddPatterns() + "</font>", click, !this.readOnly));
r++;
}
panel.setWidget(r, 0, new HTML(lbl));
this.txtEntryPoint = new TextBox();
this.txtEntryPoint.setText(getFromEntryPointPattern().getEntryPointName());
this.txtEntryPoint.addChangeHandler(new ChangeHandler() {
public void onChange(ChangeEvent event) {
getFromEntryPointPattern().setEntryPointName(txtEntryPoint.getText());
setModified(true);
}
});
panel.setWidget(r, 1, this.txtEntryPoint);
return panel;
}
use of com.google.gwt.event.dom.client.ChangeEvent in project drools-wb by kiegroup.
the class ActionCallMethodWidget method showAddFieldPopup.
protected void showAddFieldPopup(Widget w) {
final AsyncPackageDataModelOracle oracle = this.getModeller().getDataModelOracle();
final FormStylePopup popup = new FormStylePopup(GuidedRuleEditorImages508.INSTANCE.Wizard(), GuidedRuleEditorResources.CONSTANTS.ChooseAMethodToInvoke());
final ListBox box = new ListBox();
box.addItem("...");
for (int i = 0; i < fieldCompletionTexts.length; i++) {
box.addItem(fieldCompletionValues[i], fieldCompletionTexts[i]);
}
box.setSelectedIndex(0);
popup.addAttribute(GuidedRuleEditorResources.CONSTANTS.ChooseAMethodToInvoke(), box);
box.addChangeHandler(new ChangeHandler() {
public void onChange(ChangeEvent event) {
final String methodNameWithParams = box.getItemText(box.getSelectedIndex());
oracle.getMethodParams(variableClass, methodNameWithParams, new Callback<List<String>>() {
@Override
public void callback(final List<String> methodParameters) {
final String methodName = box.getValue(box.getSelectedIndex());
model.setMethodName(methodName);
model.setState(ActionCallMethod.TYPE_DEFINED);
for (String methodParameter : methodParameters) {
model.addFieldValue(new ActionFieldFunction(methodName, null, methodParameter));
}
getModeller().refreshWidget();
popup.hide();
}
});
}
});
popup.show();
}
use of com.google.gwt.event.dom.client.ChangeEvent in project drools-wb by kiegroup.
the class ExpressionBuilder method createWidgetForExpression.
// Render Widgets for the Expression. ExpressionMethodParameter and ExpressionText parts
// are represented by a TextBox to allow the User to edit the values, Updates are
// reflected in the model.
private Widget createWidgetForExpression() {
final HorizontalPanel container = new HorizontalPanel();
container.setVerticalAlignment(HasVerticalAlignment.ALIGN_MIDDLE);
container.setStylePrimaryName(GuidedRuleEditorResources.INSTANCE.css().container());
for (ExpressionPart expressionPart : expression.getParts()) {
if (expressionPart instanceof ExpressionUnboundFact) {
continue;
} else if (this.readOnly) {
container.add(new Label(expressionPart.getName()));
} else if (expressionPart instanceof ExpressionMethod) {
container.add(new Label(expressionPart.getName()));
container.add(new Label("("));
final ExpressionMethod em = (ExpressionMethod) expressionPart;
final List<ExpressionFormLine> emParams = em.getOrderedParams();
for (int index = 0; index < emParams.size(); index++) {
final ExpressionFormLine paramValueHolder = emParams.get(index);
final String paramDataType = em.getParameterDataType(paramValueHolder);
final ExpressionMethodParameter paramValue = ((ExpressionMethodParameter) paramValueHolder.getRootExpression());
final TextBox paramValueEditor = TextBoxFactory.getTextBox(paramDataType);
paramValueEditor.addValueChangeHandler(new ValueChangeHandler<String>() {
@Override
public void onValueChange(ValueChangeEvent<String> event) {
paramValue.setText(event.getValue());
}
});
paramValueEditor.setText(paramValue.getName());
container.add(paramValueEditor);
if (index < emParams.size() - 1) {
container.add(new Label(", "));
}
}
container.add(new Label(")"));
} else if (!(expressionPart instanceof ExpressionText)) {
container.add(new Label(expressionPart.getName()));
} else {
final TextBox tb = new TextBox();
final ExpressionText expressionTextPart = (ExpressionText) expressionPart;
tb.setText(expressionTextPart.getName());
tb.addChangeHandler(new ChangeHandler() {
@Override
public void onChange(final ChangeEvent changeEvent) {
expressionTextPart.setText(tb.getText());
}
});
container.add(tb);
}
container.add(new Label("."));
}
return container;
}
use of com.google.gwt.event.dom.client.ChangeEvent in project drools-wb by kiegroup.
the class ExpressionBuilder method getWidgetForCurrentType.
private Widget getWidgetForCurrentType() {
if (isExpressionEmpty()) {
return createStartPointWidget();
}
final ChangeHandler changeHandler = new ChangeHandler() {
public void onChange(ChangeEvent event) {
ListBox box = (ListBox) event.getSource();
panel.remove(box);
if (box.getSelectedIndex() > 0) {
onChangeSelection(box.getValue(box.getSelectedIndex()));
}
}
};
final ListBox listBox = new ListBox();
listBox.addItem(GuidedRuleEditorResources.CONSTANTS.Choose(), "");
if (includeDeleteOption()) {
listBox.addItem("<==" + GuidedRuleEditorResources.CONSTANTS.DeleteItem(), DELETE_VALUE);
}
listBox.addItem("-- Text --", TEXT_VALUE);
getCompletionsForCurrentType(expression.getParts().size() > 1, new Callback<Map<String, String>>() {
@Override
public void callback(final Map<String, String> completions) {
for (Map.Entry<String, String> entry : completions.entrySet()) {
listBox.addItem(entry.getKey(), entry.getValue());
}
listBox.addChangeHandler(changeHandler);
}
});
return listBox;
}
Aggregations