CN110750264B - 脚本界面的显示方法及装置 - Google Patents
脚本界面的显示方法及装置 Download PDFInfo
- Publication number
- CN110750264B CN110750264B CN201910984562.7A CN201910984562A CN110750264B CN 110750264 B CN110750264 B CN 110750264B CN 201910984562 A CN201910984562 A CN 201910984562A CN 110750264 B CN110750264 B CN 110750264B
- Authority
- CN
- China
- Prior art keywords
- module
- function
- updating
- human
- button
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 51
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 112
- 230000003993 interaction Effects 0.000 claims abstract description 93
- 230000006870 function Effects 0.000 claims description 155
- 238000004590 computer program Methods 0.000 claims description 18
- 230000008859 change Effects 0.000 claims description 17
- 238000004458 analytical method Methods 0.000 claims description 5
- 238000013507 mapping Methods 0.000 claims description 2
- 238000005516 engineering process Methods 0.000 abstract description 4
- 230000000007 visual effect Effects 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 20
- 238000013461 design Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000010276 construction Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明提供了一种脚本界面的显示方法及装置,其中,该方法包括:解析算法脚本的函数类型;根据所述函数类型生成所述算法脚本映射在人机交互界面的按钮模块;根据所述按钮模块更新目标软件的人机交互界面,其中,所述目标软件包括所述算法脚本。通过本发明,解决了相关技术在人机交互界面不能显示新增脚本的技术问题,同时也将为用户提供更加直观清晰的算法逻辑,实现了算法模块在人机交互界面的动态更新和显示。
Description
技术领域
本发明涉及计算机领域,具体而言,涉及一种脚本界面的显示方法及装置。
背景技术
相关技术中,随着自动化控制及人际交互技术的飞速发展,人们对于系统级的自动化交互网络有了越来越多的需求,HMI(Human Machine Interface)组态软件就是其中很重要的一种人机交互软件。
相关技术中,组态软件的功能越来越多元化,数据的使用也越来越频繁,而当前组态软件行业对于数据的需求并不仅限于使用现有数据,更需要对数据进行逻辑计算并使用计算后的数据。在实现算法搭建的方法中,对于用户最便利的方法直接通过UI添加配置,将算法按功能设计为不同的UI模块,用户可根据需求添加并配置对应模块。而在用户添加模块时,需要实现美观且逻辑清晰的UI显示,并能根据新增模块的位置,判断是否更新原有模块的位置,相关技术中还无法显示新增的脚本模块。
针对相关技术中存在的上述问题,目前尚未发现有效的解决方案。
发明内容
本发明实施例提供了一种脚本界面的显示方法及装置。
根据本发明的一个实施例,提供了一种脚本界面的显示方法,包括:解析算法脚本的函数类型;根据所述函数类型生成所述算法脚本映射在人机交互界面的按钮模块;根据所述按钮模块更新目标软件的人机交互界面,其中,所述目标软件包括所述算法脚本。
可选的,解析算法脚本的函数类型包括:解析算法脚本,得到所述算法脚本包括的以下函数类型至少之一:if函数、switch函数、while do函数、do while函数、for函数、顺序函数、return函数、continue函数、break函数。
可选的,根据所述函数类型生成所述算法脚本映射在人机交互界面的功能按钮包括:在所述算法脚本包括第一函数时,生成串行模块和嵌套模块,其中,所述第一函数包括:while do函数、do while函数、for函数;在所述算法脚本包括第二函数时,生成串行模块、并行模块,以及嵌套模块,其中,所述第二函数包括:if函数;在所述算法脚本包括第三函数时,生成串行模块和并行模块,其中,所述第三函数包括:switch函数;在所述算法脚本包括第四函数时,生成串行模块,其中,所述第四函数包括:顺序函数。
可选的,根据所述按钮模块更新目标软件的人机交互界面包括:在预设容器中获取所述按钮模块的第一坐标位置和第二坐标位置,其中,所述第一坐标位置为所述按钮模块的左上角位置,所述第二坐标位置为所述按钮模块的最上方的中心点位置;根据所述第二坐标位置在垂直方向更新目标软件的人机交互界面,以及根据所述第一坐标位置在水平方向更新目标软件的人机交互界面。
可选的,根据所述按钮模块更新目标软件的人机交互界面包括:在所述按钮模块为串行模块和嵌套模块时,判断所述按钮模块的父模块在人机交互界面的下方是否具有同级串行模块;在所述按钮模块的父模块在人机交互界面的下方具有同级串行模块时,通过垂直递归更新算法在所述人机交互界面中更新所述同级串行模块的纵轴坐标位置,并通过子模块递归更新算法使用所述同级串行模块在纵轴的位置变更差值递归更新所述同级串行模块的子模块,直到最底层的子模块。
可选的,根据所述按钮模块更新目标软件的人机交互界面包括:查找所述按钮模块的父模块;判断所述父模块是否为人机交互界面的根模块;在所述父模块不是人机交互界面的根模块时,查找所述父模块的并行模块,通过水平递归更新算法更新所述并行模块的横坐标位置,以及以所述并行模块在横轴的位置变更差值更新所述并行模块的各级子模块的横坐标位置。
可选的,根据所述按钮模块更新目标软件的人机交互界面包括:在所述按钮模块为并行模块,且所述人机交互界面包括if模块或switch模块时,在所述目标软件的人机交互界面中的else模块或default模块位置更新所述按钮模块,并将所述else模块或default模块后移到下一并行模块的位置;
通过子模块水平递归更新算法,以所述else模块或default模块在横轴的位置变更差值,更新所述else模块或所述default模块的各级子模块的横坐标位置。
根据本发明的另一个实施例,提供了一种脚本界面的显示装置,包括:解析模块,用于解析算法脚本的函数类型;生成模块,用于根据所述函数类型生成所述算法脚本映射在人机交互界面的按钮模块;更新模块,用于根据所述按钮模块更新目标软件的人机交互界面,其中,所述目标软件包括所述算法脚本。
可选的,所述解析模块包括:解析单元,用于解析算法脚本,得到所述算法脚本包括的以下函数类型至少之一:if函数、switch函数、while do函数、do while函数、for函数、顺序函数、return函数、continue函数、break函数。
可选的,所述生成模块包括:第一生成单元,用于在所述算法脚本包括第一函数时,生成串行模块和嵌套模块,其中,所述第一函数包括:while do函数、do while函数、for函数;第二生成单元,用于在所述算法脚本包括第二函数时,生成串行模块、并行模块,以及嵌套模块,其中,所述第二函数包括:if函数;第三生成单元,用于在所述算法脚本包括第三函数时,生成串行模块和并行模块,其中,所述第三函数包括:switch函数;第四生成单元,用于在所述算法脚本包括第四函数时,生成串行模块,其中,所述第四函数包括:顺序函数。
可选的,所述更新模块包括:获取单元,用于在预设容器中获取所述按钮模块的第一坐标位置和第二坐标位置,其中,所述第一坐标位置为所述按钮模块的左上角位置,所述第二坐标位置为所述按钮模块的最上方的中心点位置;第一更新单元,用于根据所述第二坐标位置在垂直方向更新目标软件的人机交互界面,以及根据所述第一坐标位置在水平方向更新目标软件的人机交互界面。
可选的,所述更新模块包括:第一判断单元,用于在所述按钮模块为串行模块和嵌套模块时,判断所述按钮模块的父模块在人机交互界面的下方是否具有同级串行模块;第二更新单元,用于在所述按钮模块的父模块在人机交互界面的下方具有同级串行模块时,通过垂直递归更新算法在所述人机交互界面中更新所述同级串行模块的纵轴坐标位置,并通过子模块递归更新算法使用所述同级串行模块在纵轴的位置变更差值递归更新所述同级串行模块的子模块,直到最底层的子模块。
可选的,所述更新模块包括:查找单元,用于查找所述按钮模块的父模块;第二判断单元,用于判断所述父模块是否为人机交互界面的根模块;第三更新单元,用于在所述父模块不是人机交互界面的根模块时,查找所述父模块的并行模块,通过水平递归更新算法更新所述并行模块的横坐标位置,以及以所述并行模块在横轴的位置变更差值更新所述并行模块的各级子模块的横坐标位置。
可选的,所述更新模块包括:第四更新单元,用于在所述按钮模块为并行模块,且所述人机交互界面包括if模块或switch模块时,在所述目标软件的人机交互界面中的else模块或default模块位置更新所述按钮模块,并将所述else模块或default模块后移到下一并行模块的位置;第五更新单元,用于通过子模块水平递归更新算法,以所述else模块或default模块在横轴的位置变更差值,更新所述else模块或所述default模块的各级子模块的横坐标位置。
根据本发明的又一个实施例,还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本发明,解析算法脚本的函数类型,然后根据所述函数类型生成所述算法脚本映射在人机交互界面的按钮模块,最后根据所述按钮模块更新目标软件的人机交互界面,通过将算法脚本生成各种逻辑的按钮模块,可以更加算法脚本的实际逻辑更新目标软件的人机交互界面,解决了相关技术在人机交互界面不能显示新增脚本的技术问题,同时也将为用户提供更加直观清晰的算法逻辑,实现了算法模块在人机交互界面的动态更新和显示。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明实施例的一种计算机的结构框图;
图2是根据本发明实施例的一种脚本界面的显示方法流程图;
图3是本发明实施例串行及并行模块UI搭建示例图;
图4是本发明实施例串行及嵌套模块UI搭建示例图;
图5是本发明实施例垂直UI更新的示意图;
图6是本发明实施例添加串行或嵌套模块时的垂直递归更新流程图;
图7是本发明实施例子模块垂直递归更新流程图;
图8是本发明实施例水平UI更新的示意图;
图9是本发明实施例水平递归更新的流程图;
图10是本发明实施例子模块水平递归更新流程图;
图11是本发明实施例更新else模块的示意图;
图12是本发明实施例新增并行模块的更新流程图;
图13本发明实施例的一种脚本界面的显示装置的结构框图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
实施例1
本申请实施例一所提供的方法实施例可以在计算机、手机、人机交互设备或者类似的运算装置中执行。以运行在计算机上为例,图1是本发明实施例的一种计算机的结构框图。如图1所示,计算机10可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,可选地,上述计算机还可以包括、输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述计算机的结构造成限定。例如,计算机10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的一种脚本界面的显示控制方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种脚本界面的显示方法,图2是根据本发明实施例的一种脚本界面的显示方法流程图,如图2所示,该流程包括如下步骤:
步骤S202,解析算法脚本的函数类型;
本实施例的算法脚本是包括若干个函数的程序代码,用于在底层支撑目标软件的功能。
步骤S204,根据函数类型生成算法脚本映射在人机交互界面的按钮模块;
本实施例按钮模块是一些虚拟按钮或图案,在人机交互的UI界面显示。
步骤S206,根据按钮模块更新目标软件的人机交互界面,其中,目标软件包括算法脚本。
通过上述步骤,解析算法脚本的函数类型,然后根据所述函数类型生成所述算法脚本映射在人机交互界面的按钮模块,最后根据所述按钮模块更新目标软件的人机交互界面,通过将算法脚本生成各种逻辑的按钮模块,可以更加算法脚本的实际逻辑更新目标软件的人机交互界面,解决了相关技术在人机交互界面不能显示新增脚本的技术问题,同时也将为用户提供更加直观清晰的算法逻辑,实现了算法模块在人机交互界面的动态更新和显示。
在本实施例在设置目标软件的UI界面时,算法脚本按功能不同的UI模块,根模块为最顶层的父模块,位于最左上角,新建算法脚本时默认出现。另包含if、switch、whiledo、do while、for、顺序、return等逻辑模块,以及continue、break等循环结束模块。添加方法可分为添加串行、并行、嵌套模块。以上模块根据用户使用可作为串行或嵌套模块添加,其中if模块包含if、else if、else分支子模块以及switch包含的case、default分支子模块可作为并行模块添加。
图3是本发明实施例串行及并行模块UI搭建示例图,图4是本发明实施例串行及嵌套模块UI搭建示例图。除根模块和并行模块外,串行添加按钮设计在每个算法模块的最下方位置,嵌套添加按钮设计在每个算法模块的右侧,并行模块添加按钮设计在if模块、switch模块内部。以上模块中,根据编程逻辑,while do、do while、for模块具有串行按钮、嵌套按钮模块,if模块具有串行按钮、并行按钮、嵌套按钮模块,switch模块具有串行按钮、并行按钮,顺序模块具有串行按钮,return、continue、break模块没有按钮,这些模块的嵌套按钮为单一模块,称为嵌套按钮模块,嵌套按钮模块为对应模块的子模块。根模块以及if、else if、else、case、default分支模块仅有嵌套按钮,且由于UI美观及设计需要,嵌套按钮设计在这些模块下方。具有嵌套按钮模块的模块整体UI宽度相同且大于其他模块;不计算右侧嵌套模块宽度时,所有模块宽度相同。通过串行按钮可添加当前模块的同级模块;通过并行按钮可添加当前模块的并行模块;通过嵌套按钮可添加当前模块的子模块。
在本实施例的一个实施方式中,解析算法脚本的函数类型包括:解析算法脚本,得到算法脚本包括的以下函数类型至少之一:if函数、switch函数、while do函数、do while函数、for函数、顺序函数、return函数、continue函数、break函数。根据函数类型生成算法脚本映射在人机交互界面的功能按钮包括:在算法脚本包括第一函数时,生成串行模块和嵌套模块,其中,第一函数包括:while do函数、do while函数、for函数;在算法脚本包括第二函数时,生成串行模块、并行模块,以及嵌套模块,其中,第二函数包括:if函数;在算法脚本包括第三函数时,生成串行模块和并行模块,其中,第三函数包括:switch函数;在算法脚本包括第四函数时,生成串行模块,其中,第四函数包括:顺序函数。
本实施例在在UI位置设计上,以左上角某一坐标为初始位置,x方向向右添加模块,y方向向下添加模块,模块之间通过直线或折线连接。在模块添加中,以每个算法模块的左上角为模块的坐标位置。串行模块之间基于模块(此时嵌套按钮模块的宽度不计算在其中)的中心x坐标对齐;并行模块的y坐标与其同级的y坐标的相同;并行模块及嵌套按钮模块的底边与其父模块的底边对齐,其本身不影响下方模块的y坐标位置;添加的嵌套模块位于其父模块的嵌套按钮模块同一x坐标位置。需保证后一个串行模块的y坐标在前一个串行模块及其子模块中的最大y坐标的下方,另需保证后一个并行模块的x坐标需在前一个并行模块及其子模块中最大x坐标的右方。
在本实施例中,根据按钮模块更新目标软件的人机交互界面包括:
S11,在预设容器中获取按钮模块的第一坐标位置和第二坐标位置,其中,第一坐标位置为按钮模块的左上角位置,第二坐标位置为按钮模块的最上方的中心点位置;
S12,根据第二坐标位置在垂直方向更新目标软件的人机交互界面,以及根据第一坐标位置在水平方向更新目标软件的人机交互界面。
本实施例的每个算法模块及嵌套按钮模块都具有两个坐标位置属性,分别为:坐标(模块左上角的坐标)、中心点坐标(模块最上方中心点坐标,此时嵌套按钮的宽度不计算在其中),用于位置存储。
一方面,在垂直方向坐标位置处理中,提供1个基于键、值对的容器,键类似于标签,用于查找,值为存储的坐标。该容器以新增模块的父容器为键,以新增模块坐标计算的下一串行模块坐标为值。在添加串行模块时,首先通过查找容器中以其父模块为键的坐标值,使用该值作为新增模块的坐标;之后采用垂直递归存储方法,使用新的计算值递归刷新其容器中以新增模块父模块为键的存储值(垂直递归存储方法为向上查找容器中的父模块键并更新值,直至最顶层)。在添加嵌套模块时,嵌套模块中心点x坐标(水平方向的横轴坐标)基于嵌套按钮模块中心点x坐标对齐,y坐标(垂直方向的纵轴坐标)与其父模块设计固定垂直坐标差,同样将计算坐标值存储至以上容器中,该容器也用于垂直更新。
另一方面,在水平方向坐标位置处理中,采用水平递归计算方法计算新增模块位置,该递归方法为获取前一同级模块及其子模块(包含嵌套按钮模块)的最大x坐标,新增并行模块时,基于该坐标增加固定水平坐标差,新模块的y坐标与前一同级并行模块的y坐标相同。
在本实施例的一个实施方式中,说明添加串行或嵌套模块时的垂直UI位置更新,根据按钮模块更新目标软件的人机交互界面包括:
S21,在按钮模块为串行模块和嵌套模块时,判断按钮模块的父模块在人机交互界面的下方是否具有同级串行模块;
S22,在按钮模块的父模块在人机交互界面的下方具有同级串行模块时,通过垂直递归更新算法在人机交互界面中更新同级串行模块的纵轴坐标位置,并通过子模块递归更新算法使用同级串行模块在纵轴的位置变更差值递归更新同级串行模块的子模块,直到最底层的子模块。
图5是本发明实施例垂直UI更新的示意图,首先在根模块下添加if模块,并添加串行的while模块,再为if模块下的if分支添加嵌套的for模块,此时while模块的垂直位置需更新,保证UI美观,保证模块不重叠。更新垂直UI位置上,采用垂直递归更新方法,并提供一种子模块垂直递归更新方法。该递归方法首先获取到新增模块的父模块的下方同级模块,并基于容器存储值(新增模块时,以其父模块为键的存储值刷新,并递归向上进行刷新,新增模块的父模块的下方同级模块基于以该同级模块的父模块为键的存储值更新位置),更新该同级模块的位置。提供的子模块递归更新方法,使用该同级模块的y坐标位置差值,更新该同级模块的子模块位置,递归向下更新直至最底层的子模块(及嵌套按钮模块)。
图6是本发明实施例添加串行或嵌套模块时的垂直递归更新流程图。新增模块时,首先判断该新增模块的父模块是否有同级串行模块,若具有则更新该同级串行模块的y位置,并以同一y差值更新其所有子模块(包含子模块的子模块等)y位置;采用循环递归方法,更新所有需要变化位置的同级串行模块及其子模块y位置,直至更新完成结束。图7是本发明实施例子模块垂直递归更新流程图,查找以上更新串行模块的子模块,更新相同y差值,并递归查找子模块的子模块且更新。
在本实施例的另一个实施方式中,说明添加模块时的水平UI位置更新,根据按钮模块更新目标软件的人机交互界面包括:
S31,查找按钮模块的父模块;
S32,判断父模块是否为人机交互界面的根模块;
S33,在父模块不是人机交互界面的根模块时,查找父模块的并行模块,通过水平递归更新算法更新并行模块的横坐标位置,以及以并行模块在横轴的位置变更差值更新并行模块的各级子模块的横坐标位置。
图8是本发明实施例水平UI更新的示意图,在根模块下添加子模块if模块,在添加1个else if分支模块,最后在if分支模块下添加嵌套的do while模块,此时else if分支模块的水平位置需要更新,保证UI美观且不重叠。
水平UI更新提供水平递归更新方法,另提供一种子模块水平递归更新方法。水平位置更新适用于新增模块的父模块(递归向上查找顶层父模块)为并行模块的情况。新增模块时,在模块未加入UI前,向上遍历父模块直至找到第一个并行模块,并采用1中水平递归计算方法,找到该级并行模块的最大中心点x坐标(包含嵌套按钮),新增模块加入UI后,查找新的最大中心点x坐标,若后者中心点x坐标更大,则基于该较大值以某一设定x差值递归更新该并行模块后方的所有同级模块位置;并使用该x值查找通过子模块水平递归更新方法,更新同级模块的所有子模块x位置。该层级的并行模块更新完成后,继续向上递归更新父模块中的并行模块x位置,直至最顶层的并行模块。
图9是本发明实施例水平递归更新的流程图,新增模块时,首先向上查找新增模块的父模块,若父模块为根模块,则结束更新。否则,向上查找到第一个并行模块时,通过水平更新方法更新该并行模块的下一同级并行模块的x位置,并以相同x差值更新其所有子模块(包含子模块的子模块等)的x位置;递归查找更新所有需要变化位置的同级并行模块及其子模块x位置,直至更新完成结束。图10是本发明实施例子模块水平递归更新流程图,查找以上更新并行模块的子模块,更新相同x差值,并递归查找子模块的子模块且更新。
在本实施例的另一个实施方式中,用于保证else模块或default模块在if模块或switch模块的分支模块的最后位置,根据按钮模块更新目标软件的人机交互界面包括:
S41,在按钮模块为并行模块,且人机交互界面包括if模块或switch模块时,在目标软件的人机交互界面中的else模块或default模块位置更新按钮模块,并将else模块或default模块后移到下一并行模块的位置;
S42,通过子模块水平递归更新算法,以else模块或default模块在横轴的位置变更差值,更新else模块或default模块的各级子模块的横坐标位置。
图11是本发明实施例更新else模块的示意图,首先新增if模块,先添加else分支模块,之后再添加else if分支模块,此时为保证else在最后,else if需添加在原来else所在位置,else则需更新水平UI位置。
在编程逻辑中,else或default语法始终在if或switch语法的最后位置,在UI的设计上,基于该语法,需保证else模块或default模块在if模块或switch模块的最后位置。提供一种并行模块插入更新方法,在插入elseif模块或case模块时,新增模块取代else模块或default模块位置,被取代位置的模块后移到下一并行模块位置,并通过子模块水平递归更新方法,使用变化的x坐标差值,更新else模块或default模块下的所有子模块位置。
图12是本发明实施例新增并行模块的更新流程图,新增并行模块时,若已存在else模块或default模块,则更新该模块位置,并更新其子模块位置。
通过本实施例的算法模块UI位置计算显示方法及位置更新方法,以上UI设计规则可使模块的UI更加整齐美观,同时也将为用户提供更加直观清晰的算法逻辑。由于算法模块添加顺序的动态性,为满足设计规则,需要动态更新UI位置,保证用户搭建的算法UI位置美观度及逻辑清晰度。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
在本实施例中还提供了一种脚本界面的显示装置,用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
实施例提供了一种脚本界面的显示装置,图13本发明实施例的一种脚本界面的显示装置的结构框图,该装置包括:解析模块130,生成模块132,更新模块134,其中,
解析模块130,用于解析算法脚本的函数类型;
生成模块132,用于根据所述函数类型生成所述算法脚本映射在人机交互界面的按钮模块;
更新模块134,用于根据所述按钮模块更新目标软件的人机交互界面,其中,所述目标软件包括所述算法脚本。
可选的,所述解析模块包括:解析单元,用于解析算法脚本,得到所述算法脚本包括的以下函数类型至少之一:if函数、switch函数、while do函数、do while函数、for函数、顺序函数、return函数、continue函数、break函数。
可选的,所述生成模块包括:第一生成单元,用于在所述算法脚本包括第一函数时,生成串行模块和嵌套模块,其中,所述第一函数包括:while do函数、do while函数、for函数;第二生成单元,用于在所述算法脚本包括第二函数时,生成串行模块、并行模块,以及嵌套模块,其中,所述第二函数包括:if函数;第三生成单元,用于在所述算法脚本包括第三函数时,生成串行模块和并行模块,其中,所述第三函数包括:switch函数;第四生成单元,用于在所述算法脚本包括第四函数时,生成串行模块,其中,所述第四函数包括:顺序函数。
可选的,所述更新模块包括:获取单元,用于在预设容器中获取所述按钮模块的第一坐标位置和第二坐标位置,其中,所述第一坐标位置为所述按钮模块的左上角位置,所述第二坐标位置为所述按钮模块的最上方的中心点位置;第一更新单元,用于根据所述第二坐标位置在垂直方向更新目标软件的人机交互界面,以及根据所述第一坐标位置在水平方向更新目标软件的人机交互界面。
可选的,所述更新模块包括:第一判断单元,用于在所述按钮模块为串行模块和嵌套模块时,判断所述按钮模块的父模块在人机交互界面的下方是否具有同级串行模块;第二更新单元,用于在所述按钮模块的父模块在人机交互界面的下方具有同级串行模块时,通过垂直递归更新算法在所述人机交互界面中更新所述同级串行模块的纵轴坐标位置,并通过子模块递归更新算法使用所述同级串行模块在纵轴的位置变更差值递归更新所述同级串行模块的子模块,直到最底层的子模块。
可选的,所述更新模块包括:查找单元,用于查找所述按钮模块的父模块;第二判断单元,用于判断所述父模块是否为人机交互界面的根模块;第三更新单元,用于在所述父模块不是人机交互界面的根模块时,查找所述父模块的并行模块,通过水平递归更新算法更新所述并行模块的横坐标位置,以及以所述并行模块在横轴的位置变更差值更新所述并行模块的各级子模块的横坐标位置。
可选的,所述更新模块包括:第四更新单元,用于在所述按钮模块为并行模块,且所述人机交互界面包括if模块或switch模块时,在所述目标软件的人机交互界面中的else模块或default模块位置更新所述按钮模块,并将所述else模块或default模块后移到下一并行模块的位置;第五更新单元,用于通过子模块水平递归更新算法,以所述else模块或default模块在横轴的位置变更差值,更新所述else模块或所述default模块的各级子模块的横坐标位置。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
实施例3
本发明的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例的一个方面中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,解析算法脚本的函数类型;
S2,根据所述函数类型生成所述算法脚本映射在人机交互界面的按钮模块;
S3,根据所述按钮模块更新目标软件的人机交互界面,其中,所述目标软件包括所述算法脚本。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例的一个方面中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,解析算法脚本的函数类型;
S2,根据所述函数类型生成所述算法脚本映射在人机交互界面的按钮模块;
S3,根据所述按钮模块更新目标软件的人机交互界面,其中,所述目标软件包括所述算法脚本。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种脚本界面的显示方法,其特征在于,包括:
解析算法脚本的函数类型;
根据所述函数类型生成所述算法脚本映射在人机交互界面的按钮模块;
根据所述按钮模块更新目标软件的人机交互界面,其中,所述目标软件包括所述算法脚本;
根据所述按钮模块更新目标软件的人机交互界面包括:
在所述按钮模块为串行模块和嵌套模块时,判断所述按钮模块的父模块在人机交互界面的下方是否具有同级串行模块;
在所述按钮模块的父模块在人机交互界面的下方具有同级串行模块时,通过垂直递归更新算法在所述人机交互界面中更新所述同级串行模块的纵轴坐标位置,并通过子模块递归更新算法使用所述同级串行模块在纵轴的位置变更差值递归更新所述同级串行模块的子模块,直到最底层的子模块。
2.根据权利要求1所述的方法,其特征在于,解析算法脚本的函数类型包括:
解析算法脚本,得到所述算法脚本包括的以下函数类型至少之一:if函数、switch函数、whiledo函数、do while函数、for函数、顺序函数、return函数、continue函数、break函数。
3.根据权利要求1所述的方法,其特征在于,根据所述函数类型生成所述算法脚本映射在人机交互界面的功能按钮包括:
在所述算法脚本包括第一函数时,生成串行模块和嵌套模块,其中,所述第一函数包括:whiledo函数、do while函数、for函数;
在所述算法脚本包括第二函数时,生成串行模块、并行模块,以及嵌套模块,其中,所述第二函数包括:if函数;
在所述算法脚本包括第三函数时,生成串行模块和并行模块,其中,所述第三函数包括:switch函数;
在所述算法脚本包括第四函数时,生成串行模块,其中,所述第四函数包括:顺序函数。
4.根据权利要求1所述的方法,其特征在于,根据所述按钮模块更新目标软件的人机交互界面包括:
在预设容器中获取所述按钮模块的第一坐标位置和第二坐标位置,其中,所述第一坐标位置为所述按钮模块的左上角位置,所述第二坐标位置为所述按钮模块的最上方的中心点位置;
根据所述第二坐标位置在垂直方向更新目标软件的人机交互界面,以及根据所述第一坐标位置在水平方向更新目标软件的人机交互界面。
5.根据权利要求1所述的方法,其特征在于,根据所述按钮模块更新目标软件的人机交互界面包括:
查找所述按钮模块的父模块;
判断所述父模块是否为人机交互界面的根模块;
在所述父模块不是人机交互界面的根模块时,查找所述父模块的并行模块,通过水平递归更新算法更新所述并行模块的横坐标位置,以及以所述并行模块在横轴的位置变更差值更新所述并行模块的各级子模块的横坐标位置。
6.根据权利要求1所述的方法,其特征在于,根据所述按钮模块更新目标软件的人机交互界面包括:
在所述按钮模块为并行模块,且所述人机交互界面包括if模块或switch模块时,在所述目标软件的人机交互界面中的else模块或default模块位置更新所述按钮模块,并将所述else模块或default模块后移到下一并行模块的位置;
通过子模块水平递归更新算法,以所述else模块或default模块在横轴的位置变更差值,更新所述else模块或所述default模块的各级子模块的横坐标位置。
7.一种脚本界面的显示装置,其特征在于,包括:
解析模块,用于解析算法脚本的函数类型;
生成模块,用于根据所述函数类型生成所述算法脚本映射在人机交互界面的按钮模块;
更新模块,用于根据所述按钮模块更新目标软件的人机交互界面,其中,所述目标软件包括所述算法脚本;
其中,根据所述按钮模块更新目标软件的人机交互界面包括:
在所述按钮模块为串行模块和嵌套模块时,判断所述按钮模块的父模块在人机交互界面的下方是否具有同级串行模块;
在所述按钮模块的父模块在人机交互界面的下方具有同级串行模块时,通过垂直递归更新算法在所述人机交互界面中更新所述同级串行模块的纵轴坐标位置,并通过子模块递归更新算法使用所述同级串行模块在纵轴的位置变更差值递归更新所述同级串行模块的子模块,直到最底层的子模块。
8.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行权利要求1至6任一项中所述的方法。
9.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行权利要求1至6任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910984562.7A CN110750264B (zh) | 2019-10-16 | 2019-10-16 | 脚本界面的显示方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910984562.7A CN110750264B (zh) | 2019-10-16 | 2019-10-16 | 脚本界面的显示方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110750264A CN110750264A (zh) | 2020-02-04 |
CN110750264B true CN110750264B (zh) | 2021-01-05 |
Family
ID=69278551
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910984562.7A Active CN110750264B (zh) | 2019-10-16 | 2019-10-16 | 脚本界面的显示方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110750264B (zh) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6275866B1 (en) * | 1997-03-14 | 2001-08-14 | Mathsoft Engineering & Education, Inc. | Manipulation and coupling of object oriented components |
US9684490B2 (en) * | 2015-10-27 | 2017-06-20 | Oracle Financial Services Software Limited | Uniform interface specification for interacting with and executing models in a variety of runtime environments |
CN108181878A (zh) * | 2018-01-04 | 2018-06-19 | 江苏科瑞恩自动化科技有限公司 | 一种用于含有视觉系统的设备的运动控制系统 |
-
2019
- 2019-10-16 CN CN201910984562.7A patent/CN110750264B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110750264A (zh) | 2020-02-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107861784B (zh) | 一种桌面图标的整理方法、装置及移动终端 | |
CN106155454B (zh) | 一种界面显示方法、装置及电子设备 | |
KR20190104154A (ko) | 서비스 객체 디스플레이 방법, 맵 데이터 처리 방법, 클라이언트 및 서버 | |
CN109358851A (zh) | 图表组件的创建方法、装置及计算机可读存储介质 | |
CN109725901A (zh) | 前端代码的开发方法、装置、设备和计算机存储介质 | |
CN106658139B (zh) | 一种焦点控制方法及装置 | |
CN108905203B (zh) | 信息处理方法、装置、存储介质及电子装置 | |
CN108156510B (zh) | 页面焦点处理的方法、装置及计算机可读存储介质 | |
US9880861B2 (en) | Method and apparatus for page view switching | |
CN104156240A (zh) | 客户端的皮肤模板更换方法、装置、客户端及电子设备 | |
CN105677851B (zh) | 一种界面截图方法及用户设备 | |
CN113648649B (zh) | 游戏界面的控制方法、装置、计算机可读介质及终端设备 | |
CN105867910A (zh) | 移动终端动态壁纸呈现方法及装置 | |
CN110750264B (zh) | 脚本界面的显示方法及装置 | |
CN109976632A (zh) | 文本动画控制方法和装置、存储介质和处理器 | |
CN110968386A (zh) | 导航栏的处理方法和系统 | |
US20170168694A1 (en) | Method and electronic device for adjusting sequence of shortcut switches in control center | |
US10223330B2 (en) | Group-aware command-based arrangement of graphic elements | |
CN114546375A (zh) | 页面配置方法、页面配置装置及电子设备 | |
CN110891190B (zh) | 一种弹幕显示方法、装置及电子设备 | |
CN111967702A (zh) | 数据处理方法和系统 | |
CN105630952A (zh) | 在网页中显示批注的系统及方法 | |
CN112035094A (zh) | 基于Vuetify框架的穿梭框实现方法及装置 | |
CN106156371B (zh) | 一种实现网页完整背景图的方法及装置 | |
CN113342337B (zh) | 界面处理方法及装置、计算机可读存储介质和处理器 |
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 |