use of com.google.gwt.event.dom.client.ChangeHandler in project drools-wb by kiegroup.
the class FieldDataConstraintEditor method variableEditor.
private Widget variableEditor() {
List<String> vars = helper.getFactNamesInScope();
final ListBox box = new ListBox();
if (this.field.getValue() == null) {
box.addItem(TestScenarioConstants.INSTANCE.Choose());
}
int j = 0;
for (String var : vars) {
if (helper.getFactTypeByVariableName(var).getType().equals(helper.resolveFieldType())) {
if (box.getItemCount() == 0) {
box.addItem("...");
j++;
}
box.addItem("=" + var);
if (this.field.getValue() != null && this.field.getValue().equals("=" + var)) {
box.setSelectedIndex(j);
}
j++;
}
}
box.addChangeHandler(new ChangeHandler() {
public void onChange(ChangeEvent event) {
field.setValue(box.getItemText(box.getSelectedIndex()));
valueHasChanged(field.getValue());
}
});
return box;
}
use of com.google.gwt.event.dom.client.ChangeHandler in project drools-wb by kiegroup.
the class VerifyRulesFiredWidget method render.
private FlexTable render(final FixtureList rfl, final Scenario sc) {
FlexTable data = new FlexTable();
for (int i = 0; i < rfl.size(); i++) {
final VerifyRuleFired v = (VerifyRuleFired) rfl.get(i);
if (showResults && v.getSuccessResult() != null) {
if (!v.getSuccessResult().booleanValue()) {
data.setWidget(i, 0, new Image(CommonImages.INSTANCE.warning()));
data.setWidget(i, 4, new HTML(TestScenarioConstants.INSTANCE.ActualResult(v.getActualResult().toString())));
data.getCellFormatter().addStyleName(i, 4, // NON-NLS
"testErrorValue");
} else {
data.setWidget(i, 0, new Image(TestScenarioImages.INSTANCE.testPassed()));
}
}
data.setWidget(i, 1, new SmallLabel(v.getRuleName() + ":"));
data.getFlexCellFormatter().setAlignment(i, 1, HasHorizontalAlignment.ALIGN_RIGHT, HasVerticalAlignment.ALIGN_MIDDLE);
final ListBox b = new ListBox();
b.addItem(TestScenarioConstants.INSTANCE.firedAtLeastOnce(), "y");
b.addItem(TestScenarioConstants.INSTANCE.didNotFire(), "n");
b.addItem(TestScenarioConstants.INSTANCE.firedThisManyTimes(), "e");
final TextBox num = new TextBox();
((InputElement) num.getElement().cast()).setSize(5);
if (v.getExpectedFire() != null) {
b.setSelectedIndex((v.getExpectedFire().booleanValue()) ? 0 : 1);
num.setVisible(false);
} else {
b.setSelectedIndex(2);
String xc = (v.getExpectedCount() != null) ? "" + v.getExpectedCount().intValue() : "0";
num.setText(xc);
}
b.addChangeHandler(new ChangeHandler() {
public void onChange(ChangeEvent event) {
String s = b.getValue(b.getSelectedIndex());
if (s.equals("y") || s.equals("n")) {
num.setVisible(false);
v.setExpectedFire((s.equals("y")) ? Boolean.TRUE : Boolean.FALSE);
v.setExpectedCount(null);
} else {
num.setVisible(true);
v.setExpectedFire(null);
num.setText("1");
v.setExpectedCount(Integer.valueOf(1));
}
}
});
b.addItem(TestScenarioConstants.INSTANCE.ChooseDotDotDot());
num.addChangeHandler(new ChangeHandler() {
public void onChange(ChangeEvent event) {
v.setExpectedCount(Integer.valueOf(num.getText()));
}
});
HorizontalPanel h = new HorizontalPanel();
h.add(b);
h.add(num);
data.setWidget(i, 2, h);
Button del = new Button();
del.setIcon(IconType.TRASH);
del.setTitle(TestScenarioConstants.INSTANCE.RemoveThisRuleExpectation());
del.addClickHandler(clickEvent -> {
if (Window.confirm(TestScenarioConstants.INSTANCE.AreYouSureYouWantToRemoveThisRuleExpectation())) {
rfl.remove(v);
sc.removeFixture(v);
outer.setWidget(1, 0, render(rfl, sc));
}
});
data.setWidget(i, 3, del);
// we only want numbers here...
num.addKeyPressHandler(new KeyPressHandler() {
public void onKeyPress(KeyPressEvent event) {
if (Character.isLetter(event.getCharCode())) {
((TextBox) event.getSource()).cancelKey();
}
}
});
}
ScenarioUtils.addBottomAndRightPaddingToTableCells(data);
return data;
}
use of com.google.gwt.event.dom.client.ChangeHandler in project drools-wb by kiegroup.
the class DTCellValueWidgetFactory method makeBooleanSelector.
private ListBox makeBooleanSelector(final DTCellValue52 value) {
final ListBox lb = new ListBox();
int indexTrue = 0;
int indexFalse = 1;
if (allowEmptyValues) {
indexTrue = 1;
indexFalse = 2;
lb.addItem(GuidedDecisionTableConstants.INSTANCE.Choose(), "");
}
lb.addItem("true");
lb.addItem("false");
Boolean currentItem = value.getBooleanValue();
if (currentItem == null) {
lb.setSelectedIndex(0);
} else {
lb.setSelectedIndex(currentItem ? indexTrue : indexFalse);
}
// Wire up update handler
lb.setEnabled(!isReadOnly);
if (!isReadOnly) {
lb.addChangeHandler(new ChangeHandler() {
public void onChange(ChangeEvent event) {
final String txtValue = lb.getValue(lb.getSelectedIndex());
Boolean boolValue = (txtValue.equals("") ? null : txtValue.equals("true"));
value.setBooleanValue(boolValue);
}
});
}
return lb;
}
use of com.google.gwt.event.dom.client.ChangeHandler in project drools-wb by kiegroup.
the class DefaultValueWidgetFactory method getDefaultValueWidget.
// BZ-996932: Added value change notifications.
public static Widget getDefaultValueWidget(final AttributeCol52 ac, final boolean isReadOnly, final DefaultValueChangedEventHandler defaultValueChangedEventHandler) {
Widget editor = null;
final String attributeName = ac.getAttribute();
if (attributeName.equals(RuleAttributeWidget.RULEFLOW_GROUP_ATTR) || attributeName.equals(RuleAttributeWidget.AGENDA_GROUP_ATTR) || attributeName.equals(RuleAttributeWidget.ACTIVATION_GROUP_ATTR) || attributeName.equals(RuleAttributeWidget.TIMER_ATTR) || attributeName.equals(RuleAttributeWidget.CALENDARS_ATTR)) {
final TextBox tb = TextBoxFactory.getTextBox(DataType.TYPE_STRING);
if (ac.getDefaultValue() == null) {
ac.setDefaultValue(new DTCellValue52(""));
}
final DTCellValue52 defaultValue = ac.getDefaultValue();
tb.setValue(defaultValue.getStringValue());
tb.setEnabled(!isReadOnly);
if (!isReadOnly) {
tb.addValueChangeHandler(new ValueChangeHandler<String>() {
public void onValueChange(ValueChangeEvent<String> event) {
DTCellValue52 editedDefaultValue = defaultValue.cloneDefaultValueCell();
editedDefaultValue.setStringValue(tb.getValue());
defaultValueChangedEventHandler.onDefaultValueChanged(new DefaultValueChangedEvent(defaultValue, editedDefaultValue));
}
});
}
editor = tb;
} else if (attributeName.equals(RuleAttributeWidget.SALIENCE_ATTR)) {
final TextBox tb = TextBoxFactory.getTextBox(DataType.TYPE_NUMERIC_INTEGER);
if (ac.getDefaultValue() == null) {
ac.setDefaultValue(new DTCellValue52(0));
} else {
assertIntegerDefaultValue(ac.getDefaultValue());
}
final DTCellValue52 defaultValue = ac.getDefaultValue();
final Integer numericValue = (Integer) defaultValue.getNumericValue();
tb.setValue(numericValue == null ? "" : numericValue.toString());
tb.setEnabled(!isReadOnly);
if (!isReadOnly) {
tb.addValueChangeHandler(new ValueChangeHandler<String>() {
public void onValueChange(ValueChangeEvent<String> event) {
DTCellValue52 editedDefaultValue = defaultValue.cloneDefaultValueCell();
try {
editedDefaultValue.setNumericValue(Integer.valueOf(event.getValue()));
} catch (NumberFormatException nfe) {
editedDefaultValue.setNumericValue(0);
tb.setValue("0");
} finally {
defaultValueChangedEventHandler.onDefaultValueChanged(new DefaultValueChangedEvent(defaultValue, editedDefaultValue));
}
}
});
}
editor = tb;
} else if (attributeName.equals(RuleAttributeWidget.DURATION_ATTR)) {
final TextBox tb = TextBoxFactory.getTextBox(DataType.TYPE_NUMERIC_LONG);
if (ac.getDefaultValue() == null) {
ac.setDefaultValue(new DTCellValue52(0L));
} else {
assertLongDefaultValue(ac.getDefaultValue());
}
final DTCellValue52 defaultValue = ac.getDefaultValue();
final Long numericValue = (Long) defaultValue.getNumericValue();
tb.setValue(numericValue == null ? "" : numericValue.toString());
tb.setEnabled(!isReadOnly);
if (!isReadOnly) {
tb.addValueChangeHandler(new ValueChangeHandler<String>() {
public void onValueChange(ValueChangeEvent<String> event) {
DTCellValue52 editedDefaultValue = defaultValue.cloneDefaultValueCell();
try {
editedDefaultValue.setNumericValue(Long.valueOf(event.getValue()));
} catch (NumberFormatException nfe) {
editedDefaultValue.setNumericValue(0L);
tb.setValue("0");
} finally {
defaultValueChangedEventHandler.onDefaultValueChanged(new DefaultValueChangedEvent(defaultValue, editedDefaultValue));
}
}
});
}
editor = tb;
} else if (attributeName.equals(RuleAttributeWidget.NO_LOOP_ATTR) || attributeName.equals(RuleAttributeWidget.LOCK_ON_ACTIVE_ATTR) || attributeName.equals(RuleAttributeWidget.AUTO_FOCUS_ATTR) || attributeName.equals(RuleAttributeWidget.ENABLED_ATTR) || attributeName.equals(GuidedDecisionTable52.NEGATE_RULE_ATTR)) {
final CheckBox cb = new CheckBox();
if (ac.getDefaultValue() == null) {
ac.setDefaultValue(new DTCellValue52(Boolean.FALSE));
} else {
assertBooleanDefaultValue(ac.getDefaultValue());
}
final DTCellValue52 defaultValue = ac.getDefaultValue();
final Boolean booleanValue = defaultValue.getBooleanValue();
cb.setEnabled(!isReadOnly);
if (booleanValue == null) {
cb.setValue(false);
defaultValue.setBooleanValue(Boolean.FALSE);
} else {
cb.setValue(booleanValue);
}
cb.addClickHandler(new ClickHandler() {
public void onClick(ClickEvent event) {
DTCellValue52 editedDefaultValue = defaultValue.cloneDefaultValueCell();
editedDefaultValue.setBooleanValue(cb.getValue());
defaultValueChangedEventHandler.onDefaultValueChanged(new DefaultValueChangedEvent(defaultValue, editedDefaultValue));
}
});
editor = cb;
} else if (attributeName.equals(RuleAttributeWidget.DATE_EFFECTIVE_ATTR) || attributeName.equals(RuleAttributeWidget.DATE_EXPIRES_ATTR)) {
if (ac.getDefaultValue() == null) {
ac.setDefaultValue(new DTCellValue52(new Date()));
} else {
assertDateDefaultValue(ac.getDefaultValue());
}
final DTCellValue52 defaultValue = ac.getDefaultValue();
if (isReadOnly) {
final TextBox tb = TextBoxFactory.getTextBox(DataType.TYPE_STRING);
tb.setValue(format.format(defaultValue.getDateValue()));
tb.setEnabled(false);
} else {
final DatePicker datePicker = new DatePicker();
// Wire up update handler
datePicker.addChangeDateHandler((e) -> {
DTCellValue52 editedDefaultValue = defaultValue.cloneDefaultValueCell();
editedDefaultValue.setDateValue(datePicker.getValue());
defaultValueChangedEventHandler.onDefaultValueChanged(new DefaultValueChangedEvent(defaultValue, editedDefaultValue));
});
final Date dateValue = defaultValue.getDateValue();
datePicker.setFormat(DATE_FORMAT);
datePicker.setValue(dateValue);
editor = datePicker;
}
} else if (attributeName.equals(RuleAttributeWidget.DIALECT_ATTR)) {
final ListBox lb = new ListBox();
lb.addItem(RuleAttributeWidget.DIALECTS[0]);
lb.addItem(RuleAttributeWidget.DIALECTS[1]);
if (ac.getDefaultValue() == null) {
ac.setDefaultValue(new DTCellValue52(RuleAttributeWidget.DIALECTS[1]));
}
final DTCellValue52 defaultValue = ac.getDefaultValue();
final String stringValue = defaultValue.getStringValue();
lb.setEnabled(!isReadOnly);
if (!isReadOnly) {
lb.addChangeHandler(new ChangeHandler() {
@Override
public void onChange(ChangeEvent event) {
final int selectedIndex = lb.getSelectedIndex();
if (selectedIndex < 0) {
return;
}
DTCellValue52 editedDefaultValue = defaultValue.cloneDefaultValueCell();
editedDefaultValue.setStringValue(lb.getValue(selectedIndex));
defaultValueChangedEventHandler.onDefaultValueChanged(new DefaultValueChangedEvent(defaultValue, editedDefaultValue));
}
});
}
if (stringValue == null || stringValue.isEmpty()) {
lb.setSelectedIndex(1);
defaultValue.setStringValue(RuleAttributeWidget.DIALECTS[1]);
} else if (stringValue.equals(RuleAttributeWidget.DIALECTS[0])) {
lb.setSelectedIndex(0);
} else if (stringValue.equals(RuleAttributeWidget.DIALECTS[1])) {
lb.setSelectedIndex(1);
} else {
lb.setSelectedIndex(1);
defaultValue.setStringValue(RuleAttributeWidget.DIALECTS[1]);
}
editor = lb;
}
return editor;
}
use of com.google.gwt.event.dom.client.ChangeHandler in project drools-wb by kiegroup.
the class EditActionRetractPopup method initialiseBoundTypes.
private void initialiseBoundTypes() {
// Extract all bindings available on the path to the root
final Map<String, TypeNode> bindings = new TreeMap<String, TypeNode>();
Node parent = clone.getParent();
while (parent != null) {
if (parent instanceof TypeNode) {
final TypeNode tn = (TypeNode) parent;
if (tn.isBound()) {
bindings.put(tn.getBinding(), tn);
}
}
parent = parent.getParent();
}
bindingListBox.setEnabled(!bindings.isEmpty());
if (bindings.isEmpty()) {
bindingListBox.addItem(GuidedDecisionTreeConstants.INSTANCE.noBindings());
return;
}
// Add them to the ListBox
int selectedIndex = 0;
final BoundNode boundNode = clone.getBoundNode();
for (String binding : bindings.keySet()) {
bindingListBox.addItem(binding);
if (boundNode != null) {
if (binding.equals(boundNode.getBinding())) {
selectedIndex = bindingListBox.getItemCount() - 1;
}
}
}
// Attach event handler before we set the selected index in case we're selecting the first item
bindingListBox.addChangeHandler(new ChangeHandler() {
@Override
public void onChange(final ChangeEvent event) {
final String binding = bindingListBox.getItemText(bindingListBox.getSelectedIndex());
clone.setBoundNode(bindings.get(binding));
}
});
bindingListBox.setSelectedIndex(selectedIndex);
}
Aggregations