Feedback(反馈)详述一
Feedback用于对gef编辑器操作的反馈,最常见的是一些鬼影效果。
?
?
1.Feedback的调用:
每个gef编辑器都有一个EditDomain对象,EditDomain主要是用于触发事件用的,这样说真的很不负责任。但是,事件的转发确实是它的主要责任之一。首先它会获取到事件源,然后获取到当前活动的ActiveTool,然后转发给当前活动的ActiveTool。至于事件是如何响应的,如何处理的,都是由Tool来处理的。(关于EditDomain和tool这块在另一篇文章里面有描述)
由于事件的响应都是由ActiveTool处理的,EditDomain只做转发,所以,最源头调用Feedback的地方是各个ActiveTool,这个获取一下引用就能够找到了,包括最终销毁Feedback效果也是在ActiveTool里面处理的。
?
?
2.Feedback的创建:
尽管调用是在ActiveTool里面,但是创建却是在EditPart里面,在EditPart接口里面定义了四个方法:
?
protected void addFeedback(IFigure figure) {getFeedbackLayer().add(figure);}?
具体的实现细节自己把握。
?
?