思维导图的节点添加方法、装置、设备及存储介质与流程

文档序号:16854779发布日期:2019-02-12 23:08阅读:603来源:国知局
思维导图的节点添加方法、装置、设备及存储介质与流程

本发明实施例涉及交互领域,尤其涉及思维导图的节点添加方法、装置、设备及存储介质。



背景技术:

思维导图又称脑图、心智地图、脑力激荡图、灵感触发图、概念地图、树状图、树枝图或思维地图,是一种图像式思维的工具以及一种利用图像式思考辅助工具。

通常的思维导图方向都是水平向右延伸的,在编辑过程中,往一个节点添加子节点时,通常在该节点的右侧进行添加,如果有多个子节点,则子节点相对父节点垂直居中排列。当然,也存在向左延伸或上下延伸的布局方式,但是这只是布局上的变化,节点间的内在逻辑关系相同。

这种添加方式存在的问题就是当节点层级较多临近屏幕边界时,需要手动移动整个思维导图来使得新添加的子节点处于可视范围。如图1所示,往aaa节点添加子节点bbb时,bbb显示已经超出了屏幕100的可视范围,为了完整显示子节点bbb,需要手动将整个思维导图往左移,但此时中心主题又被移动出了屏幕100的可视范围(如图2所示)。



技术实现要素:

本发明实施例提供一种思维导图的节点添加方法、装置、设备及存储介质,以解决现有技术中思维导图编辑时节点添加超出屏幕,用户查看不便和屏幕空间利用率不够的问题。

第一方面,本发明实施例提供了一种思维导图的节点添加方法,该方法包括:

接收节点生成指令,所述节点生成指令指定有目标节点;

识别思维导图的显示区域的边界;

在所述显示区域的边界内为所述目标节点添加新增子节点,所述目标节点在所述显示区域中的位置不变,所述新增子节点位于所述目标节点的外周关联区域。

其中,所述在所述显示区域的边界内为所述目标节点添加新增子节点,包括:

若所述目标节点不存在原有子节点,在所述目标节点的预设方向添加新增子节点,所述新增子节点位于所述目标节点和显示区域的边界之间;

若所述目标节点存在原有子节点,在所述原有子节点所在的方向添加新增子节点,所述新增子节点位于所述目标节点和显示区域的边界之间。

其中,所述若所述目标节点不存在原有子节点,在所述目标节点的预设方向添加新增子节点,包括:

若所述目标节点是根节点且不存在原有子节点,则从第一方向优先级序列中选择一个方向添加新增子节点,所述第一方向优先级序列中优先级从高到低依次为:右方、下方、上方、左方;

若所述目标节点的父节点是根节点且不存在原有子节点,则从第二方向优先级序列中选择一个方向添加新增子节点,所述第二方向优先级序列中优先级从高到低依次为:所述父节点相对的方向、所述父节点相邻的方向;

若所述目标节点有二级父节点且不存在原有子节点,则从第三方向优先级序列中选择一个方向添加新增子节点,所述第三方向优先级序列中优先级从高到低依次为:间接父节点相对的第一方向、间接父节点相对于直接父节点相同的第二方向、第一方向或第二方向相邻的方向。

其中,若优先级较高的方向无法在所述显示区域的边界内为所述目标节点添加新增子节点,则选择优先级较低的方向。

其中,在所述显示区域的边界无法为所述目标节点添加新增子节点通过以下方式判断:

d1+d2>d3,

其中,d1为所述新增子节点的最小高度或宽度,d2为所述目标节点与所述新增子节点之间连接线的长度,d3为所述目标节点在当前选择方向上与所述显示区域的边界的距离。

其中,所述在所述显示区域的边界内为所述目标节点添加新增子节点之后,还包括:

接收思维导图保存指令;

保存所述思维导图中的节点;

接收思维导图展示指令;

展示所述思维导图中的节点,所述节点展示时任意两个父子节点之间的相对方向相同。

其中,所述保存所述思维导图中的节点,包括:

保存所述思维导图中的节点的逻辑关系;

所述展示所述思维导图中的节点,包括:

解析所述节点的逻辑关系,并根据所述逻辑关系确定所述节点展示时的相对位置。

第二方面,本发明实施例还提供了一种思维导图的节点添加装置,该装置包括:

第一指令接收单元,用于接收节点生成指令,所述节点生成指令指定有目标节点;

边界识别单元,用于识别思维导图的显示区域的边界;

