Eclipse plugin 基因改造食品模型;表视图

Eclipse plugin 基因改造食品模型;表视图,eclipse-plugin,eclipse-gmf,Eclipse Plugin,Eclipse Gmf,我被赋予了这个任务,如果有人真的帮助我,我将不胜感激。我通过GMF建立了一个图形模型,如下所示: 如您所见,模型中的一个节点已被选中。这里的任务是创建一个带有表的eclipse视图,该表将在选择所谓的“城市节点”时自动更新。正如您可能从模型中猜测的那样,该表应该包含所有城市的路径成本。稍后我将扩展我的解决方案,以包括一个修改后的Dijkstra算法,但现在我仍在创建一个表视图 我尝试使用TableViewer构建它,但它似乎相当复杂,因为我们需要在ContentProvider上设置表的输入,

我被赋予了这个任务,如果有人真的帮助我,我将不胜感激。我通过GMF建立了一个图形模型,如下所示:

如您所见,模型中的一个节点已被选中。这里的任务是创建一个带有表的eclipse视图,该表将在选择所谓的“城市节点”时自动更新。正如您可能从模型中猜测的那样,该表应该包含所有城市的路径成本。稍后我将扩展我的解决方案,以包括一个修改后的Dijkstra算法,但现在我仍在创建一个表视图

我尝试使用TableViewer构建它,但它似乎相当复杂,因为我们需要在ContentProvider上设置表的输入,但这里的难点是,因为我们需要SelectionListener来获取城市坐标(因为它被命令通过两个相连城市之间的距离除以最大速度来计算路径成本,最大速度在图中的相连街道上显示)此外,对于当前选择的城市,路径成本需要在收到点击事件后自动计算并显示在表中。这意味着我们需要更新每次选择更改时将提交给ContentProvider的输入


为了获得更多信息,我通过ISelectionListener接口的selectionChanged方法获得当前选择,并在该方法中将城市信息放入arraylist。但是,尽管我将该arraylist在该方法之外声明为public,但我似乎无法从该方法之外访问它,因此无法通过是的。最终表格的输入无法更新。我试着尽可能简单地写这篇文章,希望你们能帮助我。因为我现在无法预见应该做什么,我非常感谢。

你们走对了路

在您的selection listener的
ISelectionListener.selectionChanged
方法中,您只需使用
TableViewer.setInput
为查看器设置新的输入。然后,在查看器的内容提供程序上调用
IsStructuredContentProvider.inputChanged
方法。在这里,您可以使用ew输入并使用
TableViewer刷新查看器。刷新

您也可以使用JFace数据绑定框架,但我认为您应该对我上面提到的内容很满意