从Eclipse RCP MPartStack删除“分离”右键单击

问题描述 投票:0回答:1

是否可以从MPartStack的上下文菜单中删除“分离”右键单击?

java eclipse-rcp e4
1个回答
0
投票

您可以使用自定义堆栈渲染器执行此操作。您覆盖populateTabMenu方法:

public class MyStackRenderer extends StackRenderer
{
  @Override
  protected void populateTabMenu(Menu menu, MPart part)
  {
     // TODO your menu items
  }
}

您使用渲染器工厂设置了渲染器:

public class MyRendererFactory extends WorkbenchRendererFactory
{
  private MyStackRenderer myStackRenderer;

  @Override
  public AbstractPartRenderer getRenderer(MUIElement uiElement, Object parent)
  {
    if (uiElement instanceof MPartStack) {
       if (myStackRenderer == null) {
          myStackRenderer = MyStackRenderer();
          initRenderer(myStackRenderer);
       }

       return myStackRenderer; 
    }

    return super.getRenderer(uiElement, parent);
  }
}

您使用产品定义中的rendererFactoryUri向Eclipse介绍了渲染器工厂。

<extension
      id="product"
      point="org.eclipse.core.runtime.products">
   <product
         .... 

      <property
            name="rendererFactoryUri"
            value="bundleclass://xxxxx.MyRendererFactory">
      </property>
© www.soinside.com 2019 - 2024. All rights reserved.