9910

          單飛

             :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
          擴(kuò)展Editor的Configuration
             <extension
                   
          point="org.eclipse.wst.sse.ui.editorConfiguration">
            
          <!-- associating an outline configuration to an input's content type -->
                
          <contentOutlineConfiguration
                    
          class="com.test.outline.OutlineConfiguration"
                    target
          ="org.eclipse.core.runtime.xml,org.eclipse.wst.html.core.htmlsource"/>        
             
          </extension>
          OutlineConfiguration.java

          import org.eclipse.jface.action.IMenuListener;
          import org.eclipse.jface.action.IMenuManager;
          import org.eclipse.jface.viewers.TreeViewer;
          import org.eclipse.wst.sse.core.internal.provisional.IStructuredModel;
          import org.eclipse.wst.sse.ui.internal.IReleasable;
          import org.eclipse.wst.xml.ui.internal.contentoutline.XMLNodeActionManager;
          import org.eclipse.wst.xml.ui.views.contentoutline.XMLContentOutlineConfiguration;

          public class OutlineConfiguration extends XMLContentOutlineConfiguration {
              
              
          private class ActionManagerMenuListener implements IMenuListener, IReleasable {

                  
          public void menuAboutToShow(IMenuManager imenumanager) {
                      TestAction action 
          = new TestAction();
                      imenumanager.add(action);
                  }

                  
          public void release() {
                      fTreeViewer 
          = null;
                      
          if (fActionManager != null)
                          fActionManager.setModel(
          null);
                  }

                  
          private XMLNodeActionManager fActionManager;

                  
          private TreeViewer fTreeViewer;

                  
          public ActionManagerMenuListener(TreeViewer treeviewer) {
                      
          super();
                      fTreeViewer 
          = treeviewer;
                  }
              }

              
          private ActionManagerMenuListener fContextMenuFiller;

              
          public OutlineConfiguration() {
                  
          super();
              }
              @Override
              
          public IMenuListener getMenuListener(TreeViewer treeviewer) {
                  
          if (fContextMenuFiller == null)
                      fContextMenuFiller 
          = new ActionManagerMenuListener(treeviewer);
                  
          return fContextMenuFiller;
              }
          }


          import org.eclipse.jface.action.Action;

          public class TestAction extends Action {
              
          public TestAction(){
                  
          super("Test");
              }
          }

          這樣Outline的Menu就是你自己定義的了.


          參考資料:
          http://www.eclipse.org/webtools/wst/components/sse/designs/EditorConfiguration.html



          posted on 2009-06-03 10:04 單飛 閱讀(298) 評論(0)  編輯  收藏 所屬分類: Eclipse Plugin
          主站蜘蛛池模板: 时尚| 库车县| 闽侯县| 福安市| 湟中县| 新和县| 格尔木市| 微博| 东源县| 章丘市| 灌南县| 西乌珠穆沁旗| 伊通| 临桂县| 浦城县| 峨山| 阜宁县| 小金县| 静乐县| 大新县| 无极县| 新野县| 吉隆县| 精河县| 广德县| 义乌市| 漳浦县| 章丘市| 嵊州市| 平邑县| 石首市| 确山县| 武冈市| 五莲县| 友谊县| 凌海市| 吐鲁番市| 达日县| 桑植县| 广平县| 崇左市|