我有partStack,标签中有很多部分。我想知道当我不需要时,如何激活标签,并在我需要时激活。
不活跃我指的是可见的标签,但我无法点击它,就像禁用功能一样(例如上面的文字是灰色而不是黑色)。
我使用e4 RCP(使用Application.e4xmi)。
感谢您的帮助。
答案 0 :(得分:0)
零件堆栈中零件选择的处理由零件堆栈渲染器org.eclipse.e4.ui.workbench.renderers.swt.StackRenderer
处理,它基本上使用CTabFolder
。
您可以使用渲染器工厂覆盖堆栈渲染器see here
您可以扩展现有的StackRenderer
类并覆盖方法以更改其行为。在这种情况下可能是hookControllerLogic
方法。但是你必须仔细研究这个来源,看看需要做些什么。
答案 1 :(得分:0)
您可以尝试使用 EPartService 来操作零件,但我认为有效/无效部分只是意味着可见。
或者您可以手动循环并禁用所有swt控件
答案 2 :(得分:0)
使用渲染器工厂覆盖堆栈渲染器。 扩展现有的StackRenderer类,并使用空实现覆盖hookControllerLogic()或activate()方法。
实施例 -
public class MyE4Part extends ContributedPartRenderer {
/*
* Don't activate the Part on part selection. part should not be gain the focus on any
* selection on part .
*/
@Override
public void hookControllerLogic( MUIElement me )
{
//Don't do anything.
//super.hookControllerLogic( me );
}
}