Eclipse RCP,SWT,JFace:如何创建仅对视图(而不是整个shell)模态的对话框?
-
03-07-2019 - |
题
无论如何要创建一个视图模态的对话框而不是整个shell(应用程序)?所以如果说,我有一个名为A的视图覆盖了另一个名为B的视图,我想打开一个只能模态查看A的对话框,所以当我切换到视图B时,对话框和视图A将被覆盖观点B.无论如何我能做到这一点,即使这不是正常做法吗?
谢谢!
解决方案
我认为实施起来并不容易。一种可能性是,不使用View A中的模态对话框,而是使用TabFolder。然后,您可以在新选项卡中打开对话框的内容,并强制此选项卡保持在最顶层,直到您将其关闭为止。这与您需要的行为类似。
这也允许您将视图B中的内容拖放到视图A中。
其他提示
工作台恢复的整个想法是将工作台恢复到之前的状态。它不必恢复每个细节,但如果您不想将视图留空,则应将其恢复到原始状态。这意味着应该使用与关闭工作台时相同的输入来恢复视图B.如果在视图A关闭后视图B及其输入继续存在,则无论视图A是否存在,都可以恢复视图B及其输入。在工作台还原期间,您当然不应该打开对话框。这不是一个好的UI设计。 Eclipse提供了一个非常易于使用的memento框架,可以保存视图的输入。使用它。
如果您不熟悉mementos,请参阅 http://wiki.eclipse.org/ FAQ_How_does_a_view_persist_its_state_between_sessions%3F 。
不隶属于 StackOverflow