Repaired Edit Menu
//Edit -> Undo
MenuItem subItem = new MenuItem(menu, SWT.NULL);
subItem.setText(resAddressBook.getString("Undo"));
subItem.setAccelerator(SWT.MOD1 + 'Z');
new MenuItem(menu, SWT.SEPARATOR);
//Edit -> Cut
subItem = new MenuItem(menu, SWT.NULL);
subItem.setText(resAddressBook.getString("Cut"));
subItem.setAccelerator(SWT.MOD1 + 'X');
//Edit -> Copy
subItem = new MenuItem(menu, SWT.NULL);
subItem.setText(resAddressBook.getString("Copy"));
subItem.setAccelerator(SWT.MOD1 + 'C');
subItem.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
TableItem[] items = table.getSelection();
if (items.length == 0) return;
copyBuffer = new String[table.getColumnCount()];
for (int i = 0; i < copyBuffer.length; i++) {
copyBuffer[i] = items[0].getText(i);
}
}
});
//Edit -> Paste
subItem = new MenuItem(menu, SWT.NULL);
subItem.setText(resAddressBook.getString("Paste"));
subItem.setAccelerator(SWT.MOD1 + 'V');
subItem.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
if (copyBuffer == null) return;
TableItem item = new TableItem(table, SWT.NONE);
item.setText(copyBuffer);
isModified = true;
}
});
//Edit -> Delete
subItem = new MenuItem(menu, SWT.NULL);
subItem.setText(resAddressBook.getString("Delete"));
subItem.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
TableItem[] items = table.getSelection();
if (items.length == 0) return;
items[0].dispose();
isModified = true; }
});
new MenuItem(menu, SWT.SEPARATOR);
//Edit -> Edit
subItem = new MenuItem(menu, SWT.CASCADE);
subItem.setText(resAddressBook.getString("Edit"));
subItem.setAccelerator(SWT.MOD1 + 'E');
subItem.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
TableItem[] items = table.getSelection();
if (items.length == 0) return;
editEntry(items[0]);
}
});
//Edit -> Sort(Cascade)
subItem = new MenuItem(menu, SWT.CASCADE);
subItem.setText(resAddressBook.getString("Sort"));
Menu submenu = createSortMenu();
subItem.setMenu(submenu);
return item;