[jboss-svn-commits] JBL Code SVN: r21416 - in labs/jbossrules/trunk/drools-guvnor/modules/properties/src: org/drools/guvnor/client/ruleeditor and 2 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Sat Aug 9 19:21:38 EDT 2008


Author: arhan
Date: 2008-08-09 19:21:38 -0400 (Sat, 09 Aug 2008)
New Revision: 21416

Added:
   labs/jbossrules/trunk/drools-guvnor/modules/properties/src/Properties.gwt.xml
   labs/jbossrules/trunk/drools-guvnor/modules/properties/src/org/drools/guvnor/client/ruleeditor/PropertiesHolder.java
   labs/jbossrules/trunk/drools-guvnor/modules/properties/src/org/drools/guvnor/client/ruleeditor/PropertyHolder.java
   labs/jbossrules/trunk/drools-guvnor/modules/properties/src/org/drools/guvnor/server/contenthandler/
   labs/jbossrules/trunk/drools-guvnor/modules/properties/src/org/drools/guvnor/server/contenthandler/PropertiesHandler.java
Removed:
   labs/jbossrules/trunk/drools-guvnor/modules/properties/src/org/drools/guvnor/server/PropertiesHandler.java
Modified:
   labs/jbossrules/trunk/drools-guvnor/modules/properties/src/org/drools/guvnor/client/ruleeditor/PropertiesWidget.java
Log:
GSOC2008: properties editor

Added: labs/jbossrules/trunk/drools-guvnor/modules/properties/src/Properties.gwt.xml
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/modules/properties/src/Properties.gwt.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-guvnor/modules/properties/src/Properties.gwt.xml	2008-08-09 23:21:38 UTC (rev 21416)
@@ -0,0 +1,14 @@
+<module>
+    <!--
+    To include this module to Guvnor it is required:
+     1) to inherit this file in Guvnor.gwt.xml
+     2) run ant plug-editors to regenerate source
+     3) run ant gwt-compile to generate new UI?
+
+    -->
+
+
+
+    <inherits name="org.drools.guvnor.Guvnor" />
+    <inherits name="com.gwtext.Pagebus"/>
+</module>
\ No newline at end of file

Added: labs/jbossrules/trunk/drools-guvnor/modules/properties/src/org/drools/guvnor/client/ruleeditor/PropertiesHolder.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/modules/properties/src/org/drools/guvnor/client/ruleeditor/PropertiesHolder.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-guvnor/modules/properties/src/org/drools/guvnor/client/ruleeditor/PropertiesHolder.java	2008-08-09 23:21:38 UTC (rev 21416)
@@ -0,0 +1,29 @@
+package org.drools.guvnor.client.ruleeditor;
+
+import org.drools.guvnor.client.modeldriven.brl.PortableObject;
+
+import java.util.List;
+import java.util.ArrayList;
+
+import com.google.gwt.user.client.rpc.IsSerializable;
+
+/**
+ *
+ */
+public class PropertiesHolder implements PortableObject {
+
+    /**
+	 * @gwt.typeArgs <org.drools.guvnor.client.ruleeditor.PropertyHolder>
+	 */
+    List<PropertyHolder> list = new ArrayList<PropertyHolder>();
+
+    public PropertiesHolder() {
+        list.add(new PropertyHolder("x1", "yyy1"));
+        list.add(new PropertyHolder("x2", "yyy2"));
+        list.add(new PropertyHolder("x3", "yyy3"));
+        list.add(new PropertyHolder("x4", "yyy4"));
+        list.add(new PropertyHolder("x5", "yyy5"));
+        list.add(new PropertyHolder("x6", "yyy6"));
+        list.add(new PropertyHolder("x7", "yyy7"));
+    }
+}
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-guvnor/modules/properties/src/org/drools/guvnor/client/ruleeditor/PropertiesWidget.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/modules/properties/src/org/drools/guvnor/client/ruleeditor/PropertiesWidget.java	2008-08-09 09:58:14 UTC (rev 21415)
+++ labs/jbossrules/trunk/drools-guvnor/modules/properties/src/org/drools/guvnor/client/ruleeditor/PropertiesWidget.java	2008-08-09 23:21:38 UTC (rev 21416)
@@ -1,22 +1,82 @@
 package org.drools.guvnor.client.ruleeditor;
 
+import com.gwtext.client.core.EventObject;
+import com.gwtext.client.widgets.Button;
+import com.gwtext.client.widgets.Toolbar;
+import com.gwtext.client.widgets.ToolbarButton;
+import com.gwtext.client.widgets.event.ButtonListenerAdapter;
+import com.gwtext.client.widgets.grid.GridView;
+import com.gwtext.client.widgets.grid.PropertyGridPanel;
 import org.drools.guvnor.client.packages.AssetAttachmentFileWidget;
 import org.drools.guvnor.client.rpc.RuleAsset;
 
+import java.util.HashMap;
+import java.util.Map;
+
 /**
  *
  */
