成批生成图形界面系统构件的方法和设备的制作方法

文档序号:7576980阅读:170来源:国知局
专利名称:成批生成图形界面系统构件的方法和设备的制作方法
技术领域
本发明涉及在移动通信系统中所实现的图形用户界面(GUI),更具体地涉及在数字蜂窝系统中实现用于显示基站管理器(BSM)的故障报警的报警显示的方法和设备。
自从80年代初期蜂窝通信业务可供商业服务以来,因为其提供给蜂窝业务用户的移动性,速度,宽广的区域覆盖,和方便性,对蜂窝通信业务的需求持续增长。为满足这种增长的需求,出现了以下进展无线信道容量增加的微小区;数字技术的使用;窄带话音信号;高效率频率调制器;和多址系统。
当前数字蜂窝移动通信系统分为TDMA(时分多址)和CDMA(码分多址)系统。TDMA系统利用一种技术,借此分配预定的时隙用于发送和接收信号。通过调整信号的发送时间,多路信号可被发送到不同的站,借此信号在空间域中重叠,但在时间域上并不互相干扰。TDMA方案当前正在欧洲,美国和日本使用,它们已建立了TDMA标准。另一方面CDMA系统按照跳频和直接序列被分为两组。Qualcomm公司提出了直接序列CDMA系统。
用于显示蜂窝BSM故障报警的报警显示器已由诸如SL-GMS那样的商用程序完成。SL-GMS是一种软件图形工具,它的安装非常昂贵并需要大量存储器以便驱动相关系统资源。SL-GMS的使用增加了在改变报警显示时有关的负荷,因而增加了为改变显示而需要的总时间。而且这样的使用增加了显示更新时间,从而降低了需要实时处理的GUI报警显示的效率。因此在使用图形界面系统(motif)的构件(widget)而不用SL-GMS的报警显示方面已不断地做出努力。
有利地,motif的使用便于显示生成。它也是经济的,因为它基本上被提供有大多数UNIX系统。而且motif对驱动系统在驱动进程期间只加上很少的负荷,并且比起SL-GMS来能快速运行。尽管这些优点,基本motif元件(被称为构件)的生成需要被逐个输入的大量代码。而且非常难于改变构件的特性和结构。例如,由于一个代码必须被修改和编译以改变一个构件的颜色,所以改变包括许多构件的motif显示的颜色的处理变得非常复杂并需要很大量的时间。
因此,本发明的目的是提供在数字蜂窝系统中用于成批生成motif构件的设备和方法,以便有效地完成基站管理器的报警显示。motif构件的生成包括数据文件的使用,该数据文件包括motif构件生成数据的集合。
本发明的另一个目的是提供借助于数据文件成批生成motif构件的设备和方法。
本发明的再一个目的是提供容易生成motif构件的设备和方法,以便完成报警显示。
为达到以上的和其他的目的,给出了成批生成motif构件的设备和方法。按照本发明的实施例的用于成批生成motif构件的方法包括以下步骤,例如编制用于成批地产生构件的构件生成数据文件,和定义一个批生成结构,用于在相应的构件组单元中读出所编制的构件生成数据。接着,读出由一个批生成结构定义单元的指令所请求的相应数据文件,和通过使用构件生成函数,成批生成复合构件。
通过参照附图详细描述本发明的实施例,本发明的目的和优点将变得更明显,其中

