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

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon Oct 30 10:16:05 EST 2006


Author: michael.neale at jboss.com
Date: 2006-10-30 10:15:55 -0500 (Mon, 30 Oct 2006)
New Revision: 7232

Added:
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/AssetCategoryEditor.java
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/images/meta_data.gif
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/images/remove_item.gif
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/images/top_logo.png
Removed:
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/CategoryViewer.java
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/images/drools_logo.png
Modified:
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/MetaDataWidget.java
   labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/rulelist/EditItemEvent.java
   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.html
Log:
meta data editor

Copied: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/AssetCategoryEditor.java (from rev 7178, labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/CategoryViewer.java)
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/CategoryViewer.java	2006-10-27 18:57:33 UTC (rev 7178)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/AssetCategoryEditor.java	2006-10-30 15:15:55 UTC (rev 7232)
@@ -0,0 +1,204 @@
+package org.drools.brms.client.ruleeditor;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.drools.brms.client.categorynav.CategoryExplorerWidget;
+import org.drools.brms.client.categorynav.CategorySelectHandler;
+import org.drools.brms.client.common.RulePackageSelector;
+import org.drools.brms.client.rpc.MetaData;
+
+import com.google.gwt.user.client.ui.Button;
+import com.google.gwt.user.client.ui.ChangeListener;
+import com.google.gwt.user.client.ui.ClickListener;
+import com.google.gwt.user.client.ui.Composite;
+import com.google.gwt.user.client.ui.HorizontalPanel;
+import com.google.gwt.user.client.ui.Image;
+import com.google.gwt.user.client.ui.ListBox;
+import com.google.gwt.user.client.ui.PopupPanel;
+import com.google.gwt.user.client.ui.VerticalPanel;
+import com.google.gwt.user.client.ui.Widget;
+
+/**
+ * This is a viewer/editor for categories.
+ * It will show a list of categories currently applicable, and allow you to 
+ * remove/add to them.
+ * 
+ * It is intended to work with the meta data form.
+ * 
+ * @author Michael Neale
+ */
+public class AssetCategoryEditor extends Composite {
+
+    private MetaData data;
+    private HorizontalPanel panel = new HorizontalPanel();
+    private ListBox box;
+    
+    /**
+     * @param d The meta data.
+     * @param readOnly If it is to be non editable.
+     * @param change This will be called when a change is made (data in MetaData will be changed).
+     */
+    public AssetCategoryEditor(MetaData d, boolean readOnly) {
+        this.data = d;
+
+        box = new ListBox();
+        
+        box.setVisibleItemCount( 3 );
+        box.setWidth( "100%" );
+        
+        box.setMultipleSelect( true );
+        loadData( box );        
+        panel.add( box );
+        
+        if (!readOnly) {
+            doActions();
+        }
+        
+        initWidget( panel );
+        
+    }
+
+    private void doActions() {
+        VerticalPanel actions = new VerticalPanel();
+        Image add = new Image("images/new_item.gif");
+        add.setTitle( "Add a new category." );
+        
+        
+        add.addClickListener( new ClickListener() {
+            public void onClick(Widget w) {
+                doOKClick();
+            }            
+        });
+        
+        Image remove = new Image("images/remove_item.gif");
+        remove.setTitle( "Remove the currently selected category." );
+        remove.addClickListener( new ClickListener() {
+
+            public void onClick(Widget w) {
+                 if (box.getSelectedIndex() != -1) {
+                     removeCategory(box.getItemText( box.getSelectedIndex()));
+                 }
+                
+            }
+            
+        });
+        
+        
+        actions.add( add );
+        actions.add( remove );
+        panel.add( actions );
+    }
+
+    protected void removeCategory(String category) {
+        
+        String[] newList = new String[data.categories.length - 1];
+        
+        for ( int i = 0, j = 0; i < data.categories.length; i++) {
+            if (! data.categories[i].equals( category )) {
+                newList[j] = data.categories[i];
+                j++;
+            } 
+        }
+        
+        data.dirty = true;
+        data.categories = newList;
+        
+        resetBox();
+    }
+
+    private void resetBox() {
+        box.clear();
+        loadData( box );
+    }
+
+    private void loadData(ListBox box) {
+        for ( int i = 0; i < data.categories.length; i++ ) {
+            box.addItem( data.categories[i] );
+        }
+    }
+    
+    
+
+
+    /** Handles the OK click on the selector popup */
+    private void doOKClick() {
+//        final CategorySelector sel = new CategorySelector();
+//        sel.ok.addClickListener( new ClickListener() {
+//            public void onClick(Widget w) {                
+//                addToCategory(sel.selectedPath);   
+//                sel.hide();
+//            }            
+//        });
+//        sel.setPopupPosition( this.getAbsoluteLeft(), this.getAbsoluteTop() );
+//        sel.show();
+        CategorySelector sel = new CategorySelector();
+        sel.setPopupPosition( getAbsoluteLeft(), getAbsoluteTop() );
+        sel.show();  
+    }
+
+
+
+
+    /**
+     * Appy the change (selected path to be added).
+     */
+    public void addToCategory(String selectedPath) {
+
+        
+        String[] newList = new String[data.categories.length + 1];
+        for ( int i = 0; i < data.categories.length; i++ ) {
+                newList[i] = data.categories[i];
+        }
+        newList[data.categories.length] = selectedPath;
+        
+        data.categories = newList;
+        data.dirty = true;
+        
+        resetBox();
+    }
+
+
+
+
+
+    /**
+     * This is a popup that allows you to select a category to add to the asset.
+     */
+    class CategorySelector extends PopupPanel {
+        
+        public Button ok = new Button("OK");
+        private CategoryExplorerWidget selector;  
+        public String selectedPath;
+       
+        public CategorySelector() {
+            super(true);
+            VerticalPanel vert = new VerticalPanel();
+        
+            selector = new CategoryExplorerWidget(new CategorySelectHandler() {
+                public void selected(String sel) {
+                    selectedPath = sel;
+                }
+                
+            }, false);
+            
+            this.setStyleName( "ks-popups-Popup" );
+            
+            vert.add( selector );
+            vert.add( ok );
+            
+            add( vert );
+            
+            ok.addClickListener( new ClickListener() {
+                public void onClick(Widget w) { 
+                    if (selectedPath != null &&  !"".equals(selectedPath)) {
+                        addToCategory(selectedPath);
+                    }
+                    hide();
+                }            
+            });
+          
+        }      
+
+    }
+}

