学习mywork源码速记

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.

你可能感兴趣的:(学习)