[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(" ") );
+ 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