Eclipse 防止Zest 2.0 GraphViewer通过刷新执行布局算法

Eclipse 防止Zest 2.0 GraphViewer通过刷新执行布局算法,eclipse,layout,zest,Eclipse,Layout,Zest,由于将Zest从1.4更新到2.0,我对布局算法有一个问题 在1.4中,布局算法仅通过调用applyLayout来执行。可以设置布局,执行布局,然后更改图形并刷新GraphViewer,而无需再次执行 在2.0中,每次刷新(在图形更改后更新查看器所必需的)都会导致执行布局算法。因此,添加新节点会导致更改GraphViewer中每个节点的每个位置 这对于我的用例是不可接受的。是否有可能阻止GraphViewer通过刷新执行布局算法 我需要的是仅当单击“布局”按钮时才在查看器中布局图形。不应该有任何

由于将Zest从1.4更新到2.0,我对布局算法有一个问题

在1.4中,布局算法仅通过调用applyLayout来执行。可以设置布局,执行布局,然后更改图形并刷新GraphViewer,而无需再次执行

在2.0中,每次刷新(在图形更改后更新查看器所必需的)都会导致执行布局算法。因此,添加新节点会导致更改GraphViewer中每个节点的每个位置

这对于我的用例是不可接受的。是否有可能阻止GraphViewer通过刷新执行布局算法

我需要的是仅当单击“布局”按钮时才在查看器中布局图形。不应该有任何自动布局

我曾想过在调用后取消LayoutAlgorithm,以便在以后的刷新期间没有算法,但这似乎也不可能。在GraphViewer上以null作为参数调用setLayoutAlgorithm会导致NullPointerException

有没有可能用2.0获得Zest GraphViewers的“旧行为”

谢谢大家!


Kristina

Graph小部件有一个
public void setdynamiclayot(启用布尔值)
方法,根据Javadoc,该方法可能只是实现了您需要的技巧


要从GraphViewer获取小部件,请使用GraphViewer#getGraphControl方法。

Graph小部件有一个
public void set dynamiclayot(布尔启用)
方法,根据Javadoc,该方法可能只执行您需要的操作


要从GraphViewer获取小部件,请使用GraphViewer#getGraphControl方法。

我已经尝试过了,但它不起作用。这个属性似乎不会干扰刷新方法。很遗憾,我认为这个选项丢失了。也许你应该在Eclipse Bugzilla中为它开一张罚单。我已经试过了,但它不起作用。这个属性似乎不会干扰刷新方法。很遗憾,我认为这个选项丢失了。也许你应该在Eclipse Bugzilla中为它开一张票。