[jboss-svn-commits] JBL Code SVN: r6791 - in labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms: client client/categorynav client/ruleeditor client/rulelist public

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Fri Oct 13 11:42:14 EDT 2006


Author: michael.neale at jboss.com
Date: 2006-10-13 11:42:08 -0400 (Fri, 13 Oct 2006)
New Revision: 6791

Added:
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/NewRuleWizard.java
Removed:
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/rulelist/RemoveMeData.java
Modified:
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/Rules.java
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/categorynav/CategoryExplorerWidget.java
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/rulelist/RuleListView.java
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/JBRMS.css
Log:
more ajax love, better layout

Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/Rules.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/Rules.java	2006-10-13 13:49:28 UTC (rev 6790)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/Rules.java	2006-10-13 15:42:08 UTC (rev 6791)
@@ -1,14 +1,26 @@
 package org.drools.brms.client;
 
+import org.drools.brms.client.categorynav.CategoryEditor;
 import org.drools.brms.client.categorynav.CategorySelectHandler;
 import org.drools.brms.client.categorynav.CategoryExplorerWidget;
+import org.drools.brms.client.ruleeditor.NewRuleWizard;
 import org.drools.brms.client.ruleeditor.RuleView;
 import org.drools.brms.client.rulelist.EditItemEvent;
 import org.drools.brms.client.rulelist.RuleListView;
 
+import com.google.gwt.user.client.ui.Button;
+import com.google.gwt.user.client.ui.ChangeListener;
+import com.google.gwt.user.client.ui.FlexTable;
+import com.google.gwt.user.client.ui.HasHorizontalAlignment;
+import com.google.gwt.user.client.ui.HasVerticalAlignment;
 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.TabPanel;
+import com.google.gwt.user.client.ui.VerticalPanel;
+import com.google.gwt.user.client.ui.Widget;
+import com.google.gwt.user.client.ui.FlexTable.FlexCellFormatter;
 
 
 public class Rules extends JBRMSFeature {
@@ -34,12 +46,9 @@
 		initWidget(tab);
 		
 		
-		HorizontalPanel explorePanel = doExplore(tab);
+		FlexTable explorePanel = doExplore(tab);		
+		RuleView ruleViewer = doRuleViewer();
 		
-		RuleView ruleViewer = new RuleView();
-		ruleViewer.setWidth("100%");
-		ruleViewer.setHeight("100%");
-		
 		tab.add(explorePanel, "Explore");
 		tab.add(ruleViewer, "Author");
 		
@@ -48,15 +57,21 @@
 		
 	}
 
+    private RuleView doRuleViewer() {
+        RuleView ruleViewer = new RuleView();
+		ruleViewer.setWidth("100%");
+		ruleViewer.setHeight("100%");
+        return ruleViewer;
+    }
+
     /** This will setup the explorer tab */
-	private HorizontalPanel doExplore(final TabPanel tab) {
-		HorizontalPanel  panel = new HorizontalPanel();
+	private FlexTable doExplore(final TabPanel tab) {
+		FlexTable  table = new FlexTable();
         
         //setup the list
         final RuleListView list = new RuleListView(new EditItemEvent() {
 
             public void open(String[] rowData) {
-                System.out.println("[Opening editor] " + rowData);
                 tab.selectTab( EDITOR_TAB );                
             }
             
@@ -70,12 +85,52 @@
                 list.loadRulesForCategoryPath(selectedPath);
             }
             
-        });			
-		panel.add(nav);
+        });		
         
+        FlexCellFormatter formatter = table.getFlexCellFormatter();
+        
+        table.setWidget( 0, 0, nav );
+		table.setWidget( 0, 1, list);
 
