[jboss-svn-commits] JBL Code SVN: r31193 - 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 09:44:35 EST 2010


Author: eaa
Date: 2010-01-22 09:44:34 -0500 (Fri, 22 Jan 2010)
New Revision: 31193

Added:
   labs/jbossrules/branches/guvnor_expressionEditor2_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl/FromCompositeFactPattern.java
   labs/jbossrules/branches/guvnor_expressionEditor2_baunax_esteban/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/FromCompositeFactPatternWidget.java
Log:
Guided Editor:
	FROM support: added basic FROM support.

Added: labs/jbossrules/branches/guvnor_expressionEditor2_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl/FromCompositeFactPattern.java
===================================================================
--- labs/jbossrules/branches/guvnor_expressionEditor2_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl/FromCompositeFactPattern.java	                        (rev 0)
+++ labs/jbossrules/branches/guvnor_expressionEditor2_baunax_esteban/drools-compiler/src/main/java/org/drools/guvnor/client/modeldriven/brl/FromCompositeFactPattern.java	2010-01-22 14:44:34 UTC (rev 31193)
@@ -0,0 +1,43 @@
+
+package org.drools.guvnor.client.modeldriven.brl;
+
+/**
+ *
+ * @author esteban.aliverti at gmail.com
+ */
+public class FromCompositeFactPattern extends CompositeFactPattern {
+
+    public static final String COMPOSITE_TYPE_FROM     = "from";
+    public static final String COMPOSITE_TYPE_FROM_ACCUMULATE     = "from accumulate";
+    public static final String COMPOSITE_TYPE_FROM_COLLECT     = "from collect";
+
+    private ExpressionFormLine expression = new ExpressionFormLine();
+
+    public FromCompositeFactPattern() {
+    }
+
+    public FromCompositeFactPattern(final String type) {
+        super(type);
+    }
+
+    public ExpressionFormLine getExpression() {
+        return expression;
+    }
+
+    public void setExpression(ExpressionFormLine expression) {
+        this.expression = expression;
+    }
+
+    public IPattern getInternalPattern(){
+        if (this.patterns == null || this.patterns.length ==0 ){
+            return null;
+        }
+        return this.patterns[0];
+        
+    }
+
+    
+
+
+
+}

Added: labs/jbossrules/branches/guvnor_expressionEditor2_baunax_esteban/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/FromCompositeFactPatternWidget.java
===================================================================
--- labs/jbossrules/branches/guvnor_expressionEditor2_baunax_esteban/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/FromCompositeFactPatternWidget.java	                        (rev 0)
+++ labs/jbossrules/branches/guvnor_expressionEditor2_baunax_esteban/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/FromCompositeFactPatternWidget.java	2010-01-22 14:44:34 UTC (rev 31193)
@@ -0,0 +1,85 @@
+package org.drools.guvnor.client.modeldriven.ui;
+
+import com.google.gwt.user.client.ui.ClickListener;
+import com.google.gwt.user.client.ui.HTML;
+import com.google.gwt.user.client.ui.HorizontalPanel;
+import com.google.gwt.user.client.ui.Label;
+import com.google.gwt.user.client.ui.Panel;
+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.modeldriven.HumanReadable;
+import org.drools.guvnor.client.modeldriven.brl.FactPattern;
+import org.drools.guvnor.client.modeldriven.brl.FromCompositeFactPattern;
+
+/**
+ *
+ * @author esteban
+ */
+public class FromCompositeFactPatternWidget extends CompositeFactPatternWidget{
+
+    public FromCompositeFactPatternWidget(RuleModeller modeller,
+                                      FromCompositeFactPattern pattern) {
+        super(modeller, pattern);
+    }
+
+    
+    @Override
+    protected void doLayout() {
+
+        int r=0;
+
+        if ( pattern.patterns != null ) {
+            DirtyableVerticalPane vert = new DirtyableVerticalPane();
+            FactPattern[] facts = pattern.patterns;
+            for ( int i = 0; i < facts.length; i++ ) {
+                vert.add( new FactPatternWidget( modeller,
+                                                 facts[i],
+                                                 false ) );
+            }
+            this.layout.setWidget( r,
+                                   0,
+                                   vert );
+
+            r++;
+        }
+
+        this.layout.setWidget( r,
+                               0,
+                               getCompositeLabel() );
+
+        //this.layout.getFlexCellFormatter().setColSpan(0, 0, 2);
+
+        //this.layout.setWidget(r, 0, new HTML("&nbsp;&nbsp;&nbsp;&nbsp;"));
+    }
+
+    @Override
+    protected Widget getCompositeLabel() {
+
+        ClickListener click =  new ClickListener() {
+            public void onClick(Widget w) {
+                showFactTypeSelector( w );
+            }
+        };
+        String lbl = "<div class='x-form-field'>"+HumanReadable.getCEDisplayName( pattern.type )+"</div>";
+
+//        lbl += "( "+getFormPattern().getExpression().text+" )";
+
+        DirtyableFlexTable panel = new DirtyableFlexTable();
+        panel.setWidget(0, 0, new HTML(lbl));
+        panel.setWidget(0, 1, new ExpressionBuilder(modeller, getFormPattern().getExpression().text));
+
+        if (pattern.patterns == null || pattern.patterns.length ==0) {
+            panel.setWidget(1,0, new ClickableLabel("<br> <font color='red'>" + constants.clickToAddPatterns() + "</font>", click, !this.modeller.lockLHS() ) );
+        }
+
+
+
+        return panel;
+    }
+
+    private FromCompositeFactPattern getFormPattern(){
+        return (FromCompositeFactPattern)this.pattern;
+    }
+}



More information about the jboss-svn-commits mailing list