现在的位置: 首页 > 综合 > 正文

“易语言.飞扬”IDE中的可视化界面设计器

2013年12月23日 ⁄ 综合 ⁄ 共 802字 ⁄ 字号 评论关闭

可视化界面设计器目前已经初步实现的功能有:

鼠标选定组件箱中的组件,点击创建组件,拖动矩形创建组件,用鼠标或键盘调整组件位置和大小(可设置自动对齐到单元格),
在属性表中显示和修改组件的属性值(允许多选组件),设置多选组件的对齐方式(上下左右中对齐)和排列方式(等宽等高),可复制粘贴剪切删除组件(允许多选组件),
双击组件自动生成其默认事件的处理方法原型,编译前自动生成创建窗口、组件并设置其属性的代码,运行后的窗口界面与设计时基本保持一致(较复杂的组件除外),
……

相应地提供了两个重要工具组件,组件箱和属性表。
组件箱自动列出可用组件及其图标,并分类显示。
属性表支持整数、文本、逻辑、文本、列表、文件、颜色、字体等类型的属性值显示和编辑,可对属性进行分类和排序。

总之,设计器也只是开了一个头,后续的工作太多了。

设计器这个项目启动的比较早,当时不要说没有用户界面类库,连“易语言.飞扬”编译器也还不存在,并且“易语言.飞扬”语法也没有定形——关于“易语言.飞扬”开发初期轶事,改日撰文与各位共享。

因而设计器项目一开始是用C++开发的,等后来编译器、系统库、用户界面库、反射库等出现并渐渐可用之后,我们又倾向于用“易语言.飞扬”开发了。

正是由于这种历史原因,现在的设计器项目代码是C++和EF并存。可惜的是C++和EF代码并存并不是很好的结果,我们在实际开发中发现,用EF调用C++代码很容易(或者说用C++给EF写类很容易),但C++要调用EF的代码却暂时没有好的办法(今后可以考虑为EF类库生成C++头文件)。

这经常导致我们陷入这样的尴尬:明明一个功能用“易语言.飞扬”很轻松就可以完成,却又不得不用C++去写冗长而重复的代码。

我们已经下定决心,今后将重构设计器,逐步减少C++代码的使用,向着“纯EF”的方向努力。(JBuilder当年也有类似的经历吧,它直到3.5版本时,才最终做到“纯JAVA”。) 

 

抱歉!评论已关闭.