[jboss-svn-commits] JBL Code SVN: r7614 - in labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms: client client/common client/ruleeditor public public/images
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Wed Nov 15 08:00:18 EST 2006
Author: michael.neale at jboss.com
Date: 2006-11-15 08:00:08 -0500 (Wed, 15 Nov 2006)
New Revision: 7614
Added:
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/RulesFeature.java
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/common/FormStyleLayout.java
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/common/FormStylePopup.java
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/images/save_edit.gif
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/images/warning-large.png
Removed:
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/Rules.java
Modified:
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/JBRMSFeatureConfigurator.java
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/ActionToolbar.java
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/RuleViewer.java
labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/JBRMS.css
Log:
JBRULES-558 - commit warning and dirty check
Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/JBRMSFeatureConfigurator.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/JBRMSFeatureConfigurator.java 2006-11-15 12:53:24 UTC (rev 7613)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/JBRMSFeatureConfigurator.java 2006-11-15 13:00:08 UTC (rev 7614)
@@ -17,7 +17,7 @@
*/
public static void configure(JBRMSFeatureList list) {
list.addSink(Info.init());
- list.addSink(Rules.init());
+ list.addSink(RulesFeature.init());
// list.addSink(Buttons.init());
// list.addSink(Menus.init());
// list.addSink(Images.init());
Deleted: 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-11-15 12:53:24 UTC (rev 7613)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/Rules.java 2006-11-15 13:00:08 UTC (rev 7614)
@@ -1,138 +0,0 @@
-package org.drools.brms.client;
-
-import org.drools.brms.client.categorynav.CategoryExplorerWidget;
-import org.drools.brms.client.categorynav.CategorySelectHandler;
-import org.drools.brms.client.ruleeditor.NewRuleWizard;
-import org.drools.brms.client.ruleeditor.RuleViewer;
-import org.drools.brms.client.rulelist.EditItemEvent;
-import org.drools.brms.client.rulelist.RuleItemListViewer;
-
-import com.google.gwt.user.client.ui.ClickListener;
-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.Image;
-import com.google.gwt.user.client.ui.TabPanel;
-import com.google.gwt.user.client.ui.Widget;
-import com.google.gwt.user.client.ui.FlexTable.FlexCellFormatter;
-
-/**
- * This controls the "Rules manager" top level feature.
- * @author Michael Neale
- */
-public class Rules extends JBRMSFeature {
-
- public static final int EDITOR_TAB = 1;
-
- public static ComponentInfo init() {
- return new ComponentInfo("Rules", "Find and edit rules.") {
- public JBRMSFeature createInstance() {
- return new Rules();
- }
-
- public Image getImage() {
- return new Image("images/rules.gif");
- }
- };
- }
-
- private TabPanel tab;
-
- public Rules() {
- tab = new TabPanel();
- tab.setWidth("100%");
- tab.setHeight("100%");
-
- FlexTable explorePanel = doExplore(tab);
- //RuleView ruleViewer = doRuleViewer();
-
- tab.add(explorePanel, "Explore");
- //tab.add(ruleViewer, "Author");
-
- tab.selectTab(0);
-
- initWidget(tab);
- }
-
-
-
- /** This will setup the explorer tab */
- private FlexTable doExplore(final TabPanel tab) {
- FlexTable table = new FlexTable();
-
- //and the the delegate to open an editor for a rule resource when
- //chosen to
- final RuleItemListViewer list = new RuleItemListViewer(new EditItemEvent() {
-
-
- public void open(String key,
- String type,
- String name) {
- RuleViewer view = new RuleViewer(key, type, name);
-
- String displayName = name;
- if (name.length() > 10) {
- displayName = name.substring( 0, 7 ) + "...";
- }
- tab.add( view, "<img src='images/rule_asset.gif'>" + displayName, true );
- tab.selectTab( tab.getWidgetIndex( view ) );
-
- }
-
- });
-
- //setup the nav, which will drive the list
- CategoryExplorerWidget nav = new CategoryExplorerWidget(new CategorySelectHandler() {
-
- public void selected(String selectedPath) {
-
- list.loadRulesForCategoryPath(selectedPath);
- }
-
- });
-
- FlexCellFormatter formatter = table.getFlexCellFormatter();
-
- table.setWidget( 0, 0, nav );
- table.setWidget( 0, 1, list);
-
-
-
-
- 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, "" );
-
- Image newRule = new Image("images/new_rule.gif");
- newRule.setTitle( "Create new rule" );
- newRule.addClickListener( new ClickListener() {
-
- public void onClick(Widget w) {
- int left = 70;//w.getAbsoluteLeft() - 10;
- int top = 100; //w.getAbsoluteTop() - 10;
-
- NewRuleWizard pop = new NewRuleWizard();
- pop.setPopupPosition( left, top );
-
- pop.show();
- }
-
- });
-
- table.setWidget( 1, 0, newRule);
- formatter.setHeight( 1, 0, "5%" );
- formatter.setAlignment( 1, 0, HasHorizontalAlignment.ALIGN_CENTER, HasVerticalAlignment.ALIGN_TOP);
- formatter.setStyleName( 1, 0, "rule-explorer-NewPopups" );
-
-
-
- return table;
- }
-
-}
Copied: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/RulesFeature.java (from rev 7587, 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-11-14 14:44:08 UTC (rev 7587)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/RulesFeature.java 2006-11-15 13:00:08 UTC (rev 7614)
@@ -0,0 +1,141 @@
+package org.drools.brms.client;
+
+import org.drools.brms.client.categorynav.CategoryExplorerWidget;
+import org.drools.brms.client.categorynav.CategorySelectHandler;
+import org.drools.brms.client.ruleeditor.NewRuleWizard;
+import org.drools.brms.client.ruleeditor.RuleViewer;
+import org.drools.brms.client.rulelist.EditItemEvent;
+import org.drools.brms.client.rulelist.RuleItemListViewer;
+
+import com.google.gwt.user.client.Command;
+import com.google.gwt.user.client.ui.ClickListener;
+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.Image;
+import com.google.gwt.user.client.ui.TabPanel;
+import com.google.gwt.user.client.ui.Widget;
+import com.google.gwt.user.client.ui.FlexTable.FlexCellFormatter;
+
+/**
+ * This controls the "Rules manager" top level feature.
+ * @author Michael Neale
+ */
+public class RulesFeature extends JBRMSFeature {
+
+ public static final int EDITOR_TAB = 1;
+
+ public static ComponentInfo init() {
+ return new ComponentInfo("Rules", "Find and edit rules.") {
+ public JBRMSFeature createInstance() {
+ return new RulesFeature();
+ }
+
+ public Image getImage() {
+ return new Image("images/rules.gif");
+ }
+ };
+ }
+
+ private TabPanel tab;
+
+ public RulesFeature() {
+ tab = new TabPanel();
+ tab.setWidth("100%");
+ tab.setHeight("100%");
+
+ FlexTable explorePanel = doExplore(tab);
+ //RuleView ruleViewer = doRuleViewer();
+
+ tab.add(explorePanel, "Explore");
+ //tab.add(ruleViewer, "Author");
+
+ tab.selectTab(0);
+
+ initWidget(tab);
+ }
+
+
+
+ /** This will setup the explorer tab */
+ private FlexTable doExplore(final TabPanel tab) {
+ FlexTable table = new FlexTable();
+ final RulesFeature parent = this;
+ //and the the delegate to open an editor for a rule resource when
+ //chosen to
+ final RuleItemListViewer list = new RuleItemListViewer(new EditItemEvent() {
+
+
+ public void open(String key,
+ String type,
+ String name) {
+ RuleViewer view = new RuleViewer(parent, key, type, name);
+
+ String displayName = name;
+ if (name.length() > 10) {
+ displayName = name.substring( 0, 7 ) + "...";
+ }
+ tab.add( view, "<img src='images/rule_asset.gif'>" + displayName, true );
+
+ final int i = tab.getWidgetIndex( view );
+ view.setCloseCommand( new Command() {
+ public void execute() {
+ tab.remove( i );
+ tab.selectTab( 0 );
+ }
+ });
+ tab.selectTab( i );
+
+ }
+
+ });
+
+ //setup the nav, which will drive the list
+ CategoryExplorerWidget nav = new CategoryExplorerWidget(new CategorySelectHandler() {
+ public void selected(String selectedPath) {
+ list.loadRulesForCategoryPath(selectedPath);
+ }
+ });
+
+ FlexCellFormatter formatter = table.getFlexCellFormatter();
+
+ table.setWidget( 0, 0, nav );
+ table.setWidget( 0, 1, list);
+
+ 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, "" );
+
+ Image newRule = new Image("images/new_rule.gif");
+ newRule.setTitle( "Create new rule" );
+ newRule.addClickListener( new ClickListener() {
+
+ public void onClick(Widget w) {
+ int left = 70;//w.getAbsoluteLeft() - 10;
+ int top = 100; //w.getAbsoluteTop() - 10;
+
+ NewRuleWizard pop = new NewRuleWizard();
+ pop.setPopupPosition( left, top );
+
+ pop.show();
+ }
+
+ });
+
+ table.setWidget( 1, 0, newRule);
+ formatter.setHeight( 1, 0, "5%" );
+ formatter.setAlignment( 1, 0, HasHorizontalAlignment.ALIGN_CENTER, HasVerticalAlignment.ALIGN_TOP);
+ formatter.setStyleName( 1, 0, "rule-explorer-NewPopups" );
+
+
+
+ return table;
+ }
+
+}
Added: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/common/FormStyleLayout.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/common/FormStyleLayout.java 2006-11-15 12:53:24 UTC (rev 7613)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/common/FormStyleLayout.java 2006-11-15 13:00:08 UTC (rev 7614)
@@ -0,0 +1,58 @@
+package org.drools.brms.client.common;
+
+import com.google.gwt.user.client.ui.Composite;
+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.Image;
+import com.google.gwt.user.client.ui.Label;
+import com.google.gwt.user.client.ui.Widget;
+import com.google.gwt.user.client.ui.FlexTable.FlexCellFormatter;
+
+/**
+ * This form style class is to be extended to provide
+ * "form style" dialogs (eg in a popup).
+ *
+ * @author Michael Neale
+ */
+public class FormStyleLayout extends Composite {
+
+ private FlexTable layout = new FlexTable();
+ private FlexCellFormatter formatter = layout.getFlexCellFormatter();
+ private int numInLayout = 0;
+
+ public FormStyleLayout(String image, String title) {
+ addHeader( image, title );
+ initWidget( layout );
+ }
+
+ /**
+ * Add a widget to the "form".
+ */
+ protected void addAttribute(String lbl,
+ Widget editor) {
+ Label label = new Label(lbl);
+ layout.setWidget( numInLayout, 0, label );
+ formatter.setAlignment( numInLayout, 0, HasHorizontalAlignment.ALIGN_RIGHT, HasVerticalAlignment.ALIGN_TOP );
+ layout.setWidget( numInLayout, 1, editor );
+ formatter.setAlignment( numInLayout, 1, HasHorizontalAlignment.ALIGN_LEFT, HasVerticalAlignment.ALIGN_TOP );
+
+ numInLayout++;
+
+ }
+
+ /**
+ * Adds a header at the top.
+ */
+ protected void addHeader(String image, String title) {
+ layout.setWidget( 0, 0, new Image(image) );
+ formatter.setAlignment( 0, 0, HasHorizontalAlignment.ALIGN_LEFT, HasVerticalAlignment.ALIGN_TOP );
+
+ Label name = new Label(title);
+ name.setStyleName( "resource-name-Label" );
+
+ layout.setWidget( 0, 1, name );
+ numInLayout++;
+ }
+
+}
Property changes on: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/common/FormStyleLayout.java
___________________________________________________________________
Name: svn:eol-style
+ native
Added: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/common/FormStylePopup.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/common/FormStylePopup.java 2006-11-15 12:53:24 UTC (rev 7613)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/common/FormStylePopup.java 2006-11-15 13:00:08 UTC (rev 7614)
@@ -0,0 +1,45 @@
+package org.drools.brms.client.common;
+
+import com.google.gwt.user.client.ui.Button;
+import com.google.gwt.user.client.ui.ClickListener;
+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 builds on the FormStyleLayout for providing common popup features in a
+ * columnar form layout, with a title and a large (ish) icon.
+ *
+ * @author Michael Neale
+ */
+public class FormStylePopup extends PopupPanel {
+
+ private FormStyleLayout form;
+ private VerticalPanel vert;
+
+ public FormStylePopup(String image,
+ String title) {
+ super( true );
+ form = new FormStyleLayout( image, title );
+ vert = new VerticalPanel();
+
+ vert.add( form );
+
+ Button close = new Button("Close");
+
+ close.addClickListener( new ClickListener() {
+ public void onClick(Widget w) {
+ hide();
+ }
+ });
+
+ vert.add( close );
+
+ add( vert );
+ }
+
+ public void addAttribute(String label, Widget wid) {
+ form.addAttribute( label, wid );
+ }
+
+}
Property changes on: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/common/FormStylePopup.java
___________________________________________________________________
Name: svn:eol-style
+ native
Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/ActionToolbar.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/ActionToolbar.java 2006-11-15 12:53:24 UTC (rev 7613)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/ActionToolbar.java 2006-11-15 13:00:08 UTC (rev 7614)
@@ -1,13 +1,23 @@
package org.drools.brms.client.ruleeditor;
+import org.drools.brms.client.common.FormStyleLayout;
+import org.drools.brms.client.common.FormStylePopup;
+import org.drools.brms.client.rpc.MetaData;
+
+import com.google.gwt.user.client.Command;
+import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.ClickListener;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.HTML;
+import com.google.gwt.user.client.ui.HasHorizontalAlignment;
import com.google.gwt.user.client.ui.HorizontalPanel;
import com.google.gwt.user.client.ui.Hyperlink;
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.MenuBar;
+import com.google.gwt.user.client.ui.MenuItem;
+import com.google.gwt.user.client.ui.PopupPanel;
import com.google.gwt.user.client.ui.TextBox;
import com.google.gwt.user.client.ui.Widget;
@@ -19,10 +29,9 @@
public class ActionToolbar extends Composite {
private HorizontalPanel panel = new HorizontalPanel();
- private ClickListener changeState;
- private ClickListener close;
- private ClickListener checkin;
+ private Command closeCommand;
+ private MetaData metaData;
/**
* TODO:
* * Maybe move current state to here from meta data?
@@ -30,31 +39,73 @@
* * need to somehow refresh on checkin? (or just close?)
*
*/
- public ActionToolbar(ClickListener checkin, ClickListener close, ClickListener changeState) {
- this.checkin = checkin;
- this.close = close;
- this.changeState = changeState;
+ public ActionToolbar(final MetaData meta,
+ final ClickListener checkin,
+ final ClickListener changeState) {
- ListBox actions = new ListBox();
- actions.addItem( "-- actions --" );
- actions.addItem( "Check in changes", "checkin" );
- actions.addItem( "Change status", "status" );
+ this.metaData = meta;
- panel.add( actions );
-
- panel.add( new Label("Current status: ") );
- panel.add( new TextBox() );
+ String status = metaData.state;
- panel.add( new HTML(" ") );
+
- panel.add( new Label("Close: ") );
- panel.add( new Image("images/remove_item.gif") );
+ Label state = new Label("Status: [" + status + "] ");
+ panel.add( state );
+ Image editState = new Image("images/edit.gif");
+ editState.setTitle( "Change state." );
+ panel.add( editState );
+ Image save = new Image("images/save_edit.gif");
+ save.setTitle( "Check in changes." );
+ Image closeImg = new Image("images/remove_item.gif");
+ closeImg.setTitle( "Close." );
+ closeImg.addClickListener( new ClickListener() {
+ public void onClick(Widget w) {
+ if (metaData.dirty) {
+ doCloseUnsavedWarning( );
+ } else {
+ //we can actually close
+ closeCommand.execute( );
+ }
+
+ }
+
+ });
+
+
+ panel.add( save );
+ panel.add( closeImg );
initWidget( panel );
}
+ protected void doCloseUnsavedWarning() {
+ final FormStylePopup pop = new FormStylePopup("images/warning-large.png", "WARNING: Un-committed changes.");
+ Button dis = new Button("Discard");
+ pop.addAttribute( "Are you sure you want to disgard changes?", dis );
+
+ dis.addClickListener( new ClickListener() {
+ public void onClick(Widget w) {
+ closeCommand.execute();
+ pop.hide();
+ }
+ });
+
+ pop.setStyleName( "warning-Popup" );
+ pop.setPopupPosition( 100, 200 );
+ pop.show();
+
+ }
+
+ /**
+ * This needs to be set to allow the current viewer to be closed.
+ */
+ public void setCloseCommand(Command c) {
+ this.closeCommand = c;
+ }
+
+
}
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-11-15 12:53:24 UTC (rev 7613)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/MetaDataWidget.java 2006-11-15 13:00:08 UTC (rev 7614)
@@ -1,37 +1,27 @@
package org.drools.brms.client.ruleeditor;
+import org.drools.brms.client.common.FormStyleLayout;
import org.drools.brms.client.rpc.MetaData;
import com.google.gwt.user.client.ui.ChangeListener;
-import com.google.gwt.user.client.ui.Composite;
-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.Image;
import com.google.gwt.user.client.ui.Label;
-import com.google.gwt.user.client.ui.StackPanel;
-import com.google.gwt.user.client.ui.TextArea;
import com.google.gwt.user.client.ui.TextBox;
import com.google.gwt.user.client.ui.Widget;
-import com.google.gwt.user.client.ui.FlexTable.FlexCellFormatter;
/**
* This displays the metadata for a versionable asset.
* It also captures edits, but it does not load or save anything itself.
* @author Michael Neale
*/
-public class MetaDataWidget extends Composite {
+public class MetaDataWidget extends FormStyleLayout {
- private FlexTable layout = new FlexTable();
- private FlexCellFormatter formatter = layout.getFlexCellFormatter();
- private int numInLayout = 0;
+
private MetaData data;
private boolean readOnly;
public MetaDataWidget(String name, boolean readOnly) {
+ super("images/meta_data.gif", name);
this.readOnly = readOnly;
- initWidget( layout );
- addHeader("images/meta_data.gif", name);
}
@@ -129,64 +119,15 @@
- private Widget description() {
- final TextArea box = new TextArea();
- box.setText( data.description );
- box.setVisibleLines( 10 );
- box.setWidth( "100%" );
- box.setStyleName( "rule-viewer-Documentation" );
- ChangeListener listener = new ChangeListener() {
-
- public void onChange(Widget w) {
- data.dirty = true;
- data.description = box.getText();
- }
-
- };
-
- box.addChangeListener( listener );
- return box;
- }
-
-
-
/** used to bind fields in the meta data DTO to the form */
static interface FieldBinding {
void setValue(String val);
String getValue();
}
- /**
- * Adds a header at the top.
- */
- private void addHeader(String image, String title) {
- layout.setWidget( 0, 0, new Image(image) );
- formatter.setAlignment( 0, 0, HasHorizontalAlignment.ALIGN_LEFT, HasVerticalAlignment.ALIGN_TOP );
-
- Label name = new Label(title);
- name.setStyleName( "resource-name-Label" );
-
- layout.setWidget( 0, 1, name );
- numInLayout++;
- }
- /**
- * Add a widget to the "form".
- */
- private void addAttribute(String lbl,
- Widget editor) {
- Label label = new Label(lbl);
- layout.setWidget( numInLayout, 0, label );
- formatter.setAlignment( numInLayout, 0, HasHorizontalAlignment.ALIGN_RIGHT, HasVerticalAlignment.ALIGN_TOP );
- layout.setWidget( numInLayout, 1, editor );
- formatter.setAlignment( numInLayout, 1, HasHorizontalAlignment.ALIGN_LEFT, HasVerticalAlignment.ALIGN_TOP );
-
- numInLayout++;
-
- }
-
/**
* This is used if the data is dirty, ie change pending save.
*/
Modified: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/RuleViewer.java
===================================================================
--- labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/RuleViewer.java 2006-11-15 12:53:24 UTC (rev 7613)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/client/ruleeditor/RuleViewer.java 2006-11-15 13:00:08 UTC (rev 7614)
@@ -3,6 +3,7 @@
import java.util.HashMap;
import java.util.Map;
+import org.drools.brms.client.RulesFeature;
import org.drools.brms.client.breditor.BREditor;
import org.drools.brms.client.common.ErrorPopup;
import org.drools.brms.client.rpc.MetaData;
@@ -10,6 +11,7 @@
import org.drools.brms.client.rpc.RuleAsset;
import org.drools.brms.client.rpc.TextData;
+import com.google.gwt.user.client.Command;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.ClickListener;
@@ -34,8 +36,10 @@
private final String resourceUUID;
private final String name;
private final String format;
- private MetaData metaData;
- private SimplePanel panel = new SimplePanel();
+ private Command closeCommand;
+
+
+ final private SimplePanel panel = new SimplePanel();
protected RuleAsset asset;
/**
@@ -43,11 +47,11 @@
* @param format The type of resource (may determine what editor is used).
* @param name The name to be displayed.
*/
- public RuleViewer(String UUID, String format, String name) {
+ public RuleViewer(RulesFeature parent, String UUID, String format, String name) {
this.resourceUUID = UUID;
this.name = name;
this.format = format;
-
+
//just pad it out a bit, so it gets the layout right - it will be loaded later.
FlexTable layout = new FlexTable();
layout.setWidget( 0, 0, new Label("Loading ...") );
@@ -75,46 +79,46 @@
* also determines what widgets to load up).
*/
private void doWidgets() {
- metaData = asset.metaData;
-
final MetaDataWidget metaWidget = new MetaDataWidget(this.name, false);
- FlexTable layout = new FlexTable();
+ final FlexTable layout = new FlexTable();
//now the main layout table
FlexCellFormatter formatter = layout.getFlexCellFormatter();
layout.setWidget( 0, 0, metaWidget );
- formatter.setRowSpan( 0, 0, 4 );
+ formatter.setRowSpan( 0, 0, 3 );
formatter.setWidth( 0, 0, "40%" );
-
//and now the action widgets (checkin/close etc).
- layout.setWidget( 1, 1, new ActionToolbar(null, null, null) );
+ ActionToolbar toolbar = new ActionToolbar(asset.metaData, null, null);
+ toolbar.setCloseCommand(new Command() {
+ public void execute() {
+ closeCommand.execute();
+ }
+ });
+
+ layout.setWidget( 0, 1, toolbar );
formatter.setAlignment( 0, 1, HasHorizontalAlignment.ALIGN_RIGHT, HasVerticalAlignment.ALIGN_MIDDLE );
-// formatter.setWidth( 0, 1, "60%");
-
-// formatter.setStyleName( 0, 1, "outline-Debug" );
-// formatter.setStyleName( 1, 1, "outline-Debug" );
-// formatter.setStyleName( 2, 1, "outline-Debug" );
-// formatter.setStyleName( 0, 0, "outline-Debug" );
+ //REMEMBER: subsequent rows have only one column, doh that is confusing !
+ //GAAAAAAAAAAAAAAAAAAAAAAAAAAH
+
//depending on the format, load the appropriate editor
- if (metaData.format.equals( "DSL" )) {
+ if (asset.metaData.format.equals( "DSL" )) {
BREditor ed = new BREditor();
- layout.setWidget( 2, 1, ed );
+ layout.setWidget( 1, 0, ed );
} else {
DefaultRuleContentWidget ed = new DefaultRuleContentWidget((TextData) asset.content);
- layout.setWidget( 2, 1, ed );
+ layout.setWidget( 1, 0, ed );
}
+
-
-
//the document widget
final RuleDocumentWidget doco = new RuleDocumentWidget();
- layout.setWidget( 3, 1, doco );
+ layout.setWidget( 2, 0, doco );
- metaWidget.loadData( metaData );
- doco.loadData( metaData );
+ metaWidget.loadData( asset.metaData );
+ doco.loadData( asset.metaData );
panel.clear();
@@ -122,8 +126,14 @@
}
+ /**
+ * This needs to be called to allow the opened viewer to close itself.
+ * @param c
+ */
+ public void setCloseCommand(Command c) {
+ this.closeCommand = c;
+ }
-
}
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-11-15 12:53:24 UTC (rev 7613)
+++ labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/JBRMS.css 2006-11-15 13:00:08 UTC (rev 7614)
@@ -254,6 +254,12 @@
border: 2px solid #87B3FF;
}
+.warning-Popup {
+ border: 2px solid #87B3FF;
+ background-color: white;
+}
+
+
.ks-popups-Popup {
background-color: #FDFCDC;
border: 1px solid #87B3FF;
Added: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/images/save_edit.gif
===================================================================
(Binary files differ)
Property changes on: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/images/save_edit.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/images/warning-large.png
===================================================================
(Binary files differ)
Property changes on: labs/jbossrules/trunk/drools-jbrms/src/main/java/org/drools/brms/public/images/warning-large.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
More information about the jboss-svn-commits
mailing list