云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

阿里云_阿里云企业邮箱登陆_返利

小七 141 0

最近几周我意识到SAPGUI将会结束。这让我很难过。但我认为新技术和云应用将征服SAP星球。

所以我决定公开一个我和一位前同事多年前开始的项目。我有一种感觉,如果我不发表它,它将是完全无用的和无法确定的未来两年。但我希望这个项目能够继续下去。

伊格拉希尔

伊格拉希尔是一棵巨大的神话之树,大数据与应用,连接着挪威宇宙学中的九个世界。它把世界上的一切结合在一起。这是一切的开始。如果你死了,世界也会死。

维基百科:https://en.wikipedia.org/wiki/Yggdrasil

我决定将这个项目命名为guidrasil,它将表明SAPGUI仍然是一切的中心。如果SAPGUI死了,世界就结束了。

概念

我开始尝试控件。我查看了容器和控件的本质,发现每个控件和容器都继承自CL\u GUI\u控件。虽然这些控件有相同的基础,但现在的用法完全不同。这是有道理的,因为他们都做不同的事情。但因为它们都有相同的基础,所以我认为在图形屏幕绘制程序中管理所有这些控件是可能的。一个应用程序,免费自助建站软件,您只需在左侧添加一个停靠容器,在底部添加另一个停靠容器。

在每个容器中,我可以创建一个拆分器,其中顶部容器获得一些按钮,而底部容器仍然是空的,以便由用户选择的控件填充。

因此GUI设计器的开始看起来很漂亮简单:

主要有一些放置对接集装箱的按钮。如果您单击指向左侧的箭头,将创建一个停靠容器:

这看起来仍然很容易管理…但是这里发生了巨大的魔法。

简单地说,控件

要用不同的行为管理不同的控件,我需要在专门派生的GUI控件周围添加一个shell。这个shell需要一个方法来创建一个带有一些标准设置的控件。我从TextEditControl开始。

完成后,我意识到标准化其他控件非常容易:

图片控件HTML控件ALV网格日历控件…

如果控件可以通过create命令简单地创建,那么我可以列出所有可用控件,用户可以从中进行选择:

manager类只是将底部容器作为新控件的父级传递。选择拆分器和某些控件时,只需单击几下,应用程序就会给人留下深刻印象:

将控件放置在容器中后,可以更改属性和名称,物联网公司,也可以删除它,以便在容器中放置不同的控件。

预览

管理器类当然可以在不使用设计功能:

控件属性

控件的每个外壳都可以提供一个功能,属性可以简单地定制。如果您经常使用特定的控件,那么您就知道控制该控件的所有方法。但是如果没有,或者如果你需要设置你很久没有使用过的属性,或者可能从来没有使用过的属性,那么你就需要搜索…

如果一个控件只提供所有可以设置的功能,网站服务器租用,这有多容易,不是吗?

代码创建

guidrasil的manager类存储容器和控件的所有信息:位置、大小、类型和用户为控件设置的属性。

每个控件shell都知道如何创建自己的控件。

这就引出了以下问题:管理器可以要求每个控件提供自己的创建代码,收集并建立一个完整的程序!信不信由你:它管用!

用例

你可以在哪里使用这个项目?我能想到许多这样的GUI设计者会很有帮助的用例。

你可以和你的客户一起坐下来,他们需要一个新的非常复杂的对话框事务来显示文本,ALV网格来显示标题和项目数据,一些图片,应用程序日志和其他一些。你喝了两杯咖啡,坐下来,启动guidrasil,问你的客户他想要控制在哪里。你只要按一下。您可以将控件命名为CUSTOMER\u TEXT、HEADER\u DATA或ACTION\u LOG,并且可以为每个控件添加一些注释,如"必须使用ID为0010的CUSTOMER TEXT"或"实现双击HEADER DATA以显示项目数据"。

如果您经常使用控件,则可以轻松地处理它们,并且可以快速编写复杂的程序。但是如果只是从列表中选择控件,设置属性并按下"生成源代码",那不是很好吗?

现状

GUI设计器已经被编程用于学习如何处理设计模式和控件。最难的部分-那部分,我以前的同事所做的是构建包装器功能,它总是知道哪个控件属于哪个容器。

这是我一直想重新设计的部分,但因为它非常复杂而无法重新设计。

代码创建也可以工作,但不是对每个控件都有效。

控件外壳和功能中存在错误。

属性对话框非常耗时。我已经想有一个可定制的ALV网格,企业大数据分析,你可以设置一些布局选项,定义哪些按钮显示和编辑字段目录。

未来

我真的很想让这个项目运行,即使未来将是无智慧的。我仍然相信用控件编程将帮助许多人挣工资。为什么不简化一下?