umlshape.java
来自「mywork是rcp开发的很好的例子」· Java 代码 · 共 50 行
JAVA
50 行
package net.sf.freenote.uml.model;
import net.sf.freenote.FreeNoteConstants;
import net.sf.freenote.directedit.DirectEditable;
import net.sf.freenote.model.Shape;
import org.eclipse.ui.views.properties.IPropertyDescriptor;
import org.eclipse.ui.views.properties.TextPropertyDescriptor;
/**
* uml派生的shape由UmlShapeEditPart来控制
* 有一个通用的directedit属性
* @author levin
* @since 2008-1-29 下午02:34:49
*/
public abstract class UmlShape extends Shape implements DirectEditable{
private String desc;
public String getDesc() {
return desc==null?desc="":desc;
}
public void setDesc(String name) {
this.desc = name;
firePropertyChange(FreeNoteConstants.DESC_PROPERTY, null, name);
}
@Override
public IPropertyDescriptor[] getPropertyDescriptors() {
IPropertyDescriptor[] propertyDescriptors = super.getPropertyDescriptors();
IPropertyDescriptor[] ret=new IPropertyDescriptor[propertyDescriptors.length+1];
System.arraycopy(propertyDescriptors, 0, ret, 1, propertyDescriptors.length);
ret[0]=new TextPropertyDescriptor(FreeNoteConstants.DESC_PROPERTY, FreeNoteConstants.DESC_PROPERTY);
return ret;
}
@Override
public Object getPropertyValue(Object propertyId) {
if(propertyId.equals(FreeNoteConstants.DESC_PROPERTY))
return getDesc();
return super.getPropertyValue(propertyId);
}
@Override
public void setPropertyValue(Object propertyId, Object value) {
if(propertyId.equals(FreeNoteConstants.DESC_PROPERTY))
setDesc(String.valueOf(value));
super.setPropertyValue(propertyId, value);
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?