图1是与一个BSM有关的数字蜂窝通信系统的方框图,本发明的实施例应用于其中;图2显示了示例性motif显示,以便于更好地了解构件组,组ID和子ID;图3显示了图2所示的motif显示的motif的构件的结构;图4是按照本发明的实施例的用于构件成批生成的算法;以及图5是按照本发明的实施例的motif的构件成批生成设备的方框图。
优选实施例的详细描述在数字蜂窝系统中BSM作为工作站运行,其任务为管理,修理和维护整个移动通信系统,BSM通过按照本发明实施例实行的motif报警显示,传送移动通信系统的工作状态。
图1是与一个BSM有关的CDMA数字蜂窝通信系统的方框图。该系统包括移动站(MS)10-1到10-n,基站收发信台子系统(BTS)12,基站控制器(BSC)14,基站管理器(BSM)16,和基站交换中心(MSC)18。移动站10-1到10-n是在BTS12的控制下实行无线通信的移动通信终端。BTS12是和在它自己的小区半径内的移动站10-1到10-n进行无线通信的基站。BSC14被连接在BTS12和MSC18之间,并控制与BTS12有关的全部通信。BSM16被连接到BSC14,并接口到BTS12中的操作员。MSC18被连接到BSC14,并切换移动站10-1到10-n。
本发明的第一个说明性实施例是针对用于向用户和操作员显示基站管理器16的故障报警的报警显示的有效实现。为此目的提供了使用数据文件的motif构件成批生成的方法,该数据文件包括motif构件生成数据的集合。通过使用这个方法,构件借助于只把为生成构件所需要的数据放入文件中而容易地被成批生成。通过数据文件修正构件结构但不需要编译操作,减少了工作时间并提高了工作效率。
motif是一组被称为构件的用户界面对象集。motif构件集包括与编程员或用户可能需要的GUI有关的所有对象,例如下拉菜单,对话框,滚动条,按钮等。当编程员打算使用motif建立应用程序时,他简单地选择构件集用于制作GUI,并包括以代码形式的构件集。在显示屏幕上显示了编码的构件的结果。然而,为了借助于motif制作多个具有同样性质的构件,应当不方便地重复同样的编码。具有同样性质的构件的代码部分根据构件的位置,颜色和字符串而改变。因此如果独立地管理为生成构件所需要的数据,则构件可容易地和快速地批量生成。编码可通过把构件生成数据编制到数据文件,读出数据文件,以及产生用于自动生成构件的函数而得以简化。而且,编码效率可简单地通过修正数据文件以改变构件特性而得以提高。
虽然有许多种为产生构件所必需的管理器构件,但由于按照位置安排构件的方便性可使用窗体(form)构件代替管理器构件,如将在下面所说明的。数据文件包括父构件的位置,生成的构件的类型,在父构件中的构件的位置以及构件的颜色和字符串。对于构件的位置,使用了在窗体构件的XmATTACH POSITION资源中所使用的相对坐标。构件根据他们各自的类型被分组,在同一组中的构件具有同一个父构件。为了表示构件类型,使用了表示motif构件成批生成函数的字符串而不用原先的motif构件名称。虽然该函数按照构件的使用在无论何时需要时可被建立,基本的所需要的函数被提前建立。
在生成motif构件时,数据文件以和在用户界面语言中相同的方式被使用,在用户界面语言(UIL)中利用了预编译功能。因此UIL应当和以motif代码表示的构件具有相同的结构,因而需要编译。然而,按照本发明对数据文件的使用使构件结构能被确定而不管源文件,因而不需要编译。而且,构件生成函数在无论何时必要时可被建立,通过从源中去除不必要的构件生成函数而提高编码效率。传统方法在编码时是不可行的,特别是在报警显示的情况下,因为在无论何时对报警状态的要求改变时报警显示的结构应当被修正。然而,按照本发明的构件成批生成方法,报警显示可简单地通过改变数据文件而改变,从而简化了编码。下面将定义对于按照本发明实施例的构件成批生成的构件结构。
(1)用于成批生成的构件结构的定义构件被编组以成批生成构件。每个构件组具有完全相同的父构件,和相同性质的子构件。父构件是指motif中的管理器构件,而子构件是指在父构件上生成的构件。构件结构被定义为<pre listing-type="program-listing"><![CDATA[ struct Page{ int*N; Widget**Buttons; Pos**POSPTR; Col**COLPTR; Str**STRPTR; Prt*PRTPTR; Knd*KNDPTR; int*MAXLEN;};]]></pre>此处字段‘N’表示存储器分配(此后称作为“malloc”)所需要的构件数。N
表示形成显示的构件组的总数。N[n](n>0)表示在第n组中子构件数。字段‘Buttons’表示在一组中的每个子构件地址。子构件由包含分配给子构件的组id和子id的双指针定义。字段‘POSPTR’,‘COLPTR’和‘STRPTR’分别表示构件的位置,颜色和字符串。结构‘Pos’,‘Col’和‘Str’分别存储为改变构件的位置,颜色和字符串所需要的数据。字段‘PRTPTR’和‘KNDPTR’表示父构件的位置和构件组的类型。因为在一组中的子构件具有相同的类型,并共用同一个父构件,所以‘PRTPTR’和‘KNDPTR’由一个指针定义。字段‘MAXLEN’存储相应于在一组中的最长字符串的长度的数据,它被用来分配适当的字体(font)给构件。‘MAXLEN’不同于其他字段之处在于,它的值在执行程序期间在比较字符串后被设置,而其他字段的初始值是在数据文件中被设置的。也就是‘MAXLEN’的初始值可能没有在数据文件中被设置。结构‘Pos’,‘Col’,‘Str’和‘Knd’被定义为<pre listing-type="program-listing"><![CDATA[typedef struct_Pos{ int Nth,Sth,Wst,Est;}Pos;typedef struct_Col{ char Tsh[20],Bsh[20],Bgd[20];}Col;typedef struct_Str{ char str[100]; char fore[20];}Str;typedef struct_Prt{ int i,j;}Prt;typedef struct_Knd{ char knd[20];}Knd;]]></pre>‘Pos’字段表示子构件相对于父构件的顶部,底部,左位置和右位置坐标。‘Col’字段表示构件的顶部阴影,底部阴影和背景。‘Str’字段分别表示字符串和字符串的颜色。此处,‘fore’字段可被省略,在这样的情况中被指定为黑色。‘Prt’的两个字段分别表示父构件的组id和子id。‘Knd’字段表示构件的类型或种类。下面将描述按照本发明的构件生成的概念。
(2)构件生成的概念构件组是指在同一父构件上相同类型的构件的集合。组id表示在数据文件中定义的组中的组号,从1起始顺序增加。子id表示一组中的构件号,从1起始顺序增加。在数据文件中定义的每个构件具有组id和子id。图2显示了简单的motif显示以便更好地了解构件组,组id和子id。
为了产生图2所示的motif显示结构,使用了4个构件组和5个子构件。4个组分别具有一个,一个,一个和两个子构件。虽然在底部的背景构件20(即,窗体构件)不属于任何组,但它被用作为在数据文件中对于其他构件的父构件,因而具有组id和子id。因此把组id 0和子id 0给予背景构件20。图3显示了图2所示的motif显示的结构。为了描述构件的简便性,如果在第a组中的第b个子构件被定义为构件{a,b},则背景构件20是构件{0,0}。组1-4分别具有构件{0,0},{1,1},{2,1}和{3,1},正如他们的父构件那样。在同一个父构件下的相同类型的构件通常被包括在同一组中,但是在某些情况下可在不同的组中,例如为了分配不同的字体给同一组中的构件,或为了方便地给管理构件时。接着将描述构件生成函数。
(3)构件生成函数构件生成函数执行以下功能通过在存储器分配(malloc)需要的多个子构件,在父构件上建立子构件;改变子构件特性,例如位置和颜色;以及返回子构件指针。返回的指针值被编组和被用来通过组id和子id标识子构件。父构件的数据以及子构件的数目,位置和颜色可从数据文件中的构件结构中得出。具有复杂结构的复合构件当必要时可被形成。例如,为了生成具有三维视觉效果的管理器构件,3个被存储分配(malloc)的窗体构件被分配不同的颜色,并轻微偏移重叠。虽然子构件相对于父构件的位置由在父构件底部的窗体构件确定,但是在父构件顶部的窗体构件地址被返回作为构件组的地址。对构件生成函数没有特定的限制,他们可由用户定义,只要在复合的管理器构件生成函数中窗体构件的指针被返回。这是因为其他的构件只能在包括窗体构件的复合管理器构件上被定位。如果表示每个函数的字符串在一个if-语句中被利用,则想要的构件生成函数可通过只读一个函数而不包括以单独的代码表示的几个构件的生成函数而被实现。下面将描述按照本发明实施例建立用于构件成批生成的数据文件。
(4)建立用于构件成批生成的数据文件现在将分析在数字蜂窝系统中用于通过构件生成函数实现的和在基站管理器的报警显示中使用的简单的motif显示的数据文件。应当注意到,这个数据文件不是理想的,它可由编程员自由定义。相应于图2的数据文件被给出为<pre listing-type="program-listing"><![CDATA[41112KND01{BigButtons}KND02{BigButtons}KND03{BigButtons}KND04{verticaldrawn}PRT01{0,0}PRT02{1,1}PRT03{2,1}PRT04{3,1}POS01{25,76,3,97}POS02{5,95,5,95}POS03{5,93,5,95}POS04{7,93,15,43}{7,95,57,85}COL01{whitesmoke,grey50,lightgrey}COL02{grey50,whitesmoke,grey70}COL03{whitesmoke,grey50,lightgrey}COL04{NULL,NULL,limegreen}{NULL,NULL,limegreen}STR01{NULL}STR02{NULL}STR03{NULL}STR04{A}{B}]]></pre>
第一行表示有四个分别具有一个,一个,一个和两个子构件的构件组。这些数被用于构件生成函数所需要的构件存储器分配,他们应当在第一行以固定次序安置。‘KND’表示构件的类型或种类,它应当放置在一行的起始端,因为它通常用作为表示数据文件中想要的数据的位置的记号。表示构件类型的字符串(字符序列)被括在{}中,不考虑其他的字符序列。可定义字符串以表示由用户初始化的构件生成函数。
‘PRT’表示父构件,具有用逗号分开的父构件的组id和子id。在指定父构件时,应当保持父构件和其后的构件的顺序。否则父构件将不能被识别,导致非预期的显示。
‘POS’表示子构件相对于父构件的顶部,底部,左边和右边位置,以百分数表示。假定,构件完全占据父构件,则构件相对位置是{0,100,0,100}。通常,相对最小位置是1,没有小数点。在想要的位置需要1以下的坐标的情况下,在父构件上生成空的构件,然后一个构件被放置在空的构件上。
‘COL’提供构件的颜色信息,例如顶部阴影,底部阴影和背景。‘NULL’表示不用的颜色,颜色项应当和在文本文件rgb.txt中的定义一致。
‘STR’包括附加在构件上的字符串信息。为了得出不带有字符串的子构件,数据文件中的子构件的颜色信息应当空白。为了从一组中的所有子构件中去除字符串,应当在子构件的颜色信息中标上‘NULL’。
图5是按照本发明的实施例的motif构件成批生成设备的方框图。该设备具有数据编制单元50,批生成结构定义单元52和复合构件成批生成控制单元54。数据编制单元50把成批生成构件所需的构件生成数据编制为GUI对象。批生成结构定义单元52定义用于在相应的构件组单元中读所编制的构件生成数据的一个批生成结构。复合构件成批生成控制单元54从数据编制单元50中读出为该批生成结构定义单元52的指令所请求的相应的数据文件,并通过使用对于构件成批生成的构件生成函数生成想要的复合构件。
图4中显示了按照本发明的实施例的用于构件成批生成的算法。打开数据编制单元50中的数据文件(步骤100)。然后构件组的号码PAGE.N
和在第n组中的子构件的号码PAGE.N[n]被从数据文件中读出(步骤102)。参照图2和3,PAGE.N
是4,且PAGE.N[1]到PAGE.N[4]分别是1,1,1和2。
在步骤104,通过使用malloc(存储器分配),构件结构被分配给存储器。结构PAGE存储从数据文件读出的构件结构信息。
在步骤106,i和j分别表示组id和子id,都被设置为1。然后,i被从1增加到PAGE.N
,且j被从1增加到PAGE.N[n],其中n表示在1到PAGE.N[PAGE.N
]之间的任意的组id。接着,确定i是否小于或等于PAGE.N
(步骤108)。参照图2和3,PAGE.N
是4,它大于1(i),这样,程序进到步骤110。
在步骤110确定j是否小于或等于PAGE.N[i]。因为j在此刻等于1,所以它也等于PAGE.N[i],这样,程序进到步骤112。
在步骤112从数据文件读出构件的类型或种类KNDPTR[i],父构件PRTPTR[i][j],构件相对于父构件的位置POSPTR[i][j],和构件的颜色COLPTR[i][j]与字符串STRPTR[i][j]。i和j的当前值分别是1。在步骤112读出的数据被用来生成构件。在步骤114,通过使用构件生成函数,生成相应于PAGE.KNDPTR[组id]的复合构件。参照图2和3,通过使用相应的构件生成函数PAGE.KNDPTR[1],生成组1的复合构件。构件生成函数包括用于生成想要的复合构件的函数,他们通过键入PAGE.KNDPTR[组id]而被实现。
在步骤116,把j增加1,且程序返回步骤110。现在j是2,j大于PAGE.N[1]。因而,程序跳到步骤118。在步骤118,把i增加1,且j被设置为1,程序返回到步骤108。
通过以上程序,组1的复合构件成批生成,然后重复步骤108-118,同时顺序把i和j增加1。因而组2-4的复合构件在一批中生成。如果生成了全部组的所有子构件,则程序进到步骤120,且关闭数据文件。
如上所述,在使用按照本发明的motif函数的构件成批生成方法中,通过编制构件生成函数容易成批生成构件。而且通过在数据文件中修改构件结构减少了工作时间,它不需要编译。另外使用用于自动读出数据文件和生成构件的功能使编码更容易,并提高工作效率。
虽然本发明的说明性实施例在此是参考附图描述的,但应当明白,本发明并不限于那些精确的实施例,以及各种其他改变和修改可由本领域技术人员做出,而不背离本发明的范围和精神。
权利要求
1.用于成批生成motif构件的方法,包括以下步骤编制用于成批产生构件的构件生成数据文件;定义一个批生成结构,用于在相应的构件组单元中读出所编制的构件生成数据;读出由一个批生成结构定义单元的指令所请求的相应数据文件;以及通过使用构件生成函数,成批生成复合构件。
2.权利要求1的方法,其特征在于,其中在定义该批生成结构的步骤中构件被编组用于构件成批生成。
3.权利要求2的方法,其特征在于,其中每个构件组具有同一个父构件和相同性质的构件。
4.权利要求3的方法,其特征在于,其中所编制的构件生成数据包括父构件,构件类型,构件相对于父构件的位置,以及构件的颜色和字符串。
5.权利要求4的方法,其特征在于,其中所编制的构件生成数据还包括构件组的总数和在存储器中分配对于该构件生成函数所需要的构件时使用的每组中的多个子构件。
6.权利要求4的方法,其特征在于,其中相应于父构件的所编制的数据包括组id和子id。
7.权利要求4的方法,其特征在于,其中相应于构件颜色的所编制的数据包括顶部阴影,底部阴影和背景等的颜色。
8.权利要求1的方法,其特征在于,其中复合构件生成函数被集中在构件生成函数中。
9.用于成批生成motif构件的设备,包括以下步骤用于编制被利用来产生成批的构件的构件生成数据文件的数据编制单元;用于在相应的构件组单元中读出所编制的构件生成数据的一个批生成结构定义单元;以及复合构件成批生成控制单元,用于从数据编制单元读出由该批生成结构定义单元的指令所请求的相应数据文件,和通过构件生成函数,成批生成所需要的复合构件。
10.权利要求9的设备,其特征在于,其中当定义该批生成结构时,构件被编组用于构件成批生成。
11.权利要求10的设备,其特征在于,其中每个构件组具有同一个父构件和相同性质的构件。
12.权利要求11的设备,其特征在于,其中所编制的构件生成数据包括父构件,构件类型,构件相对于父构件的位置,以及构件的颜色和字符串。
13.权利要求12的设备,其特征在于,其中所编制的构件生成数据还包括构件组的总数和在存储器中分配对于构件生成函数所需要的构件时使用的每组中的多个子构件。
14.权利要求13的设备,其特征在于,其中相应于父构件的所编制数据包括组id和子id。
15.权利要求13的设备,其特征在于,其中相应于构件颜色的所编制的数据包括顶部阴影,底部阴影和背景等的颜色。
16.权利要求9的设备,其特征在于,其中复合构件生成函数被集中在构件生成函数中。
全文摘要
提供了用于成批生成motif构件的设备和方法。按照本发明说明性实施例的用于成批生成motif构件的方法,包括编制构件生成数据文件,用以产生成批的构件,和定义批生成结构,用于在相应的构件组单元中读出所编制的构件生成数据。读出由批生成结构定义单元的指令所请示的相应数据文件,和通过使用构件生成函数,成批生成复合构件。
文档编号H04N7/50GK1202077SQ98105929
公开日1998年12月16日 申请日期1998年4月9日 优先权日1997年4月9日
发明者尹恩喆 申请人:三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1