摘 要 本文利用Unix/Linux系统本身的字符文本模式的隐含窗口界面控制和消息传送机制,详细地介绍了SCO Unix平台下使用OUCL库从事字符界面的可视化设计方法。
关键词 SCO Unix; OUCL; 面向对象设计; 可视化开发
在金融领域SCO Unix是主要的前端操作系统平台,在此平台下的开发和维护向来是一项庞大的软件工程。其中,前端应用的开发往往又是最艰苦的一个部分,系统分析员和程序员都必须耗费大量的精力在系统的设计和实施上,如果没有好的IDE开发环境支持将大大延迟软件的开发周期。笔者比较了目前推出的各款SCO Unix平台下的开发工具,发现Object Unix/Linux Class Library是较为成熟且完善的一种,借助Object Unix/Linux Class Library(以下简称OUCL)应用程序框架,Unix编程就容易了许多。
1 OUCL开发平台
在大多数交互式的Unix应用程序中,用户的界面元素操作处理以及程序内部的消息循环需要编程人员花费大量的时间并利用大量的case语句来分析用户该执行哪些操作。这就需要一个比较熟练的编程人员来实现它并掌握许多的SCO Unix/Linux下的API函数以及界面处理的curses库函数,为了编写一个可用的交互式应用程序,必须掌握它们。
Object Unix/Linux Class Library提供了一个面向对象的类库,其中封装了Unix应用程序都要执行的(程序级和窗口级)行为。Object Unix/Linux Class Library用以简化Unix开发的手段是:
(1)一个一致、直观简捷的Unix应用程序接口。
(2)提供菜单、窗口、对话框以及许多类似VB的控件。
(3)为窗口管理和消息处理提供的行为。
(4)用于构造Unix应用程序的基本框架。
由于程序员可以“继承”这些基本功能,故可以把主要精力放在应用程序的功能实现上。
借助Object Unix/Linux Class Library,程序员可以使用对象来表示比较复杂的界面窗口操作,Object Unix/Linux Class Library的窗口对象封装了所有窗口需要的数据,能执行公共的窗口操作,并且能够响应应用程序本身的Windows的消息和事件。Object Unix/Linux Class Library的窗口类和应用程序类完全掌握了消息的处理。
Object Unix/Linux Class Library使用了标准的Unix/Linux C/C++的面向对象特征,把Unix/Linux的curses库函数的主要部分封装起来,并提供交互式应用程序程序所需要用户界面元素,从而使程序员同Unix/Linux编程的细节隔离开来。其结果是,只须花少量的时间和精力便能编写应用程序,特别是,Object Unix/Linux Class Library提供了下述3个特点。
1.1 封装窗口信息
Object Unix/Linux Class Library提供了定义Unix/Linux窗口、对话框及窗口控制的操作与数据存储的对象,在一个Object Unix/Linux Class Library应用程序中,一个界面对象便充当一个可见的Unix/Linux界面元素的代表。
在用户创建一个新的Unix/Linux界面元素时,或者是从TWindow类、TDialog类下派生出一个新的窗口和对话框时,用户获得了指向该窗口的指针并同时获得该窗口的一些信息如窗口的位置和状态信息。
|