element.java

来自「对eclipse gef进行封装,可以生成图形化编辑器」· Java 代码 · 共 156 行

JAVA
156
字号
/*******************************************************************************
 * $Header: /cvsroot/EOS6/work_dir/niegy/com.primeton.studio.gef.ui/src/com/primeton/studio/gef/ui/properties/Element.java,v 1.4 2006/12/30 02:45:04 niegy Exp $
 * $Revision: 1.4 $
 * $Date: 2006/12/30 02:45:04 $
 *
 *==============================================================================
 *
 * Copyright (c) 2001-2006 Primeton Technologies, Ltd.
 * All rights reserved. 
 * 
 * Created on 2006-10-30
 *******************************************************************************/


package com.primeton.studio.gef.ui.properties;

import java.lang.reflect.Method;
import java.util.Iterator;
import java.util.List;

import org.eclipse.ui.IEditorPart;
import org.eclipse.ui.views.properties.IPropertyDescriptor;

import com.primeton.studio.gef.core.Connection;
import com.primeton.studio.gef.core.Diagram;
import com.primeton.studio.gef.core.NodeElement;
import com.primeton.studio.gef.ui.parts.ExtenderReader;
import com.primeton.studio.gef.ui.util.PathUtil;

/**
 * TODO此处填写 class 信息
 *
 * @author niegy (mailto:niegy@primeton.com)
 */
/*
 * 修改历史
 * $Log: Element.java,v $
 * Revision 1.4  2006/12/30 02:45:04  niegy
 * 重构代码
 *
 * Revision 1.3  2006/12/16 09:04:42  niegy
 * 重构代码
 *
 * Revision 1.2  2006/12/05 05:18:59  niegy
 * 修改模型,增加连线的扩展点
 *
 * Revision 1.1  2006/11/22 07:07:38  niegy
 * 增加table
 *
 * Revision 1.1  2006/11/17 03:33:20  niegy
 * create
 * 
 */
public class Element implements IPropertyObject {

    private com.primeton.studio.gef.core.Element element;
    private String pluginId;
    
    protected Element(com.primeton.studio.gef.core.Element node,String pluginId) {
        element = node;
        this.pluginId = pluginId;
    }
    
    
    public com.primeton.studio.gef.core.Element getElement(){
        return element;
    }
    protected String path =  ExtenderReader.getInstance().getFilePath(pluginId);//PathUtil.pluginInstallPath(BizUiPlugin.getDefault(),
//   "config/biz.xml"); 
    
    
    protected String getPropertyName() {
    	if(element instanceof Diagram){
    		Diagram diagram = ExtenderReader.getInstance().getEditPartFactory(pluginId).getDiagram();
    		String value = diagram.getName();
    		return value;
    	}
    	List list = ExtenderReader.getInstance().getPaletteEntryList(pluginId);
    	if(element instanceof Connection)
    		list = ExtenderReader.getInstance().getPaletteLineList(pluginId);
		for (Iterator iter = list.iterator(); iter.hasNext();) {
        	try{
				List entry = (List) iter.next();
				String name = (String)entry.get(1);
				Object targetObj = entry.get(2);
				if(element.getClass().equals(targetObj.getClass())){
					return name;
				}				
					
        	}
        	catch(Exception e){
        		e.printStackTrace();
        	}
		} 
           return "";
    }
    
    /* (non-Javadoc)
     * @see com.huawei.enip.ide.dsb.dataflow.ui.properties.IPropertyObject#getEditableValue()
     */
    public Object getEditableValue() {
        // TODO Auto-generated method stub
        return new PropertyElement(element,pluginId);
    }

    /* (non-Javadoc)
     * @see com.huawei.enip.ide.dsb.dataflow.ui.properties.IPropertyObject#getPropertyDescriptors()
     */
    public IPropertyDescriptor[] getPropertyDescriptors() {
        // TODO Auto-generated method stub
        return NodePropertyReader.getInstance().getPropertyDescriptors(getPropertyFilePath(), getPropertyName(), this);
    }

    /* (non-Javadoc)
     * @see com.huawei.enip.ide.dsb.dataflow.ui.properties.IPropertyObject#getPropertyValue(java.lang.Object)
     */
    public Object getPropertyValue(Object id) {
        // TODO Auto-generated method stub
        return NodePropertyReader.getInstance().getPropertyValue(getPropertyFilePath(), getPropertyName(), this, id);
    }

    /* (non-Javadoc)
     * @see com.huawei.enip.ide.dsb.dataflow.ui.properties.IPropertyObject#setPropertyValue(java.lang.Object, java.lang.Object)
     */
    public void setPropertyValue(Object id, Object value) {
        // TODO Auto-generated method stub
    	NodePropertyReader.getInstance().setPropertyValue(getPropertyFilePath(), getPropertyName(), this, id, value);
    }

    /* (non-Javadoc)
     * @see com.huawei.enip.ide.dsb.dataflow.ui.properties.IPropertyObject#setEditorPart(org.eclipse.ui.IEditorPart)
     */
    public void setEditorPart(IEditorPart part) {
        // TODO Auto-generated method stub

    }

    /* (non-Javadoc)
     * @see com.huawei.enip.ide.dsb.dataflow.ui.properties.IPropertyObject#getEditorPart()
     */
    public IEditorPart getEditorPart() {
        // TODO Auto-generated method stub
        return null;
    }
    
    protected String getPropertyFilePath() {
//        if(path==null)
//            path =  PathUtil.pluginInstallPath(BizUiPlugin.getDefault(),
//         "config/biz.xml"); 
    	path =  ExtenderReader.getInstance().getFilePath(pluginId);
        return path;
    }


}

⌨️ 快捷键说明

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