【发布时间】:2016-08-07 12:28:30
【问题描述】:
我正在开发一个 Eclipse-RCP 应用程序,其中我有一个包含两个不同文件夹的透视图。左侧文件夹中的视图显示用户可以单击以获取更多信息的信息。因此,详细信息显示在正确的文件夹中。
当右侧文件夹中只有一个视图时,没有问题。但是,当我在正确的文件夹中添加另一个视图时,事情变得一团糟。由于视图必须以某种方式进行通信,因此我为此编写了一些代码。在createPartControl(Composite) 期间,视图注册用户选择的更改。但是文件夹的第二个视图在用户单击它之前不会加载,因此当用户选择表行或其他内容时它不会自行更新。
这可能很难理解,所以这里有一个示例:用户打开应用程序并看到两个选项卡文件夹。然后他选择表格中的第 X 行。右侧文件夹的前视图现在包含有关第 X 行的信息。该文件夹的第二个视图尚未加载,因此尚未注册选择更改。如果用户现在打开此视图,它将处于默认状态,因为它尚未获得有关选择更改的信息。
只有在用户打开视图后,它才能显示信息。有没有办法创建一个在加载透视图后会自动加载(创建)的视图?
与此一起,如果用户选择第 X 行并且右选项卡文件夹最小化,我想打开右选项卡文件夹。为此,我使用了IWorkbenchPage.showView(String)。打开选项卡文件夹的第一个视图。但是,每当我打开另一个视图并选择 Y 行时,“打开”第一个视图将导致将其置于前面。有没有办法防止这种情况发生?
【问题讨论】:
标签: java user-interface swt eclipse-rcp