public boolean canPaste( ListScreen source, Selection selection, CommandContext context, SelectionItem parentItem) { CopyAndPaste dao = getDao(context.getScreen()); Object parent = getParent(parentItem, context); for (SelectionItem item : selection) { if (!dao.canPasteCopy(item.getObject(), parent)) { return false; } } return true; }
@Override public boolean isEnabled(CommandContext context, Selection selection) { if (selection.isEmpty()) { return false; } CopyAndPaste dao = getDao(context.getScreen()); for (SelectionItem item : selection) { if (!dao.canCopy(item.getObject())) { return false; } } return true; }
private Object getParent(SelectionItem parentItem, CommandContext context) { Object parent = parentItem.getObject(); if (parent == null) { parent = context.getParent(); } return parent; }
public void paste( ListScreen source, Selection selection, CommandContext context, SelectionItem parentItem, NotificationResult notification) { CopyAndPaste dao = getDao(context.getScreen()); Object parent = getParent(parentItem, context); for (SelectionItem item : selection) { dao.pasteCopy(item.getObject(), parent); } notification.setDefaultMessage("{0,choice,1#Item has|1<{0} items have} been copied."); }