[jboss-svn-commits] JBL Code SVN: r35576 - in labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client: decisiontable and 6 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Oct 20 02:05:21 EDT 2010


Author: Rikkola
Date: 2010-10-20 02:05:20 -0400 (Wed, 20 Oct 2010)
New Revision: 35576

Added:
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/util/NumbericFilterKeyPressHandler.java
Removed:
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/common/FieldEditListener.java
Modified:
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/common/ClickableLabel.java
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/decisiontable/GuidedDecisionTableWidget.java
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/ActionCallMethodWidget.java
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/ActionSetFieldWidget.java
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/ActionValueEditor.java
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/BoundTextBox.java
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/MethodParameterValueEditor.java
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/qa/VerifyFieldConstraintEditor.java
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/qa/testscenarios/FieldDataConstraintEditor.java
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/qa/testscenarios/MethodParameterCallValueEditor.java
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/FactTypeBrowser.java
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/VersionBrowser.java
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/table/DataModel.java
Log:
Removed deprecated, dublicated and dead code.

Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/common/ClickableLabel.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/common/ClickableLabel.java	2010-10-19 20:28:48 UTC (rev 35575)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/common/ClickableLabel.java	2010-10-20 06:05:20 UTC (rev 35576)
@@ -1,4 +1,4 @@
-/**
+/*
  * Copyright 2010 JBoss Inc
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -17,35 +17,28 @@
 package org.drools.guvnor.client.common;
 
 import com.google.gwt.event.dom.client.ClickHandler;
-import com.google.gwt.user.client.ui.ClickListener;
 import com.google.gwt.user.client.ui.HTML;
 
 public class ClickableLabel extends HTML {
 
-	@Deprecated
-	public ClickableLabel(String text, ClickListener event, boolean enabled) {
-		super(doText(text, enabled));
-		if (enabled) this.addClickListener(event);
-	}
+    public ClickableLabel(String text,
+                          ClickHandler event,
+                          boolean enabled) {
+        super( doText( text,
+                       enabled ) );
+        if ( enabled ) this.addClickHandler( event );
+    }
 
-	public ClickableLabel(String text, ClickHandler event, boolean enabled) {
-		super(doText(text, enabled));
-		if (enabled) this.addClickHandler(event);
-	}
-	
-    private static String doText(String text, boolean enabled) {
-        if (enabled)
-            return "<div class='x-form-field'><span class='selectable-label'>" + text + "</span></div>";
-        else
-            return "<div class='x-form-field'>" + text + "</div>";            
+    private static String doText(String text,
+                                 boolean enabled) {
+        if ( enabled ) return "<div class='x-form-field'><span class='selectable-label'>" + text + "</span></div>";
+        else return "<div class='x-form-field'>" + text + "</div>";
     }
 
-    @Deprecated
-    public ClickableLabel(String text, ClickListener event) {
-        this(text, event, true);
-	}
-
-    public ClickableLabel(String text, ClickHandler event) {
-        this(text, event, true);
-	}
+    public ClickableLabel(String text,
+                          ClickHandler event) {
+        this( text,
+              event,
+              true );
+    }
 }

Deleted: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/common/FieldEditListener.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/common/FieldEditListener.java	2010-10-19 20:28:48 UTC (rev 35575)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/common/FieldEditListener.java	2010-10-20 06:05:20 UTC (rev 35576)
@@ -1,79 +0,0 @@
-/**
- * Copyright 2010 JBoss Inc
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.drools.guvnor.client.common;
-/*
- * Copyright 2005 JBoss Inc
- * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
- *      http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-
-
-import com.google.gwt.user.client.Command;
-import com.google.gwt.user.client.ui.KeyboardListener;
-import com.google.gwt.user.client.ui.Widget;
-
-/**
- * This is a utility listener for trapping text field edits,
- * and can be used for instance to stretch the size of a text box.
- * 
- * Responds to the key up event.
- * 
- * @author Michael Neale
- *
- */
-public class FieldEditListener
-    implements
-    KeyboardListener {
-    
-    private Command command;
-
-    public FieldEditListener(Command command) {
-        this.command = command;
-    }
-    
-
-    public void onKeyDown(Widget arg0,
-                          char arg1,
-                          int arg2) {
-
-
-    }
-
-    public void onKeyPress(Widget arg0,
-                           char arg1,
-                           int arg2) {
-
-    }
-
-    public void onKeyUp(Widget arg0,
-                        char arg1,
-                        int arg2) {
-        this.command.execute();
-    }
-
-}
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/decisiontable/GuidedDecisionTableWidget.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/decisiontable/GuidedDecisionTableWidget.java	2010-10-19 20:28:48 UTC (rev 35575)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/decisiontable/GuidedDecisionTableWidget.java	2010-10-20 06:05:20 UTC (rev 35576)
@@ -19,7 +19,6 @@
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.HashMap;
-import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 
@@ -32,7 +31,6 @@
 import org.drools.guvnor.client.common.SmallLabel;
 import org.drools.guvnor.client.common.ValueChanged;
 import org.drools.guvnor.client.messages.Constants;
-import org.drools.guvnor.client.modeldriven.ui.ActionValueEditor;
 import org.drools.guvnor.client.modeldriven.ui.DatePickerTextBox;
 import org.drools.guvnor.client.modeldriven.ui.RuleAttributeWidget;
 import org.drools.guvnor.client.packages.SuggestionCompletionCache;
@@ -40,6 +38,7 @@
 import org.drools.guvnor.client.ruleeditor.RuleViewer;
 import org.drools.guvnor.client.ruleeditor.SaveEventListener;
 import org.drools.guvnor.client.util.Format;
+import org.drools.guvnor.client.util.NumbericFilterKeyPressHandler;
 import org.drools.ide.common.client.modeldriven.SuggestionCompletionEngine;
 import org.drools.ide.common.client.modeldriven.brl.BaseSingleFieldConstraint;
 import org.drools.ide.common.client.modeldriven.dt.ActionCol;
@@ -53,19 +52,21 @@
 import org.drools.ide.common.client.modeldriven.ui.ConstraintValueEditorHelper;
 
 import com.google.gwt.core.client.GWT;
+import com.google.gwt.event.dom.client.ChangeEvent;
+import com.google.gwt.event.dom.client.ChangeHandler;
 import com.google.gwt.event.dom.client.ClickEvent;
 import com.google.gwt.event.dom.client.ClickHandler;
+import com.google.gwt.event.dom.client.KeyCodes;
+import com.google.gwt.event.dom.client.KeyUpEvent;
+import com.google.gwt.event.dom.client.KeyUpHandler;
 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.CheckBox;
 import com.google.gwt.user.client.ui.Composite;
 import com.google.gwt.user.client.ui.DisclosurePanel;
 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.KeyboardListener;
-import com.google.gwt.user.client.ui.KeyboardListenerAdapter;
 import com.google.gwt.user.client.ui.ListBox;
 import com.google.gwt.user.client.ui.TextBox;
 import com.google.gwt.user.client.ui.VerticalPanel;
@@ -139,8 +140,8 @@
         layout = new VerticalPanel();
 
         DisclosurePanel disclosurePanel = new DisclosurePanel( constants.DecisionTable() );
-        disclosurePanel.setAnimationEnabled(true);
-        disclosurePanel.setWidth("100%");
+        disclosurePanel.setAnimationEnabled( true );
+        disclosurePanel.setWidth( "100%" );
         disclosurePanel.setTitle( constants.DecisionTable() );
 
         VerticalPanel config = new VerticalPanel();
@@ -170,8 +171,7 @@
 
         configureColumnsNote = new PrettyFormLayout();
         configureColumnsNote.startSection();
-        configureColumnsNote.addRow(
-                new HTML( "<img src='images/information.gif'/>&nbsp;" + constants.ConfigureColumnsNote()) );
+        configureColumnsNote.addRow( new HTML( "<img src='images/information.gif'/>&nbsp;" + constants.ConfigureColumnsNote() ) );
         configureColumnsNote.endSection();
         configureColumnsNote.setVisible( false );
         layout.add( configureColumnsNote );
@@ -520,12 +520,12 @@
             hp.add( removeAttr( at ) );
             final TextBox defaultValue = new TextBox();
             defaultValue.setText( at.defaultValue );
-            defaultValue.addChangeListener( new ChangeListener() {
-                public void onChange(Widget sender) {
+            defaultValue.addChangeHandler( new ChangeHandler() {
+                public void onChange(ChangeEvent event) {
                     at.defaultValue = defaultValue.getText();
                 }
             } );
-            // GUVNOR-605
+
             if ( at.attr.equals( RuleAttributeWidget.SALIENCE_ATTR ) ) {
                 hp.add( new HTML( "&nbsp;&nbsp;" ) );
                 final CheckBox useRowNumber = new CheckBox();
@@ -583,8 +583,8 @@
 
                                                    list.setSelectedIndex( 0 );
 
-                                                   list.addChangeListener( new ChangeListener() {
-                                                       public void onChange(Widget w) {
+                                                   list.addChangeHandler( new ChangeHandler() {
+                                                       public void onChange(ChangeEvent event) {
                                                            AttributeCol attr = new AttributeCol();
                                                            attr.attr = list.getItemText( list.getSelectedIndex() );
 
@@ -617,26 +617,9 @@
                                                                      horiz );
                                                    pop.addAttribute( constants.Attribute(),
                                                                      list );
-                                                   //		        pop.addAttribute("", ok);
                                                    pop.show();
                                                }
 
-                                               private void addItem(String at,
-                                                                    final ListBox list) {
-                                                   if ( !hasAttribute( at,
-                                                                       dt.attributeCols ) ) list.addItem( at );
-                                               }
-
-                                               private boolean hasAttribute(String at,
-                                                                            List<AttributeCol> attributeCols) {
-                                                   for ( Iterator<AttributeCol> iterator = attributeCols.iterator(); iterator.hasNext(); ) {
-                                                       AttributeCol c = iterator.next();
-                                                       if ( c.attr.equals( at ) ) {
-                                                           return true;
-                                                       }
-                                                   }
-                                                   return false;
-                                               }
                                            } );
         HorizontalPanel h = new HorizontalPanel();
         h.add( new SmallLabel( constants.AddAttributeMetadata() ) );
@@ -712,10 +695,6 @@
                 }
             }
         }
-        //		String groupF = store.getGroupField();
-        //		if (groupF == null || groupF.equals("")) {
-        //			dt.groupField = groupF;
-        //		}
     }
 
     /**
@@ -860,32 +839,6 @@
             colCount++;
         }
 
-        //the split thing
-        //The separator column causes confusion, see GUVNOR-498. Remove this column for now until  
-        //we find a better way to represent a column for the purpose of separator. 
-        /*        cols[colCount] = new ColumnConfig() {
-                    {
-                        setDataIndex( "x" );
-                        setHeader( "x" );
-                        //setFixed(true);
-                        setSortable( false );
-                        setResizable( false );
-                        //setWidth(60);
-                        setRenderer( new Renderer() {
-                            public String render(Object value,
-                                                 CellMetadata cellMetadata,
-                                                 Record record,
-                                                 int rowIndex,
-                                                 int colNum,
-                                                 Store store) {
-                                return "<image src='images/production.gif'/>"; //NON-NLS
-                            }
-                        } );
-                        setWidth( 20 );
-                    }
-                };
-                colCount++;*/
-
         for ( int i = 0; i < dt.actionCols.size(); i++ ) {
             //here we could also deal with numeric type?
             final ActionCol c = dt.actionCols.get( i );
@@ -1052,7 +1005,6 @@
                                         r.set( "num",
                                                store.getRecords().length + 1 ); //NON-NLS
                                         store.add( r );
-                                        // GUVNOR-605
                                         renumberSalience( store.getRecords() );
                                     }
                                 } ) );
@@ -1085,7 +1037,6 @@
                                                               num + 1 ); //NON-NLS
                                                 }
                                             }
-                                            // GUVNOR-605
                                             renumberSalience( store.getRecords() );
                                         } else {
                                             ErrorPopup.showMessage( constants.PleaseSelectARow() );
@@ -1103,7 +1054,6 @@
                                                 store.remove( selected[i] );
                                             }
                                             renumber( store.getRecords() );
-                                            // GUVNOR-605
                                             renumberSalience( store.getRecords() );
                                         }
                                     }
@@ -1123,71 +1073,10 @@
                                             store.add( r );
                                         }
                                         renumber( store.getRecords() );
-                                        // GUVNOR-605
                                         renumberSalience( store.getRecords() );
                                     }
                                 } ) );
 
-        //        Menu subMenu = new Menu();
-        //        subMenu.addItem( new Item( "Move up",
-        //                                   new BaseItemListenerAdapter() {
-        //                                       public void onClick(BaseItem item,
-        //                                                           EventObject e) {
-        //                                           Record[] selected = grid.getSelectionModel().getSelections();
-        //                                           if ( selected.length == 1 ) {
-        //                                               Record from = selected[0];
-        //
-        //                                               grid.getSelectionModel().selectPrevious();
-        //
-        //                                               selected = grid.getSelectionModel().getSelections();
-        //                                               Record to = selected[0];
-        //
-        //                                               changeRowPositions( from,
-        //                                                                   to );
-        //
-        //                                           } else {
-        //                                               // TODO: Popup: Please select one.
-        //                                           }
-        //                                       }
-        //                                   } ) );
-        //        subMenu.addItem( new Item( "Move down",
-        //                                   new BaseItemListenerAdapter() {
-        //                                       public void onClick(BaseItem item,
-        //                                                           EventObject e) {
-        //                                           Record[] selected = grid.getSelectionModel().getSelections();
-        //                                           if ( selected.length == 1 ) {
-        //                                               Record from = selected[0];
-        //
-        //                                               grid.getSelectionModel().selectNext();
-        //
-        //                                               selected = grid.getSelectionModel().getSelections();
-        //                                               Record to = selected[0];
-        //
-        //                                               changeRowPositions( from,
-        //                                                                   to );
-        //
-        //                                           } else {
-        //                                               // TODO: Popup: Please select one.
-        //                                           }
-        //                                       }
-        //                                   } ) );
-        //        subMenu.addItem( new Item( "Switch selected",
-        //                                   new BaseItemListenerAdapter() {
-        //                                       public void onClick(BaseItem item,
-        //                                                           EventObject e) {
-        //                                           Record[] selected = grid.getSelectionModel().getSelections();
-        //                                           if ( selected.length == 2 ) {
-        //
-        //                                               changeRowPositions( selected[0],
-        //                                                                   selected[1] );
-        //                                           } else {
-        //                                               // TODO: Popup: Please select two.
-        //                                           }
-        //                                       }
-        //                                   } ) );
-        //        menu.addItem( new com.gwtext.client.widgets.menu.MenuItem( "Move",
-        //                                                                   subMenu ) );
-
         ToolbarMenuButton tbb = new ToolbarMenuButton( constants.Modify(),
                                                        menu );
 
@@ -1228,11 +1117,9 @@
             }
 
         }
