addaction.java

来自「mywork是rcp开发的很好的例子」· Java 代码 · 共 56 行

JAVA
56
字号
/*
 * Created on 2003-4-10
 *
 * To change the template for this generated file go to
 * Window>Preferences>Java>Code Generation>Code and Comments
 */
package net.sf.pim.action;

import net.sf.component.table.BindedTableViewer;
import net.sf.pim.UiUtil;
import net.sf.pim.model.psp.Work;
import net.sf.util.persistence.IEntry;

/**
 * @author lzhang <p/> To change the template for this generated type comment go
 *         to Window>Preferences>Java>Code Generation>Code and Comments
 */
public class AddAction extends UiAction {
	public AddAction() {
		super();
		name = "增加";
		gif = "add.gif";
	}

	public void run() {
		super.run();
		if (UiUtil.getActiveTableEditor().getName().equals("日志")) {
			if (parent.isMulti())
				return;

			// 增加一条新的工作记录
			IEntry[] list = parent.getData().getWorks();
			int len = list.length;
			IEntry[] nList = new IEntry[len + 1];
			System.arraycopy(list, 0, nList, 0, len);
			Work work = new Work();
			work.setRq(parent.getWorkDay());
			work.setWid(String.valueOf(nList.length));
			nList[len] = work;
			parent.getTv().setInput(nList);
			parent.getTv().getTable().setSelection(len);
			parent.getTableCursor().setSelection(len, parent.getTableCursor().getColumn());
		} else {
			BindedTableViewer btv = UiUtil.getActiveTableEditor().getViewer();
			if (!btv.getModel().isEditable())
				return;
			btv.getModel().addRow(btv.getModel().createRow());
			btv.getModel().setDirty(true);
			btv.refresh(false);
			btv.getTable().setSelection(btv.getModel().getItemCount()-1);
			btv.getTableCursor().setSelection(btv.getModel().getItemCount()-1, btv.getTableCursor().getColumn());
		}

	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?