节点新增单元,用于在所述显示区域的边界内为所述目标节点添加新增子节点,所述目标节点在所述显示区域中的位置不变,所述新增子节点位于所述目标节点的外周关联区域。

其中,所述节点新增单元,包括:

第一新增模块,用于若所述目标节点不存在原有子节点,在所述目标节点的预设方向添加新增子节点,所述新增子节点位于所述目标节点和显示区域的边界之间;

第二新增模块,用于若所述目标节点存在原有子节点,在所述原有子节点所在的方向添加新增子节点,所述新增子节点位于所述目标节点和显示区域的边界之间。

其中,所述第一新增模块,包括:

第一添加子模块,用于若所述目标节点是根节点且不存在原有子节点,则从第一方向优先级序列中选择一个方向添加新增子节点,所述第一方向优先级序列中优先级从高到低依次为:右方、下方、上方、左方;

第二添加子模块,用于若所述目标节点的父节点是根节点且不存在原有子节点,则从第二方向优先级序列中选择一个方向添加新增子节点,所述第二方向优先级序列中优先级从高到低依次为:所述父节点相对的方向、所述父节点相邻的方向;

第三添加子模块,用于若所述目标节点有二级父节点且不存在原有子节点,则从第三方向优先级序列中选择一个方向添加新增子节点,所述第三方向优先级序列中优先级从高到低依次为:间接父节点相对的第一方向、间接父节点相对于直接父节点相同的第二方向、第一方向或第二方向相邻的方向。

其中,若优先级较高的方向无法在所述显示区域的边界内为所述目标节点添加新增子节点,则选择优先级较低的方向。

其中,在所述显示区域的边界无法为所述目标节点添加新增子节点通过以下方式判断:

d1+d2>d3,

其中,d1为所述新增子节点的最小高度或宽度,d2为所述目标节点与所述新增子节点之间连接线的长度,d3为所述目标节点在当前选择方向上与所述显示区域的边界的距离。

其中,所述装置,还包括:

第二指令接收单元,用于接收思维导图保存指令;

节点保存单元,用于保存所述思维导图中的节点;

第三指令接收单元,用于接收思维导图展示指令;

节点展示单元,用于展示所述思维导图中的节点,所述节点展示时任意两个父子节点之间的相对方向相同。

其中,所述节点保存单元,包括:

逻辑保存模块,用于保存所述思维导图中的节点的逻辑关系;

所述节点展示单元,包括:

逻辑展示模块,用于解析所述节点的逻辑关系,并根据所述逻辑关系确定所述节点展示时的相对位置。

第三方面,本发明实施例还提供了一种显示设备,包括:存储器、显示屏以及一个或多个处理器;

所述存储器,用于存储一个或多个程序;

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面提供的思维导图的节点添加方法。

第四方面,本发明实施例还提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行第一方面提供的思维导图的节点添加方法。

本发明实施例中的思维导图的节点添加方法、装置、设备及存储介质,接收节点生成指令,所述节点生成指令指定有目标节点;识别思维导图的显示区域的边界;在所述显示区域的边界内为所述目标节点添加新增子节点,所述目标节点在所述显示区域中的位置不变,所述新增子节点位于所述目标节点的外周关联区域。实现了在思维导图编辑过程中,将思维导图的图形元素全部显示在屏幕范围内,便于查看思维导图的全部内容,交互更加方便,同时也提高了屏幕空间的利用率。

附图说明

图1是现有技术中思维导图编辑过程中新添加节点的布局示意图;

图2是现有技术中思维导图编辑过程中手动调整后的布局示意图;

图3是本发明实施例一中提供的一种思维导图的节点添加方法的方法流程图;

图4是多个目标节点添加新增子节点的布局示意图;

图5是原有子节点在目标节点左方的布局示意图;

图6是原有子节点在目标节点右方的布局示意图;

图7是图6中目标节点添加新增子节点后的布局示意图;

图8是本发明实施例二中提供的一种思维导图的节点添加方法的方法流程图;

图9是新增子节点添加到目标节点右方的布局示意图;

图10是新增子节点添加到目标节点下方的布局示意图;

图11是新增子节点添加到目标节点上方的布局示意图;

图12是新增子节点和目标节点的父节点相对设置的布局示意图;

图13是新增子节点和目标节点的父节点相邻设置的布局示意图;

图14是新增子节点和目标节点的父节点相邻设置的另一种布局示意图;

