windchill学习之action的filter注册

刚进公司没多久,正在学习windchill,并试着写filter来控制action的可用以及显示问题。下面即是我的操作(是通过验证的操作):

一、注册action

先在*-actionModels.xml和*-action.xml里面注册自己需要添加的action,如图:

windchill学习之action的filter注册_第1张图片

二、写一个控制action的filter类,如图:

windchill学习之action的filter注册_第2张图片

此filter类需要继承DefaultSimpleValidationFilter类,并重写preValidateAction方法,然后在codebase下面建文件夹。路径和你这个类的包名一致,例如我这里是ext.hui.test.ValidatorTest,所以要在codebase下面建文件夹ext->hui->test。然后将类编译的class文件拷贝到此目录下,如图:

windchill学习之action的filter注册_第3张图片

三、编写自定义的xconf文件,我这里就定义了文件名为test.properties.xconf的文件,和对应的filter类同目录,内容如下图:

windchill学习之action的filter注册_第4张图片

四、编写好xconf文件后,在Windchill Shell里面执行语句:xconfmanager -i codebase/ext/hui/test/test.properties.xconf -p 

注:codebase/ext/hui/test/test.properties.xconf是你自己定义的xconf路径

执行命令后,可以在/declarations.xconf里面看到最后追加了一个你自定义的xconf,如图:

windchill学习之action的filter注册_第5张图片

同时,在你自定义的xconf文件同目录下,多出一个test.properties文件,如图:

windchill学习之action的filter注册_第6张图片

test.properties内容如图:

windchill学习之action的filter注册_第7张图片

五、重启服务,可看到结果,我这里是右键部件,如果部件的视图是"Manufacturing",则按钮显示但不可用,如果视图是"Design",则按钮可用。测试结果主要看你自己的filter类的逻辑控制,这里只是一个简单的测试,来共享如何实现一个按钮可用、不可用以及是否显示。上面注册action的resourceBundle里面的类,主要是用来控制按钮在界面显示的汉子、图标和tooltip等。

如果这里有不足之处,请大家多多指教,共同学习!!!!

你可能感兴趣的:(windchillPDM)