/**
* <p>Copyright: Copyright (c) 2009</p>
* <p>Company: �������ӹɷ�����˾</p>
*/
package com.hundsun.ares.studio.ui.grid.table;
import org.eclipse.jface.action.Action;
import org.eclipse.jface.action.IMenuManager;
import org.eclipse.jface.action.Separator;
import org.eclipse.ui.actions.ActionGroup;
import com.hundsun.ares.studio.ui.util.ITableActionHandleProvider;
/**
* ���˵��ṩ����
*
* @author mawb
*/
public class GridTableViewerActionGroup extends ActionGroup {
private ITableActionHandleProvider provider;
public GridTableViewerActionGroup(ITableActionHandleProvider provider) {
super();
this.provider = provider;
}
/*
* (non-Javadoc)
*
* @see
* org.eclipse.ui.actions.ActionGroup#fillContextMenu(org.eclipse.jface.
* action.IMenuManager)
*/
@Override
public void fillContextMenu(IMenuManager manager) {
if (provider.canAdd()) {
manager.add(new AddAction());
}
if (provider.canInsert()) {
manager.add(new InsertAction());
}
if (provider.canCopy()) {
manager.add(new Separator());
manager.add(new CopyAction());
}
if (provider.canCut()) {
manager.add(new CutAction());
}
if (provider.canPaste()) {
manager.add(new PasteAction());
}
if (provider.canDelete()) {
manager.add(new Separator());
manager.add(new DeleteAction());
}
}
protected class AddAction extends Action {
public AddAction() {
super(Messages.getString("grid.table.action.add")); //$NON-NLS-1$
}
/*
* (non-Javadoc)
*
* @see org.eclipse.jface.action.Action#run()
*/
@Override
public void run() {
provider.add();
}
}
protected class CopyAction extends Action {
public CopyAction() {
super(Messages.getString("grid.table.action.copy")); //$NON-NLS-1$
}
/*
* (non-Javadoc)
*
* @see org.eclipse.jface.action.Action#run()
*/
@Override
public void run() {
provider.copy();
}
}
protected class CutAction extends Action {
public CutAction() {
super(Messages.getString("grid.table.action.cut")); //$NON-NLS-1$
}
/*
* (non-Javadoc)
*
* @see org.eclipse.jface.action.Action#run()
*/
@Override
public void run() {
provider.cut();
}
}
protected class PasteAction extends Action {
public PasteAction() {
super(Messages.getString("grid.table.action.paste")); //$NON-NLS-1$
}
/*
* (non-Javadoc)
*
* @see org.eclipse.jface.action.Action#run()
*/
@Override
public void run() {
provider.paste();
}
}
protected class DeleteAction extends Action {
public DeleteAction() {
super(Messages.getString("grid.table.action.delete")); //$NON-NLS-1$
}
/*
* (non-Javadoc)
*
* @see org.eclipse.jface.action.Action#run()
*/
@Override
public void run() {
provider.delete();
}
}
protected class InsertAction extends Action {
public InsertAction() {
super(Messages.getString("grid.table.action.insert")); //$NON-NLS-1$
}
@Override
public void run() {
provider.insert();
}
}
}