您的位置:首页 > 编程语言 > Java开发

GEF,EMF,RCP,Eclipse's plugin的几个问题(3) 让eclipse的properies view实现disabled效果

2005-07-28 11:34 483 查看
由于eclipse自己的TextPropertyDescrptor没有disabled属性,所以,在程序中要求
实现某个属性只读比较困难(可能是我没有找到:)),所以,修改了一下
TextPropertyDescrptor,以实现该效果,具体如下:
package com.companyname.projectname.modulename.model.properties;
import org.eclipse.jface.viewers.CellEditor;
import org.eclipse.jface.viewers.TextCellEditor;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.ui.views.properties.TextPropertyDescriptor;
public class MyTextPropertyDescriptor extends TextPropertyDescriptor {
private boolean readonly;

public boolean isReadonly() {
return readonly;
}
public void setReadonly(boolean readonly) {
this.readonly = readonly;
}
public MyTextPropertyDescriptor(Object id, String displayName) {
super(id, displayName);
}

public CellEditor createPropertyEditor(Composite parent) {
CellEditor editor = new TextCellEditor(parent);
//-->这是关键,设置控件的Enabled属性来实现...
if (this.readonly){
editor.getControl().setEnabled(false);
}
//<--
if (getValidator() != null)
editor.setValidator(getValidator());
return editor;
}
其它的PropertyDescriptor类似
在IPropertySource的继承类中,就用这个MyTextPropertyDescriptor替换原来的
TextPropertyDescriptor即可:
PropertyDescriptor descriptor = null;
descriptor = new MyTextPropertyDescriptor(ID_X, ID_X);
//设置分类
descriptor.setCategory("Basic Info");
descriptors.add(descriptor);

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