[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