图15是新增子节点和目标节点的直接父节点以及间接父节点的布局示意图;

图16是新增子节点和目标节点的直接父节点以及间接父节点的另一种布局示意图;

图17是思维导图展开后的效果示意图;

图18为本发明实施例三中提供的一种思维导图的节点添加装置的结构示意图;

图19是本发明实施例四中提供的一种思维导图的节点添加设备的结构示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

实施例一

图3是本发明实施例一中提供的一种思维导图的节点添加方法的方法流程图。

本实施例提供的思维导图的节点添加方法可以由思维导图的节点添加设备执行,该思维导图的节点添加设备可以通过软件和/或硬件的方式实现,该思维导图的节点添加设备可以是两个或多个物理实体构成,也可以是一个物理实体构成。该思维导图的节点添加设备可以是电脑,手机,平板或交互智能平板等。在实施例中,部分内容以交互智能平板为思维导图的节点添加设备为例进行描述,其中,交互智能平板可以是通过触控技术对显示在显示平板上的内容进行操控和实现人机交互操作的一体化设备,其集成了投影机、电子白板、幕布、音响、电视机以及视频会议终端等一种或多种功能。需要说明的是,触控技术并不是节点添加设备的唯一可选交互输入方式,也可以通过鼠标、轨迹球等方式实现,具体根据节点添加设备的类型选择合适的操作。

可选的,交互智能平板中安装有思维导图编辑软件,用于记录使用过程中,例如头脑风暴会议或开放性课堂教学活动中记录参与人员产生的信息,当然也可以是单个用户进行信息整理时生成思维导图。

参考图3,本实施例提供的思维导图的节点添加方法具体包括:

步骤s101:接收节点生成指令。

节点生成指令指定有目标节点,在一种实施过程中,如果检测到先选中一个节点,然后检测到预设的指令触发区域被触发,则认为该节点为目标节点并需要对其添加新增子节点,在此,预设的指令触发区域的触发表示节点生成指令的生成。在另一实施例过程中,也可以是先添加自由节点,如果检测到某一自由节点与某个已有节点之间添加有连接线,则认为该已有节点为目标节点,并需要对其添加新增子节点,在此,特定节点之间的连接线的建立表示节点生成指令的生成。

步骤s102:识别思维导图的显示区域的边界。

在图形界面下,最基本显示信息的元素就是窗口,思维导图的显示区域就是一个窗口,通常而言,为获得更好的应用体验,当前使用的窗口最好在图形界面中完整显示。每一个窗口都管理着自己与其他窗口之间的关系和自身的一些信息,如:是否可见,窗口的所有者,窗口的父/子关系等等信息,当窗口创建、销毁、显示的时候,就会用到这些信息。当图形界面初始化时,它创建桌面这个窗口,桌面覆盖着整个窗口,窗口管理器用这个窗口作为窗口链表中第一个元素,因此桌面在窗口的层次关系中在最上层。在初始化之后的窗口调度过程中,当前使用的窗口在层次关系中在最上层。窗口管理除了管理窗口层次间的关系,还管理窗口本身的显示效果,例如大小、位置等,位置通过一顶点的坐标表示,通常是左上角的顶点在桌面的坐标,大小通过横竖两个方向上的尺寸表示。基于顶点的坐标和横竖两个方向上的尺寸,即可确定显示区域的边界。在新增子节点的显示过程中,需要根据显示区域的边界以及目标节点的位置确认新增子节点的显示位置。

步骤s103:在显示区域的边界内为目标节点添加新增子节点。

在添加新增子节点的过程中,目标节点在所述显示区域中的位置不变,所述新增子节点位于所述目标节点的外周关联区域。

在本实施例中,维持目标节点在屏幕中的显示位置不变可以有多种方式,例如,维持目标节点在屏幕中与屏幕的相对位置不变。或者,维持目标节点在设定的约束条件下在显示区域的边界内的显示,具体而言,目标节点可以在显示区域的边界内做自动调整,但是整个自动调整过程中思维导图的已有节点不能到显示区域的边界之外(即已有节点不能在屏幕中不可见),在自动移动过程,整体调整目标是往一个或多个方向压缩节点和边界之间的距离以及节点和节点间的距离。通过目标节点的显示位置的自动调整,可以进一步压缩屏幕内的小块空白区域,提高屏幕的显示利用率。

