CN108958954B - 模块间的消息传递方法、装置、电子设备和计算机可读介质 - Google Patents

模块间的消息传递方法、装置、电子设备和计算机可读介质 Download PDF

Info

Publication number
CN108958954B
CN108958954B CN201810733104.1A CN201810733104A CN108958954B CN 108958954 B CN108958954 B CN 108958954B CN 201810733104 A CN201810733104 A CN 201810733104A CN 108958954 B CN108958954 B CN 108958954B
Authority
CN
China
Prior art keywords
module
root node
feature
change
modules
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810733104.1A
Other languages
English (en)
Other versions
CN108958954A (zh
Inventor
林鑫
刘高
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Microlive Vision Technology Co Ltd
Original Assignee
Beijing Microlive Vision Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Microlive Vision Technology Co Ltd filed Critical Beijing Microlive Vision Technology Co Ltd
Priority to CN201810733104.1A priority Critical patent/CN108958954B/zh
Publication of CN108958954A publication Critical patent/CN108958954A/zh
Application granted granted Critical
Publication of CN108958954B publication Critical patent/CN108958954B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本公开公开一种模块间的消息传递方法、模块间的消息传递装置、电子设备和计算机可读存储介质。其中,该模块间的消息传递方法包括:建立主控单元,所述主控单元保存多个根节点,所述根节点分别对应不同的模块;当第一模块发生变化时,发送消息给主控单元,控制所述第一模块对应的第一根节点发生变化;将所述变化的消息传递给与第二模块对应的第二根节点,以使第二根节点发生变化;基于所述第二根节点的变化,使第二模块发生变化。本公开实施例通过建立一个主控单元控制多个模块之间的消息传递,实现了模块间消息的高效传递,从而提高界面的开发速度,并提高界面的用户的体验。

Description

模块间的消息传递方法、装置、电子设备和计算机可读介质
技术领域
本公开涉及一种程序设计技术领域,特别是涉及一种模块间的消息传递方法、装置、电子设备和计算机可读介质。
背景技术
界面,也称为,UI,UI即User Interface(用户界面)的简称,UI设计是指对软件的人机交互、操作逻辑、界面美观的整体设计。UI设计分为实体UI和虚拟UI。
现有技术中的界面中的模块,如一个编辑软件中的UI模块有工具栏、属性栏、显示栏和资源栏等等,当选中其中的一个模块,改变其位置或大小或形状等时,其他的模块相应的位置或大小或形状也会相应的进行变化,影响了用户体验。
此外,现有技术中的界面中的多个模块进行消息传递时,模块之间直接进行通信,在多个模块在进行通信时,需要维护复杂的消息传递表,逻辑关系复杂,从而增加了模块之间消息传递的难度,从而导致界面中模块开发的效率较低。
对此,提供一种在模块之间进行高效消息传递从而提高界面的开发速度并提高界面的用户的体验的模块间的消息传递方法是亟需解决的技术问题。
发明内容
本公开解决的技术问题是提供一种模块间的消息传递方法,以至少部分地解决如何在模块之间进行高效传递消息从而提高界面的开发速度并提高界面的用户的体验的技术问题。此外,还提供一种模块间的消息传递装置、电子设备和计算机可读存储介质。
为了实现上述目的,根据本公开的一个方面,提供以下技术方案:
一种模块间的消息传递方法,包括:
建立主控单元,所述主控单元保存多个根节点,所述根节点分别对应不同的模块;
当第一模块发生变化时,发送消息给主控单元,控制所述第一模块对应的第一根节点发生变化;
将所述变化的消息传递给与第二模块对应的第二根节点,以使第二根节点发生变化;
基于所述第二根节点的变化,使第二模块发生变化。
进一步地,在当第一模块发生变化,与所述第一模块对应的第一根节点发生变化之后,还包括:
所述主控单元分析所述第一根节点的变化,得到与所述变化相关的第二根节点。
进一步地,所述不同的模块包括:特效模块、资源模块、显示模块和属性模块。
进一步地,所述第一模块发生变化,包括:选中第一模块中的特征、增加第一模块中的特征、删除第一模块中的特征和/或调整第一模块中的特征的属性。
进一步地,所述特征包括相关数据,所述相关数据的种类为预设种类。
进一步地,所述种类包括资源类、显示类和/或属性类。
进一步地,当所述变化为选中第一模块中的特征,则在第一根节点树中确定与所述特征相关的第一子节点,并选中所述与所述特征相关的第一子节点;
在选中所述与所述特征相关的第一子节点之后,确定与所述第一子节点相关的第一数据,根据所述第一数据确定第二根节点树的第二子节点;
在与所述第二根节点对应的第二模块中,显示与所述第二子节点相关的第二特征。
进一步地,当所述变化为增加第一模块中的特征,则确定与所述特征相关的第一根节点,并根据所述与特征相关第一根节点建立与所述特征相关的第一根节点树;
确定与所述特征相关的第二数据,根据第二数据以及第二根节点建立与第二数据相关的树第二根节点树,所述第二根节点树中包括与第二数据相关的第二子节点;
在与所述第二根节点对应的第二模块中,显示与所述第二子节点相关的第二特征。
进一步地,当所述变化为删除第一模块中的特征时,则确定与所述特征相关的第一根节点,并根据所述与特征相关第一根节点删除与所述特征相关的第一根节点树;
确定与所述特征相关的第三数据,查找与第三数据相关的第二根节点树,并删除所述第二根节点树,所述第二根节点树中包括与第三数据相关的第三子节点;
在与所述第二根节点对应的第二模块中,删除与所述第三子节点相关的第三特征。
进一步地,当所述变化为调整第一模块中的特征时,则确定与所述特征相关的第一根节点,并根据所述与特征相关第一根节点调整与所述特征相关的第一根节点树;
确定与所述特征相关的第四数据,查找与第四数据相关的第二根节点树,并调整所述第二根节点树,所述第二根节点树中包括与第四数据相关的第四子节点;
在与所述第二根节点对应的第二模块中,显示与所述第四子节点相关的第四特征。
为了实现上述目的,根据本公开的另一个方面,还提供以下技术方案:
一种模块间的消息传递装置,包括:
建立装置,用于建立主控单元,所述主控单元保存多个根节点,所述根节点分别对应不同的模块;
消息发送装置,当所述第一模块发生变化时,发送消息给主控单元,控制所述第一模块对应的第一根节点发生变化;
消息传递装置,用于将所述变化的消息传递给与第二模块对应的第二根节点,以使第二根节点发生变化;
变化装置,用于基于所述第二根节点的变化,使第二模块发生变化。
进一步地,还包括:分析装置,用于在当第一模块发生变化,与所述第一模块对应的第一根节点发生变化之后,所述主控单元分析所述第一根节点的变化,得到与所述变化相关的第二根节点。
进一步地,所述不同的模块包括:特效模块、资源模块、显示模块和属性模块。
进一步地,所述第一模块发生变化,包括:选中第一模块中的特征、在增加第一模块中的特征、删除第一模块中的特征和/或调整第一模块中的特征的属性。
进一步地,所述特征包括相关数据,所述相关数据的种类为预设种类。
进一步地,所述种类包括资源类、显示类和/或属性类。
进一步地,当所述变化为选中第一模块中的特征,则在第一根节点树中确定与所述特征相关的第一子节点,并选中所述与所述特征相关的第一子节点;
在选中所述与所述特征相关的第一子节点之后,确定与所述第一子节点相关的第一数据,根据所述第一数据确定第二根节点树的第二子节点;
在与所述第二根节点对应的第二模块中,显示与所述第二子节点相关的第二特征。
进一步地,当所述变化为增加第一模块中的特征,则确定与所述特征相关的第一根节点,并根据所述与特征相关第一根节点建立与所述特征相关的第一根节点树;
确定与所述特征相关的第二数据,根据第二数据以及第二根节点建立与第二数据相关的树第二根节点树,所述第二根节点树中包括与第二数据相关的第二子节点;
在与所述第二根节点对应的第二模块中,显示与所述第二子节点相关的第二特征。
进一步地,当所述变化为删除第一模块中的特征时,则确定与所述特征相关的第一根节点,并根据所述与特征相关第一根节点删除与所述特征相关的第一根节点树;
确定与所述特征相关的第三数据,查找与第三数据相关的第二根节点树,并删除所述第二根节点树,所述第二根节点树中包括与第三数据相关的第三子节点;
在与所述第二根节点对应的第二模块中,删除与所述第三子节点相关的第三特征。
进一步地,当所述变化为调整第一模块中的特征时,则确定与所述特征相关的第一根节点,并根据所述与特征相关第一根节点调整与所述特征相关的第一根节点树;
确定与所述特征相关的第四数据,查找与第四数据相关的第二根节点树,并调整所述第二根节点树,所述第二根节点树中包括与第四数据相关的第四子节点;
在与所述第二根节点对应的第二模块中,显示与所述第四子节点相关的第四特征。
为了实现上述目的,根据本公开的另一个方面,还提供以下技术方案:
一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有能被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述任一模块间的消息传递方法技术方案中所述的步骤。
为了实现上述目的,根据本公开的又一个方面,还提供以下技术方案:
一种非暂态计算机可读存储介质,其特征在于,该非暂态计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行上述任一模块间的消息传递方法技术方案中所述的步骤。
本公开实施例提供一种模块间的消息传递方法、模块间的消息传递装置、电子设备和计算机可读存储介质。其中,该模块间的消息传递方法包括:建立主控单元,所述主控单元保存多个根节点,所述根节点分别对应不同的模块;当第一模块发生变化时,发送消息给主控单元,控制所述第一模块对应的第一根节点发生变化;将所述变化的消息传递给与第二模块对应的第二根节点,以使第二根节点发生变化;基于所述第二根节点的变化,使第二模块发生变化。本公开实施例通过建立一个主控单元控制多个模块之间的消息传递,实现了模块间消息的高效传递,从而提高界面的开发速度,并提高界面的用户的体验。
上述说明仅是本公开技术方案的概述,为了能更清楚了解本公开的技术手段,而可依照说明书的内容予以实施,并且为让本公开的上述和其他目的、特征和优点能够更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。
附图说明
图1为根据本公开一个实施例的模块间的消息传递方法的流程示意图。
图2为根据本公开另一个实施例的模块间的消息传递方法的流程示意图。
图3为根据本公开一个实施例的模块间的消息传递装置的结构示意图。
图4为根据本公开另一个实施例的模块间的消息传递装置的结构示意图。
图5为根据本公开一个实施例的电子设备的结构示意图。
图6为根据本公开一个实施例的计算机可读存储介质的结构示意图。
具体实施方式
以下通过特定的具体实例说明本公开的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本公开的其他优点与功效。显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。本公开还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本公开的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
需要说明的是,下文描述在所附权利要求书的范围内的实施例的各种方面。应显而易见,本文中所描述的方面可体现于广泛多种形式中,且本文中所描述的任何特定结构及/或功能仅为说明性的。基于本公开,所属领域的技术人员应了解,本文中所描述的一个方面可与任何其它方面独立地实施,且可以各种方式组合这些方面中的两者或两者以上。举例来说,可使用本文中所阐述的任何数目个方面来实施设备及/或实践方法。另外,可使用除了本文中所阐述的方面中的一或多者之外的其它结构及/或功能性实施此设备及/或实践此方法。
还需要说明的是,以下实施例中所提供的图示仅以示意方式说明本公开的基本构想,图式中仅显示与本公开中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
另外,在以下描述中,提供具体细节是为了便于透彻理解实例。然而,所属领域的技术人员将理解,可在没有这些特定细节的情况下实践所述方面。
为了解决如何在模块之间进行高效传递消息从而提高界面的开发速度并提高界面的用户的体验的技术问题,本公开实施例提供一种模块间的消息传递方法。如图1所示,该模块间的消息传递方法主要包括如下步骤S101至步骤S104。其中:
步骤S101:建立主控单元,所述主控单元保存多个根节点,所述根节点分别对应不同的模块。
在一个实施例中,一个编辑软件中的UI模块有工具栏、属性栏、显示栏和资源栏等多个模块。为了控制该多个UI模块之间的消息传递,建立一个主控单元,主控单元中保存有多个根节点,每个根节点代表一个UI模块。
步骤S102:当第一模块发生变化时,发送消息给主控单元,控制所述第一模块对应的第一根节点发生变化。
为了解决模块直接进行消息传递逻辑控制复杂的技术问题,当某一个模块发生变化时,该模块发送消息给主控单元,即告知主控单元模块的变化,主控单元收到消息后,控制该模块对应的根节点发生变化。
步骤S103:将所述变化的消息传递给与第二模块对应的第二根节点,以使第二根节点发生变化。
UI中的模块可能是具有关联关系的,即当一个模块发生变会时导致其他的模块发生变化,此时,通过主控单元将变化的消息传递给关联的模块的根节点,以使该根节点发生变化。
步骤S104:基于所述第二根节点的变化,使第二模块发生变化。
该根节点发生变化后,主控单元基于该根节点的变化,使相应的模块发生变化。从而使得模块之间的消息传递变的简单,进而使程序设计人员的劳动强度大大降低,提高了界面的开发速度并提高界面的用户的体验的技术问题。
在一个实施例中,多个UI模块中,在第一个模块中建立一个项目,则在第二个模块中显示该项目所需要的资源,在第三个模块中显示一个项目的预览,在四个模块中显示该项目的属性配置,当在第二个模块中编辑或导入资源时,将这变化的消息传递给主控单元,主控单元控制第二模块对应的根节点发生变化;主控单元将变化的消息传递给第三模块和第四模块对应的根节点,使这些根节点发生变化,进而通过根节点实现第三模块的预览和第四模块的属性配置页面会发生对应的变化。本发明的一个重要发明点是通过主控单元根据需要控制关联模块的变化,而不是调整一个模块时,所有的模块跟着变化,比如第一模块中的项目,如果需要改变资源和属性配置,则控制相应根节点的变化,使对应的第二和第四模块发生对应的变化。而第三模块不变。
在一些其他实施例中,上述方法可以实现其他软件中的多个模块的消息传递,其方法与UI模块中的消息传递类似。
本公开的另一实施例也提供一种模块间的消息传递方法。如图2所示,该模块间的消息传递方法主要包括如下步骤S201至步骤S205。其中:
步骤S201:建立主控单元,所述主控单元保存多个根节点,所述根节点分别对应不同的模块。
在一个实施例中,一个编辑软件中的UI模块有工具栏、属性栏、显示栏和资源栏等多个模块。为了控制该多个UI模块之间的消息传递,建立一个主控单元,主控单元中保存有多个根节点,每个根节点代表一个UI模块。
步骤S202:当第一模块发生变化时,发送消息给主控单元,控制所述第一模块对应的第一根节点发生变化。
为了解决模块直接进行消息传递逻辑控制复杂的技术问题,当某一个模块发生变化时,该模块发送消息给主控单元,即告知主控单元模块的变化,主控单元收到消息后,控制该模块对应的根节点发生变化。
步骤S203:主控单元分析所述第一根节点的变化,得到与所述变化相关的第二根节点。
为了提高用户的体验,即需要确定哪些模块跟随变化的模块进行变化,通过主控单元分析各模块的根节点之间的关联关系,确定与第一模块的根节点变化相关的第二根节点。这样,在后面的操作中,可以确定对哪些模块进行变化,哪些不变化,提高了用户体验,由于采用主控单元进行控制,大大提高了确定相应的模块的根节点速度。
步骤S204:将所述变化的消息传递给与第二模块对应的第二根节点,以使第二根节点发生变化。
UI中的模块可能是具有关联关系的,即当一个模块发生变化时导致其他的模块发生变化,此时,通过主控单元将变化的消息传递给关联的模块的根节点,以使该根节点发生变化。
步骤S205:基于所述第二根节点的变化,使第二模块发生变化。
该根节点发生变化后,主控单元基于该根节点的变化,使相应的模块发生变化。从而使得模块之间的消息传递变的简单,进而使程序设计人员的劳动强度大大降低,提高了界面的开发速度并提高界面的用户的体验的技术问题。
在一个实施例中,多个UI模块中,在第一个模块中建立一个项目,则在第二个模块中显示该项目所需要的资源,在第三个模块中显示一个项目的预览,在四个模块中显示该项目的属性配置,当在第二个模块中编辑或导入资源时,将这变化的消息传递给主控单元,主控单元控制第二模块对应的根节点发生变化;主控单元将变化的消息传递给第三模块和第四模块对应的根节点,使这些根节点发生变化,进而通过根节点实现第三模块的预览和第四模块的属性配置页面会发生对应的变化。本发明的一个重要发明点是通过主控单元根据需要控制关联模块的变化,而不是调整一个模块时,所有的模块跟着变化,比如第一模块中的项目,如果需要改变资源和属性配置,则控制相应根节点的变化,使对应的第二和第四模块发生对应的变化。而第三模块不变。
在一个实施例中,不同的模块可以包括:特效模块、资源模块、显示模块和属性模块。比如,在一个典型的应用中,制作特效的软件的UI包括基本的4个模块,特效模块,用于建立一个特效,资源模块用于显示该特效所需要的资源,显示模块用于显示该特效的预览图,属性模块用于显示属性面板,用于调节特效的属性等等,比如显示位置,显示大小,显示时间,触发条件等等。通过上述描述的方法,可以实现特效模块、资源模块、显示模块和属性模块之间的消息传递,使得用户的开发变得容易,提高了用户体验。
在一个实施例中,第一模块的主要变化形式包括:选中第一模块中的特征、增加第一模块中的特征、删除第一模块中的特征和/或调整第一模块中的特征的属性,下面将对这些变化形式进行详细介绍。这也是模块的典型的变化形式。特征一般通过数据来反映,即特征包括相关数据,所述相关数据的种类(如,包括资源类、显示类和/或属性类)为预设种类。比如,特征就是模块中的项目,相关数据就是项目的相关数据,比如项目所需的资源,用不用预览以及包括哪些可调节的属性,这些都是预设的,也就是说一旦项目确定了,其所需的相关数据类型就是确定的,但是相关类型的数据可以删减,比如一个特效必须包括资源类型的数据,但是包括多少个资源类型的数据是可以调节的。
这个实施例描述了变化为选中第一模块中的特征的具体操作为:当所述变化为选中第一模块中的特征,则在第一根节点树中确定与所述特征相关的第一子节点,并选中所述与所述特征相关的第一子节点;在选中所述与所述特征相关的第一子节点之后,确定与所述第一子节点相关的第一数据,根据所述第一数据确定第二根节点树的第二子节点;在与所述第二根节点对应的第二模块中,显示与所述第二子节点相关的第二特征。即模块变化为选中,当选中一个特效时,在资源面板上显示所需资源,在属性面板上显示属性,如果有默认的特效,还可以显示默认特效的预览图。
这个实施例描述了变化为增加第一模块的特征的具体操作为:当所述变化为增加第一模块中的特征,则确定与所述特征相关的第一根节点,并根据所述与特征相关第一根节点建立与所述特征相关的第一根节点树;确定与所述特征相关的第二数据,根据第二数据以及第二根节点建立与第二数据相关的树第二根节点树,所述第二根节点树中包括与第二数据相关的第二子节点;在与所述第二根节点对应的第二模块中,显示与所述第二子节点相关的第二特征。即模块变化为增加特征,比如增加一个特效,在资源面板上显示所需资源,在属性面板上显示属性,如果有默认的特效,还可以显示默认特效的预览图。
这个实施例描述了变化为删除第一模块中的特征的具体操作为:当所述变化为删除第一模块中的特征时,则确定与所述特征相关的第一根节点,并根据所述与特征相关第一根节点删除与所述特征相关的第一根节点树;确定与所述特征相关的第三数据,查找与第三数据相关的第二根节点树,并删除所述第二根节点树,所述第二根节点树中包括与第三数据相关的第三子节点;在与所述第二根节点对应的第二模块中,删除与所述第三子节点相关的第三特征。。即模块变化为删除特征,比如删除一个特效的资源,则删除与该资源对应的属性面板以及预览图。
这个实施例描述了变化为调整第一模块中的特征的具体操作为:当所述变化为调整第一模块中的特征时,则确定与所述特征相关的第一根节点,并根据所述与特征相关第一根节点调整与所述特征相关的第一根节点树;确定与所述特征相关的第四数据,查找与第四数据相关的第二根节点树,并调整所述第二根节点树,所述第二根节点树中包括与第四数据相关的第四子节点;在与所述第二根节点对应的第二模块中,显示与所述第四子节点相关的第四特征。即模块变化为调整,比如在属性面板上调整一个属性,比如特效的位置,则调整与显示相关的根节点的树,通过该树控制显示模块的显示结果。
本领域技术人员应清楚,上述对应方式并非穷举,本领域技术人员在上述所列方式的基础上还可以进行简单变换或等同替换,这些简单变换或等同替换也应包含在本公开的保护范围之内。
在上文中,虽然按照上述的顺序描述了模块间的消息传递方法实施例中的各个步骤,本领域技术人员应清楚,本公开实施例中的步骤并不必然按照上述顺序执行,其也可以倒序、并行、交叉等其他顺序执行,而且,在上述步骤的基础上,本领域技术人员也可以再加入其他步骤,这些明显变型或等同替换的方式也应包含在本公开的保护范围之内,在此不再赘述。
下面为本公开装置实施例,本公开装置实施例可用于执行本公开方法实施例实现的步骤,为了便于说明,仅示出了与本公开实施例相关的部分,具体技术细节未揭示的,请参照本公开方法实施例。
为了解决如何在模块之间进行高效传递消息从而提高界面的开发速度并提高界面的用户的体验的技术问题,本公开实施例提供一种模块间的消息传递装置,如图3所示,其包括:
建立装置31,用于建立主控单元,所述主控单元保存多个根节点,所述根节点分别对应不同的模块。
在一个实施例中,一个编辑软件中的UI模块有工具栏、属性栏、显示栏和资源栏等多个模块。为了控制该多个UI模块之间的消息传递,建立一个主控单元,主控单元中保存有多个根节点,每个根节点代表一个UI模块。
消息发送装置32,当所述第一模块发生变化时,发送消息给主控单元,控制所述第一模块对应的第一根节点发生变化。
为了解决模块直接进行消息传递逻辑控制复杂的技术问题,当某一个模块发生变化时,该模块发送消息给主控单元,即告知主控单元模块的变化,主控单元收到消息后,控制该模块对应的根节点发生变化。
消息传递装置33,用于将所述变化的消息传递给与第二模块对应的第二根节点,以使第二根节点发生变化。
UI中的模块可能是具有关联关系的,即当一个模块发生变化时导致其他的模块发生变化,此时,通过主控单元将变化的消息传递给关联的模块的根节点,以使该根节点发生变化。
变化装置34,用于基于所述第二根节点的变化,使第二模块发生变化。
该根节点发生变化后,所述主控单元基于该根节点的变化,使相应的模块发生变化。从而使得模块之间的消息传递变的简单,进而使程序设计人员的劳动强度大大降低,提高了界面的开发速度并提高界面的用户的体验的技术问题。
在一个实施例中,多个UI模块中,在第一个模块中建立一个项目,则在第二个模块中显示该项目所需要的资源,在第三个模块中显示一个项目的预览,在四个模块中显示该项目的属性配置,当在第二个模块中编辑或导入资源时,将这变化的消息传递给主控单元,主控单元控制第二模块对应的根节点发生变化;主控单元将变化的消息传递给第三模块和第四模块对应的根节点,使这些根节点发生变化,进而通过根节点实现第三模块的预览和第四模块的属性配置页面会发生对应的变化。本发明的一个重要发明点是通过主控单元根据需要控制关联模块的变化,而不是调整一个模块时,所有的模块跟着变化,比如第一模块中的项目,如果需要改变资源和属性配置,则控制相应根节点的变化,使对应的第二和第四模块发生对应的变化。而第三模块不变。
在一些其他实施例中,上述方法可以实现其他软件中的多个模块的消息传递,其方法与UI模块中的消息传递类似。
本公开的另一实施例也提供一种模块间的消息传递装置。如图4所示,其包括:
建立装置41:用于建立主控单元,所述主控单元保存多个根节点,所述根节点分别对应不同的模块。
在一个实施例中,一个编辑软件中的UI模块有工具栏、属性栏、显示栏和资源栏等多个模块。为了控制该多个UI模块之间的消息传递,建立一个主控单元,主控单元中保存有多个根节点,每个根节点代表一个UI模块。
消息发送装置42:当第一模块发生变化时,发送消息给主控单元,控制所述第一模块对应的第一根节点发生变化。
为了解决模块直接进行消息传递逻辑控制复杂的技术问题,当某一个模块发生变化时,该模块发送消息给主控单元,即告知主控单元模块的变化,主控单元收到消息后,控制该模块对应的根节点发生变化。
分析装置43:用于通过主控单元分析所述第一根节点的变化,得到与所述变化相关的第二根节点。
为了提高用户的体验,即需要确定哪些模块跟随变化的模块进行变化,通过主控单元分析各模块的根节点之间的关联关系,确定与第一模块的根节点变化相关的第二根节点。这样,在后面的操作中,可以确定对哪些模块进行变化,哪些不变化,提高了用户体验,由于采用主控单元进行控制,大大提高了确定相应的模块的根节点速度。
消息传递装置44,用于将将所述变化的消息传递给与第二模块对应的第二根节点,以使第二根节点发生变化。
UI中的模块可能是具有关联关系的,即当一个模块发生变化时导致其他的模块发生变化,此时,通过主控单元将变化的消息传递给关联的模块的根节点,以使该根节点发生变化。
变化装置45:用于基于所述第二根节点的变化,使第二模块发生变化。
该根节点发生变化后,所述主控单元基于该根节点的变化,使相应的模块发生变化。从而使得模块之间的消息传递变的简单,进而使程序设计人员的劳动强度大大降低,提高了界面的开发速度并提高界面的用户的体验的技术问题。
在一个实施例中,多个UI模块中,在第一个模块中建立一个项目,则在第二个模块中显示该项目所需要的资源,在第三个模块中显示一个项目的预览,在四个模块中显示该项目的属性配置,当在第二个模块中编辑或导入资源时,将这变化的消息传递给主控单元,主控单元控制第二模块对应的根节点发生变化;主控单元将变化的消息传递给第三模块和第四模块对应的根节点,使这些根节点发生变化,进而通过根节点实现第三模块的预览和第四模块的属性配置页面会发生对应的变化。本发明的一个重要发明点是通过主控单元根据需要控制关联模块的变化,而不是调整一个模块时,所有的模块跟着变化,比如第一模块中的项目,如果需要改变资源和属性配置,则控制相应根节点的变化,使对应的第二和第四模块发生对应的变化。而第三模块不变。
在一个实施例中,不同的模块可以包括:特效模块、资源模块、显示模块和属性模块。比如,在一个典型的应用中,制作特效的软件的UI包括基本的4个模块,特效模块,用于建立一个特效,资源模块用于显示该特效所需要的资源,显示模块用于显示该特效的预览图,属性模块用于显示属性面板,用于调节特效的属性等等,比如显示位置,显示大小,显示时间,触发条件等等。通过上述描述的方法,可以实现特效模块、资源模块、显示模块和属性模块之间的消息传递,使得用户的开发变得容易,提高了用户体验。
在一个实施例中,第一模块的主要变化形式包括:选中第一模块中的特征、增加第一模块中的特征、删除第一模块中的特征和/或调整第一模块中的特征的属性,下面将对这些变化形式进行详细介绍。这也是模块的典型的变化形式。特征一般通过数据来反映,即特征包括相关数据,所述相关数据的种类(如,包括资源类、显示类和/或属性类)为预设种类。比如,特征就是模块中的项目,相关数据就是项目的相关数据,比如项目所需的资源,用不用预览以及包括哪些可调节的属性,这些都是预设的,也就是说一旦项目确定了,其所需的相关数据类型就是确定的,但是相关类型的数据可以删减,比如一个特效必须包括资源类型的数据,但是包括多少个资源类型的数据是可以调节的。
这个实施例描述了变化为选中第一模块中的特征的具体操作为:当所述变化为选中第一模块中的特征,则在第一根节点树中确定与所述特征相关的第一子节点,并选中所述与所述特征相关的第一子节点;在选中所述与所述特征相关的第一子节点之后,确定与所述第一子节点相关的第一数据,根据所述第一数据确定第二根节点树的第二子节点;在与所述第二根节点对应的第二模块中,显示与所述第二子节点相关的第二特征。即模块变化为选中,当选中一个特效时,在资源面板上显示所需资源,在属性面板上显示属性,如果有默认的特效,还可以显示默认特效的预览图。
这个实施例描述了变化为增加第一模块的特征的具体操作为:当所述变化为增加第一模块中的特征,则确定与所述特征相关的第一根节点,并根据所述与特征相关第一根节点建立与所述特征相关的第一根节点树;确定与所述特征相关的第二数据,根据第二数据以及第二根节点建立与第二数据相关的树第二根节点树,所述第二根节点树中包括与第二数据相关的第二子节点;在与所述第二根节点对应的第二模块中,显示与所述第二子节点相关的第二特征。即模块变化为增加特征,比如增加一个特效,在资源面板上显示所需资源,在属性面板上显示属性,如果有默认的特效,还可以显示默认特效的预览图。
这个实施例描述了变化为删除第一模块中的特征的具体操作为:当所述变化为删除第一模块中的特征时,则确定与所述特征相关的第一根节点,并根据所述与特征相关第一根节点删除与所述特征相关的第一根节点树;确定与所述特征相关的第三数据,查找与第三数据相关的第二根节点树,并删除所述第二根节点树,所述第二根节点树中包括与第三数据相关的第三子节点;在与所述第二根节点对应的第二模块中,删除与所述第三子节点相关的第三特征。。即模块变化为删除特征,比如删除一个特效的资源,则删除与该资源对应的属性面板以及预览图。
这个实施例描述了变化为调整第一模块中的特征的具体操作为:当所述变化为调整第一模块中的特征时,则确定与所述特征相关的第一根节点,并根据所述与特征相关第一根节点调整与所述特征相关的第一根节点树;确定与所述特征相关的第四数据,查找与第四数据相关的第二根节点树,并调整所述第二根节点树,所述第二根节点树中包括与第四数据相关的第四子节点;在与所述第二根节点对应的第二模块中,显示与所述第四子节点相关的第四特征。即模块变化为调整,比如在属性面板上调整一个属性,比如特效的位置,则调整与显示相关的根节点的树,通过该树控制显示模块的显示结果。
图5是图示根据本公开的实施例的电子设备的硬件框图。如图5所示,根据本公开实施例的电子设备50包括存储器51和处理器52。
该存储器51用于存储非暂时性计算机可读指令。具体地,存储器51可以包括一个或多个计算机程序产品,该计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。该易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。该非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。
该处理器52可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元,并且可以控制电子设备50中的其它组件以执行期望的功能。在本公开的一个实施例中,该处理器52用于运行该存储器51中存储的该计算机可读指令,使得该电子设备50执行前述的本公开各实施例的模块间的消息传递方法的全部或部分步骤。
本领域技术人员应能理解,为了解决如何获得良好用户体验效果的技术问题,本实施例中也可以包括诸如通信总线、接口等公知的结构,这些公知的结构也应包含在本公开的保护范围之内。
有关本实施例的详细说明可以参考前述各实施例中的相应说明,在此不再赘述。
图6是图示根据本公开的实施例的计算机可读存储介质的示意图。如图6所示,根据本公开实施例的计算机可读存储介质60,其上存储有非暂时性计算机可读指令61。当该非暂时性计算机可读指令61由处理器运行时,执行前述的本公开各实施例的模块间的消息传递方法的全部或部分步骤。
上述计算机可读存储介质60包括但不限于:光存储介质(例如:CD-ROM和DVD)、磁光存储介质(例如:MO)、磁存储介质(例如:磁带或移动硬盘)、具有内置的可重写非易失性存储器的媒体(例如:存储卡)和具有内置ROM的媒体(例如:ROM盒)。
有关本实施例的详细说明可以参考前述各实施例中的相应说明,在此不再赘述。
本公开提出的模块间的消息传递方法的各种实施方式可以以使用例如计算机软件、硬件或其任何组合的计算机可读介质来实施。对于硬件实施,本公开提出的界面的自动生成方法的各种实施方式可以通过使用特定用途集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理装置(DSPD)、可编程逻辑装置(PLD)、现场可编程门阵列(FPGA)、处理器、控制器、微控制器、微处理器、被设计为执行这里描述的功能的电子单元中的至少一种来实施。
有关本实施例的详细说明可以参考前述各实施例中的相应说明,在此不再赘述。
以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。
本公开中涉及的器件、装置、设备、***的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、***。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
另外,如在此使用的,在以“至少一个”开始的项的列举中使用的“或”指示分离的列举,以便例如“A、B或C的至少一个”的列举意味着A或B或C,或AB或AC或BC,或ABC(即A和B和C)。此外,措辞“示例的”不意味着描述的例子是优选的或者比其他例子更好。
还需要指出的是,在本公开的***和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。
可以不脱离由所附权利要求定义的教导的技术而进行对在此所述的技术的各种改变、替换和更改。此外,本公开的权利要求的范围不限于以上所述的处理、机器、制造、事件的组成、手段、方法和动作的具体方面。可以利用与在此所述的相应方面进行基本相同的功能或者实现基本相同的结果的当前存在的或者稍后要开发的处理、机器、制造、事件的组成、手段、方法或动作。因而,所附权利要求包括在其范围内的这样的处理、机器、制造、事件的组成、手段、方法或动作。
提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本公开。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本公开的范围。因此,本公开不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本公开的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。

Claims (12)

1.一种模块间的消息传递方法,其特征在于,包括:
建立主控单元,所述主控单元保存多个根节点,所述根节点分别对应不同的模块;其中,所述多个根节点之间具有关联关系;其中,所述模块为界面中的模块;
当第一模块发生变化时,发送消息给主控单元,控制所述第一模块对应的第一根节点发生变化;
所述主控单元分析所述第一根节点的变化,得到与所述变化相关的第二根节点;
将所述变化的消息传递给与第二模块对应的所述第二根节点,以使所述第二根节点发生变化;其中,所述第二根节点为所述第一根节点的关联根节点;
基于所述第二根节点的变化,使第二模块发生变化。
2.如权利要求1所述的模块间的消息传递方法,其特征在于,所述不同的模块包括:
特效模块、资源模块、显示模块和属性模块。
3.如权利要求1所述的模块间的消息传递方法,其特征在于,所述第一模块发生变化,包括:
选中第一模块中的特征、增加第一模块中的特征、删除第一模块中的特征和/或调整第一模块中的特征的属性。
4.如权利要求3所述的模块间的消息传递方法,其特征在于:
所述特征包括相关数据,所述相关数据的种类为预先设置的。
5.如权利要求4所述的模块间的消息传递方法,其特征在于:
所述相关数据的种类包括资源类、显示类和/或属性类。
6.如权利要求3所述的模块间的消息传递方法,其特征在于:
当所述变化为选中第一模块中的特征,则在第一根节点树中确定与所述特征相关的第一子节点,并选中所述与所述特征相关的第一子节点;
在选中所述与所述特征相关的第一子节点之后,确定与所述第一子节点相关的第一数据,根据所述第一数据确定第二根节点树的第二子节点;
在与所述第二根节点对应的第二模块中,显示与所述第二子节点相关的第二特征。
7.如权利要求3所述的模块间的消息传递方法,其特征在于:
当所述变化为增加第一模块中的特征,则确定与所述特征相关的第一根节点,并根据所述与特征相关第一根节点建立与所述特征相关的第一根节点树;
确定与所述特征相关的第二数据,根据第二数据以及第二根节点建立与第二数据相关的第二根节点树,所述第二根节点树中包括与第二数据相关的第二子节点;
在与所述第二根节点对应的第二模块中,显示与所述第二子节点相关的第二特征。
8.如权利要求3所述的模块间的消息传递方法,其特征在于:
当所述变化为删除第一模块中的特征时,则确定与所述特征相关的第一根节点,并根据所述与特征相关第一根节点删除与所述特征相关的第一根节点树;
确定与所述特征相关的第三数据,查找与第三数据相关的第二根节点树,并删除所述第二根节点树,所述第二根节点树中包括与第三数据相关的第三子节点;
在与所述第二根节点对应的第二模块中,删除与所述第三子节点相关的第三特征。
9.如权利要求3所述的模块间的消息传递方法,其特征在于:
当所述变化为调整第一模块中的特征时,则确定与所述特征相关的第一根节点,并根据所述与特征相关第一根节点调整与所述特征相关的第一根节点树;
确定与所述特征相关的第四数据,查找与第四数据相关的第二根节点树,并调整所述第二根节点树,所述第二根节点树中包括与第四数据相关的第四子节点;
在与所述第二根节点对应的第二模块中,显示与所述第四子节点相关的第四特征。
10.一种模块间的消息传递装置,其特征在于,包括:
建立装置,用于建立主控单元,所述主控单元保存多个根节点,所述根节点分别对应不同的模块;其中,所述多个根节点之间具有关联关系;其中,所述模块为界面中的模块;
消息发送装置,当第一模块发生变化时,发送消息给主控单元,控制所述第一模块对应的第一根节点发生变化;所述主控单元分析所述第一根节点的变化,得到与所述变化相关的第二根节点;
消息传递装置,用于将所述变化的消息传递给与第二模块对应的所述第二根节点,以使所述第二根节点发生变化;
变化装置,用于基于所述第二根节点的变化,使第二模块发生变化。
11.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有能被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-9任一所述的模块间的消息传递方法。
12.一种非暂态计算机可读存储介质,其特征在于,该非暂态计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行权利要求1-9任一所述的模块间的消息传递方法。
CN201810733104.1A 2018-07-05 2018-07-05 模块间的消息传递方法、装置、电子设备和计算机可读介质 Active CN108958954B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810733104.1A CN108958954B (zh) 2018-07-05 2018-07-05 模块间的消息传递方法、装置、电子设备和计算机可读介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810733104.1A CN108958954B (zh) 2018-07-05 2018-07-05 模块间的消息传递方法、装置、电子设备和计算机可读介质

Publications (2)

Publication Number Publication Date
CN108958954A CN108958954A (zh) 2018-12-07
CN108958954B true CN108958954B (zh) 2021-05-25

Family

ID=64486063

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810733104.1A Active CN108958954B (zh) 2018-07-05 2018-07-05 模块间的消息传递方法、装置、电子设备和计算机可读介质

Country Status (1)

Country Link
CN (1) CN108958954B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104156488A (zh) * 2014-08-29 2014-11-19 小米科技有限责任公司 网页变化检测方法及装置
CN106302008A (zh) * 2016-08-05 2017-01-04 腾讯科技(深圳)有限公司 数据更新方法和装置
CN107085519A (zh) * 2017-05-04 2017-08-22 网易(杭州)网络有限公司 行为树调试处理方法、装置、***、存储介质和处理器
CN107153606A (zh) * 2016-03-04 2017-09-12 郭德贵 一种程序分析过程可视化方法及***
CN107562459A (zh) * 2017-08-29 2018-01-09 上海雪鲤鱼计算机科技有限公司 管理***、界面生成/显示/操作/显示方法、介质终端
CN107608675A (zh) * 2017-09-27 2018-01-19 微景天下(北京)科技有限公司 基于虚拟文档对象模型的跨平台前端开发***及方法
CN107656759A (zh) * 2017-09-04 2018-02-02 口碑(上海)信息技术有限公司 一种用于用户界面的渲染方法和装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104156488A (zh) * 2014-08-29 2014-11-19 小米科技有限责任公司 网页变化检测方法及装置
CN107153606A (zh) * 2016-03-04 2017-09-12 郭德贵 一种程序分析过程可视化方法及***
CN106302008A (zh) * 2016-08-05 2017-01-04 腾讯科技(深圳)有限公司 数据更新方法和装置
CN107085519A (zh) * 2017-05-04 2017-08-22 网易(杭州)网络有限公司 行为树调试处理方法、装置、***、存储介质和处理器
CN107562459A (zh) * 2017-08-29 2018-01-09 上海雪鲤鱼计算机科技有限公司 管理***、界面生成/显示/操作/显示方法、介质终端
CN107656759A (zh) * 2017-09-04 2018-02-02 口碑(上海)信息技术有限公司 一种用于用户界面的渲染方法和装置
CN107608675A (zh) * 2017-09-27 2018-01-19 微景天下(北京)科技有限公司 基于虚拟文档对象模型的跨平台前端开发***及方法

Also Published As

Publication number Publication date
CN108958954A (zh) 2018-12-07

Similar Documents

Publication Publication Date Title
JP6986186B2 (ja) 可視化編集方法、装置、デバイス及び記憶媒体
US10824691B2 (en) Page rendering method, device, and data storage medium
CN107704576B (zh) 数据展示优化方法、装置、终端设备及存储介质
CN110058856A (zh) 页面配置方法及装置
CN111026387B (zh) 工业服务器的vplc配置方法、装置及可读存储介质
CN107122175B (zh) 界面生成方法及装置
CN108038212B (zh) 一种数据交互方法、装置、***、设备和存储介质
CN107817703B (zh) 一种实现工业控制上位机对下位机进行控制的方法
CN103428251A (zh) 一种下载任务分配方法和装置
CN106909281A (zh) 一种应用内界面切换方法及装置
US11733973B2 (en) Interactive graphic design system to enable creation and use of variant component sets for interactive objects
US8140991B2 (en) Drag and drop rule topology
CN108958954B (zh) 模块间的消息传递方法、装置、电子设备和计算机可读介质
CN112527288B (zh) 可生成代码的可视化***原型设计方法、***及存储介质
CN111506306A (zh) 一种Ansible剧本编写方法、装置和电子设备
CN107491311B (zh) 生成页面文件的方法、***以及计算机设备
CN105357289A (zh) 路由器的配置方法、软件镜像文件的生成方法及***
CN110311826B (zh) 网络设备配置方法及装置
CN114089981B (zh) 基于VSCode集成开发环境快速制作spec文件的方法及插件工具
KR102151364B1 (ko) 애니메이션 생성 방법 및 장치
CN113436330A (zh) 面积对象的生成方法、装置、电子设备及可读存储介质
CN113781608A (zh) 一种动画编辑方法及装置
CN104572033A (zh) ***生成方法及装置
CN104462137A (zh) 互动对象的创建方法及装置
US10592212B2 (en) System and method for software development based on procedures

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant