[发明专利]图形化编程控件布局的自动优化方法有效
申请号: | 201710254819.4 | 申请日: | 2017-04-18 |
公开(公告)号: | CN107168696B | 公开(公告)日: | 2021-06-08 |
发明(设计)人: | 黄翰;吴子恒;吴泓月;梁椅辉;郝志峰 | 申请(专利权)人: | 华南理工大学 |
主分类号: | G06F8/34 | 分类号: | G06F8/34;G06F8/41;G06F8/38 |
代理公司: | 广州粤高专利商标代理有限公司 44102 | 代理人: | 何淑珍 |
地址: | 510640 广*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 图形 编程 控件 布局 自动 优化 方法 | ||
本发明提供了一种图形化编程控件布局的自动优化方法,用户根据需求自由组合图形化的模块进行编程,在每次移动编程控件后,首先判断程序中的编程控件是否相交,然后定位到每个产生重叠的编程控件上,计算出在满足不发生重叠情况下这些编程控件需要移动的距离与方向。本发明是基于图形化编程软件布局而设计的自动优化方法,并不需要手动对编程控件进行重新布局,可以利用此发明对所有的编程控件进行自动布局,并且保证重叠的编程控件能以最小的距离移动至合适的位置。
技术领域
本发明主要涉及图形化编程技术领域,具体涉及图形化编程控件布局的自动优化方法。
背景技术
随着互联网技术和社会不断的发展,互联网逐渐在我们的生活里起到越发重要的作用。与此同时,随着互联网的普及,编程教育逐渐被人们所重视。早在2012年,美国总统奥巴马已经提出倡议全民学习编程,全国开展“编程一小时”的推广公益活动,并且号召全美中小学生学习编程。少年儿童编程的教育显得越发重要。在苹果之父乔布斯生前接受的一次采访中,他曾经说过这样一句话:这个国家的每一个人都应该学习编程,因为它教你如何思考。诚如所言,同时比尔·盖茨、马克·扎克伯格、杰克·多西在内的众多名人,都来呼吁让少年儿童参与到计算机编程中去。正是因为这种观念深入人心,科技巨头们也都参与到针对少年儿童的编程教育中去。于是图形化编程语言应运而生,图形化编程的操作简便,理解容易,使用者只需要对编程模块进行拖拽、组合、连线,便可得到一定的模型,从而达到某种特定效果。图形化编程软件能够很大程度地让儿童发挥想象力和创造力,培养他们的基本编程逻辑和思维。目前市场上的图形化编程的软件基本都是每个图形对象都是代码块或者对应的控制器,使用者可以将它们拼接起来,创造出简单功能,然后将一个个简单功能组合起来,然后将其转化成某种高级语言传输至控制器,由控制器中编译器对目标代码进行解析。在图形化编程的期间,当编程控件数量上升到一定规模的时候,布局会变得异常混乱,控件间相互重叠,使用者编程使用起来会变得更加地困难。针对上述问题,本发明的目的在于对图形化编程的控件布局进行自动优化,避免出现布局混乱,控件重叠等情况。布局的自动优化方法也能使编程界面变得更加友好以及易于操作,很大程度地提升了编程效率。
发明内容
本发明针对当前图形化编程领域中在复杂的编程程序下,随着编程控件数量的增加,编程界面容易出现布局混乱、控件间相互重叠等情况。本发明的目的在于对图形化编程的控件布局进行自动优化,避免出现布局混乱,控件重叠等情况。
本发明的目的至少通过如下技术方案之一实现。
图形化编程控件布局的自动优化方法,其包括以下步骤:
(a)定义编程模块链;
(b)确定基于步骤(a)中定义的模块链中的基准模块链;
(c)判断模块链的重叠情况;
(d)计算模块链移动距离;
(e)计算模块链移动方向,输出优化后的布局结构。
进一步地,步骤(a)中的定义模块链方法是基于控件间的数据结构以及控件之间的相连情况,把有父子关系并且无相连关系的控件定义为模块链,在对所有的编程控件进行遍历后,可得到n条模块链:
module(polygon1,polygon2,…,polygonn),polygoni={(xi,j,yi,j)|j=1,2,…,mi},i= 1,2,…,n,其中i表示模块链编号,j表示模块链中的模块编号,xi,j,yi,j表示在第i个模块链中的第j个模块的横坐标与纵坐标;
而在图形化编程的拖拽操作后形成的新模块链则作为:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华南理工大学,未经华南理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710254819.4/2.html,转载请声明来源钻瓜专利网。