在具体添加新增子节点的过程中,新增子节点位于目标节点的外周关联区域,外周关联区域具体可以是目标节点的外周水平或竖直方向上正对的位置,也可以根据目标节点已有的关联节点(例如子节点)所在的方向确认位置,在各个方向添加时,需要参考各个方向与边界的距离进行新增子节点的添加,使得新增子节点添加后能显示在屏幕中。

如果目标节点不存在原有子节点,在所述目标节点的预设方向添加新增子节点,所述新增子节点位于所述目标节点和显示区域的边界之间,具体新增子节点的方向有已有节点的布局方向决定。

通常而言,一个节点的子节点并列显示,那么若所述目标节点存在原有子节点,在所述原有子节点所在的方向添加新增子节点,但是需要保证所述新增子节点位于所述目标节点和显示区域的边界之间。

在实际的操作过程中,思维导图的显示区域的大小和位置在屏幕中可调,并且为获得思维导图的最大显示区域,很可能会将显示区域放大到整个屏幕中显示,即显示区域与屏幕重合。在本实施例中进行描述时,以显示区域与屏幕重合的状态进行描述,基于此,节点在显示区域中的显示策略实际就是节点在屏幕中的显示策略,在相关示意图中都是表示思维导图在屏幕中的状态(包括图1和图2)。如图4所示,其中示出了给节点ooo、aaa和ccc分别添加新增子节点的状态。其中ooo本身已有三个子节点,在以ooo为目标节点添加对应的新增子节点bbb时,需要以原有子节点所在的方向添加新增子节点,在图4中,三个原有子节点垂直排列,那么添加的新增子节点在最下方顺着原有排列规律添加。在以aaa为目标节点添加对应的新增子节点bbb时,aaa有三个方向因为太靠近屏幕100的边界或存在其他节点而无法添加新增子节点,此时将aaa对应的新增子节点bbb放在左方。在思维导图的编辑过程中,屏幕100的大小是有限的,而思维导图中的图形元素(节点和连接线)根据需要可多可少,所以屏幕100中不可能无限添加新增子节点,当节点添加到极限或节点布局不能再进行调整时,就会出现如图4中节点ccc的新增子节点的布局状态,即新增子节点从视觉上会布局到屏幕100的边界之外。

另外需要说明的是,图4中ooo、aaa、ccc和ddd的布局方式只是一种示例性的布局方式,在思维导图的实际编辑过程中,作为父节点的ooo和作为子节点的aaa、ccc以及ddd还可以采用上下布局,如果采用上下布局,那么aaa、ccc和ddd采用水平分布,对应的新增子节点在最左或最右顺着原有排列规律添加。

基于原有子节点的布局设置可以在尽可能维持思维导图中节点的关系显示的同时,提高屏幕空间的利用率,实现思维导图本身的图形结构和屏幕显示需求之间的平衡。

另外,目标节点和原有子节点的布局除了如图5所示的目标节点在右,原有子节点在左的情况,还可能存在如图6所示的目标节点在左,原有子节点在右的情况,但是不管布局如何,都可以采用前文所述的实施方式添加新增子节点,图6中的目标节点aaa添加的新增子节点bbb位于原有子节点ccc的下方(当然也可是上方),具体如图7所示。如果在图5中为目标节点aaa添加新增子节点,操作方式相同,在原有子节点ccc的下方添加新增子节点。

本实施例提供的思维导图的节点添加方法,通过接收节点生成指令,所述节点生成指令指定有目标节点;识别思维导图的显示区域的边界;在所述显示区域的边界内为所述目标节点添加新增子节点,所述目标节点在所述显示区域中的位置不变,所述新增子节点位于所述目标节点的外周关联区域。实现了在思维导图编辑过程中,将思维导图的图形元素全部显示在屏幕范围内,便于查看思维导图的全部内容,交互更加方便,同时也提高了屏幕空间的利用率。

实施例二

图8为本发明实施例二提供的一种思维导图的节点添加方法的流程图。参考图3,本实施例提供的节点添加方法具体包括:

步骤s201:接收节点生成指令。

步骤s202:识别思维导图的显示区域的边界。

步骤s203:若目标节点是根节点且不存在原有子节点,则从第一方向优先级序列中选择一个方向添加新增子节点。

如果目标节点是根节点,也就是目标节点的四个方向都没有相邻节点,在目标节点与显示区域的边界之间的距离允许的情况下,从空间上可以选择任意方向添加新增子节点,为保证空间的最大利用率,避免往任意方向随意添加新增子节点,在此为多个方向设定关于方向的优先级序列,对应于根节点的优先级序列为第一方向优先级序列,所述第一方向优先级序列中优先级从高到低依次为:右方、下方、上方、左方。

