Search in sources :

Example 21 with FlexTable

use of com.google.gwt.user.client.ui.FlexTable in project drools-wb by kiegroup.

the class ActionCallMethodWidget method doLayout.

private void doLayout() {
    layout.clear();
    layout.setWidget(0, 0, getSetterLabel());
    FlexTable inner = new FlexTable();
    for (int i = 0; i < model.getFieldValues().length; i++) {
        ActionFieldFunction val = model.getFieldValue(i);
        inner.setWidget(i, 0, typeLabel(val.getType()));
        inner.setWidget(i, 1, valueEditor(val));
    }
    layout.setWidget(0, 1, inner);
}
Also used : FlexTable(com.google.gwt.user.client.ui.FlexTable) ActionFieldFunction(org.drools.workbench.models.datamodel.rule.ActionFieldFunction) SingleFieldConstraint(org.drools.workbench.models.datamodel.rule.SingleFieldConstraint)

Example 22 with FlexTable

use of com.google.gwt.user.client.ui.FlexTable in project drools-wb by kiegroup.

the class FactPatternWidget method drawConstraints.

/**
 * Render a hierarchy of constraints, hierarchy here means constraints that
 * may themselves depend on members of constraint objects. With this code,
 * the GUI enables clicking rules of the form: $result = RoutingResult(
 * NerOption.types contains "arzt" )
 * @param sortedConst a sorted list of constraints to display.
 */
protected void drawConstraints(List<FieldConstraint> sortedConst, HasConstraints hasConstraints) {
    final FlexTable table = new FlexTable();
    layout.setWidget(1, 0, table);
    List<FieldConstraint> parents = new ArrayList<FieldConstraint>();
    for (int i = 0; i < sortedConst.size(); i++) {
        traverseSingleFieldConstraints(sortedConst, table, parents, hasConstraints, i);
        // now the clear icon
        final int currentRow = i;
        Image clear = GuidedRuleEditorImages508.INSTANCE.DeleteItemSmall();
        clear.setTitle(GuidedRuleEditorResources.CONSTANTS.RemoveThisWholeRestriction());
        clear.addClickHandler(createClickHandlerForClearImageButton(currentRow));
        if (!this.readOnly) {
            // This used to be 5 and Connectives were not rendered
            table.setWidget(currentRow, 6, clear);
        }
    }
}
Also used : FlexTable(com.google.gwt.user.client.ui.FlexTable) ArrayList(java.util.ArrayList) Image(com.google.gwt.user.client.ui.Image) CompositeFieldConstraint(org.drools.workbench.models.datamodel.rule.CompositeFieldConstraint) FieldConstraint(org.drools.workbench.models.datamodel.rule.FieldConstraint) SingleFieldConstraint(org.drools.workbench.models.datamodel.rule.SingleFieldConstraint) CompositeFieldConstraint(org.drools.workbench.models.datamodel.rule.CompositeFieldConstraint) FieldConstraint(org.drools.workbench.models.datamodel.rule.FieldConstraint) SingleFieldConstraint(org.drools.workbench.models.datamodel.rule.SingleFieldConstraint)

Example 23 with FlexTable

use of com.google.gwt.user.client.ui.FlexTable in project drools-wb by kiegroup.

the class FromAccumulateCompositeFactPatternWidget method getCompositeLabel.

