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

📄 uicelleditor.java

📁 Eclipse RCP下编写的工作管理软件代码
💻 JAVA
字号:
/*
 * Created on 2003-4-11
 *
 * To change the template for this generated file go to
 * Window>Preferences>Java>Code Generation>Code and Comments
 */
package net.sf.pim.view;

import net.sf.pim.UiCore;
import net.sf.pim.model.psp.Work;
import net.sf.util.ConfigHelper;
import net.sf.util.persistence.IEntry;

import org.eclipse.jface.viewers.ICellModifier;
import org.eclipse.swt.widgets.TableItem;

/**
 * @author lzhang
 *         <p/>
 *         To change the template for this generated type comment go to
 *         Window>Preferences>Java>Code Generation>Code and Comments
 */
public class UiCellEditor implements ICellModifier {
    private UiCore uc;

    public UiCellEditor(UiCore parent) {
        uc = parent;
    }

    public boolean canModify(Object object, String property) {
        //不允许修改多个文件,不允许修改日期和序号
        if (uc.isMulti() || property.equals("rq") || property.equals("wid"))
            return false;
        else
            return true;
    }

    public void modify(Object object, String property, Object value) {
        if (object instanceof TableItem) {
            IEntry work = (IEntry) ((TableItem) object).getData();
            //如果值发生改变,则修改
            if (!((String) work.getProperties().get(property)).equals(value.toString())) {
                //gzfl 及 xmz 是下拉选择框
                if (property.equals("gzfl"))
                    work.setProperty(property, ConfigHelper.getListGzfl()[Integer.parseInt(value.toString())]);
                else if (property.equals("xmz"))
                    work.setProperty(property, ConfigHelper.getListXmz()[Integer.parseInt(value.toString())]);
                else
                    work.setProperty(property, value.toString());
                uc.getTv().refresh();
                uc.setDirty(true);
            }
        }
    }

    public Object getValue(Object object, String property) {
        if (object instanceof Work) {
            IEntry work = (IEntry) object;
            if (property.equals("gzfl") || property.equals("xmz")) {
                String value = (String) work.getProperties().get(property);
                String[] options = null;
                if (property.equals("gzfl"))
                    options = ConfigHelper.getListGzfl();
                else if (property.equals("xmz"))
                    options = ConfigHelper.getListXmz();
                Integer iRet = new Integer(0);
                for (int i = 0; i < options.length; i++)
                    if (value.equals(options[i]))
                        iRet = new Integer(i);
                return iRet;
            }
            else {
                return work.getProperties().get(property);
            }
        }
        else
            return "";
    }
}

⌨️ 快捷键说明

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