9910

          單飛

             :: 首頁 :: 聯系 :: 聚合  :: 管理
          擴展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 單飛 閱讀(302) 評論(0)  編輯  收藏 所屬分類: Eclipse Plugin
          主站蜘蛛池模板: 冕宁县| 南澳县| 巴里| 依兰县| 嘉善县| 杭锦后旗| 高陵县| 丹阳市| 红安县| 丽江市| 外汇| 凉城县| 奉化市| 惠东县| 靖西县| 平南县| 高青县| 佛冈县| 钦州市| 萍乡市| 宁波市| 石河子市| 伽师县| 什邡市| 文登市| 高碑店市| 贡山| 秭归县| 福海县| 灵宝市| 涞源县| 镇康县| 博客| 洞口县| 马关县| 武乡县| 莆田市| 西昌市| 内江市| 普定县| 呈贡县|