Dengues Studio: Google Group:http://groups.google.com/group/dengues; QQ Group:24885404.
          關于如何配置GEF中的Palette

          參考Dengues源代碼: org.dengues.designer.ui.process.editors.GEFComponentsEditor。在一個Editor里面重寫getPaletteRoot()方法。可以返回一個PaletteRoot。但是要配置Palette就要覆蓋 getPalettePreferences();返回一個FlyoutPreferences主要需要三個參數:
          public int getDockLocation() {
          return getPreferenceStore().getInt(IDenguesPrefsConstant.PALETTE_DOCK_LOCATION);
          }

          public int getPaletteState() {
          return getPreferenceStore().getInt(IDenguesPrefsConstant.PALETTE_STATE);
          }

          public int getPaletteWidth() {
          return getPreferenceStore().getInt(IDenguesPrefsConstant.PALETTE_SIZE);
          }
          這三個參數的值范圍:
          getDockLocation()的參數有:
          1.PositionConstants.EAST表示Palette在右邊或說東邊,這個是默認值。
          2.PositionConstants.WEST表示Palette在左邊或說西邊。
          getPaletteState()的參數有:
          1.FlyoutPaletteComposite.STATE_COLLAPSED表示Palette會用完后自動收縮,還可以放大縮小。為默認值。
          2.FlyoutPaletteComposite.STATE_PINNED_OPEN表示Palette會無法收縮和放大縮小。
          getPaletteWidth()的參數范圍是:FlyoutPaletteComposite.MAX_PALETTE_SIZE=500;
          FlyoutPaletteComposite.MIN_PALETTE_SIZE=20;
          FlyoutPaletteComposite.DEFAULT_PALETTE_SIZE=125;
          可以參考代碼:
          CompEditorPaletteFactory.createPalettePreferences();



          Dengues論壇(http://groups.google.com/group/dengues/),一個很好的Eclipse開發者樂園.

          Feedback

          # re: [Dengues] 關于如何配置GEF中的Palette  回復  更多評論   

          2007-10-26 10:46 by 小張飛刀
          不錯,頂頂先~

          # re: [Dengues] 關于如何配置GEF中的Palette[未登錄]  回復  更多評論   

          2007-10-26 11:02 by yy
          期待文檔阿....~~~~

          # re: [Dengues] 關于如何配置GEF中的Palette  回復  更多評論   

          2007-10-26 11:24 by 小張飛刀(Dengues Studio)
          補充一下其實說白了,在Graphical Editor的getPalettePreference方法里返回一個FlyoutPreferences對象就可以了,它是一個寫在FlyoutPaletteComposite里的接口,源代碼如下:


          /**
          * FlyoutPreferences is used to save/load the preferences for the flyout palette.
          *
          * @author Pratik Shah
          * @since 3.0
          */
          public interface FlyoutPreferences {
          /**
          * Should return {@link PositionConstants#EAST} or {@link PositionConstants#WEST}.
          * Any other int will be ignored and the default dock location (EAST) will be
          * used instead.
          * @return the saved dock location of the Palette
          */
          int getDockLocation();
          /**
          * When there is no saved state, this method can return any non-positive int (which
          * will result in the palette using the default state -- collapsed), or
          * {@link FlyoutPaletteComposite#STATE_COLLAPSED}, or
          * {@link FlyoutPaletteComposite#STATE_PINNED_OPEN}
          * @return the saved state of the palette
          */
          int getPaletteState();
          /**
          * When there is no saved width, this method can return any int (preferrably a
          * non-positive int). Returning a non-positive int will cause the palette to be
          * sized to the default size, whereas returning a postive int will find the
          * closest match in the valid range (>= minimum and <= maximum)
          * @return the saved width of the flyout palette
          */
          int getPaletteWidth();
          /**
          * This method is invoked when the flyout palette's dock location is changed. The
          * provided dock location should be persisted and returned in
          * {@link #getDockLocation()}.
          * @param location {@link PositionConstants#EAST} or {@link PositionConstants#WEST}
          */
          void setDockLocation(int location);
          /**
          * This method is invoked when the flyout palette's state is changed (the new state
          * becomes the default). The provided state should be persisted and returned in
          * {@link #getPaletteState()}.
          * @param state {@link FlyoutPaletteComposite#STATE_COLLAPSED} or
          * {@link FlyoutPaletteComposite#STATE_PINNED_OPEN}
          */
          void setPaletteState(int state);
          /**
          * This method is invoked when the flyout palette is resized. The provided width
          * should be persisted and returned in {@link #getPaletteWidth()}.
          * @param width the new size of the flyout palette
          */
          void setPaletteWidth(int width);
          }


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


          網站導航:
           
          Dengues Studio: Google Group:http://groups.google.com/group/dengues; QQ Group:24885404.
          主站蜘蛛池模板: 开鲁县| 定安县| 侯马市| 呼图壁县| 武隆县| 阳东县| 长顺县| 金昌市| 冕宁县| 都昌县| 镇平县| 公主岭市| 苏尼特左旗| 罗定市| 龙川县| 巩义市| 南平市| 米泉市| 宜阳县| 玛曲县| 兴国县| 韶关市| 沁水县| 开封县| 富宁县| 固安县| 奉贤区| 敖汉旗| 永靖县| 同心县| 四会市| 竹北市| 柏乡县| 苏州市| 克什克腾旗| 晋州市| 天气| 富源县| 古蔺县| 蒙自县| 独山县|