Deleted: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/CategoryViewer.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/CategoryViewer.java	2006-10-30 14:55:11 UTC (rev 7231)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/CategoryViewer.java	2006-10-30 15:15:55 UTC (rev 7232)
@@ -1,37 +0,0 @@
-package org.drools.brms.client.ruleeditor;
-
-import org.drools.brms.client.rpc.MetaData;
-
-import com.google.gwt.user.client.ui.Composite;
-import com.google.gwt.user.client.ui.HorizontalPanel;
-import com.google.gwt.user.client.ui.ListBox;
-
-/**
- * This is a viewer/editor for categories.
- * It will show a list of categories currently applicable, and allow you to 
- * remove/add to them.
- * @author Michael Neale
- */
-public class CategoryViewer extends Composite {
-
-    private MetaData data;
-    private HorizontalPanel panel = new HorizontalPanel();
-    
-    public CategoryViewer(MetaData d) {
-        this.data = d;
-        ListBox box = new ListBox();
-        
-        box.setMultipleSelect( true );
-        loadData( box );
-        
-        initWidget( panel );
-        
-    }
-
-    private void loadData(ListBox box) {
-        for ( int i = 0; i < data.categories.length; i++ ) {
-            box.addItem( data.categories[i] );
-        }
-    }
-    
-}

Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/MetaDataWidget.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/MetaDataWidget.java	2006-10-30 14:55:11 UTC (rev 7231)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/MetaDataWidget.java	2006-10-30 15:15:55 UTC (rev 7232)
@@ -9,7 +9,6 @@
 import com.google.gwt.user.client.ui.HasVerticalAlignment;
 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.TextArea;
 import com.google.gwt.user.client.ui.TextBox;
 import com.google.gwt.user.client.ui.Widget;
@@ -22,15 +21,14 @@
  */
 public class MetaDataWidget extends Composite {
 
-    
-    
 	private FlexTable layout = new FlexTable();
     private FlexCellFormatter formatter = layout.getFlexCellFormatter();
 	private int numInLayout = 0;
     private MetaData data;
+    private boolean readOnly;
 	
-	
 	public MetaDataWidget(MetaData d, boolean readOnly) {
+        this.readOnly = readOnly;
         this.data = d;
         initWidget( layout );
         
@@ -47,8 +45,6 @@
         }));
         
         
