白玉成的專欄

          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 白玉成 閱讀(283) 評論(0)  編輯  收藏 所屬分類: GMF

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 许昌县| 外汇| 富源县| 万安县| 邛崃市| 南阳市| 土默特左旗| 寻乌县| 普兰县| 屏南县| 天全县| 依兰县| 眉山市| 申扎县| 前郭尔| 达拉特旗| 崇阳县| 元阳县| 黔江区| 施甸县| 衡东县| 鄂伦春自治旗| 盈江县| 志丹县| 咸宁市| 长丰县| 西贡区| 个旧市| 嫩江县| 青龙| 自治县| 九江市| 军事| 清远市| 阿合奇县| 江北区| 台南市| 福建省| 惠水县| 贡嘎县| 明星|