GMF树形布局 3 展开/折叠时更换Node图标
前一篇博客实现了展开/折叠,但是如果当节点折叠时图标可以发生变化,例如变成加号,那就直观了。这篇博客解决这个问题。 具体步骤如下: 1、首先,将两个图标文件放在diagram工程下的icons\custom下,并刷新这个工程,如下图所示: 2、修改Topic节点图标的地方,在TopicNameEditPart中的getLabelIcon()方法中,需要将它修改。具体思路是:检查其父类即 TopicEditPart所对应的的模型的isExpanded成员变量,如果是false,则返回加号图像,否则,返回Topic图像。 修改 getLabelIcon()方法如下: /** * @generated NOT */ protected Image getLabelIcon() { EObject parserElement = getParserElement(); if (parserElement == null) { return null; } return this.createLabelIconImage(); } 3、在 TopicNameEditPart中添加createLabelIconImage()方法: /** * 根据父模型,创建标签图标 */ private Image createLabelIconImage() { Image labelIconImage