-		panel.add(list);
-		return panel;
+        
+        
+        
+        formatter.setAlignment( 0, 1, HasHorizontalAlignment.ALIGN_LEFT, HasVerticalAlignment.ALIGN_TOP );
+        formatter.setAlignment( 0, 0, HasHorizontalAlignment.ALIGN_LEFT, HasVerticalAlignment.ALIGN_TOP );        
+        formatter.setRowSpan( 0, 1, 3 );
+        formatter.setWidth( 0, 0, "30%" );
+        formatter.setWidth( 0, 1, "70%" );
+        formatter.setHeight( 0, 0, "90%" );
+
+        table.setText( 2, 0, "" );
+        
+        //new rule stuff
+        final ListBox listBox = new ListBox();
+        listBox.addItem( "-- Create new --" );
+        listBox.addItem( "Rule", "rule" );
+        listBox.addItem( "Decision Table", "decisionTable" );
+        listBox.addItem( "Document", "document" );
+        
+        listBox.addChangeListener( new ChangeListener() {
+
+            public void onChange(Widget w) {                
+                String type = listBox.getValue( listBox.getSelectedIndex() );
+                NewRuleWizard newRule = new NewRuleWizard(type);
+                newRule.setPopupPosition( w.getAbsoluteLeft() - 10, w.getAbsoluteTop() - 50  );
+                newRule.show();                
+            }
+            
+        });
+        
+        
+        table.setWidget( 1, 0, listBox);
+        formatter.setHeight( 1, 0, "5%" );
+        formatter.setAlignment( 1, 0, HasHorizontalAlignment.ALIGN_CENTER, HasVerticalAlignment.ALIGN_TOP);
+        formatter.setStyleName( 1, 0, "rule-explorer-NewPopups" );
+        
+        
+
+		return table;
 	}
 
 }

Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/categorynav/CategoryExplorerWidget.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/categorynav/CategoryExplorerWidget.java	2006-10-13 13:49:28 UTC (rev 6790)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/categorynav/CategoryExplorerWidget.java	2006-10-13 15:42:08 UTC (rev 6791)
@@ -1,18 +1,3 @@
-/*
- * Copyright 2006 Google 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.brms.client.categorynav;
 
 import org.drools.brms.client.ErrorPopup;
@@ -29,6 +14,7 @@
 import com.google.gwt.user.client.ui.Tree;
 import com.google.gwt.user.client.ui.TreeItem;
 import com.google.gwt.user.client.ui.TreeListener;
+import com.google.gwt.user.client.ui.VerticalPanel;
 import com.google.gwt.user.client.ui.Widget;
 import com.google.gwt.user.client.ui.FlexTable.FlexCellFormatter;
 
@@ -44,7 +30,7 @@
      
     
     private Tree                   navTreeWidget = new Tree();
-    private FlexTable              table         = new FlexTable();
+    private VerticalPanel          panel = new VerticalPanel();
     private RepositoryServiceAsync service       = RepositoryServiceFactory.getService();
     private CategorySelectHandler  categorySelectHandler;
     private String selectedPath;
@@ -54,10 +40,8 @@
     }
 
     public CategoryExplorerWidget(CategorySelectHandler handler) {
-        table.setWidget( 0, 0, navTreeWidget );
+        panel.add( navTreeWidget );
         
-        FlexCellFormatter formatter = table.getFlexCellFormatter();
-        formatter.setColSpan( 0, 0, 2 );
         
         Image refresh = new Image("images/refresh.gif");
         refresh.setTitle( "Refresh categories" );        
@@ -78,16 +62,22 @@
             }            
         });
         
+        FlexTable actionTable = new FlexTable();
+        FlexCellFormatter formatter = actionTable.getFlexCellFormatter();
         
-        table.setWidget( 1, 0, newCat);
-        table.setWidget( 1, 1, refresh );
-        formatter.setAlignment( 1, 0, HasHorizontalAlignment.ALIGN_LEFT, HasVerticalAlignment.ALIGN_MIDDLE );
-        formatter.setAlignment( 1, 1, HasHorizontalAlignment.ALIGN_RIGHT, HasVerticalAlignment.ALIGN_MIDDLE );
+        actionTable.setStyleName( "global-Font" );
+        actionTable.setText( 0, 0, "Manage categories:" );
+        actionTable.setWidget( 0, 1, newCat );
+        actionTable.setWidget( 0, 2, refresh );
+        formatter.setAlignment( 0, 0, HasHorizontalAlignment.ALIGN_RIGHT, HasVerticalAlignment.ALIGN_MIDDLE );
+
+        panel.add( actionTable );
         
         this.categorySelectHandler = handler;
         loadInitialTree();
         
-        initWidget( table );
+        
+        initWidget( panel );
         navTreeWidget.addTreeListener( this );
     }
 

Added: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/NewRuleWizard.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/NewRuleWizard.java	2006-10-13 13:49:28 UTC (rev 6790)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/NewRuleWizard.java	2006-10-13 15:42:08 UTC (rev 6791)
@@ -0,0 +1,79 @@
+package org.drools.brms.client.ruleeditor;
+
+import com.google.gwt.user.client.ui.Button;
+import com.google.gwt.user.client.ui.ClickListener;
+import com.google.gwt.user.client.ui.FlexTable;
+import com.google.gwt.user.client.ui.Image;
+import com.google.gwt.user.client.ui.Label;
+import com.google.gwt.user.client.ui.PopupPanel;
+import com.google.gwt.user.client.ui.TextArea;
+import com.google.gwt.user.client.ui.TextBox;
+import com.google.gwt.user.client.ui.Widget;
+
+/**
+ * This provides a popup for editing a category (name etc).
+ * Mainly this is for creating a new category.
+ */
+public class NewRuleWizard extends PopupPanel {
+
+    private String type;
+    private FlexTable table = new FlexTable(); //Using this table for the form layout
+    private TextBox name = new TextBox();
+    private TextArea description = new TextArea();
+    
+    
+    /** This is used when creating a new category */
+    public NewRuleWizard(String type) {
+        super(true);
+        this.type = type;
+        
+        table.setWidget( 0, 0, new Image("images/edit_category.gif") );
+        
+        table.setWidget( 0, 1, new Label(getTitle( type )));
+        
+        
+        table.setWidget( 1, 0, new Label("Rule name") );
+        table.setWidget( 1, 1, name );
+        
+        description.setVisibleLines( 4 );
+        table.setWidget( 2, 0, new Label("Initial Description") );
+        table.setWidget( 2, 1, description );
+        
+        Button ok = new Button("OK");
+        ok.addClickListener( new ClickListener() {
+            public void onClick(Widget arg0) {
+                ok();
+            }
+            
+        });
+        
+        table.setWidget( 3, 0, ok );
+        
+        Button cancel = new Button("Cancel");
+        cancel.addClickListener( new ClickListener() {
+            public void onClick(Widget w) {
+                cancel();                
+            }
+            
+        });
+        
+        table.setWidget( 3, 1, cancel );
+        
+        add( table );
+        setStyleName( "ks-popups-Popup" );
+    }
+
+    private String getTitle(String type) {
+            return "Create a new " + type;
+    }
+    
+    void ok() {
+        
+        hide();
+    }
+    
+    void cancel() {
+        hide();
+    }
+    
+}

