[jboss-svn-commits] JBL Code SVN: r31196 - in labs/jbossrules/branches/guvnor_expressionEditor2_baunax_esteban: drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui and 1 other directory.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Fri Jan 22 15:15:18 EST 2010


Author: eaa
Date: 2010-01-22 15:15:18 -0500 (Fri, 22 Jan 2010)
New Revision: 31196

Added:
   labs/jbossrules/branches/guvnor_expressionEditor2_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl/FromAccumulateCompositeFactPattern.java
   labs/jbossrules/branches/guvnor_expressionEditor2_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl/FromCollectCompositeFactPattern.java
   labs/jbossrules/branches/guvnor_expressionEditor2_baunax_esteban/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/FromCollectCompositeFactPatternWidget.java
Log:
Guided Editor:
	FROM support: pattern & widget refactoring.
	FROM COLLECT support: added basic FROM support.

Added: labs/jbossrules/branches/guvnor_expressionEditor2_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl/FromAccumulateCompositeFactPattern.java
===================================================================
--- labs/jbossrules/branches/guvnor_expressionEditor2_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl/FromAccumulateCompositeFactPattern.java	                        (rev 0)
+++ labs/jbossrules/branches/guvnor_expressionEditor2_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl/FromAccumulateCompositeFactPattern.java	2010-01-22 20:15:18 UTC (rev 31196)
@@ -0,0 +1,10 @@
+
+package org.drools.guvnor.client.modeldriven.brl;
+
+/**
+ *
+ * @author esteban
+ */
+public class FromAccumulateCompositeFactPattern extends FromCompositeFactPattern {
+
+}

Added: labs/jbossrules/branches/guvnor_expressionEditor2_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl/FromCollectCompositeFactPattern.java
===================================================================
--- labs/jbossrules/branches/guvnor_expressionEditor2_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl/FromCollectCompositeFactPattern.java	                        (rev 0)
+++ labs/jbossrules/branches/guvnor_expressionEditor2_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl/FromCollectCompositeFactPattern.java	2010-01-22 20:15:18 UTC (rev 31196)
@@ -0,0 +1,23 @@
+
+package org.drools.guvnor.client.modeldriven.brl;
+
+/**
+ *
+ * @author esteban
+ */
+public class FromCollectCompositeFactPattern extends FromCompositeFactPattern {
+
+    private FactPattern rightPattern;
+
+    public FromCollectCompositeFactPattern() {
+    }
+
+    public FactPattern getRightPattern() {
+        return rightPattern;
+    }
+
+    public void setRightPattern(FactPattern rightPattern) {
+        this.rightPattern = rightPattern;
+    }
+
+}

Added: labs/jbossrules/branches/guvnor_expressionEditor2_baunax_esteban/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/FromCollectCompositeFactPatternWidget.java
===================================================================
--- labs/jbossrules/branches/guvnor_expressionEditor2_baunax_esteban/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/FromCollectCompositeFactPatternWidget.java	                        (rev 0)
+++ labs/jbossrules/branches/guvnor_expressionEditor2_baunax_esteban/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/FromCollectCompositeFactPatternWidget.java	2010-01-22 20:15:18 UTC (rev 31196)
@@ -0,0 +1,108 @@
+package org.drools.guvnor.client.modeldriven.ui;
+
+import com.google.gwt.user.client.ui.ChangeListener;
+import com.google.gwt.user.client.ui.ClickListener;
+import com.google.gwt.user.client.ui.HTML;
+import com.google.gwt.user.client.ui.ListBox;
+import com.google.gwt.user.client.ui.Widget;
+import org.drools.guvnor.client.common.ClickableLabel;
+import org.drools.guvnor.client.common.DirtyableFlexTable;
+import org.drools.guvnor.client.common.DirtyableVerticalPane;
+import org.drools.guvnor.client.common.FormStylePopup;
+import org.drools.guvnor.client.modeldriven.HumanReadable;
+import org.drools.guvnor.client.modeldriven.brl.FactPattern;
+import org.drools.guvnor.client.modeldriven.brl.FromCollectCompositeFactPattern;
+
+/**
+ *
+ * @author esteban
+ */
+public class FromCollectCompositeFactPatternWidget extends FromCompositeFactPatternWidget {
+
+    public FromCollectCompositeFactPatternWidget(RuleModeller modeller,
+            FromCollectCompositeFactPattern pattern) {
+        super(modeller, pattern);
+    }
+
+    @Override
+    protected Widget getCompositeLabel() {
+
+        ClickListener leftPatternclick = new ClickListener() {
+
+            public void onClick(Widget w) {
+                showFactTypeSelector(w);
+            }
+        };
+
+        ClickListener rightPatternclick = new ClickListener() {
+
+            public void onClick(Widget w) {
+                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.modeller.lockLHS()));
+        }
+
+
+        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.modeller.lockLHS()));
+        } else {
+            DirtyableVerticalPane vert = new DirtyableVerticalPane();
+            FactPattern fact = this.getFromCollectPattern().getRightPattern();
+
+            FactPatternWidget factPatternWidget = new FactPatternWidget(modeller, fact,"All {0} with:", false);
+
+            vert.add(factPatternWidget);
+            panel.setWidget(r++,
+                    0,
+                    vert);
+        }
+
+        return panel;
+    }
+
+    /**
+     * Pops up the fact selector.
+     */
+    protected void showRightPatternSelector(final Widget w) {
+        final ListBox box = new ListBox();
+        String[] facts = completions.getFactTypes();
+
+        box.addItem(constants.Choose());
+        for (int i = 0; i < facts.length; i++) {
+            box.addItem(facts[i]);
+        }
+        box.setSelectedIndex(0);
+
+        final FormStylePopup popup = new FormStylePopup();
+        popup.setTitle(constants.NewFactPattern());
+        popup.addAttribute(constants.chooseFactType(),
+                box);
+
+        box.addChangeListener(new ChangeListener() {
+
+            public void onChange(Widget w) {
+                getFromCollectPattern().setRightPattern(new FactPattern(box.getItemText(box.getSelectedIndex())));
+                modeller.refreshWidget();
+                popup.hide();
+            }
+        });
+
+        popup.show();
+    }
+
+    private FromCollectCompositeFactPattern getFromCollectPattern() {
+        return (FromCollectCompositeFactPattern) this.pattern;
+    }
+}



More information about the jboss-svn-commits mailing list