如图9所示,在屏幕100中,对于目标节点aaa,其为根节点,对应根据第一方向优先级序列选择新增子节点的添加方向,在图9中,第一方向优先级序列中优先级最高的可用方向为右方,目标节点aaa对应的新增子节点bbb布局在右方。如图10所示,在屏幕100中,对于目标节点aaa,其为根节点,对应根据第一方向优先级序列选择新增子节点的添加方向,在图9中,第一方向优先级序列中优先级最高的可用方向为下方,目标节点aaa对应的新增子节点bbb布局在下方。如图11所示,在屏幕100中,对于目标节点aaa,其为根节点,对应根据第一方向优先级序列选择新增子节点的添加方向,在图11中,第一方向优先级序列中优先级最高的可用方向为上方,目标节点aaa对应的新增子节点bbb布局在上方。

当然,以上方向优先级的考虑只是根据常用的思维导图阅读习惯确定,在实际操作过程中,还可以根据思维导图的实际父子节点的相对方向设置不同的第一方向优先级序列,例如优先级从高到低依次为:下方、右方、左方、上方。实际上,第一方向优先级序列中必然存在某个方向可以在显示区域的边界内添加新增子节点。

步骤s204:若目标节点的父节点是根节点且不存在原有子节点,则从第二方向优先级序列中选择一个方向添加新增子节点。

如果目标节点的父节点是根节点,也就是说目标节点只有一级父节点,那么这一类目标节点只有一个方向肯定有节点,并且有一个方向肯定没有关联的节点,此时同样为多个方向设定关于方向的优先级序列,这一类目标节点的对应优先级序列为第二方向优先级序列,所述第二方向优先级序列中优先级从高到低依次为:所述父节点相对的方向、所述父节点相邻的方向。为便于对思维导图的理解,子节点设置于父节点相对的方向,所有第二方向优先级序列中优先级最高的方向为父节点相对的方向,父节点相邻的方向有两个,这两个方向可以随机选择,也可以根据父节点所在的方向确认具体的优先级高低。例如,父节点在目标节点的左方,那么第二方向优先级序列中优先级从高到低依次为:右方、下方、上方;父节点在目标节点的上方,那么第二方向优先级序列中优先级从高到低依次为:下方、左方、右方;父节点在目标节点的右方,那么第二方向优先级序列中优先级从高到低依次为:左方、下方、上方;父节点在目标节点的下方,那么第二方向优先级序列中优先级从高到低依次为:上方、左方、右方。

如图12所示,在屏幕100中,对于目标节点aaa,其父节点ooo是根节点,并且目标节点aaa没有子节点,对应根据第二方向优先级序列选择新增子节点的添加方向,在图12中,第二方向优先级序列中最高的可用方向为父节点相对的方向,即右方,目标节点aaa对应的新增子节点bbb布局在右方。如图13所示,在屏幕100中,对于目标节点aaa,其父节点ooo是根节点,并且目标节点aaa没有子节点,对应根据第二方向优先级序列选择新增子节点的添加方向,在图13中,第二方向优先级序列中最高的可用方向为父节点相邻的方向,并且根据父节点的具体方向(左方),父节点相邻的方向中优先级更高的是下方,目标节点aaa对应的新增子节点bbb布局在下方。如图14所示,在屏幕100中,对于目标节点aaa,其父节点ooo是根节点,并且目标节点aaa没有子节点,对应根据第二方向优先级序列选择新增子节点的添加方向,在图12中,第二方向优先级序列中最高的可用方向为父节点相邻的方向,并且根据父节点的具体方向(左方),父节点相邻的方向中优先级更高的是下方,但是下方没有空间再布局新的节点,最终可以确认目标节点aaa对应的新增子节点bbb布局在上方。

另外,如果第二方向优先级序列中所有的备选方向都无法在显示区域的边界内布局新增子节点,则将新增子节点布局到父节点相对的一侧,此时新增子节点布局到屏幕之外,整个思维导图不能全部显示,后续可以调整整个思维导图在屏幕中的显示位置,将需要显示的部分显示在屏幕中。

步骤s205:若目标节点有二级父节点且不存在原有子节点,则从第三方向优先级序列中选择一个方向添加新增子节点。

