[jboss-svn-commits] JBL Code SVN: r8373 - in labs/jbossrules/trunk/drools-jbrms/src: main/java/org/drools/brms/client/modeldriven/model main/java/org/drools/brms/client/modeldriven/ui main/java/org/drools/brms/client/ruleeditor main/java/org/drools/brms/public/images test/java/org/drools/brms/client/modeldriven

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Sun Dec 17 16:43:42 EST 2006


Author: michael.neale at jboss.com
Date: 2006-12-17 16:43:30 -0500 (Sun, 17 Dec 2006)
New Revision: 8373

Added:
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/model/RuleAttribute.java
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/ui/RuleAttributeWidget.java
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/images/max_min.gif
Modified:
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/model/RuleModel.java
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/ui/CompositeFactPatternWidget.java
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/ui/RuleModeller.java
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/ActionToolbar.java
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/RuleViewer.java
   labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/client/modeldriven/RuleModelTest.java
Log:
some more formatting, layout issues. maximise feature for busy rules

Added: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/model/RuleAttribute.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/model/RuleAttribute.java	2006-12-17 15:08:58 UTC (rev 8372)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/model/RuleAttribute.java	2006-12-17 21:43:30 UTC (rev 8373)
@@ -0,0 +1,21 @@
+package org.drools.brms.client.modeldriven.model;
+
+import com.google.gwt.user.client.rpc.IsSerializable;
+
+/**
+ * This holds values for rule attributes (eg salience, agenda-group etc).
+ * @author Michael Neale
+ */
+public class RuleAttribute
+    implements
+    IsSerializable {
+    
+    public RuleAttribute(String name,
+                         String value) {
+        this.attributeName = name;
+        this.value = value;
+    }
+    public String attributeName;
+    public String value;
+
+}


Property changes on: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/model/RuleAttribute.java
___________________________________________________________________
Name: svn:eol-style
   + native

Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/model/RuleModel.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/model/RuleModel.java	2006-12-17 15:08:58 UTC (rev 8372)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/model/RuleModel.java	2006-12-17 21:43:30 UTC (rev 8373)
@@ -7,6 +7,8 @@
 
 public class RuleModel implements IsSerializable {
 
+    public RuleAttribute[] attributes = new RuleAttribute[0];
+    
     public IPattern[] lhs;
     public IAction[] rhs;
     
@@ -139,5 +141,35 @@
         }
         this.rhs = newList;
     }
+
+    public void addAttribute(RuleAttribute attribute) {
+        
+        
+        RuleAttribute[] list = this.attributes;
+        RuleAttribute[] newList = new RuleAttribute[list.length + 1];
+        
+        for ( int i = 0; i < list.length; i++ ) {
+            newList[i] =  list[i];
+        }
+        newList[list.length] = attribute; 
+        
+        this.attributes = newList;        
+        
+    }
     
+    public void removeAttribute(int idx) {
+        RuleAttribute[] newList = new RuleAttribute[attributes.length - 1];
+        int newIdx = 0;
+        for ( int i = 0; i < attributes.length; i++ ) {
+            
+            if (i != idx) {
+                newList[newIdx] = attributes[i];
+                newIdx++;
+            }
+            
+        }
+        this.attributes = newList;
+
+    }
+    
 }

Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/ui/CompositeFactPatternWidget.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/ui/CompositeFactPatternWidget.java	2006-12-17 15:08:58 UTC (rev 8372)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/ui/CompositeFactPatternWidget.java	2006-12-17 21:43:30 UTC (rev 8373)
@@ -5,7 +5,7 @@
 import org.drools.brms.client.modeldriven.model.CompositeFactPattern;
 import org.drools.brms.client.modeldriven.model.FactPattern;
 
-import com.google.gwt.user.client.ui.Button;
+import com.google.gwt.user.client.ui.ChangeListener;
 import com.google.gwt.user.client.ui.ClickListener;
 import com.google.gwt.user.client.ui.Composite;
 import com.google.gwt.user.client.ui.Grid;
@@ -87,20 +87,19 @@
         final ListBox box = new ListBox();
         String[] facts = completions.getFactTypes();
 
+        box.addItem( "Choose..." );
         for ( int i = 0; i < facts.length; i++ ) {
             box.addItem( facts[i] );
         }
-
+        box.setSelectedIndex( 0 );
+        
         final FormStylePopup popup = new FormStylePopup( "images/new_fact.gif",
                                                          "New fact pattern..." );
