List of usage examples for com.google.gwt.user.client Window confirm
public static boolean confirm(String msg)
From source file:org.drools.guvnor.client.modeldriven.ui.ActionSetFieldWidget.java
License:Apache License
private void doLayout() { layout.clear();//from w w w . ja v a 2 s . com layout.setWidget(0, 0, getSetterLabel()); DirtyableFlexTable inner = new DirtyableFlexTable(); for (int i = 0; i < model.fieldValues.length; i++) { ActionFieldValue val = model.fieldValues[i]; inner.setWidget(i, 0, fieldSelector(val)); inner.setWidget(i, 1, valueEditor(val)); final int idx = i; Image remove = new ImageButton("images/delete_item_small.gif"); remove.addClickListener(new ClickListener() { public void onClick(Widget w) { if (Window.confirm("Remove this item?")) { model.removeField(idx); modeller.refreshWidget(); } } }); inner.setWidget(i, 2, remove); } layout.setWidget(0, 1, inner); }
From source file:org.drools.guvnor.client.modeldriven.ui.FactPatternWidget.java
License:Apache License
/** * Render a hierarchy of constraints, hierarchy here means constaints that may * themselves depend on members of constraint objects. With this code, the GUI * enables clicking rules of the form://from w ww . java 2 s. c o m * * $result = RoutingResult( NerOption.types contains "arzt" ) * * @param sortedConst a sorted list of constraints to display. * */ private void drawConstraints(ArrayList sortedConst) { final DirtyableFlexTable table = new DirtyableFlexTable(); layout.setWidget(1, 0, table); List parents = new ArrayList(); for (int i = 0; i < sortedConst.size(); i++) { int tabs = -1; FieldConstraint current = (FieldConstraint) sortedConst.get(i); if (current instanceof SingleFieldConstraint) { SingleFieldConstraint single = (SingleFieldConstraint) current; FieldConstraint parent = single.parent; for (int j = 0; j < parents.size(); j++) { FieldConstraint storedParent = (FieldConstraint) parents.get(j); if (storedParent != null && storedParent.equals(parent)) { tabs = j + 1; for (int k = j + 1; k < parents.size(); k++) { parents.remove(j + 1); } parents.add(current); break; } } if (tabs < 0) { tabs = 0; parents.add(current); } } renderFieldConstraint(table, i, current, true, tabs); //now the clear icon final int currentRow = i; Image clear = new ImageButton("images/delete_item_small.gif"); clear.setTitle("Remove this whole restriction"); clear.addClickListener(new ClickListener() { public void onClick(Widget w) { if (Window.confirm("Remove this item?")) { pattern.removeConstraint(currentRow); modeller.refreshWidget(); } } }); table.setWidget(currentRow, 5, clear); } }
From source file:org.drools.guvnor.client.modeldriven.ui.FactPatternWidget.java
License:Apache License
/** * This will show the constraint editor - allowing field constraints to be nested etc. *//*from w ww. jav a2 s . co m*/ private Widget compositeFieldConstraintEditor(final CompositeFieldConstraint constraint) { HorizontalPanel horiz = new HorizontalPanel(); String desc = null; Image edit = new ImageButton("images/edit_tiny.gif"); edit.setTitle("Add a field to this nested constraint."); ClickListener click = new ClickListener() { public void onClick(Widget w) { popupCreator.showPatternPopupForComposite(w, constraint); } }; edit.addClickListener(click); if (constraint.compositeJunctionType.equals(CompositeFieldConstraint.COMPOSITE_TYPE_AND)) { desc = "All of:"; } else { desc = "Any of:"; } //HorizontalPanel ab = new HorizontalPanel(); //ab.setStyleName( "composite-fact-pattern" ); horiz.add(edit); horiz.add(new ClickableLabel(desc, click)); //horiz.add( ab ); FieldConstraint[] nested = constraint.constraints; DirtyableFlexTable inner = new DirtyableFlexTable(); inner.setStyleName("modeller-inner-nested-Constraints"); if (nested != null) { for (int i = 0; i < nested.length; i++) { this.renderFieldConstraint(inner, i, nested[i], false, 0); //add in remove icon here... final int currentRow = i; Image clear = new ImageButton("images/delete_item_small.gif"); clear.setTitle("Remove this (nested) restriction"); clear.addClickListener(new ClickListener() { public void onClick(Widget w) { if (Window.confirm("Remove this item from nested constraint?")) { constraint.removeConstraint(currentRow); modeller.refreshWidget(); } } }); inner.setWidget(i, 5, clear); } } horiz.add(inner); return horiz; }
From source file:org.drools.guvnor.client.modeldriven.ui.FromAccumulateCompositeFactPatternWidget.java
License:Apache License
@Override protected Widget getCompositeLabel() { ClickHandler leftPatternclick = new ClickHandler() { public void onClick(ClickEvent event) { Widget w = (Widget) event.getSource(); showFactTypeSelector(w);/* w w w .j a va 2 s .c om*/ } }; ClickHandler sourcePatternClick = new ClickHandler() { public void onClick(ClickEvent event) { Widget w = (Widget) event.getSource(); showSourcePatternSelector(w); } }; String lbl = "<div class='x-form-field'>" + HumanReadable.getCEDisplayName("from accumulate") + "</div>"; DirtyableFlexTable panel = new DirtyableFlexTable(); int r = 0; if (pattern.getFactPattern() == null) { panel.setWidget(r++, 0, new ClickableLabel("<br> <font color='red'>" + constants.clickToAddPattern() + "</font>", leftPatternclick, !this.readOnly)); } panel.setWidget(r++, 0, new HTML(lbl)); if (this.getFromAccumulatePattern().getSourcePattern() == null) { panel.setWidget(r++, 0, new ClickableLabel("<br> <font color='red'>" + constants.clickToAddPattern() + "</font>", sourcePatternClick, !this.readOnly)); } else { IPattern rPattern = this.getFromAccumulatePattern().getSourcePattern(); if (rPattern instanceof FactPattern) { this.sourcePatternWidget = new FactPatternWidget(this.getModeller(), rPattern, constants.All0with(), true, this.readOnly); } else if (rPattern instanceof FromAccumulateCompositeFactPattern) { this.sourcePatternWidget = new FromAccumulateCompositeFactPatternWidget(this.getModeller(), (FromAccumulateCompositeFactPattern) rPattern, this.readOnly); } else if (rPattern instanceof FromCollectCompositeFactPattern) { this.sourcePatternWidget = new FromCollectCompositeFactPatternWidget(this.getModeller(), (FromCollectCompositeFactPattern) rPattern, this.readOnly); } else if (rPattern instanceof FromCompositeFactPattern) { this.sourcePatternWidget = new FromCompositeFactPatternWidget(this.getModeller(), (FromCompositeFactPattern) rPattern, this.readOnly); } else { throw new IllegalArgumentException( "Unsuported pattern " + rPattern + " for right side of FROM ACCUMULATE"); } this.sourcePatternWidget.addOnModifiedCommand(new Command() { public void execute() { setModified(true); } }); panel.setWidget(r++, 0, addRemoveButton(this.sourcePatternWidget, new ClickHandler() { public void onClick(ClickEvent event) { if (Window.confirm(constants.RemoveThisBlockOfData())) { setModified(true); getFromAccumulatePattern().setSourcePattern(null); getModeller().refreshWidget(); } } })); } //REVISIT: Nested TabLayoutPanel does not work, its content is truncated. //TabLayoutPanel tPanel = new TabLayoutPanel(2, Unit.EM); TabPanel tPanel = new TabPanel(); DirtyableFlexTable codeTable = new DirtyableFlexTable(); int codeTableRow = 0; int codeTableCol = 0; codeTable.setWidget(codeTableRow, codeTableCol++, new HTML("<div class='x-form-field'>Init:</div>")); final TextBox initField = new TextBox(); initField.setTitle("init code"); initField.setText(getFromAccumulatePattern().getInitCode()); codeTable.setWidget(codeTableRow++, codeTableCol--, initField); codeTable.setWidget(codeTableRow, codeTableCol++, new HTML("<div class='x-form-field'>Action:</div>")); final TextBox actionField = new TextBox(); actionField.setTitle("action code"); actionField.setText(getFromAccumulatePattern().getActionCode()); codeTable.setWidget(codeTableRow++, codeTableCol--, actionField); codeTable.setWidget(codeTableRow, codeTableCol++, new HTML("<div class='x-form-field'>Reverse:</div>")); final TextBox reverseField = new TextBox(); reverseField.setTitle("reverse code."); reverseField.setText(getFromAccumulatePattern().getReverseCode()); codeTable.setWidget(codeTableRow++, codeTableCol--, reverseField); codeTable.setWidget(codeTableRow, codeTableCol++, new HTML("<div class='x-form-field'>Result:</div>")); final TextBox resultField = new TextBox(); resultField.setTitle("result code"); resultField.setText(getFromAccumulatePattern().getResultCode()); codeTable.setWidget(codeTableRow++, codeTableCol--, resultField); //panel.setWidget(r++, 0, codeTable); ScrollPanel codePanel = new ScrollPanel(); codePanel.add(codeTable); //TODO: //codePanel.setDisabled(this.readOnly); tPanel.add(codePanel, "Custom Code"); DirtyableFlexTable functionTable = new DirtyableFlexTable(); functionTable.setWidget(0, 0, new HTML("<div class='x-form-field'>Function:</div>")); final TextBox functionField = new TextBox(); functionField.setTitle("function code"); functionField.setText(getFromAccumulatePattern().getFunction()); functionTable.setWidget(0, 1, functionField); // panel.setWidget(r++, 0, functionTable); ScrollPanel functionPanel = new ScrollPanel(); functionPanel.add(functionTable); //TODO: //functionPanel.setDisabled(this.readOnly); tPanel.add(functionPanel, "Function"); ChangeHandler changehandler = new ChangeHandler() { public void onChange(ChangeEvent event) { Widget sender = (Widget) event.getSource(); TextBox senderTB = (TextBox) event.getSource(); String code = senderTB.getText(); setModified(true); if (sender == initField) { getFromAccumulatePattern().setFunction(null); functionField.setText(""); getFromAccumulatePattern().setInitCode(code); } else if (sender == actionField) { getFromAccumulatePattern().setFunction(null); functionField.setText(""); getFromAccumulatePattern().setActionCode(code); } else if (sender == reverseField) { getFromAccumulatePattern().setFunction(null); functionField.setText(""); getFromAccumulatePattern().setReverseCode(code); } else if (sender == resultField) { getFromAccumulatePattern().setFunction(null); functionField.setText(""); getFromAccumulatePattern().setResultCode(code); } else if (sender == functionField) { getFromAccumulatePattern().clearCodeFields(); initField.setText(""); actionField.setText(""); reverseField.setText(""); resultField.setText(""); getFromAccumulatePattern().setFunction(code); } } }; initField.addChangeHandler(changehandler); actionField.addChangeHandler(changehandler); reverseField.addChangeHandler(changehandler); resultField.addChangeHandler(changehandler); functionField.addChangeHandler(changehandler); boolean useFunction = getFromAccumulatePattern().useFunctionOrCode() .equals(FromAccumulateCompositeFactPattern.USE_FUNCTION); tPanel.selectTab(useFunction ? 1 : 0); //tPanel.setBorder(false); //tPanel.setBodyBorder(false); //tPanel.setWidth(200); //tPanel.setDisabled(this.readOnly); // functionTable.setVisible(useFunction); // codeTable.setVisible(!useFunction); panel.setWidget(r++, 0, tPanel); return panel; }
From source file:org.drools.guvnor.client.modeldriven.ui.FromCollectCompositeFactPatternWidget.java
License:Apache License
@Override protected Widget getCompositeLabel() { ClickHandler leftPatternclick = new ClickHandler() { public void onClick(ClickEvent event) { Widget w = (Widget) event.getSource(); showFactTypeSelector(w);// w w w . j a v a2 s . co m } }; ClickHandler rightPatternclick = new ClickHandler() { public void onClick(ClickEvent event) { Widget w = (Widget) event.getSource(); showRightPatternSelector(w); } }; String lbl = "<div class='x-form-field'>" + HumanReadable.getCEDisplayName("from collect") + "</div>"; DirtyableFlexTable panel = new DirtyableFlexTable(); int r = 0; if (pattern.getFactPattern() == null) { panel.setWidget(r++, 0, new ClickableLabel("<br> <font color='red'>" + constants.clickToAddPatterns() + "</font>", leftPatternclick, !this.readOnly)); } panel.setWidget(r++, 0, new HTML(lbl)); if (this.getFromCollectPattern().getRightPattern() == null) { panel.setWidget(r++, 0, new ClickableLabel("<br> <font color='red'>" + constants.clickToAddPatterns() + "</font>", rightPatternclick, !this.readOnly)); } else { IPattern rPattern = this.getFromCollectPattern().getRightPattern(); RuleModellerWidget patternWidget = null; if (rPattern instanceof FactPattern) { patternWidget = new FactPatternWidget(this.getModeller(), rPattern, constants.All0with(), true, this.readOnly); } else if (rPattern instanceof FromAccumulateCompositeFactPattern) { patternWidget = new FromAccumulateCompositeFactPatternWidget(this.getModeller(), (FromAccumulateCompositeFactPattern) rPattern, this.readOnly); } else if (rPattern instanceof FromCollectCompositeFactPattern) { patternWidget = new FromCollectCompositeFactPatternWidget(this.getModeller(), (FromCollectCompositeFactPattern) rPattern, this.readOnly); } else if (rPattern instanceof FromCompositeFactPattern) { patternWidget = new FromCompositeFactPatternWidget(this.getModeller(), (FromCompositeFactPattern) rPattern, this.readOnly); } else if (rPattern instanceof FreeFormLine) { patternWidget = new FreeFormLineWidget(this.getModeller(), (FreeFormLine) rPattern, this.readOnly); } else { throw new IllegalArgumentException( "Unsuported pattern " + rPattern + " for right side of FROM COLLECT"); } patternWidget.addOnModifiedCommand(new Command() { public void execute() { setModified(true); } }); panel.setWidget(r++, 0, addRemoveButton(patternWidget, new ClickHandler() { public void onClick(ClickEvent event) { if (Window.confirm(constants.RemoveThisBlockOfData())) { setModified(true); getFromCollectPattern().setRightPattern(null); getModeller().refreshWidget(); } } })); } return panel; }
From source file:org.drools.guvnor.client.modeldriven.ui.FromCompositeFactPatternWidget.java
License:Apache License
private ClickHandler createClickHandlerForAddRemoveButton() { return new ClickHandler() { public void onClick(ClickEvent event) { if (Window.confirm(constants.RemoveThisEntireConditionQ())) { setModified(true);/*from w w w . j a v a 2s. c o m*/ pattern.setFactPattern(null); getModeller().refreshWidget(); } } }; }
From source file:org.drools.guvnor.client.modeldriven.ui.RuleAttributeWidget.java
License:Apache License
private Image getRemoveIcon(final int idx) { Image remove = new Image("images/delete_item_small.gif"); remove.addClickListener(new ClickListener() { public void onClick(Widget w) { if (Window.confirm("Remove this rule option?")) { model.removeAttribute(idx); parent.refreshWidget();// w ww . j a v a2 s . com } } }); return remove; }
From source file:org.drools.guvnor.client.modeldriven.ui.RuleAttributeWidget.java
License:Apache License
private Image getRemoveMetaIcon(final int idx) { Image remove = new Image("images/delete_item_small.gif"); remove.addClickListener(new ClickListener() { public void onClick(Widget w) { if (Window.confirm("Remove this rule option?")) { model.removeMetadata(idx); parent.refreshWidget();/*from ww w . j av a 2s. c o m*/ } } }); return remove; }
From source file:org.drools.guvnor.client.modeldriven.ui.RuleModeller.java
License:Apache License
/** * Do all the widgets for the RHS./*from w ww . ja v a2 s . co m*/ */ /* * TODO STILL NEED TO BE CHECKED */ private Widget renderRhs(final RuleModel model) { DirtyableVerticalPane vert = new DirtyableVerticalPane(); for (int i = 0; i < model.rhs.length; i++) { IAction action = model.rhs[i]; Widget w = null; if (action instanceof ActionCallMethod) { w = new ActionCallMethodWidget(this, (ActionCallMethod) action, completions); } else if (action instanceof ActionSetField) { w = new ActionSetFieldWidget(this, (ActionSetField) action, completions); } else if (action instanceof ActionInsertFact) { w = new ActionInsertFactWidget(this, (ActionInsertFact) action, completions); } else if (action instanceof ActionRetractFact) { w = new ActionRetractFactWidget(this.completions, (ActionRetractFact) action); } else if (action instanceof DSLSentence) { w = new DSLSentenceWidget((DSLSentence) action, this.completions); w.setStyleName("model-builderInner-Background"); } else if (action instanceof FreeFormLine) { final TextBox tb = new TextBox(); final FreeFormLine ffl = (FreeFormLine) action; tb.setText(ffl.text); tb.addChangeListener(new ChangeListener() { public void onChange(Widget arg0) { ffl.text = tb.getText(); } }); w = tb; } //w.setWidth( "100%" ); vert.add(spacerWidget()); //vert.setWidth( "100%" ); DirtyableHorizontalPane horiz = new DirtyableHorizontalPane(); Image remove = new ImageButton("images/delete_item_small.gif"); remove.setTitle("Remove this action."); final int idx = i; remove.addClickListener(new ClickListener() { public void onClick(Widget w) { if (Window.confirm("Remove this item?")) { model.removeRhsItem(idx); refreshWidget(); } } }); horiz.add(w); if (!(w instanceof ActionRetractFactWidget)) { w.setWidth("100%"); horiz.setWidth("100%"); } horiz.add(remove); vert.add(horiz); } return vert; }
From source file:org.drools.guvnor.client.modeldriven.ui.RuleModeller.java
License:Apache License
/** * This adds the widget to the UI, also adding the remove icon. */// w w w. jav a 2 s .c o m private Widget wrapLHSWidget(final RuleModel model, int i, Widget w) { DirtyableHorizontalPane horiz = new DirtyableHorizontalPane(); Image remove = new ImageButton("images/delete_item_small.gif"); remove.setTitle("Remove this ENTIRE condition, and all the field constraints that belong to it."); final int idx = i; remove.addClickListener(new ClickListener() { public void onClick(Widget w) { if (Window.confirm("Remove this entire condition?")) { if (model.removeLhsItem(idx)) { refreshWidget(); } else { ErrorPopup.showMessage( "Can't remove that item as it is used in the action part of the rule."); } } } }); horiz.setWidth("100%"); w.setWidth("100%"); horiz.add(w); horiz.add(remove); return horiz; }