⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pspeditor.java

📁 mywork是rcp开发的很好的例子
💻 JAVA
字号:
package net.sf.pim.plugin.view;

import java.util.Map;

import net.sf.component.calendar.SWTCalendar;
import net.sf.component.config.ConfigHelper;
import net.sf.component.simplenote.SimpleNote;
import net.sf.pim.DefaultTableEditor;
import net.sf.pim.DefaultTableFolder;
import net.sf.pim.UiCore;
import net.sf.pim.UiUtil;
import net.sf.pim.model.psp.WorkList;
import net.sf.util.StringUtil;
import net.sf.util.persistence.DMFactory;
import net.sf.util.persistence.DataException;
import net.sf.util.persistence.IDataManager;

import org.eclipse.jface.action.IAction;
import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.swt.custom.TableCursor;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.ui.part.ViewPart;

public class PspEditor extends ViewPart implements UiCore
{
	/**tableviewer*/
	public TableViewer tv=null;
	public SimpleNote mt=null;
	public SWTCalendar calendar=null;
	/** tablecursor*/
	private TableCursor tc = null;
	/** MsWork */
	private IDataManager idm = null;
	/** 判断文件是否被修改 */
	private boolean isDirty=false;
	/** 判断文件是否能被修改 */
	private boolean isMulti=false;
	/**自身指针*/
	public static PspEditor self=null; 
	/**操作日期*/
	private String workDay=null;

	public PspEditor()
	{
		super();
    	try {
			idm=DMFactory.getDataManager("net.sf.util.persistence.LegacyWorkDataManager",WorkList.class);
		} catch (DataException e) {
			e.printStackTrace();
		}
		//记录自身
		self=this;
	}

	/** 状态栏显示 */
	public void setMyStatus(String chunk)
	{
    	if(UiUtil.getActiveTableEditor().getName().equals("日志"))
    		UiUtil.setStatus("欢迎" + ConfigHelper.getBm() + "的" + ConfigHelper.getRy() + "使用! 当前日期:" + StringUtil.getCurrentDay() + " 操作日期:" + chunk);
    	else if(UiUtil.getActiveTableEditor().getName().indexOf("周") != -1)
    		UiUtil.setStatus("欢迎" + ConfigHelper.getBm() + "的" + ConfigHelper.getRy() + "使用! 当前周期:" + StringUtil.getCurrentWeek() + " 操作周期:" + chunk);
	}
	
	public void createPartControl(Composite parent)
	{
		WorkList wl=null;
		try {
			wl = (WorkList) self.getDataManager().readData(StringUtil.getCurrentDay());
		} catch (DataException e1) {
			e1.printStackTrace();
		}
		
		TableViewer tv = UiUtil.initTableViewer(self,wl, parent);
		tv.getTable().setFont(UiUtil.getFont());
		self.setTv(tv);
		//注册editor
		DefaultTableEditor defaultTableEditor = new DefaultTableEditor("日志",null,null);
		UiUtil.getTableFolder().getEditors().add(defaultTableEditor);
		((DefaultTableFolder)UiUtil.getTableFolder()).setActiveEditor(defaultTableEditor);
	}

	public void setFocus()
	{
		DefaultTableFolder defaultTableFolder = ((DefaultTableFolder)UiUtil.getTableFolder());
		defaultTableFolder.setActiveEditor(defaultTableFolder.findEditorByName("日志"));
		//处理菜单的disable
		Map<String,IAction> actionMap=UiUtil.getActionMap();
		UiCore ui=UiUtil.getInstance();
		for(IAction action:actionMap.values()){
			action.setEnabled(true);
		}
		if(!ui.isMulti()){
			UiUtil.syncCalendar(ui.getWorkDay(),ui.getCalendar());
		}
		ui.setMyStatus(ui.getWorkDay());
//		if(tv != null && tv.getControl() != null)
//			tv.getControl().setFocus();
	}

    public void checkSave() {
    	UiUtil.checkSave(self);
    }
	public void closeApp() {
		checkSave();
        //保存位置
        if(ConfigHelper.getBooleanProperty("work.positionsave")){
        	UiUtil.savePosition();
        }
        UiUtil.getFont().dispose();
	}
	
    public WorkList getData() {
    	return UiUtil.getData(self);
    }
	public TableCursor getTableCursor() {
		return tc;
	}
	public TableViewer getTv() {
		return tv;
	}
	public String getWorkDay() {
		return workDay;
	}
	public boolean isDirty() {
		return isDirty;
	}
	public boolean isMulti() {
		return isMulti;
	}
	public void setDirty(boolean b) {
		isDirty=b;
	}
	public void setMulti(boolean b) {
		isMulti=b;
	}
	public void setTableCursor(TableCursor tc) {
		this.tc=tc;
	}
	public void setWorkDay(String s) {
		workDay=s;
	}
	public void dispose() {
		UiUtil.getFont().dispose();
		super.dispose();
	}
	public IDataManager getDataManager() {
		return idm;
	}
	public SimpleNote getMemoText() {
		return mt;
	}
	public void setData(WorkList workList) {
		getTv().setInput(workList.getWorks());
		getMemoText().setText(workList.getMemo());
	}
	public void setMemoText(SimpleNote mt) {
		this.mt = mt;
	}
	public void setTv(TableViewer tv) {
		this.tv = tv;		
	}
	public SWTCalendar getCalendar() {
		return calendar;
	}
	public void setCalendar(SWTCalendar calendar) {
		this.calendar=calendar;
	}
}

⌨️ 快捷键说明

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