[导入](接上篇)关于GEF Feedback的补充


作者: liugang594  链接:http://liugang594.javaeye.com/blog/213347  发表时间: 2008年07月10日

声明:本文系JavaEye网站发布的原创博客文章,未经作者书面许可,严禁任何网站转载本文,否则必将追究法律责任!

重复上篇,我们有以下类:

1、模型相关:RouteMap、Homuncule,其中RouteMap含有一个或多个Homuncule

2、Policy相关:HomunculeLayoutPolicy;安装在RouteMapEditPart上用于移动Homuncule或重置它

   的大小

3、EditPart相关:对应于RouteMap的RouteMapEditPart;对应于Homuncule的

   HomunculeEditPart.

 

一个完整的feedback的方法调用请求如下:

 

showLayoutTargetFeedback(Request request)[HomunculeLayoutPolicy]-->showSourceFeedback(Request request)[HomunculeEditPart]-->showSourceFeedback(Request)[ResizableEditPolicy]-->createDragSourceFeedbackFigure()[ResizableEditPolicy]

查找引用关系,可以知道:ResizableEditPolicy对象只在以下处被调用:

createChildEditPolicy(EditPart child)[ConstrainedLayoutEditPolicy]

protected EditPolicy createChildEditPolicy(EditPart child) {
	return new ResizableEditPolicy();
}

 

 

其中ConstrainedLayoutEditPolicy类的层级关系如下图:

所以我们知道,只要重写HomunculeLayoutPolicy的createChildEditPolicy(EditPart child)方法,返回一个ResizableEditPolicy的子类,并重写它的createDragSourceFeedbackFigure()方法即可!


本文的讨论也很精彩,浏览讨论>>


JavaEye推荐




文章来源:http://liugang594.javaeye.com/blog/213347

posted on 2008-07-14 17:48  刘刚  阅读(179)  评论(0编辑  收藏  举报

导航