-        popup.addAttribute( "choose type",
+        popup.addAttribute( "choose fact type",
                             box );
-        Button ok = new Button( "OK" );
-        popup.addAttribute( "",
-                            ok );
 
-        ok.addClickListener( new ClickListener() {
-            public void onClick(Widget w) {
+        box.addChangeListener( new ChangeListener() {
+            public void onChange(Widget w) {
                 pattern.addFactPattern( new FactPattern( box.getItemText( box.getSelectedIndex() ) ) );
                 modeller.refreshWidget();
                 popup.hide();

Added: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/ui/RuleAttributeWidget.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/ui/RuleAttributeWidget.java	2006-12-17 15:08:58 UTC (rev 8372)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/ui/RuleAttributeWidget.java	2006-12-17 21:43:30 UTC (rev 8373)
@@ -0,0 +1,7 @@
+package org.drools.brms.client.modeldriven.ui;
+
+import com.google.gwt.user.client.ui.Composite;
+
+public class RuleAttributeWidget extends Composite {
+
+}


Property changes on: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/ui/RuleAttributeWidget.java
___________________________________________________________________
Name: svn:eol-style
   + native

Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/ui/RuleModeller.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/ui/RuleModeller.java	2006-12-17 15:08:58 UTC (rev 8372)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/ui/RuleModeller.java	2006-12-17 21:43:30 UTC (rev 8373)
@@ -52,6 +52,7 @@
         layout.setStyleName( "model-builder-Background" );
         initWidget( layout );  
         setWidth( "100%" );
+        setHeight( "100%" );
     }
 
     /**

Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/ActionToolbar.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/ActionToolbar.java	2006-12-17 15:08:58 UTC (rev 8372)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/ActionToolbar.java	2006-12-17 21:43:30 UTC (rev 8373)
@@ -7,6 +7,7 @@
 import com.google.gwt.user.client.ui.Button;
 import com.google.gwt.user.client.ui.ClickListener;
 import com.google.gwt.user.client.ui.Composite;
+import com.google.gwt.user.client.ui.HTML;
 import com.google.gwt.user.client.ui.HorizontalPanel;
 import com.google.gwt.user.client.ui.Image;
 import com.google.gwt.user.client.ui.Label;
@@ -32,7 +33,8 @@
      */
     public ActionToolbar(final MetaData meta, 
                          final Command checkin,
-                         final ClickListener changeState) {
+                         final ClickListener changeState, 
+                         final Command minimiseMaximise) {
 
         this.metaData = meta;
         this.checkin = checkin;
@@ -72,9 +74,18 @@
             
         });
         
+        Image maxMinImage = new Image("images/max_min.gif");
+        maxMinImage.addClickListener( new ClickListener() {
+            public void onClick(Widget w) {
+                minimiseMaximise.execute();                
+            }            
+        });
         
+        
         panel.add( save );
         panel.add( closeImg );
+        panel.add( new HTML("&nbsp;") );
+        panel.add( maxMinImage );
         initWidget( panel );
     }
     

Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/RuleViewer.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/RuleViewer.java	2006-12-17 15:08:58 UTC (rev 8372)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/RuleViewer.java	2006-12-17 21:43:30 UTC (rev 8373)
@@ -1,7 +1,6 @@
 package org.drools.brms.client.ruleeditor;
 
 import org.drools.brms.client.RulesFeature;
-import org.drools.brms.client.breditor.BREditor;
 import org.drools.brms.client.common.ErrorPopup;
 import org.drools.brms.client.common.WarningPopup;
 import org.drools.brms.client.rpc.RepositoryServiceFactory;
@@ -30,6 +29,7 @@
 
     final private SimplePanel panel = new SimplePanel();
     protected RuleAsset       asset;
+    private FlexTable layout;
 
     /**
      * @param UUID The resource to open.
@@ -85,6 +85,7 @@
         formatter.setRowSpan( 0,
                               0,
                               3 );
+        formatter.setVerticalAlignment( 0, 0, HasVerticalAlignment.ALIGN_TOP );
         formatter.setWidth( 0,
                             0,
                             "40%" );
@@ -95,8 +96,13 @@
                                                        public void execute() {
                                                            doCheckin();
                                                        }
-                                                   },
-                                                   null );
+                                                   },                                                   
+                                                   null,
+                                                   new Command() {
+                                                       public void execute() {
+                                                           toggleMetaDataWidget();
+                                                       }
+                                                   });
         toolbar.setCloseCommand( new Command() {
             public void execute() {
                 closeCommand.execute();
@@ -126,6 +132,8 @@
         metaWidget.loadData( asset.metaData );
         doco.loadData( asset.metaData );
 
+        this.layout = layout;
+        
         panel.clear();
         panel.setWidget( layout );
     }
@@ -146,6 +154,15 @@
     }
 
     
+    /**
+     * Calling this will toggle the visibility of the meta-data widget (effectively zooming
+     * in the rule asset).
+     */
+    public void toggleMetaDataWidget() {
+       boolean vis = layout.getFlexCellFormatter().isVisible( 0, 0 );
+       this.layout.getFlexCellFormatter().setVisible( 0, 0, !vis ); 
+    }
+    
 
     /**
      * This needs to be called to allow the opened viewer to close itself.

Added: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/images/max_min.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/images/max_min.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Modified: labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/client/modeldriven/RuleModelTest.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/client/modeldriven/RuleModelTest.java	2006-12-17 15:08:58 UTC (rev 8372)
+++ labs/jbossrules/trunk/drools-jbrms/src/test/java/org/drools/brms/client/modeldriven/RuleModelTest.java	2006-12-17 21:43:30 UTC (rev 8373)
@@ -7,6 +7,7 @@
 import org.drools.brms.client.modeldriven.model.FactPattern;
 import org.drools.brms.client.modeldriven.model.IAction;
 import org.drools.brms.client.modeldriven.model.IPattern;
+import org.drools.brms.client.modeldriven.model.RuleAttribute;
 import org.drools.brms.client.modeldriven.model.RuleModel;
 
 import junit.framework.TestCase;
@@ -153,5 +154,22 @@
         assertEquals(a1, model.rhs[1]);
     }
     
+    public void testAttributes() {
+        RuleModel m = new RuleModel();
+        RuleAttribute at = new RuleAttribute("salience", "42");
+        m.addAttribute(at);
+        assertEquals(1, m.attributes.length);
+        assertEquals(at, m.attributes[0]);
+        
+        RuleAttribute at2 = new RuleAttribute("agenda-group", "x");
+        m.addAttribute( at2 );
+        assertEquals(2, m.attributes.length);
+        assertEquals(at2, m.attributes[1]);
+        
+        m.removeAttribute( 0 );
+        assertEquals(1, m.attributes.length);
+        assertEquals(at2, m.attributes[0]);
+    }
     
+    
 }




More information about the jboss-svn-commits mailing list