如果目标节点有二级父节点(不限定只有二级,可以有更多级),则这一类的目标节点附近的节点分布已经比较复杂,此时需要考虑多个节点对新增子节点的布局影响。此时同样为多个方向设定关于方向的优先级序列,这一类目标节点对应的优先级序列为第三方向优先级序列,所述第三方向优先级序列中优先级从高到低依次为:间接父节点相对的第一方向、间接父节点相对于直接父节点相同的第二方向、第一方向或第二方向相邻的方向。直接父节点指的是直接和目标节点通过连接线相连的父节点,间接父节点是直接父节点的父节点。

另外需要说明的是,以上对第三方向优先级序列的限定只是布局的基本原则,在这一基本原则下,根据具体的已有布局情况,新增子节点有着多样的布局方式。

假如目标节点aaa有父节点ooo(节点aaa的直接父节点),并且节点ooo有父节点fff(节点aaa的间接父节点),在为目标节点aaa添加新增子节点bbb时,首先会判断节点ooo相对于节点aaa的方向(上下左右),并且判断节点fff相对于节点ooo的方向(上下左右),基于以上判断,会出现以下情况:

a、节点ooo在节点aaa的左方:

a1、节点fff相对于节点ooo在左方,那节点bbb放置的优先顺序为节点aaa的右方-下方-上方。

a2、节点fff相对于节点ooo在上方,那节点bbb放置的优先顺序为节点aaa的上方-右方。

a3、节点fff相对于节点ooo在下方,那节点bbb放置的优先顺序为节点aaa的下方-右方。

b:节点ooo在节点aaa的上方:

b1、节点fff相对于节点ooo在左方,那节点bbb放置的优先顺序为节点aaa的左方-下方。

节点fff相对于节点ooo在上方,那节点bbb放置的优先顺序为节点aaa的下方-左方-右方。

节点fff相对于节点ooo在右方,那节点bbb放置的优先顺序为节点aaa的右方-下方。

c:节点ooo在节点aaa的右方:

c1、节点fff相对于节点ooo在下方,那节点bbb放置的优先顺序为节点aaa的下方-左方。

c2、节点fff相对于节点ooo在上方,那节点bbb放置的优先顺序为节点aaa的上方-左方。

c3、节点fff相对于节点ooo在右方,那节点bbb放置的优先顺序为节点aaa的左方-下方-上方。

d:节点ooo在节点aaa的下方:

d1、节点fff相对于节点ooo在左方,那节点bbb放置的优先顺序为节点aaa的左方-上方。

d2、节点fff相对于节点ooo在右方,那节点bbb放置的优先顺序为节点aaa的右方-上方。

d3、节点fff相对于节点ooo在下方,那节点bbb放置的优先顺序为节点aaa的上方-左方-右方。

以上a、b、c、d四种情况的优选顺序确定,以a1和b1为例进行阐述。

关于a1,请参考图15,节点ooo在节点aaa的左方,节点fff相对于节点ooo在左方。基于第三方向优先级序列,优先级最高的是间接父节点相对的第一方向,也就是右方;其次是间接父节点相对于直接父节点相同的第二方向,也就是左方,但是节点aaa的左方就是节点ooo,所以左方(第二方向)必然不可用,然后是第一方向或第二方向相邻的方向,第二方向不存在,那么只剩下第一方向相邻的方向有两个,具体根据可以节点ooo和节点aaa的相对方向进一步确认优先级,当节点ooo在节点aaa的左方,节点fff相对于节点ooo在左方时,下方相对于下方具备较高的优先级,所以最终的优先顺序为右方-下方-左方。基于以上的优先顺序,进一步体现在图15的布局中,优先级最高的右方太过接近边界,无法添加新增子节点,选用次优的下方添加新增子节点bbb。

关于b1,请参考图16,节点ooo在节点aaa的上方,节点fff相对于节点ooo在左方。基于第三方向优先级序列,优先级最高的是间接父节点相对的第一方向,但是在这一布局中,节点fff和节点aaa不在同一水平线或垂直线上,间接父节点相对的第一方向不存在;其次是间接父节点相对于直接父节点相同的第二方向,在图16中,间接父节点在直接父节点的左方;最后是第一方向或第二方向相邻的方向,第一方向不存在,那么只剩下第二方向相邻的方向,第二方向相邻的方向有两个,其中一个为节点ooo所在的方向不可用,所以最终的优先顺序为左方-下方。基于以上的优先顺序,进一步体现在图16的布局中,优先级最高的左方可用,所以在节点aaa的左方添加新增子节点bbb。

