}
}
}
} );
Toolbar tb = new Toolbar();
Menu menu = new Menu();
menu.addItem( new Item( constants.AddRow(),
new BaseItemListenerAdapter() {
public void onClick(BaseItem item,
EventObject e) {
Record r = recordDef.createRecord( new Object[recordDef.getFields().length] );
r.set( "num",
store.getRecords().length + 1 ); //NON-NLS
store.add( r );
}
} ) );
menu.addItem( new Item( constants.AddRowBeforeSelectedRow(),
new BaseItemListenerAdapter() {
public void onClick(BaseItem item,
EventObject e) {
Record[] selectedRows = grid.getSelectionModel().getSelections();
if ( selectedRows.length == 1 ) {
int selected = selectedRows[0].getAsInteger( "num" );
Record newRecord = recordDef.createRecord( new Object[recordDef.getFields().length] );
Record[] records = store.getRecords();
for ( int i = 0; i < records.length; i++ ) {
Record temp = records[i];
int num = temp.getAsInteger( "num" );
if ( num == selected ) {
newRecord.set( "num",
num ); //NON-NLS
temp.set( "num",
num + 1 ); //NON-NLS
store.addSorted( newRecord );
} else if ( num > selected ) {
temp.set( "num",
num + 1 ); //NON-NLS
}
}
} else {
ErrorPopup.showMessage( constants.PleaseSelectARow() );
}
}
} ) );
menu.addItem( new Item( constants.RemoveSelectedRowS(),
new BaseItemListenerAdapter() {
public void onClick(BaseItem item,
EventObject e) {
Record[] selected = grid.getSelectionModel().getSelections();
if ( com.google.gwt.user.client.Window.confirm( constants.AreYouSureYouWantToDeleteTheSelectedRowS() ) ) {
for ( int i = 0; i < selected.length; i++ ) {
store.remove( selected[i] );
}
renumber( store.getRecords() );
}
}
} ) );
menu.addItem( new Item( constants.CopySelectedRowS(),
new BaseItemListenerAdapter() {
public void onClick(BaseItem item,
EventObject e) {
Record[] selected = grid.getSelectionModel().getSelections();
for ( int i = 0; i < selected.length; i++ ) {
Record r = recordDef.createRecord( new Object[recordDef.getFields().length] );
Record orig = selected[i];
for ( int j = 0; j < fds.length; j++ ) {
r.set( fds[j].getName(),
orig.getAsString( fds[j].getName() ) );
}
store.add( r );
}
renumber( store.getRecords() );
}
} ) );
// Menu subMenu = new Menu();
// subMenu.addItem( new Item( "Move up",
// new BaseItemListenerAdapter() {
// public void onClick(BaseItem item,
// EventObject e) {
// Record[] selected = grid.getSelectionModel().getSelections();
// if ( selected.length == 1 ) {
// Record from = selected[0];
//
// grid.getSelectionModel().selectPrevious();
//
// selected = grid.getSelectionModel().getSelections();
// Record to = selected[0];
//
// changeRowPositions( from,
// to );
//
// } else {
// // TODO: Popup: Please select one.
// }
// }
// } ) );
// subMenu.addItem( new Item( "Move down",
// new BaseItemListenerAdapter() {
// public void onClick(BaseItem item,
// EventObject e) {
// Record[] selected = grid.getSelectionModel().getSelections();
// if ( selected.length == 1 ) {
// Record from = selected[0];
//
// grid.getSelectionModel().selectNext();
//
// selected = grid.getSelectionModel().getSelections();
// Record to = selected[0];
//
// changeRowPositions( from,
// to );
//
// } else {
// // TODO: Popup: Please select one.
// }
// }
// } ) );
// subMenu.addItem( new Item( "Switch selected",
// new BaseItemListenerAdapter() {
// public void onClick(BaseItem item,
// EventObject e) {
// Record[] selected = grid.getSelectionModel().getSelections();
// if ( selected.length == 2 ) {
//
// changeRowPositions( selected[0],
// selected[1] );
// } else {
// // TODO: Popup: Please select two.
// }
// }
// } ) );
// menu.addItem( new com.gwtext.client.widgets.menu.MenuItem( "Move",
// subMenu ) );
ToolbarMenuButton tbb = new ToolbarMenuButton( constants.Modify(),
menu );
tb.addButton( tbb );
grid.add( tb );
return grid;
}