Eclipse RCP禁用对话框中的视图

时间:2011-06-21 15:08:51

标签: eclipse-plugin eclipse-rcp

我有一个简单的RCP应用程序。我有一个观点,并添加了三个观点。最初,将为用户禁用其中一个视图。有一个工具栏项,用于启动对话框。用户在对话框中验证自己。身份验证成功后,我想使视图可编辑。我可以在对话框中获得该特定视图的引用。但我不知道如何启用它。我无法使用选择监听器,因为我没有选择任何东西。我还看到了一个关于使用活动扩展的例子。但是这会打开/关闭视图,而不仅仅是启用/禁用它。有人能帮我吗?感谢。

2 个答案:

答案 0 :(得分:1)

据我了解,您希望以两种状态之一显示视图:如果用户未经过身份验证,则会被禁用,或者在用户通过身份验证后启用。

这实际上很简单:-)我已经为你做了一个小例子应用程序,说明了这项技术:so-edi.zip

使用新链接

更新

答案 1 :(得分:0)

在RCP 3.x中,您必须在ViewPart的实现中公开View的Control的启用状态:

import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.ui.part.ViewPart;

public class View extends ViewPart {
    private Control control;

    @Override
    public void createPartControl(Composite parent) {
        control = new Composite(parent, SWT.NONE);
    }

    @Override
    public void setFocus() {
    }

    public void setEnabled(boolean enabled) {
        control.setEnabled(enabled);
    }

    public boolean isEnabled() {
        return control.getEnabled()
    }
}