Deleted: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/rulelist/RemoveMeData.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/rulelist/RemoveMeData.java	2006-10-13 13:49:28 UTC (rev 6790)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/rulelist/RemoveMeData.java	2006-10-13 15:42:08 UTC (rev 6791)
@@ -1,58 +0,0 @@
-/*
- * Copyright 2006 Google 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.brms.client.rulelist;
-
-
-
-/**
- * A simple client-side generator of fake email messages.
- */
-public class RemoveMeData {
-
-  private RuleListItem[] items;
-	
-
-  public RemoveMeData() {
-	  
-	  items = new RuleListItem[42];
-	  
-	  items[0] = new RuleListItem("MyCommunity 97%", "production", "mproctor");
-	  items[1] = new RuleListItem("MyCommunity 100%", "production", "mproctor");
-	  items[2] = new RuleListItem("Autum deals", "draft", "mneale");
-	  items[3] = new RuleListItem("Alan parsons", "draft", "bmchirter");
-	  
-	  
-	  for (int i = 4; i < items.length; i++) {
-		items[i] = new RuleListItem("Dummy rule", "draft", "anon");
-	  }
-	  
-  }
-  
-  
-  public int getMailItemCount() {
-    return items.length;
-  }
-
-  public RuleListItem getMailItem(int index) {
-    if (index >= items.length)
-      return null;
-    return items[index];
-  }
-
-  
-  
-  
-}

Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/rulelist/RuleListView.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/rulelist/RuleListView.java	2006-10-13 13:49:28 UTC (rev 6790)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/rulelist/RuleListView.java	2006-10-13 15:42:08 UTC (rev 6791)
@@ -10,6 +10,7 @@
 import com.google.gwt.user.client.ui.Grid;
 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.SourcesTableEvents;
 import com.google.gwt.user.client.ui.TableListener;
 import com.google.gwt.user.client.ui.VerticalPanel;