-        //addAttribute("Description", description());
-        
         addAttribute("Categories", categories());
         
         addAttribute("Package", new Label(data.packageName));
@@ -57,10 +53,7 @@
         addAttribute("Created by:", new Label(data.creator));
         addAttribute("Version number:", new Label("" + data.versionNumber));
         
-        //addAttribute("Status", status());
-        
         addAttribute("Type", editableText(new FieldBinding() {
-
             public String getValue() {
                 return data.type;
             }
@@ -83,48 +76,32 @@
 
     private Widget categories() {
         
-        ListBox box = new ListBox();
-        for ( int i = 0; i < data.categories.length; i++ ) {
-            String cat = data.categories[i];
-            box.addItem( cat );
-        }
+        AssetCategoryEditor ed = new AssetCategoryEditor(this.data, this.readOnly);
+        return ed;
         
-        return box;
-        
     }
 
 
-
-
-
-
-
     /** This binds a field, and returns a text editor for it */
     private Widget editableText(final FieldBinding bind) {
-        final TextBox box = new TextBox();
-        box.setText( bind.getValue() );
-        ChangeListener listener = new ChangeListener() {
-
-            public void onChange(Widget w) {   
-                data.dirty = true;     
-                bind.setValue( box.getText() );                
-            }
-            
-        };
-        
-        box.addChangeListener( listener );
-        return box;        
+        if (!readOnly) {
+            final TextBox box = new TextBox();
+            box.setText( bind.getValue() );
+            ChangeListener listener = new ChangeListener() {    
+                public void onChange(Widget w) {   
+                    data.dirty = true;     
+                    bind.setValue( box.getText() );                
+                }                
+            };            
+            box.addChangeListener( listener );
+            return box;
+        } else {
+            return new Label(bind.getValue());
+        }
     }
 
-    
 
 
-    
-
-
-
-
-
     private Widget description() {
         final TextArea box = new TextArea();
         box.setText( data.description );

Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/rulelist/EditItemEvent.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/rulelist/EditItemEvent.java	2006-10-30 14:55:11 UTC (rev 7231)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/rulelist/EditItemEvent.java	2006-10-30 15:15:55 UTC (rev 7232)
@@ -6,6 +6,11 @@
  */
 public interface EditItemEvent {
     
+    /**
+     * @param key - the UUID to open.
+     * @param type - the resource type.
+     * @param name - the name to display on the open tab.
+     */
     public void open(String key, String type, String name);
     
 }

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-30 14:55:11 UTC (rev 7231)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/JBRMS.css	2006-10-30 15:15:55 UTC (rev 7232)
@@ -76,6 +76,8 @@
 }
 
 .gwt-ListBox {
+  border: 1px solid #87B3FF;
+  padding: 0px;	
 }
 
 .gwt-MenuBar {
@@ -338,6 +340,7 @@
 }
 
 
+
 .rule-List {
 	border: 1px solid #87B3FF;
 	background-color: white;
@@ -351,8 +354,7 @@
 
 /* end the rule list stuff */
 
-.resource-name-Label {
-	font-size: larger;
+.resource-name-Label {	
  	font-weight: bold;
 }
 

Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/JBRMS.html
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/JBRMS.html	2006-10-30 14:55:11 UTC (rev 7231)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/JBRMS.html	2006-10-30 15:15:55 UTC (rev 7232)
@@ -6,8 +6,10 @@
 	    <link rel="shortcut icon" href="images/drools.gif" type="image/gif">
 	    <link rel="icon" href="images/drools.gif" type="image/gif">		
 	</head>
-	<body> 			
-		<img src="images/drools_logo.png" />		
+	<body> 
+			
+
+		<img src="images/top_logo.png" />
 		<!-- This script is the bootstrap stuff that simply must be there; it is sent down uncompressed -->
 		<script language='javascript' src='gwt.js'></script>
 		<iframe id='__gwt_historyFrame' style='width:0;height:0;border:0'></iframe>

Deleted: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/images/drools_logo.png
===================================================================
(Binary files differ)

Added: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/images/meta_data.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/images/meta_data.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/images/remove_item.gif
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/images/remove_item.gif
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/images/top_logo.png
===================================================================
(Binary files differ)


Property changes on: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/images/top_logo.png
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream




More information about the jboss-svn-commits mailing list