[jboss-svn-commits] JBL Code SVN: r6745 - in labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client: . decisiontable

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Oct 11 09:36:22 EDT 2006


Author: michael.neale at jboss.com
Date: 2006-10-11 09:36:19 -0400 (Wed, 11 Oct 2006)
New Revision: 6745

Added:
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/decisiontable/EditableDTGrid.java
Modified:
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/RuleBases.java
Log:
start of decision tables for the web

Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/RuleBases.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/RuleBases.java	2006-10-11 13:36:15 UTC (rev 6744)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/RuleBases.java	2006-10-11 13:36:19 UTC (rev 6745)
@@ -15,18 +15,10 @@
  */
 package org.drools.brms.client;
 
-import com.google.gwt.user.client.ui.Button;
-import com.google.gwt.user.client.ui.ClickListener;
-import com.google.gwt.user.client.ui.HorizontalPanel;
-import com.google.gwt.user.client.ui.HTML;
+import org.drools.brms.client.decisiontable.EditableDTGrid;
+
 import com.google.gwt.user.client.ui.Image;
-import com.google.gwt.user.client.ui.KeyboardListenerAdapter;
-import com.google.gwt.user.client.ui.PasswordTextBox;
-import com.google.gwt.user.client.ui.TextArea;
-import com.google.gwt.user.client.ui.TextBox;
-import com.google.gwt.user.client.ui.TextBoxBase;
 import com.google.gwt.user.client.ui.VerticalPanel;
-import com.google.gwt.user.client.ui.Widget;
 
 /**
  * Demonstrates the various text widgets.
@@ -48,58 +40,15 @@
     };
   }
 
-  private PasswordTextBox fPasswordText = new PasswordTextBox();
-  private TextArea fTextArea = new TextArea();
-  private TextBox fTextBox = new TextBox();
 
   public RuleBases() {
     VerticalPanel panel = new VerticalPanel();
     panel.setSpacing(8);
-    panel.add(new HTML("Normal text box:"));
-    panel.add(createTextThing(fTextBox));
-    panel.add(new HTML("Password text box:"));
-    panel.add(createTextThing(fPasswordText));
-    panel.add(new HTML("Text area:"));
-    panel.add(createTextThing(fTextArea));
-    setWidget(panel);
+    panel.add( new EditableDTGrid() );
+    initWidget(panel);
   }
 
   public void onShow() {
   }
 
-  private Widget createTextThing(final TextBoxBase textBox) {
-    HorizontalPanel p = new HorizontalPanel();
-    p.setSpacing(4);
-
-    p.add(textBox);
-
-    final HTML echo = new HTML();
-    p.add(new Button("select all", new ClickListener() {
-      public void onClick(Widget sender) {
-        textBox.selectAll();
-        textBox.setFocus(true);
-        updateText(textBox, echo);
-      }
-    }));
-
-    p.add(echo);
-    textBox.addKeyboardListener(new KeyboardListenerAdapter() {
-      public void onKeyUp(Widget sender, char keyCode, int modifiers) {
-        updateText(textBox, echo);
-      }
-    });
-
-    textBox.addClickListener(new ClickListener() {
-      public void onClick(Widget sender) {
-        updateText(textBox, echo);
-      }
-    });
-
-    return p;
-  }
-
-  private void updateText(TextBoxBase text, HTML echo) {
-    echo.setHTML("Text: " + text.getText() + "<br>" + "Selection: "
-      + text.getCursorPos() + ", " + text.getSelectionLength());
-  }
 }

Added: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/decisiontable/EditableDTGrid.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/decisiontable/EditableDTGrid.java	2006-10-11 13:36:15 UTC (rev 6744)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/decisiontable/EditableDTGrid.java	2006-10-11 13:36:19 UTC (rev 6745)
@@ -0,0 +1,76 @@
+package org.drools.brms.client.decisiontable;
+
+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.Grid;
+import com.google.gwt.user.client.ui.Image;
+import com.google.gwt.user.client.ui.TextBox;
+import com.google.gwt.user.client.ui.Widget;
+
+public class EditableDTGrid extends Composite {
+
+    private Grid table = new Grid();
+
+    public EditableDTGrid() {
+
+        //for if I switch to a Grid
+        table.resizeColumns( numCols() + 1 );
+        table.resizeRows( numRows() );
+
+        for ( int row = 0; row < numRows(); row++ ) {
+            int column = 0;
+            for ( ; column < numCols(); column++ ) {
+                table.setText( row,
+                               column,
+                               "boo " + column );
+            }
+            final int currentRow = row;
+            Image editButton = new Image("images/edit.gif");
+            editButton.addClickListener( new ClickListener() {
+
+                public void onClick(Widget w) {
+                    editRow(currentRow);
+                    
+                }
+
+                
+            }) ;          
+            table.setWidget( row, column, editButton );
+            
+        }
+
+        initWidget( table );
+
+    }
+    
+    
+    private void editRow(int row) {
+        for (int column = 0; column < numCols(); column++) {
+            String text = table.getText( row, column );
+            Widget w = table.getWidget( row, column );
+            if (w == null) {
+                TextBox box = new TextBox();
+                box.setText( text );
+                box.setStyleName( "dsl-field-TextBox" );
+                box.setVisibleLength( 3 );
+                
+                table.setWidget( row, column, box );
+                
+            } else {
+                table.setText( row, column, ((TextBox ) w).getText());
+            }
+        }
+        
+        
+    }
+
+    private int numCols() {
+        return 12;
+    }
+
+    private int numRows() {
+        return 70;
+    }
+
+}




More information about the jboss-svn-commits mailing list