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 單飛 閱讀(298) 評論(0)  編輯  收藏 所屬分類: Eclipse Plugin
          主站蜘蛛池模板: 古丈县| 南乐县| 阿拉善盟| 靖西县| 常州市| 尼玛县| 嵊州市| 泌阳县| 惠东县| 栾川县| 南阳市| 新昌县| 右玉县| 库尔勒市| 邯郸县| 纳雍县| 汤阴县| 澎湖县| 年辖:市辖区| 西安市| 万年县| 内丘县| 贵溪市| 海原县| 新郑市| 镇康县| 江阴市| 郁南县| 手游| 勃利县| 保山市| 托克逊县| 漳平市| 临桂县| 康定县| 大邑县| 卓尼县| 兴安县| 汝州市| 高淳县| 班玛县|