在E4 RCP程序启动的时候 , 会自动生成一个runtime_项目名的文件 , 保存一些配置文件.
其中有一个配置文件deltas.xml , 这个文件中保存着一些信息 ,
例如:
1.项目关闭时 , 窗体的 x坐标,y坐标,长度及宽度.
2.项目关闭时 , 所停留的透视图位置.
3.也许还有其他...
deltas.xml 文件的作用在于 , 在下次启动项目的时候 , 恢复到退出时的样子.
deltas.xml 带来了方便的同时, 也带来了一些弊端 . 例如权限控制.
假设条件:
有两个用户:用户A、用户B。
有两个透视图:透视图A、透视图B。
用户A的权限可以查询透视图A。
用户B的权限可以查询透视图B。
假设用户B登陆系统,查询了透视图B,并退出。那么系统将自动生成deltas.xml文件,保存了退出时你所查看的透视图信息,也就是透视图B。
假设用户A与用户B使用的同一台机器,那么当用户A登陆系统时,系统将加载deltas.xml文件,并跳转到透视图B。
这不是我们想看到了。
目前自己的解决方案是:禁止deltas.xml 文件的生成。
在plugin.xml 中的org.eclipse.core.runtime.products节点中添加一个属性:
name:persistState
valuie:false
弊端:
不能记录关闭前系统的x,y,width,height。
另外有一种想法,那就是在项目在加载完成之后,再修改系统将要显示的透视图。
但苦于不知道如何配置这种事务或者是拦截器,所以无法实现。
顺便在这讨教一下,有知道如何配置加载完成后的拦截器的的请告诉小弟一下,
谢谢。