首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Eclipse-RCP中显示但禁用视图

在Eclipse-RCP中显示但禁用视图
EN

Stack Overflow用户
提问于 2012-05-24 16:13:37
回答 3查看 1.2K关注 0票数 0

我在我的RCP应用程序中有两个视图,其中我正在执行一个任务(后台操作),操作的状态显示在view1中。我试图实现的是,在任务执行过程中,用户不应该能够移动/遍历到其他views.They(其他视图)应该被禁用。

作为变通办法,我尝试使用IWorkbenchPage的showView方法。

代码语言:javascript
运行
复制
activePage.showView(view.ID,null,IWorkbenchPage.VIEW_VISIBLE);

我使用了三个常量VIEW_VISIBLE,VIEW_ACTIVATE,VIEW_CREATE。在我的例子中,没有一个像showView方法签名那样工作,我不知道什么是第二个id。

下面是我的问题的模拟演示

在这里,用户可以在操作过程中遍历查看Demo,这实际上不应该是。我该如何解决这个问题,有什么想法吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-05-24 16:20:50

你不能真的禁用一个视图(没有“禁用的视图”的概念)。你唯一能做的就是隐藏它。使用hideView()方法可以做到这一点。

票数 3
EN

Stack Overflow用户

发布于 2012-05-24 16:33:37

另一种方法是在操作进行时使用ProgressService显示模式进度对话框。这样,用户必须等到操作完成后才能与UI交互。

代码语言:javascript
运行
复制
PlatformUI.getWorkbench().getProgressService().run(true, false, runnable);  

请参阅http://wiki.eclipse.org/FAQ_Why_should_I_use_the_new_progress_service%3F

票数 2
EN

Stack Overflow用户

发布于 2012-05-26 16:59:32

您可以像禁用任何其他SWT控件一样禁用视图:通过在顶部Composite上设置setEnabled(false)。通常通过重写ViewPart.showBusy(...)来完成。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10733586

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档