[jboss-svn-commits] JBL Code SVN: r10753 - in labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms: client/modeldriven/ui and 1 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Wed Apr 4 08:22:52 EDT 2007
Author: michael.neale at jboss.com
Date: 2007-04-04 08:22:52 -0400 (Wed, 04 Apr 2007)
New Revision: 10753
Added:
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/common/InfoPopup.java
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/common/Lbl.java
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/ui/ConstraintValueEditor.java
Modified:
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/ui/FactPatternWidget.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/public/JBRMS.css
Log:
JBRULES-755 ROM enhancements for connectives
Added: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/common/InfoPopup.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/common/InfoPopup.java (rev 0)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/common/InfoPopup.java 2007-04-04 12:22:52 UTC (rev 10753)
@@ -0,0 +1,29 @@
+package org.drools.brms.client.common;
+
+import com.google.gwt.user.client.ui.ClickListener;
+import com.google.gwt.user.client.ui.Composite;
+import com.google.gwt.user.client.ui.Image;
+import com.google.gwt.user.client.ui.Widget;
+
+
+/**
+ * This is handy for in-place context help.
+ *
+ * @author Michael Neale
+ */
+public class InfoPopup extends Composite {
+
+ public InfoPopup(final String title, final String message) {
+ Image info = new Image("images/information.gif");
+ info.setTitle( message );
+ info.addClickListener( new ClickListener() {
+ public void onClick(Widget w) {
+ final FormStylePopup pop = new FormStylePopup("images/information.gif", title);
+ pop.addRow( new Lbl(message, "small-Text") );
+ pop.setPopupPosition( w.getAbsoluteLeft(), w.getAbsoluteTop() );
+ pop.show();
+ }
+ } );
+ initWidget( info );
+ }
+}
Property changes on: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/common/InfoPopup.java
___________________________________________________________________
Name: svn:eol-style
+ native
Added: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/common/Lbl.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/common/Lbl.java (rev 0)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/common/Lbl.java 2007-04-04 12:22:52 UTC (rev 10753)
@@ -0,0 +1,16 @@
+package org.drools.brms.client.common;
+
+import com.google.gwt.user.client.ui.Label;
+
+/**
+ * Little helper class to decorate vanilla labels with style.
+ *
+ * @author Michael Neale
+ */
+public class Lbl extends Label {
+
+ public Lbl(String label, String style) {
+ super(label);
+ super.setStyleName( style );
+ }
+}
Property changes on: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/common/Lbl.java
___________________________________________________________________
Name: svn:eol-style
+ native
Added: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/ui/ConstraintValueEditor.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/ui/ConstraintValueEditor.java (rev 0)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/ui/ConstraintValueEditor.java 2007-04-04 12:22:52 UTC (rev 10753)
@@ -0,0 +1,214 @@
+package org.drools.brms.client.modeldriven.ui;
+
+import java.util.Iterator;
+import java.util.List;
+
+import org.drools.brms.client.common.FieldEditListener;
+import org.drools.brms.client.common.FormStylePopup;
+import org.drools.brms.client.common.InfoPopup;
+import org.drools.brms.client.common.Lbl;
+import org.drools.brms.client.modeldriven.brxml.Constraint;
+import org.drools.brms.client.modeldriven.brxml.RuleModel;
+
+import com.google.gwt.user.client.Command;
+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.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;
+import com.google.gwt.user.client.ui.ListBox;
+import com.google.gwt.user.client.ui.Panel;
+import com.google.gwt.user.client.ui.SimplePanel;
+import com.google.gwt.user.client.ui.TextBox;
+import com.google.gwt.user.client.ui.Widget;
+
+/**
+ * This is an editor for constraint values.
+ * How this behaves depends on the constraint value type.
+ * When the constraint value has no type, it will allow the user to choose the first time.
+ *
+ * @author Michael Neale
+ */
+public class ConstraintValueEditor extends Composite {
+
+ private Constraint constraint;
+ private Panel panel;
+ private RuleModel model;
+
+ /**
+ * @param con The constraint being edited.
+ */
+ public ConstraintValueEditor(Constraint con, RuleModel model) {
+ this.constraint = con;
+ this.model = model;
+ panel = new SimplePanel();
+ refreshEditor();
+ initWidget( panel );
+ }
+
+ private void refreshEditor() {
+ panel.clear();
+
+ if ( constraint.type == Constraint.TYPE_UNDEFINED ) {
+ Image clickme = new Image( "images/edit.gif" );
+ clickme.addClickListener( new ClickListener() {
+ public void onClick(Widget w) {
+ showTypeChoice( w, constraint );
+ }
+ } );
+ panel.add( clickme );
+ } else {
+ switch ( constraint.type ) {
+ case Constraint.TYPE_LITERAL :
+ panel.add( literalEditor() );
+ break;
+ case Constraint.TYPE_RET_VALUE :
+ panel.add( returnValueEditor() );
+ break;
+ case Constraint.TYPE_VARIABLE :
+ panel.add( variableEditor() );
+ break;
+ default :
+ break;
+ }
+ }
+ }
+
+ private Widget variableEditor() {
+ List vars = this.model.getBoundVariablesInScope( this.constraint );
+
+ final ListBox box = new ListBox();
+
+ if (this.constraint.value == null) {
+ box.addItem( "Choose ..." );
+ }
+ for ( int i = 0; i < vars.size(); i++ ) {
+ String var = (String) vars.get( i );
+ if (this.constraint.value != null && this.constraint.value.equals( var )) {
+ box.setSelectedIndex( i );
+ }
+ box.addItem( var );
+ }
+
+ box.addChangeListener( new ChangeListener() {
+ public void onChange(Widget w) {
+ constraint.value = box.getItemText( box.getSelectedIndex() );
+ }
+ });
+
+ return box;
+ }
+
+ /**
+ * An editor for the retval "formula" (expression).
+ */
+ private Widget returnValueEditor() {
+ TextBox box = boundTextBox(constraint);
+ String msg = "This is a formula expression which will evaluate to a value.";
+ Image img = new Image("images/function_assets.gif");
+ img.setTitle( msg );
+ box.setTitle( msg );
+ Widget ed = widgets( img, box);
+ return ed;
+ }
+
+ /**
+ * An editor for literal values.
+ */
+ private TextBox literalEditor() {
+ TextBox box = boundTextBox(constraint);
+ box.setTitle( "This is a literal value. What is shown is what the field is checked against." );
+ return box;
+ }
+
+ private TextBox boundTextBox(final Constraint c) {
+ final TextBox box = new TextBox();
+ box.setStyleName( "constraint-value-Editor" );
+ box.setText( c.value );
+ if ( c.value == null || c.value.length() < 5 ) {
+ box.setVisibleLength( 3 );
+ } else {
+ box.setVisibleLength( c.value.length() - 1 );
+ }
+
+ box.addChangeListener( new ChangeListener() {
+ public void onChange(Widget w) {
+ c.value = box.getText();
+ }
+
+ } );
+
+ box.addKeyboardListener( new FieldEditListener( new Command() {
+ public void execute() {
+ box.setVisibleLength( box.getText().length() );
+ }
+ } ) );
+
+ return box;
+ }
+
+ /**
+ * Show a list of possibilities for the value type.
+ */
+ private void showTypeChoice(Widget w, final Constraint con) {
+ final FormStylePopup form = new FormStylePopup( "images/newex_wiz.gif",
+ "Field value" );
+
+ Button lit = new Button( "Literal value" );
+ lit.addClickListener( new ClickListener() {
+ public void onClick(Widget w) {
+ con.type = Constraint.TYPE_LITERAL;
+ doTypeChosen( form );
+ }
+
+ } );
+ form.addAttribute( "Literal value:", widgets( lit, new InfoPopup( "Literal",
+ "A literal value means the " + "constraint is directly against the value that you type (ie. what you see on screen)." ) ) );
+
+
+
+
+ form.addRow( new HTML( "<hr/>" ) );
+ form.addRow( new Lbl( "Advanced options",
+ "weak-Text" ) );
+ Button variable = new Button("Bound variable");
+ variable.addClickListener( new ClickListener() {
+ public void onClick(Widget w) {
+ con.type = Constraint.TYPE_VARIABLE;
+ doTypeChosen( form );
+ }
+ });
+ form.addAttribute( "A variable:", widgets( variable, new InfoPopup("A bound variable", "Will apply a constraint that compares a field to a bound variable.")) );
+
+ Button formula = new Button( "New formula" );
+ formula.addClickListener( new ClickListener() {
+ public void onClick(Widget w) {
+ con.type = Constraint.TYPE_RET_VALUE;
+ doTypeChosen( form );
+ }
+ } );
+
+ form.addAttribute( "A formula:", widgets( formula, new InfoPopup( "A formula",
+ "A formula is an expression that calculates and returns a value " + ". That value is used to enforce the constraint." ) ) );
+
+ form.setPopupPosition( w.getAbsoluteLeft(), w.getAbsoluteTop() );
+ form.show();
+ }
+
+ private void doTypeChosen(final FormStylePopup form) {
+ refreshEditor();
+ form.hide();
+ }
+
+ private Panel widgets(Widget left, Widget right) {
+ HorizontalPanel panel = new HorizontalPanel();
+ panel.add( left );
+ panel.add( right );
+ panel.setWidth("100%");
+ return panel;
+ }
+
+}
Property changes on: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/ui/ConstraintValueEditor.java
___________________________________________________________________
Name: svn:eol-style
+ native
Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/ui/FactPatternWidget.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/ui/FactPatternWidget.java 2007-04-04 12:22:16 UTC (rev 10752)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/ui/FactPatternWidget.java 2007-04-04 12:22:52 UTC (rev 10753)
@@ -2,6 +2,8 @@
import org.drools.brms.client.common.FieldEditListener;
import org.drools.brms.client.common.FormStylePopup;
+import org.drools.brms.client.common.ImageButton;
+import org.drools.brms.client.common.Lbl;
import org.drools.brms.client.common.YesNoDialog;
import org.drools.brms.client.modeldriven.HumanReadable;
import org.drools.brms.client.modeldriven.SuggestionCompletionEngine;
@@ -16,6 +18,7 @@
import com.google.gwt.user.client.ui.ClickListener;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.FlexTable;
+import com.google.gwt.user.client.ui.HTML;
import com.google.gwt.user.client.ui.HasHorizontalAlignment;
import com.google.gwt.user.client.ui.HasVerticalAlignment;
import com.google.gwt.user.client.ui.HorizontalPanel;
@@ -33,112 +36,132 @@
*/
public class FactPatternWidget extends Composite {
- private FactPattern pattern;
- private FlexTable layout = new FlexTable();
+ private FactPattern pattern;
+ private FlexTable layout = new FlexTable();
private SuggestionCompletionEngine completions;
- private RuleModeller modeller;
- private boolean bindable;
-
-
+ private RuleModeller modeller;
+ private boolean bindable;
+
public FactPatternWidget(RuleModeller mod, IPattern p, SuggestionCompletionEngine com, boolean canBind) {
this.pattern = (FactPattern) p;
this.completions = com;
this.modeller = mod;
this.bindable = canBind;
+
layout.setWidget( 0, 0, getPatternLabel() );
FlexCellFormatter formatter = layout.getFlexCellFormatter();
formatter.setAlignment( 0, 0, HasHorizontalAlignment.ALIGN_CENTER, HasVerticalAlignment.ALIGN_MIDDLE );
formatter.setStyleName( 0, 0, "modeller-fact-TypeHeader" );
-
+
final FlexTable inner = new FlexTable();
-
+
layout.setWidget( 1, 0, inner );
-
+
for ( int row = 0; row < pattern.constraints.length; row++ ) {
final Constraint c = pattern.constraints[row];
final int currentRow = row;
- inner.setWidget( row, 0, fieldLabel(c));/*, new Command() {
- public void execute() {
- inner.setWidget( currentRow, 1, operatorDropDown( c ));
- }
- }));
- */
-
- inner.setWidget( row, 1, operatorDropDown(c) );
- inner.setWidget( row, 2, valueEditor(c) );
- inner.setWidget( row, 3, connectives(c) );
-
- Image clear = new Image("images/delete_item_small.gif");
- clear.setTitle( "Remove this field constraint" );
-
+ if ( c.type != Constraint.TYPE_PREDICATE ) {
+ inner.setWidget( row, 0, fieldLabel( c ) );
+
+ inner.setWidget( row, 1, operatorDropDown( c ) );
+ inner.setWidget( row, 2, valueEditor( c ) );
+ inner.setWidget( row, 3, connectives( c ) );
+
+ Image addConnective = new ImageButton( "images/add_connective.gif" );
+ addConnective.setTitle( "Add more options to this fields values." );
+ addConnective.addClickListener( new ClickListener() {
+ public void onClick(Widget w) {
+ c.addNewConnective();
+ modeller.refreshWidget();
+ }
+ } );
+
+ inner.setWidget( row, 4, addConnective );
+ } else if (c.type == Constraint.TYPE_PREDICATE) {
+ inner.setWidget( row, 0, predicateEditor(c) );
+ inner.getFlexCellFormatter().setColSpan( row, 0, 5 );
+ }
+
+ Image clear = new ImageButton( "images/delete_item_small.gif" );
+ clear.setTitle( "Remove this restriction" );
clear.addClickListener( new ClickListener() {
public void onClick(Widget w) {
- YesNoDialog d = new YesNoDialog("Remove this item?", new Command() {
- public void execute() {
- pattern.removeConstraint( currentRow );
- modeller.refreshWidget();
- }
- });
- d.setPopupPosition( w.getAbsoluteLeft(), w.getAbsoluteTop());
+ YesNoDialog d = new YesNoDialog( "Remove this item?",
+ new Command() {
+ public void execute() {
+ pattern.removeConstraint( currentRow );
+ modeller.refreshWidget();
+ }
+ } );
+ d.setPopupPosition( w.getAbsoluteLeft(), w.getAbsoluteTop() );
d.show();
}
} );
- Image addConnective = new Image("images/add_connective.gif");
- addConnective.setTitle( "Add more options to this fields values." );
- addConnective.addClickListener( new ClickListener() {
- public void onClick(Widget w) {
- c.addNewConnective();
- modeller.refreshWidget();
- }
- });
-
- inner.setWidget( row, 4, addConnective );
inner.setWidget( row, 5, clear );
}
- if (bindable) {
- //layout.setStyleName( "model-builderInner-Background" );
- layout.setStyleName( "modeller-fact-pattern-Widget" );
- } else {
- //layout.setStyleName( "model-builderInnerInner-Background" );
- }
-
+ if ( bindable ) layout.setStyleName( "modeller-fact-pattern-Widget" );
initWidget( layout );
+
+ }
+
+ /**
+ * This provides an inline formula editor, not unlike a spreadsheet does.
+ */
+ private Widget predicateEditor(final Constraint c) {
+ HorizontalPanel pred = new HorizontalPanel();
+ pred.setWidth( "100%" );
+ Image img = new Image("images/function_assets.gif");
+ img.setTitle( "This is a formula expression that is evaluated to be true or false." );
+
+ pred.add( img );
+ final TextBox box = new TextBox();
+ box.setText( c.value );
+ box.addChangeListener( new ChangeListener() {
+ public void onChange(Widget w) {
+ c.value = box.getText();
+ }
+
+ });
+
+ box.setWidth( "100%" );
+ pred.add( box );
+
+ return pred;
}
-
/**
* This returns the pattern label.
*/
private Widget getPatternLabel() {
HorizontalPanel horiz = new HorizontalPanel();
-
- Image edit = new Image("images/add_field_to_fact.gif");
+
+ Image edit = new ImageButton( "images/add_field_to_fact.gif" );
edit.setTitle( "Add a field to this condition, or bind a varible to this fact." );
-
+
edit.addClickListener( new ClickListener() {
public void onClick(Widget w) {
- showPatternPopup(w);
+ showPatternPopup( w );
}
} );
-
- if (pattern.boundName != null) {
- horiz.add( new Label(pattern.factType + " [" + pattern.boundName + "]" ));
+
+ if ( pattern.boundName != null ) {
+ horiz.add( new Label( pattern.factType + " [" + pattern.boundName + "]" ) );
} else {
- horiz.add( new Label(pattern.factType));
+ horiz.add( new Label( pattern.factType ) );
}
horiz.add( edit );
-
+
return horiz;
-
+
}
-
protected void showPatternPopup(Widget w) {
- final FormStylePopup popup = new FormStylePopup("images/newex_wiz.gif", "Modify constraints for " + pattern.factType);
+ final FormStylePopup popup = new FormStylePopup( "images/newex_wiz.gif",
+ "Modify constraints for " + pattern.factType );
popup.setStyleName( "ks-popups-Popup" );
final ListBox box = new ListBox();
box.addItem( "..." );
@@ -146,25 +169,39 @@
for ( int i = 0; i < fields.length; i++ ) {
box.addItem( fields[i] );
}
-
+
box.setSelectedIndex( 0 );
-
- popup.addAttribute( "Add field", box );
+
box.addChangeListener( new ChangeListener() {
public void onChange(Widget w) {
- pattern.addConstraint( new Constraint(box.getItemText( box.getSelectedIndex() )) );
+ pattern.addConstraint( new Constraint( box.getItemText( box.getSelectedIndex() ) ) );
modeller.refreshWidget();
popup.hide();
}
- });
+ } );
+ popup.addAttribute( "Add a restriction on a field", box );
+ popup.addRow( new HTML("<hr/>") );
+
+ popup.addRow( new Lbl("Advanced options", "weak-Text") );
+ final Button predicate = new Button( "New formula" );
+ predicate.addClickListener( new ClickListener() {
+ public void onClick(Widget w) {
+ Constraint con = new Constraint();
+ con.type = Constraint.TYPE_PREDICATE;
+ pattern.addConstraint( con );
+ modeller.refreshWidget();
+ popup.hide();
+ }
+ } );
+ popup.addAttribute( "Add a new formula style expression", predicate );
+
doBindingEditor( popup );
-
+
popup.setPopupPosition( w.getAbsoluteLeft(), w.getAbsoluteTop() );
popup.show();
}
-
/**
* This adds in (optionally) the editor for changing the bound variable name.
* If its a bindable pattern, it will show the editor,
@@ -172,13 +209,13 @@
* not be editable.
*/
private void doBindingEditor(final FormStylePopup popup) {
- if (bindable && !(modeller.getModel().isBoundFactUsed( pattern.boundName ))) {
+ if ( bindable && !(modeller.getModel().isBoundFactUsed( pattern.boundName )) ) {
HorizontalPanel varName = new HorizontalPanel();
final TextBox varTxt = new TextBox();
varTxt.setText( pattern.boundName );
varTxt.setVisibleLength( 3 );
varName.add( varTxt );
- Button bindVar = new Button("Set");
+ Button bindVar = new Button( "Set" );
bindVar.addClickListener( new ClickListener() {
public void onClick(Widget w) {
pattern.boundName = varTxt.getText();
@@ -186,121 +223,93 @@
popup.hide();
}
} );
-
+
varName.add( bindVar );
- popup.addAttribute("Variable name", varName);
-
+ popup.addAttribute( "Variable name", varName );
+
}
}
-
private Widget connectives(Constraint c) {
- if (c.connectives != null && c.connectives.length > 0) {
+ if ( c.connectives != null && c.connectives.length > 0 ) {
HorizontalPanel horiz = new HorizontalPanel();
for ( int i = 0; i < c.connectives.length; i++ ) {
ConnectiveConstraint con = c.connectives[i];
- horiz.add( connectiveOperatorDropDown(con, c.fieldName) );
- horiz.add( connectiveValueEditor(con) );
- }
+ horiz.add( connectiveOperatorDropDown( con, c.fieldName ) );
+ horiz.add( connectiveValueEditor( con ) );
+ }
return horiz;
} else {
//nothing to do
return null;
}
-
+
}
+ private Widget connectiveValueEditor(final ConnectiveConstraint con) {
- private Widget connectiveValueEditor(final ConnectiveConstraint con) {
-
final TextBox box = new TextBox();
box.setVisibleLength( 4 );
box.setText( con.value );
box.addChangeListener( new ChangeListener() {
public void onChange(Widget w) {
- con.value = box.getText();
- }
- });
+ con.value = box.getText();
+ }
+ } );
return box;
}
-
private Widget connectiveOperatorDropDown(final ConnectiveConstraint con, String fieldName) {
String[] ops = completions.getConnectiveOperatorCompletions( pattern.factType, fieldName );
final ListBox box = new ListBox();
box.addItem( "--- please choose ---" );
for ( int i = 0; i < ops.length; i++ ) {
String op = ops[i];
- box.addItem(HumanReadable.getOperatorDisplayName( op ), op );
- if (op.equals( con.operator )) {
+ box.addItem( HumanReadable.getOperatorDisplayName( op ), op );
+ if ( op.equals( con.operator ) ) {
box.setSelectedIndex( i + 1 );
}
}
-
+
box.addChangeListener( new ChangeListener() {
public void onChange(Widget w) {
- con.operator = box.getValue( box.getSelectedIndex() );
- }
- });
-
+ con.operator = box.getValue( box.getSelectedIndex() );
+ }
+ } );
+
return box;
}
-
private Widget valueEditor(final Constraint c) {
- final TextBox box = new TextBox();
- box.setText( c.value );
- if (c.value == null || c.value.length() < 5) {
- box.setVisibleLength( 3 );
- } else {
- box.setVisibleLength( c.value.length() - 1 );
- }
-
- box.addChangeListener( new ChangeListener() {
- public void onChange(Widget w) {
- c.value = box.getText();
- }
-
- });
-
- box.addKeyboardListener( new FieldEditListener(new Command() {
- public void execute() {
- box.setVisibleLength( box.getText().length() );
- }
- }));
-
- return box;
+ return new ConstraintValueEditor(c, this.modeller.getModel());
}
-
private Widget operatorDropDown(final Constraint c) {
String[] ops = completions.getOperatorCompletions( pattern.factType, c.fieldName );
final ListBox box = new ListBox();
box.addItem( "--- please choose ---" );
for ( int i = 0; i < ops.length; i++ ) {
String op = ops[i];
- box.addItem( HumanReadable.getOperatorDisplayName( op ) , op );
- if (op.equals( c.operator )) {
+ box.addItem( HumanReadable.getOperatorDisplayName( op ), op );
+ if ( op.equals( c.operator ) ) {
box.setSelectedIndex( i + 1 );
}
}
-
+
box.addChangeListener( new ChangeListener() {
public void onChange(Widget w) {
c.operator = box.getValue( box.getSelectedIndex() );
- System.out.println("Set operator to :" + c.operator);
- }
- });
-
-
+ System.out.println( "Set operator to :" + c.operator );
+ }
+ } );
+
return box;
}
-
private Widget fieldLabel(final Constraint con) {//, final Command onChange) {
- return new Label(con.fieldName);
+ return new Label( con.fieldName );
}
-
+
}
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 2007-04-04 12:22:16 UTC (rev 10752)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/modeldriven/ui/RuleModeller.java 2007-04-04 12:22:52 UTC (rev 10753)
@@ -5,6 +5,7 @@
import org.drools.brms.client.common.ErrorPopup;
import org.drools.brms.client.common.FormStylePopup;
+import org.drools.brms.client.common.ImageButton;
import org.drools.brms.client.common.YesNoDialog;
import org.drools.brms.client.modeldriven.HumanReadable;
import org.drools.brms.client.modeldriven.SuggestionCompletionEngine;
@@ -69,7 +70,7 @@
public void refreshWidget() {
layout.clear();
- Image addPattern = new Image( "images/new_item.gif" );
+ Image addPattern = new ImageButton( "images/new_item.gif" );
addPattern.setTitle( "Add a condition to this rule." );
addPattern.addClickListener( new ClickListener() {
public void onClick(Widget w) {
@@ -83,7 +84,7 @@
layout.setWidget( 1, 1, renderLhs(this.model) );
layout.setWidget( 2, 0, new Label("THEN") );
- Image addAction = new Image("images/new_item.gif");
+ Image addAction = new ImageButton("images/new_item.gif");
addAction.setTitle( "Add an action to this rule." );
addAction.addClickListener( new ClickListener() {
public void onClick(Widget w) {
@@ -102,7 +103,7 @@
private Widget getAddAttribute() {
- Image add = new Image("images/new_item.gif");
+ Image add = new ImageButton("images/new_item.gif");
add.setTitle( "Add an option to the rule, to modify its behavior when evaluated or executed." );
add.addClickListener( new ClickListener() {
@@ -172,7 +173,7 @@
HorizontalPanel horiz = new HorizontalPanel();
- Image remove = new Image("images/delete_item_small.gif");
+ Image remove = new ImageButton("images/delete_item_small.gif");
remove.setTitle( "Remove this action." );
final int idx = i;
remove.addClickListener( new ClickListener() {
@@ -523,9 +524,7 @@
Widget w) {
HorizontalPanel horiz = new HorizontalPanel();
-
-
- Image remove = new Image("images/delete_item_small.gif");
+ Image remove = new ImageButton("images/delete_item_small.gif");
remove.setTitle( "Remove this ENTIRE condition, and all the field constraints that belong to it." );
final int idx = i;
remove.addClickListener( new ClickListener() {
Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/JBRMS.css
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/JBRMS.css 2007-04-04 12:22:16 UTC (rev 10752)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/JBRMS.css 2007-04-04 12:22:52 UTC (rev 10753)
@@ -192,7 +192,15 @@
padding: 0px;
}
+.constraint-value-Editor {
+ padding:2px !important;border-color:#ccc !important; border: 1px solid #aaaa99; color:#666;
+}
+.constraint-value-Editor:focus, .constraint-value-Editor:active {
+ border-color:black !important; color: black;
+}
+
+
.gwt-Tree {
}
@@ -201,6 +209,7 @@
}
.small-Text {font-size: smaller;}
+.weak-Text {font-size: smaller; color: #ccc;}
.gwt-Tree .gwt-TreeItem-selected {
@@ -258,7 +267,6 @@
width: 100%;
padding: 0.3em;
padding-right: 16px;
- cursor: pointer;
cursor: hand;
}
@@ -266,20 +274,7 @@
background-color: #aaaa99;
}
-.ks-images-Image {
- margin: 8px;
-}
-.ks-images-Button {
- margin: 8px;
- cursor: pointer;
- cursor: hand;
-}
-
-.ks-layouts {
- margin: 8px;
-}
-
.ks-layouts-Label {
background-color: #aaaa99;
font-weight: bold;
@@ -534,6 +529,8 @@
.sinkitem{color:white;}
+.image-Button{ cursor:pointer !important; }
+
body{color:#444;}
.gwt-TreeItem{width:100%; cursor:pointer; display:block !important; padding:0em; margin:0em; line-height:em}
More information about the jboss-svn-commits
mailing list