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 單飛 閱讀(302) 評論(0)  編輯  收藏 所屬分類: Eclipse Plugin
          主站蜘蛛池模板: 闽侯县| 台北市| 澄江县| 钟祥市| 澄城县| 东乌珠穆沁旗| 扎兰屯市| 延寿县| 新疆| 赤壁市| 庆城县| 渝北区| 青州市| 阿拉尔市| 晋城| 青河县| 年辖:市辖区| 利辛县| 台州市| 景洪市| 新竹市| 巴林右旗| 金溪县| 开鲁县| 石首市| 滕州市| 界首市| 宁德市| 汝城县| 平潭县| 广饶县| 台北县| 兴化市| 江华| 德昌县| 邵阳县| 永年县| 锦屏县| 盱眙县| 巴林右旗| 池州市|