[jboss-svn-commits] JBL Code SVN: r32911 - labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Mon May 17 13:17:53 EDT 2010
Author: baunax
Date: 2010-05-17 13:17:52 -0400 (Mon, 17 May 2010)
New Revision: 32911
Modified:
labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/RuleTemplateEditor.java
Log:
GUVNOR-542 remove rows in the data table.
- remove rows with DEL and Backspace keys.
- edit cell with ENTER key
Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/RuleTemplateEditor.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/RuleTemplateEditor.java 2010-05-17 16:43:47 UTC (rev 32910)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/modeldriven/ui/RuleTemplateEditor.java 2010-05-17 17:17:52 UTC (rev 32911)
@@ -9,6 +9,7 @@
import org.drools.ide.common.client.modeldriven.dt.TemplateModel;
import com.google.gwt.core.client.GWT;
+import com.google.gwt.event.dom.client.KeyCodes;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.Widget;
import com.gwtext.client.core.EventObject;
@@ -31,8 +32,8 @@
import com.gwtext.client.widgets.grid.GridEditor;
import com.gwtext.client.widgets.grid.GridPanel;
import com.gwtext.client.widgets.grid.GridView;
-import com.gwtext.client.widgets.grid.RowSelectionModel;
import com.gwtext.client.widgets.grid.event.EditorGridListenerAdapter;
+import com.gwtext.client.widgets.grid.event.GridListenerAdapter;
import com.gwtext.client.widgets.menu.BaseItem;
import com.gwtext.client.widgets.menu.Item;
import com.gwtext.client.widgets.menu.Menu;
@@ -42,8 +43,10 @@
private TemplateModel model;
private GroupingStore store = null;
+ private EditorGridPanel grid = null;
private RuleModeller ruleModeller;
private Constants constants = ((Constants) GWT.create(Constants.class));
+
public RuleTemplateEditor(RuleAsset asset) {
model = (TemplateModel) asset.content;
@@ -124,7 +127,7 @@
}
store = new GroupingStore(proxy, reader);
store.load();
- final EditorGridPanel grid = new EditorGridPanel(store, cm);
+ grid = new EditorGridPanel(store, cm);
grid.setStripeRows(true);
// GroupingView gv = new GroupingView();
@@ -158,17 +161,24 @@
menu.addItem(new Item(constants.RemoveSelectedRowS(), new BaseItemListenerAdapter() {
public void onClick(BaseItem item, EventObject e) {
- Record[] selected = grid.getSelectionModel().getSelections();
- for (int i = 0; i < selected.length; i++) {
- store.remove(selected[i]);
- model.removeRowById(selected[i].getId());
- }
- grid.doLayout();
+ removeSelectedRows(grid);
}
}));
- grid.setSelectionModel(new RowSelectionModel(false));
-
+ grid.addGridListener(new GridListenerAdapter() {
+
+ public void onKeyPress(EventObject e) {
+ int k = e.getKey();
+ if (k == KeyCodes.KEY_DELETE || k == KeyCodes.KEY_BACKSPACE) {
+ removeSelectedRows(grid);
+ }
+ else if (k == KeyCodes.KEY_ENTER) {
+ int[] selectedCell = grid.getCellSelectionModel().getSelectedCell();
+ grid.startEditing(selectedCell[0], selectedCell[1]);
+ }
+ }
+ });
+// grid.setSelectionModel(new RowSelectionModel(false));
ToolbarMenuButton tbb = new ToolbarMenuButton(constants.Modify(), menu);
tb.addButton(tbb);
grid.add(tb);
@@ -184,6 +194,15 @@
return grid;
}
+ private void removeSelectedRows(EditorGridPanel grid) {
+ if (com.google.gwt.user.client.Window.confirm(constants.AreYouSureYouWantToDeleteTheSelectedRowS())) {
+ int row = grid.getCellSelectionModel().getSelectedCell()[0];
+ Record rec = store.getAt(row);
+ model.removeRowById(rec.getId());
+ store.remove(rec);
+ }
+ }
+
@Override
public void resetDirty() {
super.resetDirty();
More information about the jboss-svn-commits
mailing list