-public class PropertiesWidget extends AssetAttachmentFileWidget {
+public class PropertiesWidget extends AssetAttachmentFileWidget implements SaveEventListener {
 
+    PropertiesHolder properties;
+
     public PropertiesWidget(final RuleAsset asset, final RuleViewer viewer) {
         super(asset, viewer);
+
+        if (asset.content == null) {
+            properties = new PropertiesHolder();
+        } else {
+            properties = (PropertiesHolder) asset.content;
+        }
+
+        PropertyGridPanel grid = new PropertyGridPanel();
+        grid.setId("props-grid");
+        grid.setNameText("Properties Grid");
+        grid.setWidth(300);
+        grid.setAutoHeight(true);
+        grid.setSorted(false);
+
+        GridView view = new GridView();
+        view.setForceFit(true);
+        view.setScrollOffset(2); // the grid will never have scrollbars
+        grid.setView(view);
+
+
+        Map<String, String> map = new HashMap<String, String>();
+        for (PropertyHolder holder : properties.list) {
+            map.put(holder.name, holder.value);
+        }
+
+        grid.setSource(map);
+
+        Toolbar toolbar = new Toolbar();
+        ToolbarButton button = new ToolbarButton("Add ...", new ButtonListenerAdapter() {
+            public void onClick(Button button, EventObject e) {
+                //TODO: add new rows to the grid or a value to the properties holder
+            }
+        });
+        toolbar.addButton(button);
+
+        layout.addRow(grid);
     }
 
+
     public String getIcon() {
-        return null;
+        return "";
     }
 
     public String getOverallStyleName() {
-        return null;
+        return "";
     }
+
+    public void onSave() {
+        //todo: fill the properties holder
+    }
+
+    public void onAfterSave() {
+        //todo:refresh widget
+    }
+
 }
+
+

Added: labs/jbossrules/trunk/drools-guvnor/modules/properties/src/org/drools/guvnor/client/ruleeditor/PropertyHolder.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/modules/properties/src/org/drools/guvnor/client/ruleeditor/PropertyHolder.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-guvnor/modules/properties/src/org/drools/guvnor/client/ruleeditor/PropertyHolder.java	2008-08-09 23:21:38 UTC (rev 21416)
@@ -0,0 +1,19 @@
+package org.drools.guvnor.client.ruleeditor;
+
+import org.drools.guvnor.client.modeldriven.brl.PortableObject;
+
+/**
+ *
+ */
+public class PropertyHolder implements PortableObject {
+    public String name;
+    public String value;
+
+    public PropertyHolder() {
+    }
+
+    public PropertyHolder(String name, String value) {
+        this.name = name;
+        this.value = value;
+    }
+}
\ No newline at end of file

Deleted: labs/jbossrules/trunk/drools-guvnor/modules/properties/src/org/drools/guvnor/server/PropertiesHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/modules/properties/src/org/drools/guvnor/server/PropertiesHandler.java	2008-08-09 09:58:14 UTC (rev 21415)
+++ labs/jbossrules/trunk/drools-guvnor/modules/properties/src/org/drools/guvnor/server/PropertiesHandler.java	2008-08-09 23:21:38 UTC (rev 21416)
@@ -1,22 +0,0 @@
-package org.drools.guvnor.server;
-
-import org.drools.guvnor.server.contenthandler.ContentHandler;
-import org.drools.guvnor.client.rpc.RuleAsset;
-import org.drools.repository.PackageItem;
-import org.drools.repository.AssetItem;
-import com.google.gwt.user.client.rpc.SerializableException;
-
-/**
- *
- */
-public class PropertiesHandler extends ContentHandler {
-    public void retrieveAssetContent(RuleAsset asset, PackageItem pkg, AssetItem item)
-            throws SerializableException {
-
-    }
-
-    public void storeAssetContent(RuleAsset asset, AssetItem repoAsset)
-            throws SerializableException {
-
-    }
-}

Added: labs/jbossrules/trunk/drools-guvnor/modules/properties/src/org/drools/guvnor/server/contenthandler/PropertiesHandler.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/modules/properties/src/org/drools/guvnor/server/contenthandler/PropertiesHandler.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-guvnor/modules/properties/src/org/drools/guvnor/server/contenthandler/PropertiesHandler.java	2008-08-09 23:21:38 UTC (rev 21416)
@@ -0,0 +1,25 @@
+package org.drools.guvnor.server.contenthandler;
+
+import org.drools.guvnor.server.contenthandler.ContentHandler;
+import org.drools.guvnor.client.rpc.RuleAsset;
+import org.drools.guvnor.client.rpc.RuleContentText;
+import org.drools.guvnor.client.ruleeditor.PropertiesHolder;
+import org.drools.repository.PackageItem;
+import org.drools.repository.AssetItem;
+import com.google.gwt.user.client.rpc.SerializableException;
+
+/**
+ *  TODO:
+ */
+public class PropertiesHandler extends ContentHandler {
+    public void retrieveAssetContent(RuleAsset asset, PackageItem pkg, AssetItem item)
+            throws SerializableException {
+        asset.content = new PropertiesHolder();
+    }
+
+    public void storeAssetContent(RuleAsset asset, AssetItem repoAsset)
+            throws SerializableException {
+        PropertiesHolder holder = (PropertiesHolder) asset.content;
+        repoAsset.updateContent(holder.toString());
+    }
+}
\ No newline at end of file




More information about the jboss-svn-commits mailing list