-        drop.addKeyboardListener( new KeyboardListenerAdapter() {
-            public void onKeyUp(Widget sender,
-                                char keyCode,
-                                int modifiers) {
-                if ( keyCode == KeyboardListener.KEY_ENTER ) {
+        drop.addKeyUpHandler( new KeyUpHandler() {
+            public void onKeyUp(KeyUpEvent event) {
+                if ( event.getNativeKeyCode() == KeyCodes.KEY_ENTER ) {
                     r.set( dataIdx,
                            drop.getValue( drop.getSelectedIndex() ) );
                     w.destroy();
@@ -1268,7 +1155,6 @@
         }
     }
 
-    // GUVNOR-605
     private void renumberSalience(Record[] rs) {
         List<AttributeCol> attcols = dt.attributeCols;
         for ( AttributeCol ac : attcols ) {
@@ -1344,11 +1230,10 @@
         } else {
             final TextBox box = new TextBox();
             box.setText( val );
-            box.addKeyboardListener( new KeyboardListenerAdapter() {
-                public void onKeyUp(Widget sender,
-                                    char keyCode,
-                                    int modifiers) {
-                    if ( keyCode == KeyboardListener.KEY_ENTER ) {
+            box.addKeyUpHandler( new KeyUpHandler() {
+
+                public void onKeyUp(KeyUpEvent event) {
+                    if ( event.getNativeKeyCode() == KeyCodes.KEY_ENTER ) {
                         r.set( dta,
                                box.getText() );
                         w.destroy();
@@ -1358,7 +1243,7 @@
 
             if ( dt.isNumeric( colConf,
                                getSCE() ) ) {
-                box.addKeyboardListener( ActionValueEditor.getNumericFilter( box ) );
+                box.addKeyPressHandler( new NumbericFilterKeyPressHandler( box ) );
             }
 
             p.add( box );
@@ -1402,18 +1287,4 @@
 
     }
 
-    private void changeRowPositions(Record from,
-                                    Record to) {
-        int fromNum = from.getAsInteger( "num" );
-        int toNum = to.getAsInteger( "num" );
-        from.set( "num",
-                  toNum );
-        to.set( "num",
-                fromNum );
-
-        scrapeData( -1 );
-
-        refreshGrid();
-    }
-
 }

Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/ActionCallMethodWidget.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/ActionCallMethodWidget.java	2010-10-19 20:28:48 UTC (rev 35575)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/ActionCallMethodWidget.java	2010-10-20 06:05:20 UTC (rev 35576)
@@ -41,13 +41,10 @@
 import com.google.gwt.event.dom.client.ChangeHandler;
 import com.google.gwt.event.dom.client.ClickEvent;
 import com.google.gwt.event.dom.client.ClickHandler;
-import com.google.gwt.event.dom.client.KeyPressEvent;
-import com.google.gwt.event.dom.client.KeyPressHandler;
 import com.google.gwt.user.client.Command;
 import com.google.gwt.user.client.ui.HorizontalPanel;
 import com.google.gwt.user.client.ui.Image;
 import com.google.gwt.user.client.ui.ListBox;
-import com.google.gwt.user.client.ui.TextBox;
 import com.google.gwt.user.client.ui.Widget;
 
 /**
@@ -58,25 +55,28 @@
  */
 public class ActionCallMethodWidget extends RuleModellerWidget {
 
-    final private ActionCallMethod           model;
-    final private DirtyableFlexTable         layout;
-    private boolean                          isBoundFact = false;
+    final private ActionCallMethod   model;
+    final private DirtyableFlexTable layout;
+    private boolean                  isBoundFact = false;
 
-    private String[]                         fieldCompletionTexts;
-    private String[]                         fieldCompletionValues;
-    private String                           variableClass;
-    private Constants                        constants   = GWT.create( Constants.class );
+    private String[]                 fieldCompletionTexts;
+    private String[]                 fieldCompletionValues;
+    private String                   variableClass;
+    private Constants                constants   = GWT.create( Constants.class );
 
-    private boolean readOnly;
+    private boolean                  readOnly;
 
     public ActionCallMethodWidget(RuleModeller mod,
                                   ActionCallMethod set) {
-        this(mod, set, null);
+        this( mod,
+              set,
+              null );
     }
 
     public ActionCallMethodWidget(RuleModeller mod,
-                                  ActionCallMethod set, Boolean readOnly) {
-        super(mod);
+                                  ActionCallMethod set,
+                                  Boolean readOnly) {
+        super( mod );
         this.model = set;
         this.layout = new DirtyableFlexTable();
 
@@ -131,17 +131,16 @@
             }
         }
 
-        if (readOnly == null){
-           this.readOnly = !completions.containsFactType(this.variableClass);
-        }else{
-           this.readOnly = readOnly;
+        if ( readOnly == null ) {
+            this.readOnly = !completions.containsFactType( this.variableClass );
+        } else {
+            this.readOnly = readOnly;
         }
 
-        if (this.readOnly){
-            layout.addStyleName("editor-disabled-widget");
+        if ( this.readOnly ) {
+            layout.addStyleName( "editor-disabled-widget" );
         }
 
-
         doLayout();
         initWidget( this.layout );
     }
@@ -161,17 +160,7 @@
             inner.setWidget( i,
                              1,
                              valueEditor( val ) );
-            final int idx = i;
-            /*
-             * It is not possible to remove a parameter of a function
-             * 
-             * Image remove = new ImageButton("images/delete_item_small.gif");
-             * //NON-NLS remove.addClickListener( new ClickListener() { public
-             * void onClick(Widget w) { if
-             * (Window.confirm(constants.RemoveThisItem())) { model.removeField(
-             * idx ); modeller.refreshWidget(); }; } }); inner.setWidget( i, 3,
-             * remove );
-             */
+
         }
         layout.setWidget( 0,
                           1,
@@ -185,22 +174,22 @@
             Image edit = new ImageButton( "images/add_field_to_fact.gif" ); //NON-
             // NLS
             edit.setTitle( constants.AddAnotherFieldToThisSoYouCanSetItsValue() );
-            edit.addClickHandler(new ClickHandler() {
-				
-				public void onClick(ClickEvent event) {
-					Widget w = (Widget)event.getSource();
-					showAddFieldPopup( w );
-					
-				}
-			});
+            edit.addClickHandler( new ClickHandler() {
+
+                public void onClick(ClickEvent event) {
+                    Widget w = (Widget) event.getSource();
+                    showAddFieldPopup( w );
+
+                }
+            } );
             horiz.add( new SmallLabel( HumanReadable.getActionDisplayName( "call" ) + " [" + model.variable + "]" ) ); // NON-NLS
-            if (!this.readOnly){
+            if ( !this.readOnly ) {
                 horiz.add( edit );
             }
         } else {
             horiz.add( new SmallLabel( HumanReadable.getActionDisplayName( "call" ) + " [" + model.variable + "." + model.methodName + "]" ) ); // NON-NLS
         }
-        
+
         return horiz;
     }
 
@@ -222,9 +211,9 @@
 
         popup.addAttribute( constants.ChooseAMethodToInvoke(),
                             box );
-        box.addChangeHandler(new ChangeHandler() {
-			
-			public void onChange(ChangeEvent event) {
+        box.addChangeHandler( new ChangeHandler() {
+
+            public void onChange(ChangeEvent event) {
                 model.state = ActionCallMethod.TYPE_DEFINED;
 
                 String methodName = box.getItemText( box.getSelectedIndex() );
@@ -248,8 +237,8 @@
 
                 getModeller().refreshWidget();
                 popup.hide();
-			}
-		});
+            }
+        } );
         popup.setPopupPosition( w.getAbsoluteLeft(),
                                 w.getAbsoluteTop() );
         popup.show();
@@ -260,77 +249,36 @@
 
         SuggestionCompletionEngine completions = this.getModeller().getSuggestionCompletions();
 
-		String type = "";
-		if (completions.isGlobalVariable(this.model.variable)) {
-			type = completions.getGlobalVariable(this.model.variable);
-		} else {
-			type = this.getModeller().getModel().getBindingType(this.model.variable);
-			if (type == null) {
-				type = this.getModeller().getModel().getRhsBoundFact(this.model.variable).factType;
-			}
-		}
-
-		DropDownData enums = completions.getEnums(type, this.model.fieldValues, val.field);
-		
-        return new MethodParameterValueEditor(val,
-                enums,
-                this.getModeller(),
-                val.type, new Command() {
-
-            public void execute() {
-                setModified(true);
+        String type = "";
+        if ( completions.isGlobalVariable( this.model.variable ) ) {
+            type = completions.getGlobalVariable( this.model.variable );
+        } else {
+            type = this.getModeller().getModel().getBindingType( this.model.variable );
+            if ( type == null ) {
+                type = this.getModeller().getModel().getRhsBoundFact( this.model.variable ).factType;
             }
-        });
-    }
+        }
 
-    /**
-     * This will return a keyboard listener for field setters, which will obey
-     * numeric conventions - it will also allow formulas (a formula is when the
-     * first value is a "=" which means it is meant to be taken as the user
-     * typed)
-     */
-	public static KeyPressHandler getNumericFilter(final TextBox box) {
-		return new KeyPressHandler() {
+        DropDownData enums = completions.getEnums( type,
+                                                   this.model.fieldValues,
+                                                   val.field );
 
-			public void onKeyPress(KeyPressEvent event) {
-				char c = event.getCharCode();
-				TextBox w = (TextBox) event.getSource();
-				if (Character.isLetter(c) && c != '='
-						&& !(box.getText().startsWith("="))) {
-					((TextBox) w).cancelKey();
-				}
-			}
-		};
-	}
+        return new MethodParameterValueEditor( val,
+                                               enums,
+                                               this.getModeller(),
+                                               val.type,
+                                               new Command() {
 
+                                                   public void execute() {
+                                                       setModified( true );
+                                                   }
+                                               } );
+    }
 
     private Widget fieldSelector(final ActionFieldFunction val) {
         return new SmallLabel( val.type );
     }
 
-    private Widget actionSelector(final ActionFieldFunction val) {
-        SuggestionCompletionEngine completions = this.getModeller().getSuggestionCompletions();
-        
-        final ListBox box = new ListBox();
-        final String fieldType = val.type;
-        final String[] modifiers = completions.getModifiers( fieldType );
-
-        if ( modifiers != null ) {
-            for ( int i = 0; i < modifiers.length; i++ ) {
-                box.addItem( modifiers[i] );
-            }
-        }
-        box.addChangeHandler(new ChangeHandler() {
-			
-			public void onChange(ChangeEvent event) {
-				// TODO Auto-generated method stub
-                String methodName = box.getItemText( box.getSelectedIndex() );
-                val.setMethod( methodName );
-			}
-		});
-        return box;
-    }
-
     /**
      * This returns true if the values being set are on a fact.
      */

Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/ActionSetFieldWidget.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/ActionSetFieldWidget.java	2010-10-19 20:28:48 UTC (rev 35575)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/ActionSetFieldWidget.java	2010-10-20 06:05:20 UTC (rev 35576)
@@ -39,11 +39,9 @@
 import com.google.gwt.event.dom.client.ClickHandler;
 import com.google.gwt.user.client.Command;
 import com.google.gwt.user.client.Window;
-import com.google.gwt.user.client.ui.ChangeListener;
 import com.google.gwt.user.client.ui.HorizontalPanel;
 import com.google.gwt.user.client.ui.Image;
 import com.google.gwt.user.client.ui.ListBox;
-import com.google.gwt.user.client.ui.MouseListenerAdapter;
 import com.google.gwt.user.client.ui.Widget;
 
 /**
@@ -53,67 +51,71 @@
  */
 public class ActionSetFieldWidget extends RuleModellerWidget {
 
-    final private ActionSetField model;
+    final private ActionSetField     model;
     final private DirtyableFlexTable layout;
-    private boolean isBoundFact = false;
-    private String[] fieldCompletions;
-    private String variableClass;
-    private Constants constants = GWT.create(Constants.class);
-    private boolean readOnly;
+    private boolean                  isBoundFact = false;
+    private String[]                 fieldCompletions;
+    private String                   variableClass;
+    private Constants                constants   = GWT.create( Constants.class );
+    private boolean                  readOnly;
 
-    public ActionSetFieldWidget(RuleModeller mod, ActionSetField set) {
-        this(mod, set, null);
+    public ActionSetFieldWidget(RuleModeller mod,
+                                ActionSetField set) {
+        this( mod,
+              set,
+              null );
     }
 
-    public ActionSetFieldWidget(RuleModeller mod, ActionSetField set, Boolean readOnly) {
-        super(mod);
+    public ActionSetFieldWidget(RuleModeller mod,
+                                ActionSetField set,
+                                Boolean readOnly) {
+        super( mod );
         this.model = set;
         this.layout = new DirtyableFlexTable();
 
-        layout.setStyleName("model-builderInner-Background");
+        layout.setStyleName( "model-builderInner-Background" );
 
         SuggestionCompletionEngine completions = this.getModeller().getSuggestionCompletions();
 
-        if (completions.isGlobalVariable(set.variable)) {
-            this.fieldCompletions = completions.getFieldCompletionsForGlobalVariable(set.variable);
-            this.variableClass = completions.getGlobalVariable(set.variable);
+        if ( completions.isGlobalVariable( set.variable ) ) {
+            this.fieldCompletions = completions.getFieldCompletionsForGlobalVariable( set.variable );
+            this.variableClass = completions.getGlobalVariable( set.variable );
         } else {
-            String type = mod.getModel().getBindingType(set.variable); 
-            if (type != null) {
-                this.fieldCompletions = completions.getFieldCompletions(
-                		FieldAccessorsAndMutators.MUTATOR,
-                        type);
+            String type = mod.getModel().getBindingType( set.variable );
+            if ( type != null ) {
+                this.fieldCompletions = completions.getFieldCompletions( FieldAccessorsAndMutators.MUTATOR,
+                                                                         type );
                 this.variableClass = type;
                 this.isBoundFact = true;
             } else {
-                ActionInsertFact patternRhs = mod.getModel().getRhsBoundFact(set.variable);
-                if (patternRhs != null) {
-                    this.fieldCompletions = completions.getFieldCompletions(FieldAccessorsAndMutators.MUTATOR,
-                            patternRhs.factType);
+                ActionInsertFact patternRhs = mod.getModel().getRhsBoundFact( set.variable );
+                if ( patternRhs != null ) {
+                    this.fieldCompletions = completions.getFieldCompletions( FieldAccessorsAndMutators.MUTATOR,
+                                                                             patternRhs.factType );
                     this.variableClass = patternRhs.factType;
                     this.isBoundFact = true;
                 }
             }
         }
 
-        if (this.variableClass == null) {
-        	throw new IllegalStateException("couldn't find type for variable: " + set.variable);
+        if ( this.variableClass == null ) {
+            throw new IllegalStateException( "couldn't find type for variable: " + set.variable );
         }
-        
-        if (readOnly == null) {
-            this.readOnly = !completions.containsFactType(this.variableClass);
-            	//|| !mod.getModel().getBoundFacts().contains(this.variableClass);
+
+        if ( readOnly == null ) {
+            this.readOnly = !completions.containsFactType( this.variableClass );
+            //|| !mod.getModel().getBoundFacts().contains(this.variableClass);
         } else {
             this.readOnly = readOnly;
         }
 
-        if (this.readOnly) {
-            layout.addStyleName("editor-disabled-widget");
+        if ( this.readOnly ) {
+            layout.addStyleName( "editor-disabled-widget" );
         }
 
         doLayout();
 
-        initWidget(this.layout);
+        initWidget( this.layout );
     }
 
     private void doLayout() {
@@ -123,117 +125,118 @@
 
         //DirtyableFlexTable inner = new DirtyableFlexTable();
 
-        for (int i = 0; i < model.fieldValues.length; i++) {
+        for ( int i = 0; i < model.fieldValues.length; i++ ) {
             ActionFieldValue val = model.fieldValues[i];
 
-            layout.setWidget(i, 0, getSetterLabel());
-            layout.setWidget(i, 1, fieldSelector(val));
-            layout.setWidget(i, 2, valueEditor(val));
+            layout.setWidget( i,
+                              0,
+                              getSetterLabel() );
+            layout.setWidget( i,
+                              1,
+                              fieldSelector( val ) );
+            layout.setWidget( i,
+                              2,
+                              valueEditor( val ) );
             final int idx = i;
-            Image remove = new ImageButton("images/delete_item_small.gif"); //NON-NLS
-            //Image remove = new ImageButton("images/delete_item_fade.gif"); //NON-NLS
-            remove.addClickHandler(new ClickHandler() {
-				
-				public void onClick(ClickEvent event) {
-                    if (Window.confirm(constants.RemoveThisItem())) {
-                        model.removeField(idx);
-                        setModified(true);
+            Image remove = new ImageButton( "images/delete_item_small.gif" ); //NON-NLS
+            remove.addClickHandler( new ClickHandler() {
+
+                public void onClick(ClickEvent event) {
+                    if ( Window.confirm( constants.RemoveThisItem() ) ) {
+                        model.removeField( idx );
+                        setModified( true );
                         getModeller().refreshWidget();
                     }
-                }				
-			});
-            if (!this.readOnly) {
-                layout.setWidget(i, 3, remove);
+                }
+            } );
+            if ( !this.readOnly ) {
+                layout.setWidget( i,
+                                  3,
+                                  remove );
             }
 
-             remove.addMouseListener(new MouseListenerAdapter() {
-
-                @Override
-                public void onMouseEnter(Widget sender) {
-                    super.onMouseEnter(sender);    //To change body of overridden methods use File | Settings | File Templates.
-                }
-
-                @Override
-                public void onMouseLeave(Widget sender) {
-                    super.onMouseLeave(sender);    //To change body of overridden methods use File | Settings | File Templates.
-                }
-            });
         }
 
-        if (model.fieldValues.length == 0) {
+        if ( model.fieldValues.length == 0 ) {
             HorizontalPanel h = new HorizontalPanel();
-            h.add(getSetterLabel());
-            if (!this.readOnly) {
-                h.add(new ImageButton("images/edit_tiny.gif", constants.AddFirstNewField(), new ClickHandler() {
+            h.add( getSetterLabel() );
+            if ( !this.readOnly ) {
+                h.add( new ImageButton( "images/edit_tiny.gif",
+                                        constants.AddFirstNewField(),
+                                        new ClickHandler() {
 
-                    public void onClick(ClickEvent sender) {
-                        showAddFieldPopup(sender);
-                    }
-                }));
+                                            public void onClick(ClickEvent sender) {
+                                                showAddFieldPopup( sender );
+                                            }
+                                        } ) );
             }
-            layout.setWidget(0, 0, h);
+            layout.setWidget( 0,
+                              0,
+                              h );
         }
 
         //layout.setWidget( 0, 1, inner );
 
-
     }
 
     private Widget getSetterLabel() {
 
+        ClickHandler clk = new ClickHandler() {
 
-        ClickHandler clk = new ClickHandler() {
-			
-			public void onClick(ClickEvent event) {
-				//Widget w = (Widget)event.getSource();
-				showAddFieldPopup(event);
-				
-			}
-		};
+            public void onClick(ClickEvent event) {
+                //Widget w = (Widget)event.getSource();
+                showAddFieldPopup( event );
+
+            }
+        };
         String modifyType = "set";
-        if (this.model instanceof ActionUpdateField) {
+        if ( this.model instanceof ActionUpdateField ) {
             modifyType = "modify";
         }
 
+        String type = this.getModeller().getModel().getBindingType( model.variable );
 
-
-        String type = this.getModeller().getModel().getBindingType(model.variable);
-
         String descFact = (type != null) ? type + " <b>[" + model.variable + "]</b>" : model.variable;
 
-        String sl = Format.format(constants.setterLabel(), new String[]{HumanReadable.getActionDisplayName(modifyType), descFact});
-        return new ClickableLabel(sl, clk, !this.readOnly);//HumanReadable.getActionDisplayName(modifyType) + " value of <b>[" + model.variable + "]</b>", clk);
+        String sl = Format.format( constants.setterLabel(),
+                                   new String[]{HumanReadable.getActionDisplayName( modifyType ), descFact} );
+        return new ClickableLabel( sl,
+                                   clk,
+                                   !this.readOnly );//HumanReadable.getActionDisplayName(modifyType) + " value of <b>[" + model.variable + "]</b>", clk);
     }
 
     protected void showAddFieldPopup(ClickEvent w) {
         final SuggestionCompletionEngine completions = this.getModeller().getSuggestionCompletions();
-        final FormStylePopup popup = new FormStylePopup("images/newex_wiz.gif", constants.AddAField());
+        final FormStylePopup popup = new FormStylePopup( "images/newex_wiz.gif",
+                                                         constants.AddAField() );
 
         final ListBox box = new ListBox();
-        box.addItem("...");
+        box.addItem( "..." );
 
-        for (int i = 0; i < fieldCompletions.length; i++) {
-            box.addItem(fieldCompletions[i]);
+        for ( int i = 0; i < fieldCompletions.length; i++ ) {
+            box.addItem( fieldCompletions[i] );
         }
 
-        box.setSelectedIndex(0);
+        box.setSelectedIndex( 0 );
 
-        popup.addAttribute(constants.AddField(), box);
-        box.addChangeHandler(new ChangeHandler() {
-			
-			public void onChange(ChangeEvent event) {
-                String fieldName = box.getItemText(box.getSelectedIndex());
+        popup.addAttribute( constants.AddField(),
+                            box );
+        box.addChangeHandler( new ChangeHandler() {
 
-                String fieldType = completions.getFieldType(variableClass, fieldName);
-                model.addFieldValue(new ActionFieldValue(fieldName, "", fieldType));
-                setModified(true);
+            public void onChange(ChangeEvent event) {
+                String fieldName = box.getItemText( box.getSelectedIndex() );
+
+                String fieldType = completions.getFieldType( variableClass,
+                                                             fieldName );
+                model.addFieldValue( new ActionFieldValue( fieldName,
+                                                           "",
+                                                           fieldType ) );
+                setModified( true );
                 getModeller().refreshWidget();
                 popup.hide();
             }
-		});
+        } );
 
-
-
         popup.show();
 
     }
@@ -241,31 +244,37 @@
     private Widget valueEditor(final ActionFieldValue val) {
         SuggestionCompletionEngine completions = this.getModeller().getSuggestionCompletions();
         String type = "";
-        if (completions.isGlobalVariable(this.model.variable)) {
-            type = (String) completions.getGlobalVariable(this.model.variable);
+        if ( completions.isGlobalVariable( this.model.variable ) ) {
+            type = (String) completions.getGlobalVariable( this.model.variable );
         } else {
-            type = this.getModeller().getModel().getBindingType(this.model.variable);
+            type = this.getModeller().getModel().getBindingType( this.model.variable );
             /*
              * to take in account if the using a rhs bound variable
              */
-            if (type == null) {
-                type = this.getModeller().getModel().getRhsBoundFact(this.model.variable).factType;
+            if ( type == null ) {
+                type = this.getModeller().getModel().getRhsBoundFact( this.model.variable ).factType;
             }
         }
 
-        DropDownData enums = completions.getEnums(type, this.model.fieldValues, val.field);
-        ActionValueEditor actionValueEditor = new ActionValueEditor(val, enums, this.getModeller(), val.type, this.readOnly);
-        actionValueEditor.setOnChangeCommand(new Command() {
+        DropDownData enums = completions.getEnums( type,
+                                                   this.model.fieldValues,
+                                                   val.field );
+        ActionValueEditor actionValueEditor = new ActionValueEditor( val,
+                                                                     enums,
+                                                                     this.getModeller(),
+                                                                     val.type,
+                                                                     this.readOnly );
+        actionValueEditor.setOnChangeCommand( new Command() {
 
             public void execute() {
-                setModified(true);
+                setModified( true );
             }
-        });
+        } );
         return actionValueEditor;
     }
 
     private Widget fieldSelector(final ActionFieldValue val) {
-        return new SmallLabel(val.field);
+        return new SmallLabel( val.field );
     }
 
     /**

Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/ActionValueEditor.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/ActionValueEditor.java	2010-10-19 20:28:48 UTC (rev 35575)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/ActionValueEditor.java	2010-10-20 06:05:20 UTC (rev 35576)
@@ -1,4 +1,4 @@
-/**
+/*
  * Copyright 2010 JBoss Inc
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -16,19 +16,15 @@
 
 package org.drools.guvnor.client.modeldriven.ui;
 
-import com.google.gwt.event.dom.client.ChangeEvent;
-import com.google.gwt.event.dom.client.ClickEvent;
-import com.google.gwt.event.dom.client.ClickHandler;
-
 import java.util.List;
 
 import org.drools.guvnor.client.common.DirtyableComposite;
 import org.drools.guvnor.client.common.DropDownValueChanged;
-import org.drools.guvnor.client.common.FieldEditListener;
 import org.drools.guvnor.client.common.FormStylePopup;
 import org.drools.guvnor.client.common.InfoPopup;
 import org.drools.guvnor.client.common.SmallLabel;
 import org.drools.guvnor.client.messages.Constants;
+import org.drools.guvnor.client.util.NumbericFilterKeyPressHandler;
 import org.drools.ide.common.client.modeldriven.DropDownData;
 import org.drools.ide.common.client.modeldriven.FieldNature;
 import org.drools.ide.common.client.modeldriven.SuggestionCompletionEngine;
@@ -37,15 +33,17 @@
 import org.drools.ide.common.client.modeldriven.brl.FactPattern;
 
 import com.google.gwt.core.client.GWT;
+import com.google.gwt.event.dom.client.ChangeEvent;
 import com.google.gwt.event.dom.client.ChangeHandler;
+import com.google.gwt.event.dom.client.ClickEvent;
+import com.google.gwt.event.dom.client.ClickHandler;
+import com.google.gwt.event.dom.client.KeyUpEvent;
+import com.google.gwt.event.dom.client.KeyUpHandler;
 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.HTML;
 import com.google.gwt.user.client.ui.HorizontalPanel;
 import com.google.gwt.user.client.ui.Image;
-import com.google.gwt.user.client.ui.KeyboardListener;
 import com.google.gwt.user.client.ui.ListBox;
 import com.google.gwt.user.client.ui.SimplePanel;
 import com.google.gwt.user.client.ui.TextBox;
@@ -60,40 +58,52 @@
 public class ActionValueEditor extends DirtyableComposite {
 
     private ActionFieldValue value;
-    private DropDownData enums;
-    private SimplePanel root;
-    private Constants constants = GWT.create(Constants.class);
-    private RuleModeller model = null;
-    private String variableType = null;
-    private boolean readOnly;
-    private Command onChangeCommand;
+    private DropDownData     enums;
+    private SimplePanel      root;
+    private Constants        constants    = GWT.create( Constants.class );
+    private RuleModeller     model        = null;
+    private String           variableType = null;
+    private boolean          readOnly;
+    private Command          onChangeCommand;
 
     public ActionValueEditor(final ActionFieldValue val,
-            final DropDownData enums, boolean readOnly) {
-        this(val, enums, null, null, readOnly);
+                             final DropDownData enums,
+                             boolean readOnly) {
+        this( val,
+              enums,
+              null,
+              null,
+              readOnly );
     }
 
     public ActionValueEditor(final ActionFieldValue val,
-            final DropDownData enums) {
-        this(val, enums, false);
+                             final DropDownData enums) {
+        this( val,
+              enums,
+              false );
     }
 
     public ActionValueEditor(final ActionFieldValue val,
-            final DropDownData enums,
-            RuleModeller model,
-            String variableType) {
-        this(val, enums, model, variableType, false);
+                             final DropDownData enums,
+                             RuleModeller model,
+                             String variableType) {
+        this( val,
+              enums,
+              model,
+              variableType,
+              false );
     }
 
     public ActionValueEditor(final ActionFieldValue val,
-            final DropDownData enums,
-            RuleModeller model,
-            String variableType, boolean readOnly) {
+                             final DropDownData enums,
+                             RuleModeller model,
+                             String variableType,
+                             boolean readOnly) {
 
         this.readOnly = readOnly;
 
-        if (val.type.equals(SuggestionCompletionEngine.TYPE_BOOLEAN)) {
-            this.enums = DropDownData.create(new String[]{"true", "false"});
+        if ( val.type.equals( SuggestionCompletionEngine.TYPE_BOOLEAN ) ) {
+            this.enums = DropDownData.create( new String[]{"true", "false"} );
         } else {
             this.enums = enums;
         }
@@ -102,44 +112,40 @@
         this.model = model;
         this.variableType = variableType;
         refresh();
-        initWidget(root);
+        initWidget( root );
     }
 
-	private void refresh() {
+    private void refresh() {
         root.clear();
-        if (enums != null && (enums.fixedList != null || enums.queryExpression != null)) {
+        if ( enums != null && (enums.fixedList != null || enums.queryExpression != null) ) {
             //enum
-            Widget list = boundEnum(value);
-            root.add(list);
+            Widget list = boundEnum( value );
+            root.add( list );
         } else {
-            // FIX nheron il faut ajouter les autres choix pour appeller les
-            // bons editeurs suivant le type
-            // si la valeur vaut 0 il faut mettre un stylo (
 
-            if (value.value != null && value.value.length() > 0 && value.nature == FieldNature.TYPE_UNDEFINED) {
-                ///JBDS-894
-                if (value.value.charAt(0) == '=') {
+            if ( value.value != null && value.value.length() > 0 && value.nature == FieldNature.TYPE_UNDEFINED ) {
+                if ( value.value.charAt( 0 ) == '=' ) {
                     value.nature = FieldNature.TYPE_VARIABLE;
                 } else {
                     value.nature = FieldNature.TYPE_LITERAL;
                 }
             }
-            if (value.nature == FieldNature.TYPE_UNDEFINED) {
+            if ( value.nature == FieldNature.TYPE_UNDEFINED ) {
                 // we have a blank slate..
                 // have to give them a choice
-                root.add(choice());
+                root.add( choice() );
             } else {
-                if (value.nature == FieldNature.TYPE_VARIABLE) {
-                    Widget list = boundVariable(value);
-                    root.add(list);
-                } else if(value.nature == FieldNature.TYPE_TEMPLATE){
-                	value.type = SuggestionCompletionEngine.TYPE_STRING;
-                    Widget box = boundTextBox(this.value);
-                    root.add(box);
+                if ( value.nature == FieldNature.TYPE_VARIABLE ) {
+                    Widget list = boundVariable( value );
+                    root.add( list );
+                } else if ( value.nature == FieldNature.TYPE_TEMPLATE ) {
+                    value.type = SuggestionCompletionEngine.TYPE_STRING;
+                    Widget box = boundTextBox( this.value );
+                    root.add( box );
                 } else {
                     //formula and literal
-                    Widget box = boundTextBox(this.value);
-                    root.add(box);
+                    Widget box = boundTextBox( this.value );
+                    root.add( box );
                 }
 
             }
@@ -154,77 +160,79 @@
          */
         ListBox listVariable = new ListBox();
         List<String> vars = model.getModel().getBoundFacts();
-        for (String v : vars) {
-        	//XXX {bauna} check! this!
-            FactPattern factPattern = model.getModel().getBoundFact(v);
-            String fv = model.getModel().getBindingType(v);
+        for ( String v : vars ) {
+            FactPattern factPattern = model.getModel().getBoundFact( v );
+            String fv = model.getModel().getBindingType( v );
 
-            if ((factPattern != null && factPattern.factType.equals(this.variableType)) || (fv != null)) {
+            if ( (factPattern != null && factPattern.factType.equals( this.variableType )) || (fv != null) ) {
                 // First selection is empty
-                if (listVariable.getItemCount() == 0) {
-                    listVariable.addItem("...");
+                if ( listVariable.getItemCount() == 0 ) {
+                    listVariable.addItem( "..." );
                 }
 
-                listVariable.addItem(v);
+                listVariable.addItem( v );
             }
         }
         /*
          * add the bound variable of the rhs
          */
         List<String> vars2 = model.getModel().getRhsBoundFacts();
-        for (String v : vars2) {
-            ActionInsertFact factPattern = model.getModel().getRhsBoundFact(v);
-            if (factPattern.factType.equals(this.variableType)) {
+        for ( String v : vars2 ) {
+            ActionInsertFact factPattern = model.getModel().getRhsBoundFact( v );
+            if ( factPattern.factType.equals( this.variableType ) ) {
                 // First selection is empty
-                if (listVariable.getItemCount() == 0) {
-                    listVariable.addItem("...");
+                if ( listVariable.getItemCount() == 0 ) {
+                    listVariable.addItem( "..." );
                 }
 
-                listVariable.addItem(v);
+                listVariable.addItem( v );
             }
         }
-        if (value.value.equals("=")) {
-            listVariable.setSelectedIndex(0);
+        if ( value.value.equals( "=" ) ) {
+            listVariable.setSelectedIndex( 0 );
         } else {
-            for (int i = 0; i < listVariable.getItemCount(); i++) {
-                if (listVariable.getItemText(i).equals(value.value.substring(1))) {
-                    listVariable.setSelectedIndex(i);
+            for ( int i = 0; i < listVariable.getItemCount(); i++ ) {
+                if ( listVariable.getItemText( i ).equals( value.value.substring( 1 ) ) ) {
+                    listVariable.setSelectedIndex( i );
                 }
             }
         }
-        if (listVariable.getItemCount() > 0) {
+        if ( listVariable.getItemCount() > 0 ) {
 
-            listVariable.addChangeListener(new ChangeListener() {
+            listVariable.addChangeHandler( new ChangeHandler() {
 
-                public void onChange(Widget arg0) {
-                    ListBox w = (ListBox) arg0;
-                    value.value = "=" + w.getValue(w.getSelectedIndex());
+                public void onChange(ChangeEvent event) {
+                    ListBox w = (ListBox) event.getSource();
+                    value.value = "=" + w.getValue( w.getSelectedIndex() );
                     executeOnChageCommand();
                     makeDirty();
                     refresh();
                 }
-            });
+            } );
         }
 
-        if (this.readOnly) {
-            return new SmallLabel(listVariable.getItemText(listVariable.getSelectedIndex()));
+        if ( this.readOnly ) {
+            return new SmallLabel( listVariable.getItemText( listVariable.getSelectedIndex() ) );
         }
 
         return listVariable;
     }
 
     private Widget boundEnum(final FieldNature c) {
-        EnumDropDown enumDropDown = new EnumDropDown(value.value, new DropDownValueChanged() {
+        EnumDropDown enumDropDown = new EnumDropDown( value.value,
+                                                      new DropDownValueChanged() {
 
-            public void valueChanged(String newText, String newValue) {
-                value.value = newValue;
-                executeOnChageCommand();
-                makeDirty();
-            }
-        }, enums);
+                                                          public void valueChanged(String newText,
+                                                                                   String newValue) {
+                                                              value.value = newValue;
+                                                              executeOnChageCommand();
+                                                              makeDirty();
+                                                          }
+                                                      },
+                                                      enums );
 
-        if (this.readOnly) {
-            return new SmallLabel(enumDropDown.getItemText(enumDropDown.getSelectedIndex()));
+        if ( this.readOnly ) {
+            return new SmallLabel( enumDropDown.getItemText( enumDropDown.getSelectedIndex() ) );
         } else {
             return enumDropDown;
         }
@@ -232,99 +240,70 @@
 
     private Widget boundTextBox(final ActionFieldValue c) {
         final TextBox box = new TextBox();
-        box.setStyleName("constraint-value-Editor");
-        if (c.value == null) {
-            box.setText("");
+        box.setStyleName( "constraint-value-Editor" );
+        if ( c.value == null ) {
+            box.setText( "" );
         } else {
-            if (c.value.trim().equals("")) {
+            if ( c.value.trim().equals( "" ) ) {
                 c.value = "";
             }
-            box.setText(c.value);
+            box.setText( c.value );
         }
 
-        if (c.value == null || c.value.length() < 5) {
-            box.setVisibleLength(6);
+        if ( c.value == null || c.value.length() < 5 ) {
+            box.setVisibleLength( 6 );
         } else {
-            box.setVisibleLength(c.value.length() - 1);
+            box.setVisibleLength( c.value.length() - 1 );
         }
 
-        box.addChangeListener(new ChangeListener() {
+        box.addChangeHandler( new ChangeHandler() {
 
-            public void onChange(Widget w) {
+            public void onChange(ChangeEvent event) {
                 c.value = box.getText();
                 executeOnChageCommand();
                 makeDirty();
             }
-        });
+        } );
 
-        box.addKeyboardListener(new FieldEditListener(new Command() {
+        box.addKeyUpHandler( new KeyUpHandler() {
 
-            public void execute() {
-                box.setVisibleLength(box.getText().length());
+            public void onKeyUp(KeyUpEvent event) {
+                box.setVisibleLength( box.getText().length() );
             }
-        }));
+        } );
 
-        if (value.type.equals(SuggestionCompletionEngine.TYPE_NUMERIC)) {
-            box.addKeyboardListener(getNumericFilter(box));
+        if ( value.type.equals( SuggestionCompletionEngine.TYPE_NUMERIC ) ) {
+            box.addKeyPressHandler( new NumbericFilterKeyPressHandler( box ) );
         }
 
-        if (this.readOnly) {
-            return new SmallLabel(box.getText());
+        if ( this.readOnly ) {
+            return new SmallLabel( box.getText() );
         }
 
         return box;
     }
 
-    /**
-     * This will return a keyboard listener for field setters, which will obey
-     * numeric conventions - it will also allow formulas (a formula is when the
-     * first value is a "=" which means it is meant to be taken as the user
-     * typed)
-     */
-    public static KeyboardListener getNumericFilter(final TextBox box) {
-        return new KeyboardListener() {
-
-            public void onKeyDown(Widget arg0,
-                    char arg1,
-                    int arg2) {
-            }
-
-            public void onKeyPress(Widget w,
-                    char c,
-                    int i) {
-                if (Character.isLetter(c) && c != '=' && !(box.getText().startsWith("="))) {
-                    ((TextBox) w).cancelKey();
-                }
-            }
-
-            public void onKeyUp(Widget arg0,
-                    char arg1,
-                    int arg2) {
-            }
-        };
-    }
-
     private Widget choice() {
-        if (this.readOnly) {
+        if ( this.readOnly ) {
             return new HTML();
         } else {
-            Image clickme = new Image("images/edit.gif");
-            clickme.addClickListener(new ClickListener() {
-                public void onClick(Widget w) {
-                    showTypeChoice(w);
+            Image clickme = new Image( "images/edit.gif" );
+            clickme.addClickHandler( new ClickHandler() {
+                public void onClick(ClickEvent event) {
+                    showTypeChoice( (Widget) event.getSource() );
                 }
-            });
+            } );
             return clickme;
         }
     }
 
     protected void showTypeChoice(Widget w) {
-        final FormStylePopup form = new FormStylePopup("images/newex_wiz.gif",
-                constants.FieldValue());
-        Button lit = new Button(constants.LiteralValue());
-        lit.addClickListener(new ClickListener() {
+        final FormStylePopup form = new FormStylePopup( "images/newex_wiz.gif",
+                                                        constants.FieldValue() );
+        Button lit = new Button( constants.LiteralValue() );
+        lit.addClickHandler( new ClickHandler() {
 
-            public void onClick(Widget w) {
+            public void onClick(ClickEvent event) {
                 value.nature = FieldNature.TYPE_LITERAL;
                 value.value = " ";
                 makeDirty();
@@ -332,43 +311,44 @@
                 refresh();
                 form.hide();
             }
-        });
+        } );
 
-        form.addAttribute(constants.LiteralValue() + ":",
-                widgets(lit,
-                new InfoPopup(constants.Literal(),
-                constants.ALiteralValueMeansTheValueAsTypedInIeItsNotACalculation())));
-        
-        if(model.isTemplate()){
-	        Button templateButton = new Button(constants.TemplateKey(), new ClickListener() {
-	            public void onClick(Widget arg0) {
-	                value.nature = FieldNature.TYPE_TEMPLATE;
-	                value.value = " ";
-	                makeDirty();
-	                refresh();
-	                form.hide();
-	            }
-	        });
-	        form.addAttribute(constants.TemplateKey() + ":",
-	                widgets(templateButton,
-	                new InfoPopup(constants.Literal(),
-	                constants.ALiteralValueMeansTheValueAsTypedInIeItsNotACalculation())));
+        form.addAttribute( constants.LiteralValue() + ":",
+                           widgets( lit,
+                                    new InfoPopup( constants.Literal(),
+                                                   constants.ALiteralValueMeansTheValueAsTypedInIeItsNotACalculation() ) ) );
+
+        if ( model.isTemplate() ) {
+            Button templateButton = new Button( constants.TemplateKey() );
+            templateButton.addClickHandler( new ClickHandler() {
+                public void onClick(ClickEvent event) {
+                    value.nature = FieldNature.TYPE_TEMPLATE;
+                    value.value = " ";
+                    makeDirty();
+                    refresh();
+                    form.hide();
+                }
+            } );
+            form.addAttribute( constants.TemplateKey() + ":",
+                               widgets( templateButton,
+                                        new InfoPopup( constants.Literal(),
+                                                       constants.ALiteralValueMeansTheValueAsTypedInIeItsNotACalculation() ) ) );
         }
-        
-        form.addRow(new HTML("<hr/>"));
-        form.addRow(new SmallLabel(constants.AdvancedSection()));
 
-        Button formula = new Button(constants.Formula());
-        formula.addClickListener(new ClickListener() {
+        form.addRow( new HTML( "<hr/>" ) );
+        form.addRow( new SmallLabel( constants.AdvancedSection() ) );
 
-            public void onClick(Widget w) {
+        Button formula = new Button( constants.Formula() );
+        formula.addClickHandler( new ClickHandler() {
+
+            public void onClick(ClickEvent event) {
                 value.nature = FieldNature.TYPE_FORMULA;
                 value.value = "=";
                 makeDirty();
                 refresh();
                 form.hide();
             }
-        });
+        } );
 
         /*
          * If there is a bound variable that is the same type of the current
@@ -376,67 +356,58 @@
          */
         List<String> vars = model.getModel().getBoundFacts();
         List<String> vars2 = model.getModel().getRhsBoundFacts();
-        for (String i : vars2) {
-            vars.add(i);
+        for ( String i : vars2 ) {
+            vars.add( i );
         }
-        for (String v : vars) {
+        for ( String v : vars ) {
             boolean createButton = false;
-            Button variable = new Button(constants.BoundVariable());
-            if (!vars2.contains(v)) {
-                FactPattern factPattern = model.getModel().getBoundFact(v);
-                if (factPattern != null && factPattern.factType.equals(this.variableType)) {
+            Button variable = new Button( constants.BoundVariable() );
+            if ( !vars2.contains( v ) ) {
+                FactPattern factPattern = model.getModel().getBoundFact( v );
+                if ( factPattern != null && factPattern.factType.equals( this.variableType ) ) {
                     createButton = true;
                 }
             } else {
-                ActionInsertFact factPattern = model.getModel().getRhsBoundFact(v);
-                if (factPattern.factType.equals(this.variableType)) {
+                ActionInsertFact factPattern = model.getModel().getRhsBoundFact( v );
+                if ( factPattern.factType.equals( this.variableType ) ) {
                     createButton = true;
                 }
             }
-            if (createButton == true) {
-                form.addAttribute(constants.BoundVariable() + ":",
-                        variable);
-                variable.addClickHandler(new ClickHandler() {
-					
-					public void onClick(ClickEvent event) {
+            if ( createButton == true ) {
+                form.addAttribute( constants.BoundVariable() + ":",
+                                   variable );
+                variable.addClickHandler( new ClickHandler() {
+
+                    public void onClick(ClickEvent event) {
                         value.nature = FieldNature.TYPE_VARIABLE;
                         value.value = "=";
                         makeDirty();
                         refresh();
                         form.hide();
                     }
-                });
+                } );
                 break;
             }
         }
 
-        form.addAttribute(constants.Formula() + ":",
-                widgets(formula,
-                new InfoPopup(constants.Formula(),
-                constants.FormulaTip())));
+        form.addAttribute( constants.Formula() + ":",
+                           widgets( formula,
+                                    new InfoPopup( constants.Formula(),
+                                                   constants.FormulaTip() ) ) );
 
-        // if (model != null){
-        // for (int i=0;i< model.lhs.length;i++){
-        // IPattern p = model.lhs[i];
-        //        		
-        // if (model.lhs[i].)
-        // }
-        // if (model.lhs.)
-        //        	
-        // }
         form.show();
     }
 
     private Widget widgets(Button lit,
-            InfoPopup popup) {
+                           InfoPopup popup) {
         HorizontalPanel h = new HorizontalPanel();
-        h.add(lit);
-        h.add(popup);
+        h.add( lit );
+        h.add( popup );
         return h;
     }
 
-    private void executeOnChageCommand(){
-        if (this.onChangeCommand != null){
+    private void executeOnChageCommand() {
+        if ( this.onChangeCommand != null ) {
             this.onChangeCommand.execute();
         }
     }
@@ -449,5 +420,4 @@
         this.onChangeCommand = onChangeCommand;
     }
 
-
 }

Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/BoundTextBox.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/BoundTextBox.java	2010-10-19 20:28:48 UTC (rev 35575)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/BoundTextBox.java	2010-10-20 06:05:20 UTC (rev 35576)
@@ -16,14 +16,14 @@
 
 package org.drools.guvnor.client.modeldriven.ui;
 
-import org.drools.guvnor.client.common.FieldEditListener;
 import org.drools.guvnor.client.common.IDirtyable;
 import org.drools.ide.common.client.modeldriven.brl.BaseSingleFieldConstraint;
 
-import com.google.gwt.user.client.Command;
-import com.google.gwt.user.client.ui.ChangeListener;
+import com.google.gwt.event.dom.client.ChangeEvent;
+import com.google.gwt.event.dom.client.ChangeHandler;
+import com.google.gwt.event.dom.client.KeyUpEvent;
+import com.google.gwt.event.dom.client.KeyUpHandler;
 import com.google.gwt.user.client.ui.TextBox;
-import com.google.gwt.user.client.ui.Widget;
 
 /**
  * 
@@ -49,16 +49,16 @@
             setVisibleLength( v.length() + 1 );
         }
 
-        addChangeListener( new ChangeListener() {
-            public void onChange(Widget w) {
-                c.setValue(getText());
+        addChangeHandler( new ChangeHandler() {
+            public void onChange(ChangeEvent event) {
+                c.setValue( getText() );
             }
         } );
 
-        addKeyboardListener( new FieldEditListener( new Command() {
-            public void execute() {
+        addKeyUpHandler( new KeyUpHandler() {
+            public void onKeyUp(KeyUpEvent event) {
                 setVisibleLength( getText().length() );
             }
-        } ) );
+        } );
     }
 }

Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/MethodParameterValueEditor.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/MethodParameterValueEditor.java	2010-10-19 20:28:48 UTC (rev 35575)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/MethodParameterValueEditor.java	2010-10-20 06:05:20 UTC (rev 35576)
@@ -20,12 +20,11 @@
 
 import org.drools.guvnor.client.common.DirtyableComposite;
 import org.drools.guvnor.client.common.DropDownValueChanged;
-import org.drools.guvnor.client.common.FieldEditListener;
 import org.drools.guvnor.client.common.FormStylePopup;
 import org.drools.guvnor.client.common.InfoPopup;
 import org.drools.guvnor.client.common.SmallLabel;
-import org.drools.guvnor.client.common.ValueChanged;
 import org.drools.guvnor.client.messages.Constants;
+import org.drools.guvnor.client.util.NumbericFilterKeyPressHandler;
 import org.drools.ide.common.client.modeldriven.DropDownData;
 import org.drools.ide.common.client.modeldriven.FieldNature;
 import org.drools.ide.common.client.modeldriven.SuggestionCompletionEngine;
@@ -35,14 +34,17 @@
 import org.drools.ide.common.client.modeldriven.brl.FactPattern;
 
 import com.google.gwt.core.client.GWT;
+import com.google.gwt.event.dom.client.ChangeEvent;
+import com.google.gwt.event.dom.client.ChangeHandler;
+import com.google.gwt.event.dom.client.ClickEvent;
+import com.google.gwt.event.dom.client.ClickHandler;
+import com.google.gwt.event.dom.client.KeyUpEvent;
+import com.google.gwt.event.dom.client.KeyUpHandler;
 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.HTML;
 import com.google.gwt.user.client.ui.HorizontalPanel;
 import com.google.gwt.user.client.ui.Image;
-import com.google.gwt.user.client.ui.KeyboardListener;
 import com.google.gwt.user.client.ui.ListBox;
 import com.google.gwt.user.client.ui.SimplePanel;
 import com.google.gwt.user.client.ui.TextBox;
@@ -59,15 +61,16 @@
     private ActionFieldFunction methodParameter;
     private DropDownData        enums;
     private SimplePanel         root;
-    private Constants           constants     = GWT.create( Constants.class );
-    private RuleModeller        model         = null;
-    private String              parameterType = null;
+    private Constants           constants            = GWT.create( Constants.class );
+    private RuleModeller        model                = null;
+    private String              parameterType        = null;
     private Command             onValueChangeCommand = null;
 
     public MethodParameterValueEditor(final ActionFieldFunction val,
                                       final DropDownData enums,
                                       RuleModeller model,
-                                      String parameterType, Command onValueChangeCommand) {
+                                      String parameterType,
+                                      Command onValueChangeCommand) {
         if ( val.type.equals( SuggestionCompletionEngine.TYPE_BOOLEAN ) ) {
             this.enums = DropDownData.create( new String[]{"true", "false"} );
         } else {
@@ -90,7 +93,7 @@
                                             public void valueChanged(String newText,
                                                                      String newValue) {
                                                 methodParameter.value = newValue;
-                                                if (onValueChangeCommand != null){
+                                                if ( onValueChangeCommand != null ) {
                                                     onValueChangeCommand.execute();
                                                 }
                                                 makeDirty();
@@ -98,9 +101,6 @@
                                         },
                                         enums ) );
         } else {
-            // FIX nheron il faut ajouter les autres choix pour appeller les
-            // bons editeurs suivant le type
-            // si la valeur vaut 0 il faut mettre un stylo (
 
             if ( methodParameter.nature == FieldNature.TYPE_UNDEFINED ) {
                 // we have a blank slate..
@@ -163,11 +163,12 @@
         }
         if ( listVariable.getItemCount() > 0 ) {
 
-            listVariable.addChangeListener( new ChangeListener() {
-                public void onChange(Widget arg0) {
-                    ListBox w = (ListBox) arg0;
+            listVariable.addChangeHandler( new ChangeHandler() {
+
+                public void onChange(ChangeEvent event) {
+                    ListBox w = (ListBox) event.getSource();
                     methodParameter.value = w.getValue( w.getSelectedIndex() );
-                    if (onValueChangeCommand != null){
+                    if ( onValueChangeCommand != null ) {
                         onValueChangeCommand.execute();
                     }
                     makeDirty();
@@ -197,10 +198,11 @@
             box.setVisibleLength( c.value.length() - 1 );
         }
 
-        box.addChangeListener( new ChangeListener() {
-            public void onChange(Widget w) {
+        box.addChangeHandler( new ChangeHandler() {
+
+            public void onChange(ChangeEvent event) {
                 c.value = box.getText();
-                if (onValueChangeCommand != null) {
+                if ( onValueChangeCommand != null ) {
                     onValueChangeCommand.execute();
                 }
                 makeDirty();
@@ -208,55 +210,26 @@
 
         } );
 
-        box.addKeyboardListener( new FieldEditListener( new Command() {
-            public void execute() {
+        box.addKeyUpHandler( new KeyUpHandler() {
+
+            public void onKeyUp(KeyUpEvent event) {
                 box.setVisibleLength( box.getText().length() );
             }
-        } ) );
+        } );
 
         if ( methodParameter.type.equals( SuggestionCompletionEngine.TYPE_NUMERIC ) ) {
-            box.addKeyboardListener( getNumericFilter( box ) );
+            box.addKeyPressHandler( new NumbericFilterKeyPressHandler( box ) );
         }
 
         return box;
     }
 
-    /**
-     * This will return a keyboard listener for field setters, which will obey
-     * numeric conventions - it will also allow formulas (a formula is when the
-     * first value is a "=" which means it is meant to be taken as the user
-     * typed)
-     */
-    public static KeyboardListener getNumericFilter(final TextBox box) {
-        return new KeyboardListener() {
-
-            public void onKeyDown(Widget arg0,
-                                  char arg1,
-                                  int arg2) {
-
-            }
-
-            public void onKeyPress(Widget w,
-                                   char c,
-                                   int i) {
-                if ( Character.isLetter( c ) && c != '=' && !(box.getText().startsWith( "=" )) ) {
-                    ((TextBox) w).cancelKey();
-                }
-            }
-
-            public void onKeyUp(Widget arg0,
-                                char arg1,
-                                int arg2) {
-            }
-
-        };
-    }
-
     private Widget choice() {
         Image clickme = new Image( "images/edit.gif" );
-        clickme.addClickListener( new ClickListener() {
-            public void onClick(Widget w) {
-                showTypeChoice( w );
+        clickme.addClickHandler( new ClickHandler() {
+
+            public void onClick(ClickEvent event) {
+                showTypeChoice( (Widget) event.getSource() );
             }
         } );
         return clickme;
@@ -266,8 +239,9 @@
         final FormStylePopup form = new FormStylePopup( "images/newex_wiz.gif",
                                                         constants.FieldValue() );
         Button lit = new Button( constants.LiteralValue() );
-        lit.addClickListener( new ClickListener() {
-            public void onClick(Widget w) {
+        lit.addClickHandler( new ClickHandler() {
+
+            public void onClick(ClickEvent event) {
                 methodParameter.nature = FieldNature.TYPE_LITERAL;
                 methodParameter.value = " ";
                 makeDirty();
@@ -283,21 +257,6 @@
                                                    constants.LiteralValTip() ) ) );
         form.addRow( new HTML( "<hr/>" ) );
         form.addRow( new SmallLabel( constants.AdvancedSection() ) );
-        /*
-         * no formula possible for a function
-         */
-        //		Button formula = new Button(constants.Formula());
-        //		formula.addClickListener(new ClickListener() {
-        //
-        //			public void onClick(Widget w) {
-        //				methodParameter.nature = ActionFieldValue.TYPE_FORMULA;
-        //				methodParameter.value = "=";
-        //				makeDirty();
-        //				refresh();
-        //				form.hide();
-        //			}
-        //
-        //		});
 
         /*
          * If there is a bound variable that is the same type of the current
@@ -325,8 +284,9 @@
             if ( createButton == true ) {
                 form.addAttribute( constants.BoundVariable() + ":",
                                    variable );
-                variable.addClickListener( new ClickListener() {
-                    public void onClick(Widget w) {
+                variable.addClickHandler( new ClickHandler() {
+
+                    public void onClick(ClickEvent event) {
                         methodParameter.nature = FieldNature.TYPE_VARIABLE;
                         methodParameter.value = "=";
                         makeDirty();
@@ -340,37 +300,6 @@
 
         }
 
-        //			FactPattern factPattern = model.getModel().getBoundFact(v);
-        //			if (factPattern.factType.equals(this.parameterType)) {
-        //				Button variable = new Button(constants.BoundVariable());
-        //				form.addAttribute(constants.BoundVariable()+":", variable);
-        //				variable.addClickListener(new ClickListener() {
-        //
-        //					public void onClick(Widget w) {
-        //						methodParameter.nature = ActionFieldValue.TYPE_VARIABLE;
-        //						methodParameter.value = "=";
-        //						makeDirty();
-        //						refresh();
-        //						form.hide();
-        //					}
-        //
-        //				});
-        //				break;
-        //			}
-        //		}
-
-        //		form.addAttribute(constants.Formula() + ":", widgets(formula,
-        //				new InfoPopup(constants.Formula(), constants.FormulaTip())));
-
-        // if (model != null){
-        // for (int i=0;i< model.lhs.length;i++){
-        // IPattern p = model.lhs[i];
-        //        		
-        // if (model.lhs[i].)
-        // }
-        // if (model.lhs.)
-        //        	
-        // }
         form.show();
     }
 

Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/qa/VerifyFieldConstraintEditor.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/qa/VerifyFieldConstraintEditor.java	2010-10-19 20:28:48 UTC (rev 35575)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/qa/VerifyFieldConstraintEditor.java	2010-10-20 06:05:20 UTC (rev 35576)
@@ -25,7 +25,6 @@
  */
 
 import java.util.List;
-import java.util.Map;
 
 import org.drools.guvnor.client.common.DirtyableComposite;
 import org.drools.guvnor.client.common.DropDownValueChanged;
@@ -34,10 +33,10 @@
 import org.drools.guvnor.client.common.SmallLabel;
 import org.drools.guvnor.client.common.ValueChanged;
 import org.drools.guvnor.client.messages.Constants;
-import org.drools.guvnor.client.modeldriven.ui.ActionValueEditor;
 import org.drools.guvnor.client.modeldriven.ui.DatePickerTextBox;
 import org.drools.guvnor.client.modeldriven.ui.EnumDropDown;
 import org.drools.guvnor.client.util.Format;
+import org.drools.guvnor.client.util.NumbericFilterKeyPressHandler;
 import org.drools.ide.common.client.modeldriven.DropDownData;
 import org.drools.ide.common.client.modeldriven.SuggestionCompletionEngine;
 import org.drools.ide.common.client.modeldriven.testing.ExecutionTrace;
@@ -47,9 +46,11 @@
 import org.drools.ide.common.client.modeldriven.testing.VerifyField;
 
 import com.google.gwt.core.client.GWT;
+import com.google.gwt.event.dom.client.ChangeEvent;
+import com.google.gwt.event.dom.client.ChangeHandler;
+import com.google.gwt.event.dom.client.ClickEvent;
+import com.google.gwt.event.dom.client.ClickHandler;
 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.HTML;
 import com.google.gwt.user.client.ui.HorizontalPanel;
 import com.google.gwt.user.client.ui.Image;
@@ -99,7 +100,7 @@
             final TextBox box = editableTextBox( callback,
                                                  field.fieldName,
                                                  field.expected );
-            box.addKeyboardListener( ActionValueEditor.getNumericFilter( box ) );
+            box.addKeyPressHandler( new NumbericFilterKeyPressHandler( box ) );
             panel.add( box );
         } else if ( flType.equals( SuggestionCompletionEngine.TYPE_BOOLEAN ) ) {
             String[] c = new String[]{"true", "false"};
@@ -111,18 +112,18 @@
                                              }
                                          },
                                          DropDownData.create( c ) ) );
-        } else if (flType != null && flType.equals(SuggestionCompletionEngine.TYPE_DATE)) {           
+        } else if ( flType != null && flType.equals( SuggestionCompletionEngine.TYPE_DATE ) ) {
             final DatePickerTextBox datePicker = new DatePickerTextBox( field.expected );
-            String m = Format.format(((Constants) GWT.create(Constants.class)).ValueFor0(),
-            		field.fieldName);
-            datePicker.setTitle(m);
-            datePicker.addValueChanged(new ValueChanged() {
+            String m = Format.format( ((Constants) GWT.create( Constants.class )).ValueFor0(),
+                                      field.fieldName );
+            datePicker.setTitle( m );
+            datePicker.addValueChanged( new ValueChanged() {
                 public void valueChanged(String newValue) {
-                	field.expected = newValue;
+                    field.expected = newValue;
                 }
-            });
+            } );
 
-             panel.add(datePicker);
+            panel.add( datePicker );
         } else {
             String[] enums = sce.getDataEnumList( key );
             if ( enums != null ) {
@@ -146,9 +147,10 @@
                 }
                 if ( field.nature == FieldData.TYPE_UNDEFINED && isThereABoundVariableToSet() == true ) {
                     Image clickme = new Image( "images/edit.gif" ); // NON-NLS
-                    clickme.addClickListener( new ClickListener() {
-                        public void onClick(Widget w) {
-                            showTypeChoice( w,
+                    clickme.addClickHandler( new ClickHandler() {
+
+                        public void onClick(ClickEvent event) {
+                            showTypeChoice( (Widget) event.getSource(),
                                             field );
                         }
                     } );
@@ -166,9 +168,8 @@
     }
 
     private Widget variableEditor() {
-        // sce.
-        List vars = this.scenario.getFactNamesInScope( this.executionTrace,
-                                                       true );
+        List<String> vars = this.scenario.getFactNamesInScope( this.executionTrace,
+                                                               true );
 
         final ListBox box = new ListBox();
 
@@ -177,8 +178,7 @@
         }
         int j = 0;
         for ( int i = 0; i < vars.size(); i++ ) {
-            String var = (String) vars.get( i );
-            Map m = this.scenario.getVariableTypes();
+            String var = vars.get( i );
             FactData f = (FactData) scenario.getFactTypes().get( var );
             String fieldType = sce.getFieldType( this.factType,
                                                  field.fieldName );
@@ -195,8 +195,9 @@
             }
         }
 
-        box.addChangeListener( new ChangeListener() {
-            public void onChange(Widget w) {
+        box.addChangeHandler( new ChangeHandler() {
+
+            public void onChange(ChangeEvent event) {
                 field.expected = box.getItemText( box.getSelectedIndex() );
             }
         } );
@@ -213,8 +214,9 @@
         String m = Format.format( ((Constants) GWT.create( Constants.class )).ValueFor0(),
                                   fieldName );
         tb.setTitle( m );
-        tb.addChangeListener( new ChangeListener() {
-            public void onChange(Widget w) {
+        tb.addChangeHandler( new ChangeHandler() {
+
+            public void onChange(ChangeEvent event) {
                 changed.valueChanged( tb.getText() );
             }
         } );
@@ -228,8 +230,9 @@
                                                         constants.FieldValue() );
 
         Button lit = new Button( constants.LiteralValue() );
-        lit.addClickListener( new ClickListener() {
-            public void onClick(Widget w) {
+        lit.addClickHandler( new ClickHandler() {
+
+            public void onClick(ClickEvent event) {
                 con.nature = FieldData.TYPE_LITERAL;
                 doTypeChosen( form );
             }
@@ -247,8 +250,9 @@
         // me
 
         Button variable = new Button( constants.BoundVariable() );
-        variable.addClickListener( new ClickListener() {
-            public void onClick(Widget w) {
+        variable.addClickHandler( new ClickHandler() {
+
+            public void onClick(ClickEvent event) {
                 con.nature = FieldData.TYPE_VARIABLE;
                 doTypeChosen( form );
             }
@@ -263,12 +267,11 @@
 
     private boolean isThereABoundVariableToSet() {
         boolean retour = false;
-        List vars = this.scenario.getFactNamesInScope( executionTrace,
-                                                       true );
+        List<String> vars = this.scenario.getFactNamesInScope( executionTrace,
+                                                               true );
         if ( vars.size() > 0 ) {
             for ( int i = 0; i < vars.size(); i++ ) {
                 String var = (String) vars.get( i );
-                Map m = this.scenario.getVariableTypes();
                 FactData f = (FactData) scenario.getFactTypes().get( var );
                 String fieldType = sce.getFieldType( this.factType,
                                                      field.fieldName );

Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/qa/testscenarios/FieldDataConstraintEditor.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/qa/testscenarios/FieldDataConstraintEditor.java	2010-10-19 20:28:48 UTC (rev 35575)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/qa/testscenarios/FieldDataConstraintEditor.java	2010-10-20 06:05:20 UTC (rev 35576)
@@ -17,7 +17,6 @@
 package org.drools.guvnor.client.qa.testscenarios;
 
 import java.util.List;
-import java.util.Map;
 
 import org.drools.guvnor.client.common.DirtyableComposite;
 import org.drools.guvnor.client.common.DirtyableHorizontalPane;
@@ -28,11 +27,10 @@
 import org.drools.guvnor.client.common.SmallLabel;
 import org.drools.guvnor.client.common.ValueChanged;
 import org.drools.guvnor.client.messages.Constants;
-import org.drools.guvnor.client.modeldriven.ui.ActionValueEditor;
-import org.drools.guvnor.client.modeldriven.ui.DatePickerLabel;
 import org.drools.guvnor.client.modeldriven.ui.DatePickerTextBox;
 import org.drools.guvnor.client.modeldriven.ui.EnumDropDown;
 import org.drools.guvnor.client.util.Format;
+import org.drools.guvnor.client.util.NumbericFilterKeyPressHandler;
 import org.drools.ide.common.client.modeldriven.DropDownData;
 import org.drools.ide.common.client.modeldriven.SuggestionCompletionEngine;
 import org.drools.ide.common.client.modeldriven.testing.ExecutionTrace;
@@ -41,10 +39,11 @@
 import org.drools.ide.common.client.modeldriven.testing.Scenario;
 
 import com.google.gwt.core.client.GWT;
+import com.google.gwt.event.dom.client.ChangeEvent;
+import com.google.gwt.event.dom.client.ChangeHandler;
 import com.google.gwt.event.dom.client.ClickEvent;
 import com.google.gwt.event.dom.client.ClickHandler;
 import com.google.gwt.user.client.ui.Button;
-import com.google.gwt.user.client.ui.ChangeListener;
 import com.google.gwt.user.client.ui.HTML;
 import com.google.gwt.user.client.ui.HorizontalPanel;
 import com.google.gwt.user.client.ui.Image;
@@ -63,15 +62,15 @@
 
 public class FieldDataConstraintEditor extends DirtyableComposite {
 
-    private String factType;
-    private FieldData field;
-    private FactData givenFact;
-    private final Panel panel;
-    private Scenario scenario;
-    private ExecutionTrace executionTrace;
+    private String                     factType;
+    private FieldData                  field;
+    private FactData                   givenFact;
+    private final Panel                panel;
+    private Scenario                   scenario;
+    private ExecutionTrace             executionTrace;
     private SuggestionCompletionEngine sce;
-    private ValueChanged callback;
-    private Constants constants = ((Constants) GWT.create(Constants.class));
+    private ValueChanged               callback;
+    private Constants                  constants = ((Constants) GWT.create( Constants.class ));
 
     public FieldDataConstraintEditor(String factType,
                                      ValueChanged callback,
@@ -89,82 +88,81 @@
         this.givenFact = givenFact;
         panel = new SimplePanel();
         refreshEditor();
-        initWidget(panel);
+        initWidget( panel );
     }
 
     private void refreshEditor() {
         String key = factType + "." + field.name;
-        String flType = sce.getFieldType(key);
+        String flType = sce.getFieldType( key );
         panel.clear();
-        if (flType != null && flType.equals(SuggestionCompletionEngine.TYPE_NUMERIC)) {
-            final TextBox box = editableTextBox(callback,
-                    field.name,
-                    field.value);
-            box.addKeyboardListener(ActionValueEditor.getNumericFilter(box));
-            panel.add(box);
-        } else if (flType != null && flType.equals(SuggestionCompletionEngine.TYPE_BOOLEAN)) {
+        if ( flType != null && flType.equals( SuggestionCompletionEngine.TYPE_NUMERIC ) ) {
+            final TextBox box = editableTextBox( callback,
+                                                 field.name,
+                                                 field.value );
+            box.addKeyPressHandler( new NumbericFilterKeyPressHandler( box ) );
+            panel.add( box );
+        } else if ( flType != null && flType.equals( SuggestionCompletionEngine.TYPE_BOOLEAN ) ) {
             String[] c = new String[]{"true", "false"};
-            panel.add(new EnumDropDown(field.value,
-                    new DropDownValueChanged() {
-                        public void valueChanged(String newText,
-                                                 String newValue) {
-                            callback.valueChanged(newValue);
-                        }
-                    },
-                    DropDownData.create(c)));
-        } else if (flType != null && flType.equals(SuggestionCompletionEngine.TYPE_DATE)) {           
+            panel.add( new EnumDropDown( field.value,
+                                         new DropDownValueChanged() {
+                                             public void valueChanged(String newText,
+                                                                      String newValue) {
+                                                 callback.valueChanged( newValue );
+                                             }
+                                         },
+                                         DropDownData.create( c ) ) );
+        } else if ( flType != null && flType.equals( SuggestionCompletionEngine.TYPE_DATE ) ) {
             final DatePickerTextBox datePicker = new DatePickerTextBox( field.value );
-            String m = Format.format(((Constants) GWT.create(Constants.class)).ValueFor0(),
-            		field.name);
-            datePicker.setTitle(m);
-            datePicker.addValueChanged(new ValueChanged() {
+            String m = Format.format( ((Constants) GWT.create( Constants.class )).ValueFor0(),
+                                      field.name );
+            datePicker.setTitle( m );
+            datePicker.addValueChanged( new ValueChanged() {
                 public void valueChanged(String newValue) {
                     field.value = newValue;
                 }
-            });
+            } );
 
-             panel.add(datePicker);
+            panel.add( datePicker );
         } else {
-            String[] enums = sce.getDataEnumList(key);
-            if (enums != null) {
-                panel.add(new EnumDropDown(field.value,
-                        new DropDownValueChanged() {
-                            public void valueChanged(String newText,
-                                                     String newValue) {
-                                callback.valueChanged(newValue);
-                            }
-                        },
-                        DropDownData.create(enums)));
+            String[] enums = sce.getDataEnumList( key );
+            if ( enums != null ) {
+                panel.add( new EnumDropDown( field.value,
+                                             new DropDownValueChanged() {
+                                                 public void valueChanged(String newText,
+                                                                          String newValue) {
+                                                     callback.valueChanged( newValue );
+                                                 }
+                                             },
+                                             DropDownData.create( enums ) ) );
 
             } else {
-                if (field.value != null && field.value.length() > 0 && field.nature == FieldData.TYPE_UNDEFINED) {
+                if ( field.value != null && field.value.length() > 0 && field.nature == FieldData.TYPE_UNDEFINED ) {
                     //  GUVNOR-337
-                    if (field.value.length() > 1 && field.value.charAt(1) == '[' && field.value.charAt(0) == '=') {
+                    if ( field.value.length() > 1 && field.value.charAt( 1 ) == '[' && field.value.charAt( 0 ) == '=' ) {
                         field.nature = FieldData.TYPE_LITERAL;
-                    } else if (field.value.charAt(0) == '=') {
+                    } else if ( field.value.charAt( 0 ) == '=' ) {
                         field.nature = FieldData.TYPE_VARIABLE;
                     } else {
                         field.nature = FieldData.TYPE_LITERAL;
                     }
                 }
-                if (field.nature == FieldData.TYPE_UNDEFINED &&
-                        (isThereABoundVariableToSet() == true || isItAList() == true)) {
-                    Image clickme = new Image("images/edit.gif"); // NON-NLS
-                    clickme.addClickHandler(new ClickHandler() {
+                if ( field.nature == FieldData.TYPE_UNDEFINED && (isThereABoundVariableToSet() == true || isItAList() == true) ) {
+                    Image clickme = new Image( "images/edit.gif" ); // NON-NLS
+                    clickme.addClickHandler( new ClickHandler() {
                         public void onClick(ClickEvent w) {
-                            showTypeChoice(w,
-                                    field);
+                            showTypeChoice( w,
+                                            field );
                         }
-                    });
-                    panel.add(clickme);
-                } else if (field.nature == FieldData.TYPE_VARIABLE) {
-                    panel.add(variableEditor(callback));
-                } else if (field.nature == FieldData.TYPE_COLLECTION) {
-                    panel.add(listEditor(callback));
+                    } );
+                    panel.add( clickme );
+                } else if ( field.nature == FieldData.TYPE_VARIABLE ) {
+                    panel.add( variableEditor( callback ) );
+                } else if ( field.nature == FieldData.TYPE_COLLECTION ) {
+                    panel.add( listEditor( callback ) );
                 } else {
-                    panel.add(editableTextBox(callback,
-                            field.name,
-                            field.value));
+                    panel.add( editableTextBox( callback,
+                                                field.name,
+                                                field.value ) );
                 }
             }
         }
@@ -176,62 +174,63 @@
                                            String initialValue) {
         // Fixme nheron
         final TextBox tb = new TextBox();
-        tb.setText(initialValue);
-        String m = Format.format(((Constants) GWT.create(Constants.class)).ValueFor0(),
-                fieldName);
-        tb.setTitle(m);
-        tb.addChangeListener(new ChangeListener() {
-            public void onChange(Widget w) {
-                changed.valueChanged(tb.getText());
+        tb.setText( initialValue );
+        String m = Format.format( ((Constants) GWT.create( Constants.class )).ValueFor0(),
+                                  fieldName );
+        tb.setTitle( m );
+        tb.addChangeHandler( new ChangeHandler() {
+
+            public void onChange(ChangeEvent event) {
+                changed.valueChanged( tb.getText() );
             }
-        });
+        } );
 
         return tb;
     }
 
     private Widget variableEditor(final ValueChanged changed) {
         // sce.
-        List vars = this.scenario.getFactNamesInScope(this.executionTrace,
-                true);
+        List<String> vars = this.scenario.getFactNamesInScope( this.executionTrace,
+                                                               true );
 
         final ListBox box = new ListBox();
 
-        if (this.field.value == null) {
-            box.addItem(constants.Choose());
+        if ( this.field.value == null ) {
+            box.addItem( constants.Choose() );
         }
         int j = 0;
-        for (int i = 0; i < vars.size(); i++) {
-            String var = (String) vars.get(i);
-            Map m = this.scenario.getVariableTypes();
-            FactData f = (FactData) this.scenario.getFactTypes().get(var);
+        for ( int i = 0; i < vars.size(); i++ ) {
+            String var = (String) vars.get( i );
+            FactData f = (FactData) this.scenario.getFactTypes().get( var );
             String fieldType = null;
-            if (field.collectionType == null) {
-                fieldType = sce.getFieldType(this.factType,
-                        field.name);
+            if ( field.collectionType == null ) {
+                fieldType = sce.getFieldType( this.factType,
+                                              field.name );
             } else {
                 fieldType = field.collectionType;
             }
 
-            if (f.type.equals(fieldType)) {
-                if (box.getItemCount() == 0) {
-                    box.addItem("...");
+            if ( f.type.equals( fieldType ) ) {
+                if ( box.getItemCount() == 0 ) {
+                    box.addItem( "..." );
                     j++;
                 }
-                box.addItem("=" + var);
-                if (this.field.value != null && this.field.value.equals("=" + var)) {
-                    box.setSelectedIndex(j);
+                box.addItem( "=" + var );
+                if ( this.field.value != null && this.field.value.equals( "=" + var ) ) {
+                    box.setSelectedIndex( j );
 
                 }
                 j++;
             }
         }
 
-        box.addChangeListener(new ChangeListener() {
-            public void onChange(Widget w) {
-                field.value = box.getItemText(box.getSelectedIndex());
-                changed.valueChanged(field.value);
+        box.addChangeHandler( new ChangeHandler() {
+
+            public void onChange(ChangeEvent event) {
+                field.value = box.getItemText( box.getSelectedIndex() );
+                changed.valueChanged( field.value );
             }
-        });
+        } );
 
         return box;
     }
@@ -240,181 +239,197 @@
         Panel panel = new VerticalPanel();
         //nheron
         int i = 0;
-        for (final FieldData f : this.field.collectionFieldList) {
+        for ( final FieldData f : this.field.collectionFieldList ) {
 
             DirtyableHorizontalPane hpanel = new DirtyableHorizontalPane();
 
-            FieldDataConstraintEditor fieldElement = new FieldDataConstraintEditor(f.collectionType, new ValueChanged() {
-                public void valueChanged(String newValue) {
-                    f.value = newValue ;
-                    calculateValueFromList();
-                    makeDirty();
-                }
-            }, f, givenFact, sce, scenario, executionTrace);
-            hpanel.add(fieldElement);
+            FieldDataConstraintEditor fieldElement = new FieldDataConstraintEditor( f.collectionType,
+                                                                                    new ValueChanged() {
+                                                                                        public void valueChanged(String newValue) {
+                                                                                            f.value = newValue;
+                                                                                            calculateValueFromList();
+                                                                                            makeDirty();
+                                                                                        }
+                                                                                    },
+                                                                                    f,
+                                                                                    givenFact,
+                                                                                    sce,
+                                                                                    scenario,
+                                                                                    executionTrace );
+            hpanel.add( fieldElement );
             final int index = i;
-            Image del = new ImageButton("images/delete_item_small.gif", Format.format(constants.AElementToDelInCollectionList(), "tt"), new ClickHandler() {
-                public void onClick(ClickEvent w) {
-                    field.collectionFieldList.remove(index);
-                    calculateValueFromList();
-                    refreshEditor();
-                }
-            });
+            Image del = new ImageButton( "images/delete_item_small.gif",
+                                         Format.format( constants.AElementToDelInCollectionList(),
+                                                        "tt" ),
+                                         new ClickHandler() {
+                                             public void onClick(ClickEvent w) {
+                                                 field.collectionFieldList.remove( index );
+                                                 calculateValueFromList();
+                                                 refreshEditor();
+                                             }
+                                         } );
 
-            hpanel.add(del);
+            hpanel.add( del );
 
-            Image addPattern = new ImageButton("images/new_item_below.png");
-            addPattern.setTitle(constants.AddElementBelow());
+            Image addPattern = new ImageButton( "images/new_item_below.png" );
+            addPattern.setTitle( constants.AddElementBelow() );
 
-
-            addPattern.addClickHandler(new ClickHandler(){
+            addPattern.addClickHandler( new ClickHandler() {
                 public void onClick(ClickEvent sender) {
-                   FieldData newFieldData = new FieldData();
-                   newFieldData.name = field.name;
-                   newFieldData.collectionType = field.collectionType;
-                   field.collectionFieldList.add(index+1,newFieldData);
-                   calculateValueFromList();
-                   refreshEditor();
+                    FieldData newFieldData = new FieldData();
+                    newFieldData.name = field.name;
+                    newFieldData.collectionType = field.collectionType;
+                    field.collectionFieldList.add( index + 1,
+                                                   newFieldData );
+                    calculateValueFromList();
+                    refreshEditor();
                 }
-            });
-            hpanel.add(addPattern);
-            Image moveDown = new ImageButton("images/shuffle_down.gif");
-            moveDown.setTitle(constants.MoveDownListMove());
-            moveDown.addClickHandler(new ClickHandler(){
+            } );
+            hpanel.add( addPattern );
+            Image moveDown = new ImageButton( "images/shuffle_down.gif" );
+            moveDown.setTitle( constants.MoveDownListMove() );
+            moveDown.addClickHandler( new ClickHandler() {
                 public void onClick(ClickEvent sender) {
-                   if (index <field.collectionFieldList.size()-1){
-                          FieldData onMyLine =field.collectionFieldList.get(index);
-                          FieldData onDown =field.collectionFieldList.get(index+1);
-                          field.collectionFieldList.set(index+1,onMyLine);
-                          field.collectionFieldList.set(index,onDown);
-                          calculateValueFromList();
-                          refreshEditor();
-                   }
+                    if ( index < field.collectionFieldList.size() - 1 ) {
+                        FieldData onMyLine = field.collectionFieldList.get( index );
+                        FieldData onDown = field.collectionFieldList.get( index + 1 );
+                        field.collectionFieldList.set( index + 1,
+                                                       onMyLine );
+                        field.collectionFieldList.set( index,
+                                                       onDown );
+                        calculateValueFromList();
+                        refreshEditor();
+                    }
                 }
-            });
-            hpanel.add(moveDown);
+            } );
+            hpanel.add( moveDown );
 
-            Image moveUp = new ImageButton("images/shuffle_up.gif");
-            moveUp.setTitle(constants.MoveUpList());
-            moveUp.addClickHandler(new ClickHandler(){
+            Image moveUp = new ImageButton( "images/shuffle_up.gif" );
+            moveUp.setTitle( constants.MoveUpList() );
+            moveUp.addClickHandler( new ClickHandler() {
                 public void onClick(ClickEvent sender) {
-                   if (index >0){
-                          FieldData oneUp =field.collectionFieldList.get(index-1);
-                          FieldData onMyLine =field.collectionFieldList.get(index);
-                          field.collectionFieldList.set(index,oneUp);
-                          field.collectionFieldList.set(index-1,onMyLine);
-                          calculateValueFromList();
-                          refreshEditor();
-                   }
+                    if ( index > 0 ) {
+                        FieldData oneUp = field.collectionFieldList.get( index - 1 );
+                        FieldData onMyLine = field.collectionFieldList.get( index );
+                        field.collectionFieldList.set( index,
+                                                       oneUp );
+                        field.collectionFieldList.set( index - 1,
+                                                       onMyLine );
+                        calculateValueFromList();
+                        refreshEditor();
+                    }
                 }
-            });
-            hpanel.add(moveUp);
-            panel.add(hpanel);
-             i++;
+            } );
+            hpanel.add( moveUp );
+            panel.add( hpanel );
+            i++;
         }
-    
 
-        if (this.field.collectionFieldList.size()==0){
-            Image add = new ImageButton("images/new_item.gif",Format.format(constants.AElementToAddInCollectionList(),"tt") , new ClickHandler() {
-                public void onClick(ClickEvent w) {
-                    FieldData newFieldData = new FieldData();
-                    newFieldData.name = field.name;
-                    newFieldData.collectionType = field.collectionType;
-                    field.collectionFieldList.add(newFieldData);
-                    calculateValueFromList();
-                    refreshEditor();
-                }
-            });
-            panel.add(add);
+        if ( this.field.collectionFieldList.size() == 0 ) {
+            Image add = new ImageButton( "images/new_item.gif",
+                                         Format.format( constants.AElementToAddInCollectionList(),
+                                                        "tt" ),
+                                         new ClickHandler() {
+                                             public void onClick(ClickEvent w) {
+                                                 FieldData newFieldData = new FieldData();
+                                                 newFieldData.name = field.name;
+                                                 newFieldData.collectionType = field.collectionType;
+                                                 field.collectionFieldList.add( newFieldData );
+                                                 calculateValueFromList();
+                                                 refreshEditor();
+                                             }
+                                         } );
+            panel.add( add );
         }
         return panel;
     }
 
     private void calculateValueFromList() {
-        if (this.field.collectionFieldList == null || this.field.collectionFieldList.isEmpty()) {
+        if ( this.field.collectionFieldList == null || this.field.collectionFieldList.isEmpty() ) {
             this.field.value = "=[]";
             return;
         }
         StringBuffer listContent = new StringBuffer();
-        for (final FieldData f : this.field.collectionFieldList) {
-            listContent.append(',');
-            if (f.value != null) {
-                listContent.append(f.value.substring(1));
+        for ( final FieldData f : this.field.collectionFieldList ) {
+            listContent.append( ',' );
+            if ( f.value != null ) {
+                listContent.append( f.value.substring( 1 ) );
             }
         }
-        this.field.value = "=[" + listContent.substring(1) + "]";
+        this.field.value = "=[" + listContent.substring( 1 ) + "]";
     }
 
     private void showTypeChoice(ClickEvent w,
                                 final FieldData con) {
-        final FormStylePopup form = new FormStylePopup("images/newex_wiz.gif",
-                constants.FieldValue());
+        final FormStylePopup form = new FormStylePopup( "images/newex_wiz.gif",
+                                                        constants.FieldValue() );
 
-        Button lit = new Button(constants.LiteralValue());
-        lit.addClickHandler(new ClickHandler() {
+        Button lit = new Button( constants.LiteralValue() );
+        lit.addClickHandler( new ClickHandler() {
             public void onClick(ClickEvent w) {
                 con.nature = FieldData.TYPE_LITERAL;
-                doTypeChosen(form);
+                doTypeChosen( form );
             }
 
-        });
-        form.addAttribute(constants.LiteralValue() + ":",
-                widgets(lit,
-                        new InfoPopup(constants.LiteralValue(),
-                                constants.LiteralValTip())));
+        } );
+        form.addAttribute( constants.LiteralValue() + ":",
+                           widgets( lit,
+                                    new InfoPopup( constants.LiteralValue(),
+                                                   constants.LiteralValTip() ) ) );
 
-        form.addRow(new HTML("<hr/>"));
-        form.addRow(new SmallLabel(constants.AdvancedOptions()));
+        form.addRow( new HTML( "<hr/>" ) );
+        form.addRow( new SmallLabel( constants.AdvancedOptions() ) );
 
         // If we are here, then there must be a bound variable compatible with
         // me
-        if (isThereABoundVariableToSet() == true) {
-            Button variable = new Button(constants.BoundVariable());
-            variable.addClickHandler(new ClickHandler() {
+        if ( isThereABoundVariableToSet() == true ) {
+            Button variable = new Button( constants.BoundVariable() );
+            variable.addClickHandler( new ClickHandler() {
                 public void onClick(ClickEvent w) {
                     con.nature = FieldData.TYPE_VARIABLE;
-                    doTypeChosen(form);
+                    doTypeChosen( form );
                 }
-            });
-            form.addAttribute(constants.AVariable(),
-                    widgets(variable,
-                            new InfoPopup(constants.ABoundVariable(),
-                                    constants.BoundVariableTip())));
+            } );
+            form.addAttribute( constants.AVariable(),
+                               widgets( variable,
+                                        new InfoPopup( constants.ABoundVariable(),
+                                                       constants.BoundVariableTip() ) ) );
         }
-        if (isItAList() == true) {
-            Button variable = new Button(constants.GuidedList());
-            variable.addClickHandler(new ClickHandler() {
+        if ( isItAList() == true ) {
+            Button variable = new Button( constants.GuidedList() );
+            variable.addClickHandler( new ClickHandler() {
                 public void onClick(ClickEvent w) {
-                    String factCollectionType = sce.getParametricFieldType(factType, field.name);
-                    con.setNature(FieldData.TYPE_COLLECTION, factCollectionType);
-                    doTypeChosen(form);
+                    String factCollectionType = sce.getParametricFieldType( factType,
+                                                                            field.name );
+                    con.setNature( FieldData.TYPE_COLLECTION,
+                                   factCollectionType );
+                    doTypeChosen( form );
                 }
-            });
-            form.addAttribute(constants.AVariable(),
-                    widgets(variable,
-                            new InfoPopup(constants.AGuidedList(),
-                                    constants.AGuidedListTip())));
+            } );
+            form.addAttribute( constants.AVariable(),
+                               widgets( variable,
+                                        new InfoPopup( constants.AGuidedList(),
+                                                       constants.AGuidedListTip() ) ) );
         }
         form.show();
     }
 
     private boolean isThereABoundVariableToSet() {
         boolean retour = false;
-        List vars = scenario.getFactNamesInScope(this.executionTrace,
-                true);
-        if (vars.size() > 0) {
-            for (int i = 0; i < vars.size(); i++) {
-                String var = (String) vars.get(i);
-                Map m = this.scenario.getVariableTypes();
-                FactData f = (FactData) scenario.getFactTypes().get(var);
+        List< ? > vars = scenario.getFactNamesInScope( this.executionTrace,
+                                                       true );
+        if ( vars.size() > 0 ) {
+            for ( int i = 0; i < vars.size(); i++ ) {
+                String var = (String) vars.get( i );
+                FactData f = (FactData) scenario.getFactTypes().get( var );
                 String fieldType = null;
-                if (field.collectionType == null) {
-                    fieldType = sce.getFieldType(this.factType,
-                            field.name);
+                if ( field.collectionType == null ) {
+                    fieldType = sce.getFieldType( this.factType,
+                                                  field.name );
                 } else {
                     fieldType = field.collectionType;
                 }
-                if (f.type.equals(fieldType)) {
+                if ( f.type.equals( fieldType ) ) {
                     retour = true;
                     break;
                 }
@@ -425,8 +440,9 @@
 
     private boolean isItAList() {
         boolean retour = false;
-        String fieldType = sce.getFieldType(this.factType, field.name);
-        if (fieldType != null && fieldType.equals("Collection")) {
+        String fieldType = sce.getFieldType( this.factType,
+                                             field.name );
+        if ( fieldType != null && fieldType.equals( "Collection" ) ) {
             retour = true;
         }
         return retour;
@@ -440,9 +456,9 @@
     private Panel widgets(Widget left,
                           Widget right) {
         HorizontalPanel panel = new HorizontalPanel();
-        panel.add(left);
-        panel.add(right);
-        panel.setWidth("100%");
+        panel.add( left );
+        panel.add( right );
+        panel.setWidth( "100%" );
         return panel;
     }
 

Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/qa/testscenarios/MethodParameterCallValueEditor.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/qa/testscenarios/MethodParameterCallValueEditor.java	2010-10-19 20:28:48 UTC (rev 35575)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/qa/testscenarios/MethodParameterCallValueEditor.java	2010-10-20 06:05:20 UTC (rev 35576)
@@ -1,4 +1,4 @@
-/**
+/*
  * Copyright 2010 JBoss Inc
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -20,17 +20,15 @@
 
 import org.drools.guvnor.client.common.DirtyableComposite;
 import org.drools.guvnor.client.common.DropDownValueChanged;
-import org.drools.guvnor.client.common.FieldEditListener;
 import org.drools.guvnor.client.common.FormStylePopup;
 import org.drools.guvnor.client.common.InfoPopup;
 import org.drools.guvnor.client.common.SmallLabel;
 import org.drools.guvnor.client.messages.Constants;
 import org.drools.guvnor.client.modeldriven.ui.EnumDropDown;
+import org.drools.guvnor.client.util.NumbericFilterKeyPressHandler;
 import org.drools.ide.common.client.modeldriven.DropDownData;
 import org.drools.ide.common.client.modeldriven.FieldNature;
 import org.drools.ide.common.client.modeldriven.SuggestionCompletionEngine;
-import org.drools.ide.common.client.modeldriven.brl.ActionInsertFact;
-import org.drools.ide.common.client.modeldriven.brl.FactPattern;
 import org.drools.ide.common.client.modeldriven.testing.CallFieldValue;
 import org.drools.ide.common.client.modeldriven.testing.ExecutionTrace;
 import org.drools.ide.common.client.modeldriven.testing.FactData;
@@ -39,14 +37,15 @@
 import com.google.gwt.core.client.GWT;
 import com.google.gwt.event.dom.client.ChangeEvent;
 import com.google.gwt.event.dom.client.ChangeHandler;
+import com.google.gwt.event.dom.client.ClickEvent;
+import com.google.gwt.event.dom.client.ClickHandler;
+import com.google.gwt.event.dom.client.KeyUpEvent;
+import com.google.gwt.event.dom.client.KeyUpHandler;
 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.HTML;
 import com.google.gwt.user.client.ui.HorizontalPanel;
 import com.google.gwt.user.client.ui.Image;
-import com.google.gwt.user.client.ui.KeyboardListener;
 import com.google.gwt.user.client.ui.ListBox;
 import com.google.gwt.user.client.ui.SimplePanel;
 import com.google.gwt.user.client.ui.TextBox;
@@ -61,26 +60,27 @@
 public class MethodParameterCallValueEditor extends DirtyableComposite {
 
     private CallFieldValue methodParameter;
-    private DropDownData        enums;
-    private SimplePanel         root;
-    private Constants           constants     = GWT.create( Constants.class );
-    private Scenario        model         = null;
-    private String              parameterType = null;
-    private Command             onValueChangeCommand = null;
-    private ExecutionTrace    ex;
+    private DropDownData   enums;
+    private SimplePanel    root;
+    private Constants      constants            = GWT.create( Constants.class );
+    private Scenario       model                = null;
+    private String         parameterType        = null;
+    private Command        onValueChangeCommand = null;
+    private ExecutionTrace ex;
 
     public MethodParameterCallValueEditor(final CallFieldValue val,
-                                      final DropDownData enums,
-                                      ExecutionTrace ex,
-                                      Scenario model,
-                                      String parameterType, Command onValueChangeCommand) {
+                                          final DropDownData enums,
+                                          ExecutionTrace ex,
+                                          Scenario model,
+                                          String parameterType,
+                                          Command onValueChangeCommand) {
         if ( val.type.equals( SuggestionCompletionEngine.TYPE_BOOLEAN ) ) {
             this.enums = DropDownData.create( new String[]{"true", "false"} );
         } else {
             this.enums = enums;
         }
         this.root = new SimplePanel();
-        this.ex=ex;
+        this.ex = ex;
         this.methodParameter = val;
         this.model = model;
         this.parameterType = parameterType;
@@ -97,7 +97,7 @@
                                             public void valueChanged(String newText,
                                                                      String newValue) {
                                                 methodParameter.value = newValue;
-                                                if (onValueChangeCommand != null){
+                                                if ( onValueChangeCommand != null ) {
                                                     onValueChangeCommand.execute();
                                                 }
                                                 makeDirty();
@@ -133,16 +133,17 @@
          * variable type, then propose a list
          */
         final ListBox listVariable = new ListBox();
-        List<String> vars = model.getFactNamesInScope(ex, true);
+        List<String> vars = model.getFactNamesInScope( ex,
+                                                       true );
         for ( String v : vars ) {
-        	FactData factData=(FactData)model.getFactTypes().get(v);
+            FactData factData = (FactData) model.getFactTypes().get( v );
             if ( factData.type.equals( this.methodParameter.type ) ) {
                 // First selection is empty
                 if ( listVariable.getItemCount() == 0 ) {
                     listVariable.addItem( "..." );
                 }
 
-                listVariable.addItem( "="+v );
+                listVariable.addItem( "=" + v );
             }
         }
         if ( methodParameter.value.equals( "=" ) ) {
@@ -156,30 +157,30 @@
         }
         if ( listVariable.getItemCount() > 0 ) {
 
-        	listVariable.addChangeHandler(new ChangeHandler() {
-				
-				public void onChange(ChangeEvent event) {
+            listVariable.addChangeHandler( new ChangeHandler() {
+
+                public void onChange(ChangeEvent event) {
                     methodParameter.value = listVariable.getValue( listVariable.getSelectedIndex() );
-                    if (onValueChangeCommand != null){
+                    if ( onValueChangeCommand != null ) {
                         onValueChangeCommand.execute();
                     }
                     makeDirty();
                     refresh();
                 }
-			});
-        	
-//            listVariable.addChangeListener( new ChangeListener() {
-//                public void onChange(Widget arg0) {
-//                    ListBox w = (ListBox) arg0;
-//                    methodParameter.value = w.getValue( w.getSelectedIndex() );
-//                    if (onValueChangeCommand != null){
-//                        onValueChangeCommand.execute();
-//                    }
-//                    makeDirty();
-//                    refresh();
-//                }
-//
-//            } );
+            } );
+
+            //            listVariable.addChangeListener( new ChangeListener() {
+            //                public void onChange(Widget arg0) {
+            //                    ListBox w = (ListBox) arg0;
+            //                    methodParameter.value = w.getValue( w.getSelectedIndex() );
+            //                    if (onValueChangeCommand != null){
+            //                        onValueChangeCommand.execute();
+            //                    }
+            //                    makeDirty();
+            //                    refresh();
+            //                }
+            //
+            //            } );
         }
         return listVariable;
     }
@@ -202,10 +203,11 @@
             box.setVisibleLength( c.value.length() - 1 );
         }
 
-        box.addChangeListener( new ChangeListener() {
-            public void onChange(Widget w) {
+        box.addChangeHandler( new ChangeHandler() {
+
+            public void onChange(ChangeEvent event) {
                 c.value = box.getText();
-                if (onValueChangeCommand != null) {
+                if ( onValueChangeCommand != null ) {
                     onValueChangeCommand.execute();
                 }
                 makeDirty();
@@ -213,55 +215,26 @@
 
         } );
 
-        box.addKeyboardListener( new FieldEditListener( new Command() {
-            public void execute() {
+        box.addKeyUpHandler( new KeyUpHandler() {
+
+            public void onKeyUp(KeyUpEvent event) {
                 box.setVisibleLength( box.getText().length() );
             }
-        } ) );
+        } );
 
         if ( methodParameter.type.equals( SuggestionCompletionEngine.TYPE_NUMERIC ) ) {
-            box.addKeyboardListener( getNumericFilter( box ) );
+            box.addKeyPressHandler( new NumbericFilterKeyPressHandler( box ) );
         }
 
         return box;
     }
 
-    /**
-     * This will return a keyboard listener for field setters, which will obey
-     * numeric conventions - it will also allow formulas (a formula is when the
-     * first value is a "=" which means it is meant to be taken as the user
-     * typed)
-     */
-    public static KeyboardListener getNumericFilter(final TextBox box) {
-        return new KeyboardListener() {
-
-            public void onKeyDown(Widget arg0,
-                                  char arg1,
-                                  int arg2) {
-
-            }
-
-            public void onKeyPress(Widget w,
-                                   char c,
-                                   int i) {
-                if ( Character.isLetter( c ) && c != '=' && !(box.getText().startsWith( "=" )) ) {
-                    ((TextBox) w).cancelKey();
-                }
-            }
-
-            public void onKeyUp(Widget arg0,
-                                char arg1,
-                                int arg2) {
-            }
-
-        };
-    }
-
     private Widget choice() {
         Image clickme = new Image( "images/edit.gif" );
-        clickme.addClickListener( new ClickListener() {
-            public void onClick(Widget w) {
-                showTypeChoice( w );
+        clickme.addClickHandler( new ClickHandler() {
+
+            public void onClick(ClickEvent event) {
+                showTypeChoice( (Widget) event.getSource() );
             }
         } );
         return clickme;
@@ -271,8 +244,9 @@
         final FormStylePopup form = new FormStylePopup( "images/newex_wiz.gif",
                                                         constants.FieldValue() );
         Button lit = new Button( constants.LiteralValue() );
-        lit.addClickListener( new ClickListener() {
-            public void onClick(Widget w) {
+        lit.addClickHandler( new ClickHandler() {
+
+            public void onClick(ClickEvent event) {
                 methodParameter.nature = FieldNature.TYPE_LITERAL;
                 methodParameter.value = " ";
                 makeDirty();
@@ -288,26 +262,26 @@
         form.addRow( new HTML( "<hr/>" ) );
         form.addRow( new SmallLabel( constants.AdvancedSection() ) );
 
-
         /*
          * If there is a bound variable that is the same type of the current
          * variable type, then show abutton
          */
-        
-        
-        List<String> vars = model.getFactNamesInScope(ex, true);
-         for ( String v : vars ) {
+
+        List<String> vars = model.getFactNamesInScope( ex,
+                                                       true );
+        for ( String v : vars ) {
             boolean createButton = false;
             Button variable = new Button( constants.BoundVariable() );
-            FactData factData=(FactData)model.getFactTypes().get(v);
+            FactData factData = (FactData) model.getFactTypes().get( v );
             if ( factData.type.equals( this.parameterType ) ) {
-            	createButton = true;
+                createButton = true;
             }
             if ( createButton == true ) {
                 form.addAttribute( constants.BoundVariable() + ":",
                                    variable );
-                variable.addClickListener( new ClickListener() {
-                    public void onClick(Widget w) {
+                variable.addClickHandler( new ClickHandler() {
+
+                    public void onClick(ClickEvent event) {
                         methodParameter.nature = FieldNature.TYPE_VARIABLE;
                         methodParameter.value = "=";
                         makeDirty();

Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/FactTypeBrowser.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/FactTypeBrowser.java	2010-10-19 20:28:48 UTC (rev 35575)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/FactTypeBrowser.java	2010-10-20 06:05:20 UTC (rev 35576)
@@ -1,4 +1,4 @@
-/**
+/*
  * Copyright 2010 JBoss Inc
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -16,71 +16,77 @@
 
 package org.drools.guvnor.client.ruleeditor;
 
+import org.drools.guvnor.client.common.ClickableLabel;
 import org.drools.guvnor.client.common.SmallLabel;
-import org.drools.guvnor.client.common.ClickableLabel;
 import org.drools.guvnor.client.messages.Constants;
 import org.drools.ide.common.client.modeldriven.SuggestionCompletionEngine;
 
-import com.google.gwt.user.client.ui.*;
 import com.google.gwt.core.client.GWT;
+import com.google.gwt.event.dom.client.ClickHandler;
+import com.google.gwt.event.logical.shared.SelectionEvent;
+import com.google.gwt.event.logical.shared.SelectionHandler;
+import com.google.gwt.user.client.ui.Composite;
+import com.google.gwt.user.client.ui.HorizontalPanel;
+import com.google.gwt.user.client.ui.Tree;
+import com.google.gwt.user.client.ui.TreeItem;
+import com.google.gwt.user.client.ui.VerticalPanel;
 
 public class FactTypeBrowser extends Composite {
-    private Constants constants = ((Constants) GWT.create(Constants.class));
+    private Constants constants = ((Constants) GWT.create( Constants.class ));
 
+    public FactTypeBrowser(SuggestionCompletionEngine sce,
+                           final ClickEvent ev) {
+        Tree tree = new Tree();
 
-    public FactTypeBrowser(SuggestionCompletionEngine sce, final ClickEvent ev) {
-		Tree tree = new Tree();
+        final VerticalPanel panel = new VerticalPanel();
 
-		final VerticalPanel panel = new VerticalPanel();
-    
         HorizontalPanel hp = new HorizontalPanel();
 
-        hp.add(new SmallLabel(constants.FactTypes()));
-        hp.add(new ClickableLabel(constants.hide(), new ClickListener() {
-            public void onClick(Widget sender) {
-              panel.setVisible(false);
+        hp.add( new SmallLabel( constants.FactTypes() ) );
+        hp.add( new ClickableLabel( constants.hide(),
+                                    new ClickHandler() {
+                                        public void onClick(com.google.gwt.event.dom.client.ClickEvent event) {
+                                            panel.setVisible( false );
+                                        }
+                                    } ) );
+        panel.add( hp );
+
+        panel.add( tree );
+        if ( sce.getFactTypes() != null ) {
+            for ( String type : sce.getFactTypes() ) {
+                TreeItem it = new TreeItem();
+                it.setHTML( "<img src=\"images/class.gif\"/><small>" + type + "</small>" );
+                it.setUserObject( type + "( )" );
+                tree.addItem( it );
+
+                String[] fields = (String[]) sce.getModelFields( type );
+                if ( fields != null ) {
+                    for ( String field : fields ) {
+                        TreeItem fi = new TreeItem();
+                        fi.setHTML( "<img src=\"images/field.gif\"/><small>" + field + "</small>" );
+                        fi.setUserObject( field );
+                        it.addItem( fi );
+                    }
+                }
             }
-        }));
-		panel.add(hp);
+        }
 
-		panel.add(tree);
-		if (sce.getFactTypes() != null) {
-			for (String type : sce.getFactTypes()) {
-				TreeItem it = new TreeItem();
-				it.setHTML("<img src=\"images/class.gif\"/><small>" + type + "</small>");
-				it.setUserObject(type + "( )");
-				tree.addItem(it);
+        tree.setStyleName( "category-explorer-Tree" ); //NON-NLS
+        tree.addSelectionHandler( new SelectionHandler<TreeItem>() {
 
-				String[] fields = (String[]) sce.getModelFields(type);
-				if (fields != null) {
-					for (String field : fields) {
-						TreeItem fi = new TreeItem();
-						fi.setHTML("<img src=\"images/field.gif\"/><small>" + field + "</small>");
-						fi.setUserObject(field);
-						it.addItem(fi);
-					}
-				}
-			}
-		}
+            public void onSelection(SelectionEvent<TreeItem> event) {
+                Object o = event.getSelectedItem().getUserObject();
+                if ( o instanceof String ) {
+                    ev.selected( (String) o );
+                }
+            }
+        } );
 
-		tree.setStyleName( "category-explorer-Tree" ); //NON-NLS
-		tree.addTreeListener(new TreeListener() {
-			public void onTreeItemSelected(TreeItem t) {
-				Object o = t.getUserObject();
-				if (o instanceof String) {
-					ev.selected((String) o);
-				}
-			}
-			public void onTreeItemStateChanged(TreeItem arg0) {}
-		});
+        initWidget( panel );
+    }
 
-		initWidget(panel);
-	}
+    public static interface ClickEvent {
+        public void selected(String text);
+    }
 
-	public static interface ClickEvent {
-		public void selected(String text);
-	}
-
 }
-
-

Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/VersionBrowser.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/VersionBrowser.java	2010-10-19 20:28:48 UTC (rev 35575)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/ruleeditor/VersionBrowser.java	2010-10-20 06:05:20 UTC (rev 35576)
@@ -1,21 +1,3 @@
-/**
- * Copyright 2010 JBoss Inc
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.drools.guvnor.client.ruleeditor;
-
 /*
  * Copyright 2005 JBoss Inc
  *
@@ -32,6 +14,8 @@
  * limitations under the License.
  */
 
+package org.drools.guvnor.client.ruleeditor;
+
 import java.util.Arrays;
 import java.util.Comparator;
 
@@ -40,29 +24,29 @@
 import org.drools.guvnor.client.common.GenericCallback;
 import org.drools.guvnor.client.common.ImageButton;
 import org.drools.guvnor.client.common.LoadingPopup;
+import org.drools.guvnor.client.messages.Constants;
 import org.drools.guvnor.client.rpc.MetaData;
 import org.drools.guvnor.client.rpc.RepositoryServiceFactory;
 import org.drools.guvnor.client.rpc.RuleAsset;
 import org.drools.guvnor.client.rpc.TableDataResult;
 import org.drools.guvnor.client.rpc.TableDataRow;
-import org.drools.guvnor.client.table.DataModel;
 import org.drools.guvnor.client.util.Format;
-import org.drools.guvnor.client.messages.Constants;
 
+import com.google.gwt.core.client.GWT;
+import com.google.gwt.event.dom.client.ClickEvent;
+import com.google.gwt.event.dom.client.ClickHandler;
 import com.google.gwt.user.client.Command;
 import com.google.gwt.user.client.DeferredCommand;
 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.FlexTable;
+import com.google.gwt.user.client.ui.FlexTable.FlexCellFormatter;
 import com.google.gwt.user.client.ui.HasHorizontalAlignment;
 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.Widget;
-import com.google.gwt.user.client.ui.FlexTable.FlexCellFormatter;
-import com.google.gwt.core.client.GWT;
 
 /**
  * This widget shows a list of versions.
@@ -89,14 +73,15 @@
         this.uuid = uuid;
         HorizontalPanel wrapper = new HorizontalPanel();
 
-        ClickListener cl = new ClickListener() {
-            public void onClick(Widget w) {
+        ClickHandler clickHandler = new ClickHandler() {
+
+            public void onClick(ClickEvent event) {
                 clickLoadHistory();
             }
         };
         layout = new FlexTable();
         ClickableLabel vh = new ClickableLabel( constants.VersionHistory1(),
-                                                cl );
+                                                clickHandler );
         layout.setWidget( 0,
                           0,
                           vh );
@@ -110,7 +95,7 @@
 
         refresh = new ImageButton( "images/refresh.gif" ); //NON-NLS
 
-        refresh.addClickListener( cl );
+        refresh.addClickHandler( clickHandler );
 
         layout.setWidget( 0,
                           1,
@@ -195,8 +180,9 @@
 
                                                                         Button open = new Button( constants.View() );
 
-                                                                        open.addClickListener( new ClickListener() {
-                                                                            public void onClick(Widget w) {
+                                                                        open.addClickHandler( new ClickHandler() {
+
+                                                                            public void onClick(ClickEvent event) {
                                                                                 showVersion( history.getValue( history.getSelectedIndex() ) );
                                                                             }
 
@@ -224,7 +210,6 @@
      * This should popup a view of the chosen historical version.
      */
     private void showVersion(final String versionUUID) {
-        //        VersionViewer viewer = new VersionViewer( this.metaData, versionUUID, uuid, refreshCommand );
 
         LoadingPopup.showMessage( constants.LoadingVersionFromHistory() );
 
@@ -241,9 +226,10 @@
                                                                                                                     new Integer( 800 ) );
 
                                                                      Button restore = new Button( constants.RestoreThisVersion() );
-                                                                     restore.addClickListener( new ClickListener() {
-                                                                         public void onClick(Widget w) {
-                                                                             restore( w,
+                                                                     restore.addClickHandler( new ClickHandler() {
+
+                                                                         public void onClick(ClickEvent event) {
+                                                                             restore( (Widget) event.getSource(),
                                                                                       versionUUID,
                                                                                       new Command() {
                                                                                           public void execute() {
@@ -276,8 +262,8 @@
                 RepositoryServiceFactory.getService().restoreVersion( versionUUID,
                                                                       uuid,
                                                                       pop.getCheckinComment(),
-                                                                      new GenericCallback() {
-                                                                          public void onSuccess(Object data) {
+                                                                      new GenericCallback<Void>() {
+                                                                          public void onSuccess(Void v) {
                                                                               refresh.execute();
                                                                           }
                                                                       } );
@@ -286,53 +272,8 @@
         pop.show();
     }
 
-    private void restore(Widget w,
-                         final Command refresh,
-                         final String versionUUID,
-                         final String headUUID) {
-
-        final CheckinPopup pop = new CheckinPopup( constants.RestoreThisVersionQ() );
-        pop.setCommand( new Command() {
-            public void execute() {
-                RepositoryServiceFactory.getService().restoreVersion( versionUUID,
-                                                                      headUUID,
-                                                                      pop.getCheckinComment(),
-                                                                      new GenericCallback() {
-                                                                          public void onSuccess(Object data) {
-                                                                              refresh.execute();
-                                                                          }
-                                                                      } );
-            }
-        } );
-        pop.show();
-    }
-
     private void showStaticIcon() {
         refresh.setUrl( "images/refresh.gif" );
     }
 
-    private DataModel getTableDataModel(final TableDataRow[] rows) {
-        return new DataModel() {
-
-            public int getNumberOfRows() {
-                return rows.length;
-            }
-
-            public String getRowId(int row) {
-                return rows[row].id;
-            }
-
-            public Comparable getValue(int row,
-                                       int col) {
-                return rows[row].values[col];
-            }
-
-            public Widget getWidget(int row,
-                                    int col) {
-                return null;
-            }
-
-        };
-    }
-
 }
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/table/DataModel.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/table/DataModel.java	2010-10-19 20:28:48 UTC (rev 35575)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/table/DataModel.java	2010-10-20 06:05:20 UTC (rev 35576)
@@ -1,5 +1,5 @@
-/**
- * Copyright 2010 JBoss Inc
+/*
+ * Copyright 2005 JBoss Inc
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -15,24 +15,7 @@
  */
 
 package org.drools.guvnor.client.table;
-/*
- * Copyright 2005 JBoss Inc
- * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
- *      http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
 
-
-
 import com.google.gwt.user.client.ui.Widget;
 
 /**
@@ -42,20 +25,20 @@
  */
 public interface DataModel {
 
-    
     /**
      * Must always provide a value. This is used for sorting (and display possibly).
      */
-    public Comparable getValue(int row, int col);
-    
+    public Comparable<String> getValue(int row,
+                                       int col);
+
     /**
      * optionally return a widget to display instead of the text. If null, then the text will be rendered.
      */
-    public Widget getWidget(int row, int col);
-    
-    
+    public Widget getWidget(int row,
+                            int col);
+
     public int getNumberOfRows();
-    
+
     public String getRowId(int row);
-    
+
 }
\ No newline at end of file

Added: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/util/NumbericFilterKeyPressHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/util/NumbericFilterKeyPressHandler.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/util/NumbericFilterKeyPressHandler.java	2010-10-20 06:05:20 UTC (rev 35576)
@@ -0,0 +1,45 @@
+/*
+ * Copyright 2010 JBoss Inc
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.drools.guvnor.client.util;
+
+import com.google.gwt.event.dom.client.KeyPressEvent;
+import com.google.gwt.event.dom.client.KeyPressHandler;
+import com.google.gwt.user.client.ui.TextBox;
+
+/**
+ * 
+ * @author rikkola
+ *
+ */
+public class NumbericFilterKeyPressHandler
+    implements
+    KeyPressHandler {
+
+    private final TextBox box;
+
+    public NumbericFilterKeyPressHandler(TextBox box) {
+        this.box = box;
+    }
+
+    public void onKeyPress(KeyPressEvent event) {
+        char c = event.getCharCode();
+        TextBox w = (TextBox) event.getSource();
+        if ( Character.isLetter( c ) && c != '=' && !(box.getText().startsWith( "=" )) ) {
+            ((TextBox) w).cancelKey();
+        }
+    }
+
+}



More information about the jboss-svn-commits mailing list