📄 deleteaction.java
字号:
/*
* Created on 2003-4-10
*
*/
package net.sf.pim.action;
import net.sf.component.table.BindedTableViewer;
import net.sf.pim.UiUtil;
import net.sf.pim.model.psp.Work;
import org.eclipse.jface.dialogs.MessageDialog;
/**
* @author lzhang
*/
public class DeleteAction extends UiAction {
public DeleteAction() {
super();
name = "删除";
gif = "delete.gif";
}
public void run() {
super.run();
if(UiUtil.getActiveTableEditor().getName().equals("日志")){
if (parent.isMulti())
return;
//修正了没有选择记录时也弹出对话框的问题
int index = parent.getTv().getTable().getSelectionIndex();
if (index == -1)
return;
if (!MessageDialog.openConfirm(parent.getTv().getControl().getShell(), "确认", "是否要确认删除此项工作记录?"))
return ;
Work[] list = parent.getData().getWorks();
Work[] nList = new Work[list.length - 1];
for (int i = 0; i < list.length; i++) {
if (i > index) {
nList[i - 1] = list[i];
nList[i - 1].setWid(String.valueOf(i));
}
else if (i < index)
nList[i] = list[i];
}
parent.getTv().setInput(nList);
parent.setDirty(true);
if (index > 0){
parent.getTv().getTable().setSelection(index - 1);
parent.getTableCursor().setSelection(index-1, parent.getTableCursor().getColumn());
}
//可以将记录全部删除,系统会自动保留一条记录,用于保存日志使用。
if (list.length == 1){
nList = new Work[1];
Work work = new Work();
work.setRq(parent.getWorkDay());
work.setWid(String.valueOf(1));
nList[0] = work;
parent.getTv().setInput(nList);
parent.getTv().getTable().setSelection(0);
parent.getTableCursor().setSelection(0, parent.getTableCursor().getColumn());
}
}else{
BindedTableViewer btv=UiUtil.getActiveTableEditor().getViewer();
if(!btv.getModel().isEditable())
return ;
int index = btv.getTable().getSelectionIndex();
if ( index < 0 || index>btv.getTable().getItemCount() -1) return;
if (!MessageDialog.openConfirm(btv.getShell(), "确认", "是否要确认删除此项记录?"))
return ;
btv.getModel().removeRow( index);
btv.getModel().setDirty(true);
btv.refresh(false);
if(index > 0){
btv.getTable().setSelection(index -1);
btv.getTableCursor().setSelection(index-1, btv.getTableCursor().getColumn());
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -