xiaoxiaoleemin

          天道酬勤,小小加油
          posts - 19, comments - 12, trackbacks - 0, articles - 0

          修改GMF屬性視圖

          Posted on 2008-04-03 12:53 xiaoxiaoleemin 閱讀(725) 評論(0)  編輯  收藏 所屬分類: GMF
             
                  上圖中紫色的橢圓結點在ecore模型中代表Method,在屬性視圖中可見它的一些屬性。如果要使TimeProperty屬性值為"NONE"時,TimeUnit和Value值分別變為"NONE"和0.0,應該如下修改MethodItemProvider類中的notifyChanged()方法(紫色的代碼是添加的,其他均為GMF生成的):
              public void notifyChanged(Notification notification) {
                  updateChildren(notification);

                  
          switch (notification.getFeatureID(Method.class)) {
                      
          case EventPackage.METHOD__PROPERTY_NAME:
                   
          {
                          
          //如果該項設置為NONE,那么TimeUnit和Value項應該分別設置為NONE和0.0
                          Method owner = (Method)notification.getNotifier();
                          TimeProperty newValue = (TimeProperty)notification.getNewValue();
                          if(newValue.equals(TimeProperty.NONE))
                        {
                              owner.setTimeUnit(TimeUnit.NONE);
                              owner.setValue(0.0);
           
                     
                          }

                       }

                      
          case EventPackage.METHOD__VALUE:
                      
          case EventPackage.METHOD__TIME_UNIT:
                      
          case EventPackage.METHOD__CLASS_NAME:
                      
          case EventPackage.METHOD__METHOD_NAME:
                      
          case EventPackage.METHOD__PARAMETERS:
                      
          case EventPackage.METHOD__RETURN_TYPE:
                          fireNotifyChanged(
          new ViewerNotification(notification, notification.getNotifier(), falsetrue));
                          
          return;
                  }

                  
          super.notifyChanged(notification);
              }
            MethodItemProvider類位于genmodel生成的edit項目中,它相當于Property View的ContentProvider。

             
          主站蜘蛛池模板: 无棣县| 湾仔区| 克东县| 朝阳区| 喀什市| 开远市| 宜宾市| 武安市| 郓城县| 县级市| 忻州市| 武宣县| 陇西县| 宝应县| 缙云县| 高唐县| 蒙阴县| 漠河县| 扎赉特旗| 邢台市| 新绛县| 台中市| 博客| 高陵县| 东乌| 堆龙德庆县| 乌海市| 融水| 南雄市| 句容市| 贡觉县| 尼木县| 宿迁市| 乡城县| 泊头市| 邵武市| 延边| 太和县| 长武县| 福海县| 龙游县|