【问题标题】:Eclipse RCP disable a view from a dialogEclipse RCP 禁用对话框中的视图
【发布时间】:2013-08-15 00:47:09
【问题描述】:

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

【问题讨论】:

    标签: eclipse-plugin eclipse-rcp


    【解决方案1】:

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

    这实际上非常简单 :-) 我为您制作了一个小示例应用程序来说明该技术:so-edi.zip

    更新新链接

    【讨论】:

    • 链接已损坏。你有镜子吗?
    • 虽然完整的演示应用程序是很好的附加信息,但简单地直接解释答案并提供简短的代码 sn-p 更为重要。您的 zip 有大约 400 行代码,可以用一句话来解释答案:将启用访问器添加到 ViewPart 实现。
    【解决方案2】:

    在 RCP 3.x 中,您必须在 ViewPart 的实现中公开视图控件的启用状态:

    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()
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2013-06-11
      • 1970-01-01
      • 1970-01-01
      • 2017-12-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-31
      相关资源
      最近更新 更多