1.在action中获得shell
ColorDialog dialog=new ColorDialog(this.getWorkbenchPart().getSite().getShell());
2.检验属性视图中的值是否合法可以参照下面代码
for (int i = 0; i < 4; i++) {
((PropertyDescriptor) descriptors[i]).setValidator(new ICellEditorValidator() {
public String isValid(Object value) {
int intValue = -1;
try {
intValue = Integer.parseInt((String) value);
} catch (NumberFormatException exc) {
return "Not a number";
}
return (intValue >= 0) ? null : "Value must be >= 0";
}
});
}
返回null说明合法,其它值说明不合法
3.从路径中获得Image
protected static Image createImage(String path) {
return ShapesPlugin.getImageDescriptor(path).createImage();
}
4.一些EditPolicy总结
EditPolicy.COMPONENT_ROLE:允许从容器中删除孩子模型
EditPolicy.GRAPHICAL_NODE_ROLE:允许从该模型中画连接线
EditPolicy.DIRECT_EDIT_ROLE:允许对模型进行直接编辑功能
EditPolicy.LAYOUT_ROLE:加入这个使得对应的模型的children可以改变大小。。增加子模型
EditPolicy.CONTAINER_ROLE:对容器中移动图形,无父图形的操作
EditPolicy.CONNECTION_ENDPOINTS_ROLE:使得连接线出现控制点
EditPolicy.CONNECTION_ROLE:使得连接线可以被删除
5.