优先级较高的方向无法在所述显示区域的边界内为所述目标节点添加新增子节点,则选择优先级较低的方向。

具体来说,在所述显示区域的边界无法为所述目标节点添加新增子节点通过以下方式判断:

d1+d2>d3,

其中,d1为所述新增子节点的最小高度或宽度,d2为所述目标节点与所述新增子节点之间连接线的长度,d3为所述目标节点在当前选择方向上与所述显示区域的边界的距离。

在往节点aaa添加新增子节点bbb的过程中,需要获取节点aaa的坐标(x,y)和大小(w,h),连接线最小长度(minline),节点最小大小(minw,minh),屏幕大小(screenw,screenh),在完成基本的相对方向判断之后,进行具体的方向选择时,对于当前备选的方向,以通过以上节点、连线和屏幕的参数进行计算。例如判断将bbb子节点放置在aaa节点右边,是否超出屏幕边界,需要计算x+w+minline+minw是否大于screenw,如果不大于,则表示不会超出,那就设置(targetx,targety)为(x+w+minline+minw,y),其中(targetx,targety)为新增子节点bbb的坐标。如果大于,则表示放在右边会超出显示区域的边界,需要根据方向的优先级重新选择方向并进行计算。其它方向的计算方式大体相同,也比较简单,在此不做重复说明。

当然,如果优先级较高的方向存在其它节点,也需要选择优先级较低的方向。

步骤s206:若所述目标节点存在原有子节点,在所述原有子节点所在的方向添加新增子节点。

步骤s207:接收思维导图保存指令。

思维导图保存指令是思维导图编辑过程中的常规操作,可以通过快捷键或点击操作实现。

步骤s208:保存所述思维导图中的节点。

保存所述思维导图中的节点的逻辑关系。

思维导图作为一种矢量图,其图像保存不依赖于像素点的组合,并且因为节点间的逻辑关系(父节点和子节点的关系)是思维导图的内容重点,在保存过程中对逻辑关系进行单独保存。

步骤s209:接收思维导图展示指令。

通常来说,思维导图展示指令主要是打开思维导图的保存文件。

步骤s210:展示所述思维导图中的节点。

解析所述节点的逻辑关系,并根据所述逻辑关系确定所述节点展示时的相对位置。

在进行思维导图的展示时,根据逻辑关系进行思维导图的展示,其中存在父子关系的节点,保持所有的父节点对应的子节点的一侧,例如所有的父节点在对应的子节点的左侧,具体展开后的布局如图17所示。通过上述操作,可以实现思维导图编辑过程中尽可能将所有节点展示在显示区域的边界范围内,同时,在显示最终形成的思维导图时,能够清晰呈现思维导图的内在逻辑关系,展示形成该思维导图的思路主线,便于用户从思维导图中获取信息。

本实施例提供的思维导图的节点添加方法,通过接收节点生成指令,所述节点生成指令指定有目标节点;识别思维导图的显示区域的边界;在所述显示区域的边界内为所述目标节点添加新增子节点,所述目标节点在所述显示区域中的位置不变,所述新增子节点位于所述目标节点的外周关联区域。实现了在思维导图编辑过程中,将思维导图的图形元素全部显示在屏幕范围内,便于查看思维导图的全部内容,交互更加方便,同时也提高了屏幕空间的利用率。

实施例三

图18为本发明实施例三提供的一种思维导图的节点添加装置的结构示意图。本实施例提供的节点添加装置可以集成在节点添加设备中,该节点添加设备可以是两个或多个物理实体构成,也可以是一个物理实体构成,该节点添加设备可以是电脑、手机、平板、投影仪或交互智能平板等。参考图3,本实施例提供的节点添加装置具体包括:

第一指令接收单元401,用于接收节点生成指令,所述节点生成指令指定有目标节点;

边界识别单元402,用于识别思维导图的显示区域的边界;

节点新增单元403,用于在所述显示区域的边界内为所述目标节点添加新增子节点,所述目标节点在所述显示区域中的位置不变,所述新增子节点位于所述目标节点的外周关联区域。

其中,所述节点新增单元403,包括:

第一新增模块,用于若所述目标节点不存在原有子节点,在所述目标节点的预设方向添加新增子节点,所述新增子节点位于所述目标节点和显示区域的边界之间;

第二新增模块,用于若所述目标节点存在原有子节点,在所述原有子节点所在的方向添加新增子节点,所述新增子节点位于所述目标节点和显示区域的边界之间。

