折叠

GMF树形布局 3 展开/折叠时更换Node图标

不问归期 提交于 2020-04-07 12:39:49
前一篇博客实现了展开/折叠,但是如果当节点折叠时图标可以发生变化,例如变成加号,那就直观了。这篇博客解决这个问题。 具体步骤如下: 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

GMF树形布局 2 实现展开/折叠

我的未来我决定 提交于 2020-04-07 12:10:23
这一篇博客在上一篇的基础上,实现展开/折叠功能。期待的最终效果是,双击某一Node,其后面的Node与连线都隐藏;再双击时显示回来。并且折叠之后,保存关闭,下次打开时还处于折叠状态,可以正确展开。 有一个细节应当注意,如下图: 比如折叠了节点1之后再折叠节点0,之后再展开节点0的时候,节点1应当还是处于折叠状态。 具体步骤如下: 1、为了实现这个展开/折叠操作,并且方便以后实现图标的更换,可以在节点的模型文件中添加一个布尔型的变量expanded,用于标识展开状态。可以在模型文件中修改,然后重新生成Model Code以及Edit Code,具体操作可以参考 这里 的步骤1、2。注意,将 expanded的默认值设为true。 2、创建一个Command,用于实现折叠或者展开。先在diagram工程下的src目录下新建一个package,名为org.eclipse.gmf.examples.mindmap.diagram.edit.commands.custom,在其中新建一个class文件,名为ExpandOrCollapseCommand,继承自RecordingCommand。 3、ExpandOrCollapseCommand的构造函数如下,获取 public ExpandOrCollapseCommand( TransactionalEditingDomain

VIM使用系列:缩进调整、自动补全、折叠、跳转

柔情痞子 提交于 2019-12-11 20:00:29
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 缩进调整、自动补全、折叠、跳转这些vim操作都是一开始我也不会,在项目开发过程中熟悉掌握的,本文主要记录一下这些操作的命令,以及查找帮助,为分享也为备忘。 缩进调整 缩进调整的帮助查找命令: :help shift-left-right,或者直接help下面缩进调整的任意一个命令。缩进调整操作的执行与vim中的shiftwidth参数的值有关系,在前文的vimrc配置文件中,已经将shiftwidth设置为4,表示每一次缩进的宽度均为4个空格长,可以参照进行修改。 以下为常用的缩进快捷操作和命令: 当前行向右缩进一次:操作 >> 或者输入命令 :> 当前行向左缩进一次:操作 << 或者输入命令 :< 从第m行起,到第n行止向右缩进一次: 输入命令 :m,n> 等价于命令 :m>(n-m+1) 从第m行起,到第n行止向左缩进一次: 输入命令 :m,n< 等价于命令 :m<(n-m+1) 从第m行起共n行向右缩进一次: 输入命令 :m>n 等价于命令 :m,m+n-1> 从第m行起共n行向左缩进一次: 输入命令 :m<n 等价于命令 :m,m+n-1< 自动补全 在windows中使用SourceInsight工具编辑代码时,函数、变量的自动补全功能是很强大、很受欢迎的,可以大大地提高工作效率