@Override
protected Widget getCompositeLabel() {
    ClickHandler leftPatternclick = new ClickHandler() {

        public void onClick(ClickEvent event) {
            showFactTypeSelector();
        }
    };
    ClickHandler sourcePatternClick = new ClickHandler() {

        public void onClick(ClickEvent event) {
            showSourcePatternSelector();
        }
    };
    String lbl = "<div class='form-field'>" + HumanReadable.getCEDisplayName("from accumulate") + "</div>";
    FlexTable panel = new FlexTable();
    int r = 0;
    if (pattern.getFactPattern() == null) {
        panel.setWidget(r++, 0, new ClickableLabel("<br> <font color='red'>" + GuidedRuleEditorResources.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'>" + GuidedRuleEditorResources.CONSTANTS.clickToAddPattern() + "</font>", sourcePatternClick, !this.readOnly));
    } else {
        IPattern rPattern = this.getFromAccumulatePattern().getSourcePattern();
        RuleModellerWidget sourcePatternWidget;
        if (rPattern instanceof FactPattern) {
            sourcePatternWidget = new FactPatternWidget(this.getModeller(), getEventBus(), rPattern, true, true, this.readOnly);
        } else if (rPattern instanceof FromAccumulateCompositeFactPattern) {
            sourcePatternWidget = new FromAccumulateCompositeFactPatternWidget(this.getModeller(), this.getEventBus(), (FromAccumulateCompositeFactPattern) rPattern, this.readOnly);
        } else if (rPattern instanceof FromCollectCompositeFactPattern) {
            sourcePatternWidget = new FromCollectCompositeFactPatternWidget(this.getModeller(), this.getEventBus(), (FromCollectCompositeFactPattern) rPattern, this.readOnly);
        } else if (rPattern instanceof FromEntryPointFactPattern) {
            sourcePatternWidget = new FromEntryPointFactPatternWidget(this.getModeller(), this.getEventBus(), (FromEntryPointFactPattern) rPattern, this.readOnly);
        } else if (rPattern instanceof FromCompositeFactPattern) {
            sourcePatternWidget = new FromCompositeFactPatternWidget(this.getModeller(), this.getEventBus(), (FromCompositeFactPattern) rPattern, this.readOnly);
        } else {
            throw new IllegalArgumentException("Unsupported pattern " + rPattern + " for right side of FROM ACCUMULATE");
        }
        sourcePatternWidget.addOnModifiedCommand(new Command() {

            public void execute() {
                setModified(true);
            }
        });
        panel.setWidget(r++, 0, addRemoveButton(sourcePatternWidget, new ClickHandler() {

            public void onClick(ClickEvent event) {
                if (Window.confirm(GuidedRuleEditorResources.CONSTANTS.RemoveThisBlockOfData())) {
                    setModified(true);
                    getFromAccumulatePattern().setSourcePattern(null);
                    getModeller().refreshWidget();
                }
            }
        }));
    }
    final TabPanel tPanel = new TabPanel() {

        {
            addStyleName("uf-tabbar-panel");
        }
    };
    final NavTabs navTabs = new NavTabs() {

        {
            addStyleName("uf-tabbar-panel-nav-tabs");
            addStyleName("nav-tabs-pf");
        }
    };
    final TabContent content = new TabContent();
    tPanel.add(navTabs);
    tPanel.add(content);
    FlexTable codeTable = new FlexTable();
    int codeTableRow = 0;
    int codeTableCol = 0;
    codeTable.setWidget(codeTableRow, codeTableCol++, new HTML("<div class='form-field'>" + GuidedRuleEditorResources.CONSTANTS.Init() + ":</div>"));
    final TextBox initField = new TextBox();
    initField.setTitle(GuidedRuleEditorResources.CONSTANTS.InitCode());
    initField.setText(getFromAccumulatePattern().getInitCode());
    initField.setEnabled(!this.readOnly);
    codeTable.setWidget(codeTableRow++, codeTableCol--, initField);
    codeTable.setWidget(codeTableRow, codeTableCol++, new HTML("<div class='form-field'>" + GuidedRuleEditorResources.CONSTANTS.Action() + ":</div>"));
    final TextBox actionField = new TextBox();
    actionField.setTitle(GuidedRuleEditorResources.CONSTANTS.ActionCode());
    actionField.setText(getFromAccumulatePattern().getActionCode());
    actionField.setEnabled(!this.readOnly);
    codeTable.setWidget(codeTableRow++, codeTableCol--, actionField);
    codeTable.setWidget(codeTableRow, codeTableCol++, new HTML("<div class='form-field'>" + GuidedRuleEditorResources.CONSTANTS.Reverse() + ":</div>"));
    final TextBox reverseField = new TextBox();
    reverseField.setTitle(GuidedRuleEditorResources.CONSTANTS.ReverseCode());
    reverseField.setText(getFromAccumulatePattern().getReverseCode());
    reverseField.setEnabled(!this.readOnly);
    codeTable.setWidget(codeTableRow++, codeTableCol--, reverseField);
    codeTable.setWidget(codeTableRow, codeTableCol++, new HTML("<div class='form-field'>" + GuidedRuleEditorResources.CONSTANTS.Result() + ":</div>"));
    final TextBox resultField = new TextBox();
    resultField.setTitle(GuidedRuleEditorResources.CONSTANTS.ResultCode());
    resultField.setText(getFromAccumulatePattern().getResultCode());
    resultField.setEnabled(!this.readOnly);
    codeTable.setWidget(codeTableRow++, codeTableCol--, resultField);
    // panel.setWidget(r++, 0, codeTable);
    final ScrollPanel codePanel = new ScrollPanel();
    codePanel.add(codeTable);
    final TabPane codeTabPane = new TabPane() {

        {
            add(codePanel);
        }
    };
    final TabListItem codeTabListItem = new TabListItem(GuidedRuleEditorResources.CONSTANTS.CustomCode()) {

        {
            addStyleName("uf-dropdown-tab-list-item");
            setDataTargetWidget(codeTabPane);
            getElement().getStyle().setFontSize(12, Style.Unit.PX);
        }
    };
    navTabs.add(codeTabListItem);
    content.add(codeTabPane);
    FlexTable functionTable = new FlexTable();
    functionTable.setWidget(0, 0, new HTML("<div class='form-field'>" + GuidedRuleEditorResources.CONSTANTS.Function() + ":</div>"));
    final TextBox functionField = new TextBox();
    functionField.setTitle(GuidedRuleEditorResources.CONSTANTS.FunctionCode());
    functionField.setText(getFromAccumulatePattern().getFunction());
    functionField.setEnabled(!this.readOnly);
    functionTable.setWidget(0, 1, functionField);
    // panel.setWidget(r++, 0, functionTable);
    final ScrollPanel functionPanel = new ScrollPanel();
    functionPanel.add(functionTable);
    final TabPane functionTabPane = new TabPane() {

        {
            add(functionPanel);
        }
    };
    final TabListItem functionTabListItem = new TabListItem(GuidedRuleEditorResources.CONSTANTS.Function()) {

        {
            addStyleName("uf-dropdown-tab-list-item");
            setDataTargetWidget(functionTabPane);
            getElement().getStyle().setFontSize(12, Style.Unit.PX);
        }
    };
    navTabs.add(functionTabListItem);
    content.add(functionTabPane);
    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);
    if (useFunction) {
        functionTabListItem.setActive(true);
        functionTabPane.setActive(true);
    } else {
        codeTabListItem.setActive(true);
        codeTabPane.setActive(true);
    }
    panel.setWidget(r++, 0, tPanel);
    return panel;
}
Also used : IPattern(org.drools.workbench.models.datamodel.rule.IPattern) ClickEvent(com.google.gwt.event.dom.client.ClickEvent) FromEntryPointFactPattern(org.drools.workbench.models.datamodel.rule.FromEntryPointFactPattern) Widget(com.google.gwt.user.client.ui.Widget) FromEntryPointFactPattern(org.drools.workbench.models.datamodel.rule.FromEntryPointFactPattern) FactPattern(org.drools.workbench.models.datamodel.rule.FactPattern) FromAccumulateCompositeFactPattern(org.drools.workbench.models.datamodel.rule.FromAccumulateCompositeFactPattern) FromCompositeFactPattern(org.drools.workbench.models.datamodel.rule.FromCompositeFactPattern) FromCollectCompositeFactPattern(org.drools.workbench.models.datamodel.rule.FromCollectCompositeFactPattern) HTML(com.google.gwt.user.client.ui.HTML) FromCollectCompositeFactPattern(org.drools.workbench.models.datamodel.rule.FromCollectCompositeFactPattern) TextBox(org.gwtbootstrap3.client.ui.TextBox) FromCompositeFactPattern(org.drools.workbench.models.datamodel.rule.FromCompositeFactPattern) ChangeHandler(com.google.gwt.event.dom.client.ChangeHandler) FromAccumulateCompositeFactPattern(org.drools.workbench.models.datamodel.rule.FromAccumulateCompositeFactPattern) ClickableLabel(org.uberfire.ext.widgets.common.client.common.ClickableLabel) TabPanel(org.gwtbootstrap3.client.ui.TabPanel) TabPane(org.gwtbootstrap3.client.ui.TabPane) FlexTable(com.google.gwt.user.client.ui.FlexTable) TabContent(org.gwtbootstrap3.client.ui.TabContent) ClickHandler(com.google.gwt.event.dom.client.ClickHandler) NavTabs(org.gwtbootstrap3.client.ui.NavTabs) ChangeEvent(com.google.gwt.event.dom.client.ChangeEvent) Command(com.google.gwt.user.client.Command) ScrollPanel(com.google.gwt.user.client.ui.ScrollPanel) TabListItem(org.gwtbootstrap3.client.ui.TabListItem)

Example 24 with FlexTable

use of com.google.gwt.user.client.ui.FlexTable in project drools-wb by kiegroup.

the class CallMethodWidget method doLayout.

private void doLayout() {
    layout.clear();
    layout.setWidget(0, 0, getSetterLabel());
    FlexTable inner = new FlexTable();
    int i = 0;
    for (CallFieldValue val : mCall.getCallFieldValues()) {
        inner.setWidget(i, 0, fieldSelector(val));
        inner.setWidget(i, 1, valueEditor(val));
        i++;
    }
    layout.setWidget(0, 1, inner);
    layout.setWidget(0, 2, new DeleteCallMethodButton());
    ScenarioUtils.addBottomAndRightPaddingToTableCells(inner);
}
Also used : FlexTable(com.google.gwt.user.client.ui.FlexTable) CallFieldValue(org.drools.workbench.models.testscenarios.shared.CallFieldValue)

Example 25 with FlexTable

use of com.google.gwt.user.client.ui.FlexTable in project drools-wb by kiegroup.

the class VerifyFactWidget method render.

private FlexTable render(final VerifyFact vf) {
    FlexTable data = new FlexTable();
    for (int i = 0; i < vf.getFieldValues().size(); i++) {
        final VerifyField fld = (VerifyField) vf.getFieldValues().get(i);
        data.setWidget(i, 1, new SmallLabel(fld.getFieldName() + ":"));
        data.getFlexCellFormatter().setHorizontalAlignment(i, 1, HasHorizontalAlignment.ALIGN_RIGHT);
        final ListBox opr = new ListBox();
        opr.addItem(TestScenarioConstants.INSTANCE.equalsScenario(), "==");
        opr.addItem(TestScenarioConstants.INSTANCE.doesNotEqualScenario(), "!=");
        if (fld.getOperator().equals("==")) {
            opr.setSelectedIndex(0);
        } else {
            opr.setSelectedIndex(1);
        }
        opr.addChangeHandler(new ChangeHandler() {

            public void onChange(ChangeEvent event) {
                fld.setOperator(opr.getValue(opr.getSelectedIndex()));
            }
        });
        data.setWidget(i, 2, opr);
        Widget cellEditor = new VerifyFieldConstraintEditor(type, new ValueChanged() {

            public void valueChanged(String newValue) {
                fld.setExpected(newValue);
            }
        }, fld, oracle, this.scenario, this.executionTrace);
        data.setWidget(i, 3, cellEditor);
        Button deleteButton = new Button();
        deleteButton.setIcon(IconType.TRASH);
        deleteButton.setTitle(TestScenarioConstants.INSTANCE.RemoveThisFieldExpectation());
        deleteButton.addClickHandler(clickEvent -> {
            if (Window.confirm(TestScenarioConstants.INSTANCE.AreYouSureYouWantToRemoveThisFieldExpectation(fld.getFieldName()))) {
                vf.getFieldValues().remove(fld);
                FlexTable renderedTableAfterDelete = render(vf);
                outer.setWidget(1, 0, renderedTableAfterDelete);
            }
        });
        data.setWidget(i, 4, deleteButton);
        if (showResults && fld.getSuccessResult() != null) {
            if (!fld.getSuccessResult().booleanValue()) {
                data.setWidget(i, 0, new Image(CommonImages.INSTANCE.warning()));
                data.setWidget(i, 5, new HTML(TestScenarioConstants.INSTANCE.ActualResult(fld.getActualResult())));
                data.getCellFormatter().addStyleName(i, 5, // NON-NLS
                "testErrorValue");
            } else {
                data.setWidget(i, 0, new Image(TestScenarioImages.INSTANCE.testPassed()));
            }
        }
    }
    ScenarioUtils.addBottomAndRightPaddingToTableCells(data);
    return data;
}
Also used : SmallLabel(org.uberfire.ext.widgets.common.client.common.SmallLabel) VerifyField(org.drools.workbench.models.testscenarios.shared.VerifyField) FlexTable(com.google.gwt.user.client.ui.FlexTable) Widget(com.google.gwt.user.client.ui.Widget) HTML(com.google.gwt.user.client.ui.HTML) Image(com.google.gwt.user.client.ui.Image) ValueChanged(org.uberfire.ext.widgets.common.client.common.ValueChanged) ChangeEvent(com.google.gwt.event.dom.client.ChangeEvent) ChangeHandler(com.google.gwt.event.dom.client.ChangeHandler) Button(org.gwtbootstrap3.client.ui.Button) ListBox(org.gwtbootstrap3.client.ui.ListBox)

Aggregations

FlexTable (com.google.gwt.user.client.ui.FlexTable)29 ClickEvent (com.google.gwt.event.dom.client.ClickEvent)16 ClickHandler (com.google.gwt.event.dom.client.ClickHandler)16 HTML (com.google.gwt.user.client.ui.HTML)13 Image (com.google.gwt.user.client.ui.Image)12 ChangeEvent (com.google.gwt.event.dom.client.ChangeEvent)6 ChangeHandler (com.google.gwt.event.dom.client.ChangeHandler)6 VerticalPanel (com.google.gwt.user.client.ui.VerticalPanel)6 ListBox (org.gwtbootstrap3.client.ui.ListBox)5 ClickableLabel (org.uberfire.ext.widgets.common.client.common.ClickableLabel)5 JavaScriptObject (com.google.gwt.core.client.JavaScriptObject)4 Command (com.google.gwt.user.client.Command)4 Confirm (cz.metacentrum.perun.webgui.widgets.Confirm)4 Button (org.gwtbootstrap3.client.ui.Button)4 TextBox (org.gwtbootstrap3.client.ui.TextBox)4 DecoratorPanel (com.google.gwt.user.client.ui.DecoratorPanel)3 HorizontalPanel (com.google.gwt.user.client.ui.HorizontalPanel)3 Label (com.google.gwt.user.client.ui.Label)3 Widget (com.google.gwt.user.client.ui.Widget)3 Style (com.google.gwt.dom.client.Style)2