/**
* <p>Copyright: Copyright (c) 2009</p>
* <p>Company: �������ӹɷ�����˾</p>
*/
package com.hundsun.ares.studio.ui.util;
import java.util.List;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.transaction.RecordingCommand;
import org.eclipse.emf.transaction.TransactionalEditingDomain;
import com.hundsun.ares.studio.ui.grid.table.GridTableViewerExComponent;
/**
* ���EMF�ı���Ҽ���������ʱ��������������Ա��IJ�����ӵ�EMF�����ջ�С�
*
* @author mawb
*/
public class AresTableActionHandleProviderForEMF<T extends EObject> extends AresTableActionHandleProvider<T> {
private TransactionalEditingDomain editDomain;
/**
* @param component
* @param data
*/
public AresTableActionHandleProviderForEMF(GridTableViewerExComponent<T> component,
T data, TransactionalEditingDomain editDomain) {
super(component, data);
this.editDomain = editDomain;
}
private void superDelete(List items) {
super.delete(items);
}
private void superAdd(){
super.add();
}
private void superPaste() {
super.paste();
}
private void superCut() {
super.cut();
}
private void superInsert() {
super.insert();
}
/* (non-Javadoc)
* @see com.hundsun.ares.studio.ui.grid.table.GridTableViewerExComponent#delete(java.util.List)
*/
@Override
protected void delete(final List items) {
RecordingCommand command = new RecordingCommand(editDomain) {
@Override
protected void doExecute() {
superDelete(items);
}
};
editDomain.getCommandStack().execute(command);
}
/* (non-Javadoc)
* @see com.hundsun.ares.studio.ui.grid.table.GridTableViewerExComponent#paste()
*/
@Override
public void paste() {
RecordingCommand command = new RecordingCommand(editDomain) {
@Override
protected void doExecute() {
superPaste();
}
};
editDomain.getCommandStack().execute(command);
}
/* (non-Javadoc)
* @see com.hundsun.ares.studio.ui.grid.table.GridTableViewerExComponent#insert()
*/
@Override
public void insert() {
RecordingCommand command = new RecordingCommand(editDomain) {
@Override
protected void doExecute() {
superInsert();
}
};
editDomain.getCommandStack().execute(command);
}
/* (non-Javadoc)
* @see com.hundsun.ares.studio.ui.util.AresTableActionHandleProvider#add()
*/
@Override
public void add() {
RecordingCommand command = new RecordingCommand(editDomain) {
@Override
protected void doExecute() {
superAdd();
}
};
editDomain.getCommandStack().execute(command);
}
}