我有一个具有多个视图的E4应用程序,其中包含许多SWT小部件,包括JFace TableViewers,TableViewerColumns和Tables等。关闭时将创建/更新文件workspace.xmi,但仅使用视图的属性。是否可以在workspace.xmi中存储有关这些小部件的属性?因此,如果用户更改列的顺序并重新启动应用程序,则列的顺序将相同。

最佳答案

e4 MApplicationElement元素(例如MPart)具有一个

Map<String, String> getPersistedState()


方法。您可以在持久状态下设置任何您喜欢的值。它们将保存在workbench.xmi中,并在重新启动应用程序后恢复。

由您决定如何在地图中保存有关SWT控件的信息。

注意:在3.x兼容模式视图或编辑器中,可以使用以下命令获取MPart

EPartService partService = getSite().getService(EPartService.class);

MPart part = partService.findPart(getSite().getId());

10-02 23:14