@@ -44,8 +45,6 @@
     protected int numberOfColumns;
     private EditItemEvent editEvent;
 
-    private long timer;
-
     public RuleListView(EditItemEvent event) {
 
         service = RepositoryServiceFactory.getService();
@@ -67,10 +66,12 @@
         HorizontalPanel innerNavBar = new HorizontalPanel();
         innerNavBar.setStyleName( "rule-ListNavBar" );
         innerNavBar.setSpacing( 8 );
+        
         innerNavBar.add( prevButton );
         innerNavBar.add( countLabel );
         innerNavBar.add( nextButton );
         innerNavBar.add( editButton );
+        
         navBar.setHorizontalAlignment( HorizontalPanel.ALIGN_RIGHT );
         navBar.add( innerNavBar );
         navBar.setWidth( "100%" );
@@ -204,14 +205,8 @@
     
     
     
-    private void startTime() {
-        this.timer = System.currentTimeMillis();
-    }
+
     
-    private void finish(String message) {
-        System.out.println("time taken for " + message + " was: " + (System.currentTimeMillis() - timer));
-    }
-    
 
     private void update() {
                         
@@ -259,22 +254,14 @@
 //                           item.version );
         }
 
-        
-        startTime();
-        
-        System.out.println("i is " + visibleItemCount);
-        
         // Clear any remaining slots.
         for ( ; i < visibleItemCount; ++i ) {
             table.setHTML( i + 1, 0, "&nbsp;" );
         }
-
-        finish( "update( )");
         
         // Select the first row if none is selected.
         if ( selectedRow == -1 ) selectRow( 0 );
         
-        
     }
 
     public void loadRulesForCategoryPath(String selectedPath) {

Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/JBRMS.css
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/JBRMS.css	2006-10-13 13:49:28 UTC (rev 6790)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/JBRMS.css	2006-10-13 15:42:08 UTC (rev 6791)
@@ -172,6 +172,10 @@
 .gwt-StackPanel .gwt-StackPanelItem-selected {
 }
 
+.global-Font {
+	font-size: smaller;
+}
+
 /* -------------------------------------------------------------------------- */
 
 /* -- orig border: #C3D9FF  replaced with #B8B8B8 
@@ -254,6 +258,11 @@
   padding: 4px;
 }
 
+.rule-explorer-NewPopups  {
+  border: 1px solid #87B3FF;
+  background-color: #FDFCDC;
+}
+
 .dt-editor-Grid {
   background-color: #FDFCDC;
   border: 1px solid #87B3FF;  




More information about the jboss-svn-commits mailing list