其中,所述第一新增模块,包括:

第一添加子模块,用于若所述目标节点是根节点且不存在原有子节点,则从第一方向优先级序列中选择一个方向添加新增子节点,所述第一方向优先级序列中优先级从高到低依次为:右方、下方、上方、左方;

第二添加子模块,用于若所述目标节点的父节点是根节点且不存在原有子节点,则从第二方向优先级序列中选择一个方向添加新增子节点,所述第二方向优先级序列中优先级从高到低依次为:所述父节点相对的方向、所述父节点相邻的方向;

第三添加子模块,用于若所述目标节点有二级父节点且不存在原有子节点,则从第三方向优先级序列中选择一个方向添加新增子节点,所述第三方向优先级序列中优先级从高到低依次为:间接父节点相对的第一方向、间接父节点相对于直接父节点相同的第二方向、第一方向或第二方向相邻的方向。

其中,若优先级较高的方向无法在所述显示区域的边界内为所述目标节点添加新增子节点,则选择优先级较低的方向。

其中,在所述显示区域的边界无法为所述目标节点添加新增子节点通过以下方式判断:

d1+d2>d3,

其中,d1为所述新增子节点的最小高度或宽度,d2为所述目标节点与所述新增子节点之间连接线的长度,d3为所述目标节点在当前选择方向上与所述显示区域的边界的距离。

其中,所述装置,还包括:

第二指令接收单元,用于接收思维导图保存指令;

节点保存单元,用于保存所述思维导图中的节点;

第三指令接收单元,用于接收思维导图展示指令;

节点展示单元,用于展示所述思维导图中的节点,所述节点展示时任意两个父子节点之间的相对方向相同。

其中,所述节点保存单元,包括:

逻辑保存模块,用于保存所述思维导图中的节点的逻辑关系;

所述节点展示单元,包括:

逻辑展示模块,用于解析所述节点的逻辑关系,并根据所述逻辑关系确定所述节点展示时的相对位置。

实施例四

图19为本发明实施例四提供的一种思维导图的节点添加设备的结构示意图。如图19所示,该节点添加设备包括:处理器40、存储器41、显示屏42、输入装置43以及输出装置44。该节点添加设备中处理器40的数量可以是一个或者多个,图19中以一个处理器40为例。该节点添加设备中存储器41的数量可以是一个或者多个,图19中以一个存储器41为例。该节点添加设备的处理器40、存储器41、显示屏42、输入装置43以及输出装置44可以通过总线或者其他方式连接,图19中以通过总线连接为例。实施例中,节点添加设备可以是电脑,手机,平板,投影仪或交互智能平板等。实施例中,以节点添加设备为交互智能平板为例,进行描述。

存储器41作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明任意实施例所述的节点添加方法对应的程序指令/模块(例如,实施例三中节点添加装置中的第一指令接收单元401、边界识别单元402和节点新增单元403)。存储器41可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据设备的使用所创建的数据等。此外,存储器41可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器41可进一步包括相对于处理器40远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

显示屏42为具有触摸功能的显示屏42,其可以是电容屏、电磁屏或者红外屏。一般而言,显示屏42用于根据处理器40的指示显示数据,还用于接收作用于显示屏42的触摸操作,并将相应的信号发送至处理器40或其他装置。可选的,当显示屏42为红外屏时,其还包括红外触摸框,该红外触摸框设置在显示屏42的四周,其还可以用于接收红外信号,并将该红外信号发送至处理器40或者其他设备。

输入装置43可用于接收输入的数字或者字符信息,以及产生与节点添加设备的用户设置以及功能控制有关的键信号输入,还可以是用于获取图像的摄像头以及获取音频数据的拾音设备。输出装置44可以包括扬声器等音频设备。需要说明的是,输入装置43和输出装置44的具体组成可以根据实际情况设定。

处理器40通过运行存储在存储器41中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的节点添加方法。

具体的,实施例中,处理器40执行存储器41中存储的一个或多个程序时,具体实现如实施例一和实施例二中的操作。

上述提供的节点添加设备可用于执行上述任意实施例提供的节点添加方法,具备相应的功能和有益效果。

实施例五

本发明实施例五还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行前文提供的思维导图的节点添加方法。

当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的节点添加方法操作,还可以执行本发明任意实施例所提供的节点添加方法中的相关操作,且具备相应的功能和有益效果。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1