白玉成的专栏

Eclipse,让我欢喜让我忧!

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  17 随笔 :: 0 文章 :: 6 评论 :: 0 Trackbacks
 Decoration ServiceGMF Runtime提供的一个Service。它的目的是为已有图形添加修饰,它并不需要已有图形的任何信息,iconfigure都可以作为decoration加到图形上。要为图形添加Decoration,首先要编写一个Decorator类。它可以继承AbstractDecorator,为了满足要求我们要重写其中两个方法:activate()refresh ()activate方法主要功能是激活Decorator,一般只需调用refresh方法即可。Refresh负责当decorator target变化时刷新Decorator,即保持二者之间的同步。在这里我们就可以设置自己的Decoration(如自定义的iconfigure)。如果想实现Decoration动态响应模型的改变,我们可以让Decorator实现NotificationListener接口,这样我们就可以监听模型的改变了。实现notifyChanged方法,在此方法中根据需求为模型添加监听器。做完Decorator之后,我们就要为这个Decorator编写一个Provider,它需继承AbstractProvider并实现IDecoratorProvider接口。然后实现createDecoratorsprovides两个方法。在createDecorators方法中安装我们的Decorator

Provides中判断添加Decorator的条件。最后就要注册我们的Provider了。添加扩展点:

org.eclipse.gmf.runtime.diagram.ui.decorator.providers,将decoration provider设成我们的Provider,至此大功造成!
posted on 2008-11-25 22:11 白玉成 阅读(262) 评论(0)  编辑  收藏 所属分类: GMF

只有注册用户登录后才能发表评论。


网站导航: