首页> 中国专利> GUI生成设备和用于生成GUI的方法

GUI生成设备和用于生成GUI的方法

摘要

本发明涉及一种GUI生成设备和用于生成GUI的方法。一种GUI生成设备,包括:存储单元,配置成存储关联信息,所述关联信息将与数据的输入和输出有关的输入/输出GUI组件与存储数据的数据模型相关联;以及反映单元,配置成在通过所述输入/输出GUI组件接收到数据的输入时,将所输入的数据反映到在所述关联信息中与所述输入/输出GUI组件相关联的数据模型中,其中,在所述数据模型中数据发生改变时,所述反映单元将改变后的数据反映到在所述关联信息中与所述数据模型相关联的输入/输出GUI组件中。

著录项

  • 公开/公告号CN101211260A

    专利类型发明专利

  • 公开/公告日2008-07-02

    原文格式PDF

  • 申请/专利权人 佳能株式会社;

    申请/专利号CN200710160637.7

  • 发明设计人 仲显照;

    申请日2007-12-26

  • 分类号G06F9/44(20060101);

  • 代理机构北京林达刘知识产权代理事务所;

  • 代理人刘新宇

  • 地址 日本东京都大田区下丸子3丁目30番2号

  • 入库时间 2023-12-17 20:23:48

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2012-06-13

    授权

    授权

  • 2008-08-27

    实质审查的生效

    实质审查的生效

  • 2008-07-02

    公开

    公开

说明书

技术领域

本发明涉及一种GUI生成设备和用于生成GUI的方法。

背景技术

为了使用定义文件来实现画面的改变,公开了这样一种技术:通过分别提供画面显示单元、程序执行单元和数据库运算单元来提高可服务性,从而使画面的改变容易(例如,参见日本特开平11-282658)。

作为另一项基于定义文件动态地生成用户界面的技术,存在用于创建web画面的Java Server(注册商标)Pages(JSP)技术。JSP技术采用所谓的“JSP标签”和表示画面设计的HTML文档标签。当在HTML文档中找到JSP标签时,服务器能够通过将所述标签转换为适当的标签来改变画面设计。作为另一项用于创建WEB画面的技术,存在Java Server(注册商标)Faces(以下简称“JSF”)技术。JSF技术是一种将UI和使用JSP进行画面设计的逻辑分离开的技术。

根据上述传统技术,只有通过编辑定义文件,才能随意地改变画面内的组件的布置。

但是,为了实现跨越画面的改变,需要重写用于更新画面显示的部分程序,因此难以仅通过编辑定义文件来实现跨越画面的改变。

发明内容

考虑到上述问题,本发明的目的在于,在不对部分程序进行重写的情况下实现跨越画面的改变。

根据本发明的一个方面,一种GUI生成设备包括:

存储单元,其配置成存储关联信息,所述关联信息使涉及数据的输入和输出的输入/输出GUI组件与存储数据的数据模型相关联;以及

反映单元,其配置成在通过所述输入/输出GUI组件接收到数据输入的同时,将所输入的数据反映到在所述关联信息内与所述输入/输出GUI组件相关联的数据模型内,

其中,根据所述数据模型内数据的改变,所述反映单元将发生改变的数据反映到在所述关联信息中与所述数据模型相关联的输入/输出GUI组件内。

根据本发明的另一方面,一种用于在GUI生成设备中生成GUI的方法包括的步骤有:

数据模型反映步骤,其中,在通过涉及数据的输入和输出的输入/输出GUI组件接收到数据输入的同时,将所输入的数据反映到在存储单元存储的关联信息内与所述输入/输出GUI组件相关联的数据模型内;以及

输入/输出GUI组件反映步骤,在数据模型内的数据发生改变的同时执行该步骤,在该步骤中,将所述发生改变的数据反映到在所述关联信息内与所述数据模型相关联的输入/输出GUI组件内。

通过下面参考附图对示例性实施例的说明,本发明的其他特征将变得显而易见。

附图说明

图1是作为GUI生成设备的例子的信息处理设备的硬件配置的示意图。

图2示出信息处理设备的功能配置,并且示出说明例如所述功能配置和存储在由图1中104a到104c表示的存储区域中的数据之间的关系的数据流程图。

图3是示出根据本发明的实施例的信息处理设备执行的整个处理过程的流程图。

图4是详细示出图3中步骤S107的输入/输出GUI组件创建处理的处理流程的流程图。

图5A和5B是示出画面定义文件202和转换定义文件203的例子的示意图。

图6A和6B是示出数据模型和GUI画面的例子的(第一)示意图。

图7是详细示出图3中步骤S108的指令GUI组件创建处理的处理流程的流程图。

图8是详细示出图3中步骤S109的数据模型初始化处理的处理流程的流程图。

图9是详细示出图3中步骤S110的输入/输出GUI组件更新处理的处理流程的流程图。

图10A和10B是示出数据模型和GUI画面的例子的(第二)示意图。

图11是示出在用户向输入/输出GUI组件提供输入时执行的输入反映处理的处理流程的流程图。

图12是示出数据模型、逻辑程序和GUI画面之间的关联的示意图。

图13A、13B、13C、13D、13E和13F是定制(改变)前画面定义文件和转换定义文件的示意图。

图14是基于图13A、13B、13C、13D、13E和13F中的画面定义文件和转换定义文件创建的GUI画面的示意图。

图15A、15B、15C、15D、15E和15F是示出在操作图14的GUI画面时数据模型和画面图像之间的关系的示意图。

图16A、16B、16C、16D和16E是在通过定制(改变)以将子画面上显示的内容结合到主画面中之后的画面定义文件和转换定义文件的示意图。

图17是基于图16A、16B、16C、16D和16E中的画面定义文件、转换定义文件和逻辑程序所创建的GUI画面的示意图。

图18A、18B、18C、18D、18E和18F是示出在操作图17中的GUI画面时数据模型和画面图像之间的关系的示意图。

具体实施方式

在下文中,将参考附图说明本发明的实施例。

图1是作为GUI(图形用户界面)生成设备的例子的信息处理设备的硬件配置的示意图。

CPU 101通过总线102访问下文中将予以说明的装置103到110,并控制这些装置。从CPU 101通过总线102可以访问只读存储器(ROM)103,并且将程序代码103a存储在只读存储器103中。随机存取存储器(RAM)104具有用于存储通过CPU 101执行程序代码103a所生成的输入/输出GUI组件、指令GUI组件和数据模型的区域(以下分别称为“区域104a、104b和104c”)。输入接口105接收通过如键盘、鼠标、按钮或拨号盘等输入装置106所输入的输入。

输出接口107向如CRT、LCD、打印机或绘图机等输出装置108执行数据显示/输出。外部存储装置接口109执行与如HD、FD、CD-ROM、MD或CF等外部存储装置110之间的数据输入/输出。

将在程序代码103a正被存储在ROM 103中以及用于存储要处理的各数据的区域(104a到104c)正被配置在RAM 104中的情况下说明该实施例。然而,还可以在外部存储装置110中配置所有的这些,并且可以在使用前将其从所述外部存储装置110加载到RAM 104的合适的地方。也可以在CPU 101的高速缓冲存储器中配置这些。

图2示出信息处理设备的功能配置,并且示出说明例如所述功能配置和存储在由图1中的104a到104c表示的存储区域中的数据之间的关系的数据流程图。

GUI控制单元201处理通过输入接口105输入的数据。用户可以利用该GUI控制单元201向各处理单元输入数据并发送指令。

将画面定义文件202存储在外部存储装置110中,并且该画面定义文件定义了程序代码103a所加载的画面的布局信息(配置信息)等。例如,图5A中示出了画面定义文件202的例子,在下文中将对其予以说明。

转换定义文件203定义了程序代码103a所加载的画面的转换信息、描述指令GUI组件208和逻辑程序204之间的关联的关联信息等。例如,图5B中示出了转换定义文件203的例子,在下文中将对其予以说明。

将逻辑程序204存储在外部存储装置110中,并基于程序代码103a将该逻辑程序加载到CPU 101中。逻辑程序204是定义响应于画面操作所执行的处理的程序。

GUI组件生成单元205基于画面定义文件202和转换定义文件203生成要在画面上显示的GUI组件(或者关于GUI组件的信息)。

关联信息206是用于将GUI组件生成单元205生成的GUI组件与数据模型相关联的信息。

输入/输出GUI组件207是由GUI组件生成单元205生成的如文本字段等GUI组件,并且用户可以向其内提供输入或者用户可以从其接收结果。通过GUI控制单元201控制(或操作)输入/输出GUI组件207。

指令GUI组件208是由GUI组件生成单元205生成的如按钮等的GUI组件,且响应于用户的操作执行处理。通过GUI控制单元201控制(或操作)指令GUI组件208。

数据模型209存储通过输入装置106输入的数据以及通过执行逻辑程序204所获得的结果(处理结果)。

数据模型反映单元210根据存储于或者已经存储在数据模块209中的内容(值或数据)来改变输入/输出GUI组件207的值(或输出数据)。而且,如果将值(或数据)输入到输入/输出GUI组件207中,那么数据模型反映单元210例如通过将输入值存储到数据模型209中来将所述输入反映在数据模型209中。

当通过指令GUI组件208接收如压下按钮等事件时,逻辑执行单元211基于在转换定义文件203中已经与指令GUI组件208相关联的逻辑程序204来执行处理。逻辑执行单元211根据逻辑程序204的内容执行处理,并将通过执行程序获得的结果存储在数据模型209中。

也可以将GUI控制单元201、GUI组件生成单元205、数据模型反映单元210、逻辑执行单元211等称为应用程序(或应用)的功能配置。

图3是示出由本实施例的信息处理设备进行的整个处理过程的流程图。

在步骤S102中,GUI控制单元201执行处理,以判断来自用户的要求是针对画面显示的要求还是针对逻辑程序的执行的要求。在步骤S102中,如果GUI控制单元201判断出用户的要求是针对逻辑程序的执行的要求,那么该处理进入步骤S103。反之,如果在步骤S102中,GUI控制单元201判断出用户的要求是针对画面显示的要求,那么该处理进入步骤S104。

在步骤S103中,逻辑执行单元211进行处理,以执行在转换定义文件203中与如压下按钮等指令GUI组件相关联的逻辑程序(或者基于所述逻辑程序执行处理)。

在步骤S104中,GUI组件生成单元205进行处理,以加载转换定义文件203,该转换定义文件203包含关于要显示的GUI画面、对应于压下按钮的转换目的地及逻辑程序的执行的信息。

随后,在步骤S105中,如果逻辑执行单元211在步骤S104中加载的转换定义文件中找到了画面的启动期间要执行的逻辑程序,那么逻辑执行单元211进行处理以启动并执行所述逻辑程序。

然后,在步骤S106中,GUI组件生成单元205执行处理,以指定作为步骤S104中加载转换定义文件的结果的GUI画面,并为所述GUI画面加载包含布局信息的画面定义文件202。接着,在步骤S107中,GUI组件生成单元205执行处理,以基于在步骤S106中加载的画面定义文件创建输入/输出GUI组件。后面将参考图4详细描述该输入/输出GUI组件创建处理。

然后,在步骤S108中,GUI组件生成单元205执行处理,以基于在步骤S106中加载的画面定义文件和在步骤S104中加载的转换定义文件创建指令GUI组件。后面将参考图7详细描述该指令GUI组件创建处理。

接着,在步骤S109中,数据模型反映单元210进行处理,以对数据模型209进行初始化。后面将参考图8详细描述该数据模型初始化处理。

接着,在步骤S110中,数据模型反映单元210执行处理,以更新在关联信息206中与已经在步骤S109中进行了初始化的数据模型209相关联的输入/输出GUI组件。后面将参考图9详细描述该输入/输出GUI组件更新处理。

接着,在步骤S111中,GUI控制单元201进行处理,以利用输入/输出GUI组件和指令GUI组件在输出装置108上显示GUI画面。然后,该处理进入步骤S112,在该步骤中,所述信息处理设备终止图3所示的处理。

图4是详细示出图3中的步骤S107的输入/输出GUI组件创建处理的处理流程的流程图。在步骤S202中,GUI组件生成单元205进行处理,以对用于创建输入/输出GUI组件的列表进行初始化。

在步骤S203中,GUI组件生成单元205针对画面定义文件202中包含的所有GUI组件中的每个重复从步骤S204到步骤S209的处理。

在步骤S204中,GUI组件生成单元205针对GUI组件的所有属性(attribute)中的每个重复从步骤S205到步骤S208的处理。

在步骤S205中,GUI组件生成单元205进行处理,以获取某一属性并判断该属性是否是与数据模型相关联的属性。如果GUI组件生成单元205判断出所获取的属性是与数据模型相关联的属性,那么该处理进入步骤S206。如果GUI组件生成单元205判断出所获取的属性不是与数据模型相关联的属性,那么该处理进入步骤S209。

在步骤S206中,GUI组件生成单元205进行处理,以针对GUI组件的属性中与数据模型相关联的属性来获取GUI组件的ID(GUI组件ID)以及获取针对所获取的属性设置的性质(property)值。

在步骤S207中,GUI组件生成单元205进行处理,以在数据模型中创建使用在步骤S206获取的性质值作为名称的一个数据区。如果数据模型已经具有了相同名称的数据区,那么GUI组件生成单元205不创建新的数据区,并且该处理进入下一步。

在步骤S208中,GUI组件生成单元205执行处理,以将在步骤S206获取的GUI组件ID和性质值添加至在步骤S202中初始化的列表。

在步骤S209中,如果GUI组件生成单元205完成了针对所有属性的设置的反映,那么该处理进入步骤S210。

在步骤S210中,如果GUI组件生成单元205完成了针对所有GUI组件的设置的反映,那么该处理进入步骤S211,在该步骤中,图4所示的处理结束。

图5A是示出画面定义文件202的例子的示意图。

附图标记301表示关于整个GUI画面的对话的语句部分。界限标签规定了对话要在输出装置108中显示的位置以及该对话的尺寸。在301中写入<bounds x=″10″y=″10″w=″320″h=″240″/>。因此,在坐标为(10,10)的位置处以宽度320和高度240显示所述对话。

附图标记302表示配置Text Field(文本字段)型输入/输出GUI组件的定义信息。附图标记303表示配置Button(按钮)型指令GUI组件的定义信息。根据界限标签要素(element)将输入/输出GUI组件和指令GUI组件布置在附图标记301中定义的对话上。

在302中写入<bounds x=″150″y=″15″w=″80″h=″15″/>。因此,将宽度为80和高度为15的Text Field型输入/输出GUI组件布置在坐标为(150,15)的位置处。

在303中写入<bounds x=″15″y=″300″w=″80″h=″15″/>。因此,将宽度80和高度15的按钮型指令GUI组件布置在坐标为(15,300)的位置处。

基于控制标签的类型属性,GUI组件生成单元205判断该组件为指令GUI组件还是输入/输出GUI组件。

附图标记304表示对布置在对话中的GUI组件进行控制的子标签。控制标签的id要素和idref要素表明了定义GUI组件和引用的GUI组件之间的关系,并规定引用的GUI组件将定义GUI组件作为子组件加以控制。在图5A中,规定将输入/输出GUI组件302和指令GUI组件303布置在对话301中。

附图标记305表示根据各GUI组件的规格使用的GUI组件的属性。在图4的步骤S205中,GUI组件生成单元205进行处理,以基于该属性部分判断该属性是否是与数据模型相关联的属性。

例如,如果指定输入/输出GUI组件302,使得在属性“key(关键字)”的值为“property(性质)”的情况下存在与数据模型的关联,那么在图4的步骤S206中,GUI组件生成单元205获取作为值属性的param1(参数1)来作为性质值。GUI组件生成单元205还获取ID_C1作为GUI组件ID。

图5B是示出转换定义文件203的例子的示意图。

附图标记311表示事件处理程序,该事件处理程序规定在接收操作GUI画面的指令GUI组件时发出的事件时执行哪个逻辑程序204。在附图标记311中,规定如果事件“ev.ok”被处理,则执行逻辑程序A。

附图标记312表示在发生画面转换时要在画面上显示的画面定义文件。例如,GUI控制单元201使用写在转换定义文件中的画面定义文件来显示GUI画面。

图6A是示出在指定Text Field型组件使得在属性“key”的值为“property”的情况下则存在与数据模型的关联时,从图5A中的画面定义文件获得的数据模型的例子的示意图。

附图标记401表示数据模型的总体配置。

附图标记402是针对与param1相关联地显示的GUI组件ID_C1的数据区。

图6B是示出在输出装置108上显示图5A中的画面定义文件的状态的例子的示意图。

附图标记411表示作为画面单元的对话。在画面定义文件中写入<bounds x=″10″y=″10″w=″320″h=″240″/>。因此根据该语句,由GUI控制单元201在从输出装置108的左上部、坐标为(10,10)的位置处、以宽度320和高度240显示对话411。

附图标记412是作为所显示的输入/输出GUI组件的文本字段组件,可以向该文本字段组件中输入如字符串等输入。在画面定义文件中写入<bounds x=“150″y=″15″w=″80″h=″15″/>。因此根据该语句,由GUI控制单元201在从输出装置108的左上部、坐标为(150,50)的位置处、以宽度80和高度15显示文本字段组件。

附图标记413表示作为所显示的指令GUI组件的按钮组件。在画面定义文件中写入<bounds x=“15″y=″300″w=″80″h=″15 ″/>。因此根据该语句,由GUI控制单元201在从输出装置108的左上部、坐标为(15,300)的位置处、以宽度80和高度15显示按钮组件。

图7是详细示出图3中步骤S108的指令GUI组件创建处理的处理流程的流程图。在步骤S302中,GUI组件生成单元205进行处理,以对用于创建指令GUI组件的列表进行初始化。

在步骤S303中,GUI组件生成单元205针对画面定义文件202中的所有GUI组件中的每个重复从步骤S304到步骤S309的处理。

在步骤S304中,GUI组件生成单元205针对GUI组件的所有属性中的每个重复从步骤S305到步骤S308的处理。

在步骤S305中,GUI组件生成单元205进行处理,以获取某一属性,并判断该属性是否是其类型与事件的发布相关联的属性。如果GUI组件生成单元205判断出该属性是与事件的发布相关联的属性,那么该处理进入步骤S306。反之,如果GUI组件生成单元205判断出该属性为与事件的发布不相关联的属性,那么该处理进入步骤S309。

在步骤S306中,GUI组件生成单元205进行处理,以针对GUI组件的属性中与事件的发布相关联的属性获取事件名称。如果指定图5A和5B中的按钮型GUI组件在属性“key”的值为“event(事件)”的情况下,通过鼠标点击发布写入“value(值)”中的事件,那么GUI组件生成单元205获取“ev.ok”。

在步骤S307中,GUI组件生成单元205进行处理,以获取在发布了事件的情况下实际执行的逻辑程序。例如,在如图5B中附图标记311所示写下转换定义文件时,如果发布了事件“ev.ok”,那么GUI组件生成单元205获取逻辑程序A。

在步骤S308中,GUI组件生成单元205进行处理,以将在步骤S306中获取的事件名称和在步骤S307中获取的逻辑程序添加至在步骤S302中初始化的列表。

在步骤S309中,如果GUI组件生成单元205完成了针对所有属性的设置的反映,那么该处理进入步骤S310。

在步骤S310中,如果GUI组件生成单元205完成了针对所有组件的设置的反映,那么该处理进入步骤S311,在该步骤中,图7所示的处理结束。

GUI组件生成单元20 5通过上述方式创建指令GUI组件。如果在指令GUI组件中发生了如压下按钮等用户的操作(或事件),那么由GUI控制单元201(或指令GUI组件)发布所述指令GUI组件的事件名称。结果,逻辑执行单元211执行与所述事件名称相关联的逻辑程序。

图8是详细示出图3中步骤S109的数据模型初始化处理的处理流程的流程图。在步骤S402中,数据模型反映单元210针对图6A所示的数据模型中所有数据区中的每个重复从步骤S403到步骤S405的处理。

在步骤S403中,数据模型反映单元210进行处理,以判断是否已经在数据区中设置了值。在步骤S403,如果数据模型反映单元210判断出已经在数据区中设置了值,那么该处理进入步骤S405。反之,如果数据模型反映单元210在步骤S403判断出没有在数据区中设置值,那么该处理进入步骤S404。

在步骤S404中,数据模型反映单元210进行处理,以创建标准默认值。数据模型反映单元根据例如输入/输出GUI组件的规格等创建0、空字符串等作为默认值,并将其作为数据区的值注册。

在步骤S405中,如果写入到数据区内的用于GUI组件的数据区的数据中产生了改变,那么数据模型反映单元210进行监听程序注册,使得将更新传播至与数据模型相关联的GUI组件。如果此后改变了数据模型的值,那么所述监听程序通知已经更新了显示与所述值相关联的数据的GUI组件。在接收所传输的经传播的更新时,GUI组件设置更新标记,以便在更新处理中改变显示。

在步骤S406中,如果数据模型反映单元210完成了针对数据模型的数据区的值初始化,那么该处理进入步骤S407,在该步骤中,图8所示的处理结束。

图9是详细示出图3中步骤S110的输入/输出GUI组件更新处理的处理流程的流程图。在步骤S502中,数据模型反映单元210针对在图3的步骤S107中创建的所有输入/输出GUI组件中的每个重复从步骤S503到步骤S508的处理。

在步骤S503中,数据模型反映单元210进行处理,以判断是否在输入/输出GUI组件中设置更新标记。总是首先设置更新标记。如果第二次改变或者此后改变数据模型的值,那么将该更新传播至与改变后的值相关联的GUI组件,并且在接收到所述更新时设置标记。

在步骤S503中,如果数据模型反映单元210判断出没有在输入/输出GUI组件中设置更新标记,那么该处理进入步骤S509。相反,如果数据模型反映单元210在步骤S503中判断出在输入/输出GUI组件中设置了更新标记,那么该处理进入步骤S504。

在步骤S504中,数据模型反映单元210进行处理,以获取输入/输出GUI组件的性质值。

在步骤S505中,数据模型反映单元210进行处理,以从数据模型获取与在步骤S504中获取的性质值相对应的数据区的值。

在步骤S506中,数据模型反映单元210执行处理,以判断在步骤S505中获取的值的类型是否是能够直接地设置在显示GUI组件的位置处的类型。在步骤S506中,如果数据模型反映单元210判断出所述类型是能够直接设置的类型,那么处理进入S508。相反,如果数据模型反映单元210在步骤S506中判断出所述类型是不能直接设置的类型,那么该处理进入S507。例如,在Text Field型GUI组件情况下,如果仅能设置字符串,或者如果从数据模型获取的值为整型数,那么由于直接设置是不可能的,因此数据模型反映单元210判断出该类型为不能直接设置的类型。

在步骤S507中,数据模型反映单元210将该值转换为可显示的类型。例如,在仅可设置字符串时,如果获取了整型值100,那么数据模型反映单元210将其转换为字符串型值100(即,将整型值100转换为字符串型值100)。

在步骤S508中,数据模型反映单元210进行处理,以将在步骤S505中获取的值或者在步骤S507中转换的值设置为显示GUI组件所特有的数据的属性。

在步骤S509中,如果数据模型反映单元210完成了针对与所有数据相关联的所有输入/输出GUI组件的处理,那么该处理进入步骤S510,在该步骤中,图9所示的处理结束。

图10A是数据模型的示意图。

附图标记501表示将整型值100设置为在数据模型的针对param1的数据区中的默认值。

图10B是在GUI组件生成单元205加载了图5A所示的画面定义文件之后,由与数据模型相关联的GUI控制单元201和数据模型反映单元210在画面上显示的GUI画面的示意图。

附图标记502表示输入/输出GUI组件。如图9所示,数据模型反映单元210使用已被设置为输入/输出GUI组件的属性的param1作为关键字来获取存储在数据模型的数据区中的整型值100,并将显示类型转换为字符串“100”。然后,数据模型反映单元210(或者GUI控制单元201)在GUI组件上显示“100”。通过上述方式,数据模型反映单元210(或者GUI控制单元201)与存储在数据模型中的值相关联地改变GUI组件中的显示。

图11是示出在用户向输入/输出GUI组件提供输入时所进行的输入反映处理的处理流程的流程图。在确认了通过画面所输入的输入时,在步骤S602中,数据模型反映单元210进行处理,以在确认了输入之后获取在输入/输出GUI组件中显示的值。

在步骤S603中,数据模型反映单元210进行处理,以获取已经针对输入/输出GUI组件设置的性质值。

在步骤S604中,数据模型反映单元210进行处理,以基于在步骤S603中获取的性质值来获取数据模型的数据区的值。

在步骤S605中,数据模型反映单元210进行处理,以判断在步骤S602中获取的组件中显示的值的类型是否与在步骤S604中获取的数据模型的值的类型相同。在步骤S605中,如果数据模型反映单元210判断出它们是相同的类型,那么该处理进入S607。反之,如果数据模型反映单元210在步骤S605中判断出它们是不同的类型,那么该处理进入S606。

在步骤S606中,数据模型反映单元210进行处理,以将在步骤S602中获得的值的类型转换为与在步骤S604中获得的数据模型的值的类型相同的类型。

在步骤S607中,数据模型反映单元210进行处理,以通过比较在步骤S602中获得的值和在步骤S604中获得的值来判断它们两者是否相同。在步骤S607中,如果数据模型反映单元210判断出它们相同,那么该处理进入S609,在该步骤中,图11所示的处理结束。在步骤S607中,如果数据模型反映单元210判断出它们不同,那么该处理进入S608。

在步骤S608中,数据模型反映单元210执行处理,以将在步骤S602中获得的值设置为数据模型的值。随后,该处理进入步骤S609,在该步骤中,图11所示的处理结束。

通过上述处理,数据模型反映单元210能够将用户输入的值反映在数据模型中。

图12是示出了数据模型、逻辑程序和GUI画面之间的关联的示意图。

附图标记601表示数据模型。

附图标记602表示,将默认值100存储在数据模型的针对param1的数据区中。

附图标记603表示,将默认值0存储在数据模型的针对param2的数据区中。

附图标记604表示向其中写入了从数据模型601的param1获取数据、并将所述数据存储到数据模型601的param2中的处理的逻辑程序。

附图标记605表示在画面上显示数据模型601时的GUI画面。

附图标记606示出GUI组件ID为ID_C1的输入/输出GUI组件。输入/输出GUI组件606与具有param1的数据模型601相关联,因此在画面上显示“100”。

附图标记607示出GUI组件ID为ID C2的输入/输出GUI组件。输入/输出GUI组件607与具有param2的数据模型601相关联,因此在画面上显示“0”。

附图标记608示出GUI组件ID为ID_C3的指令GUI组件。如果用户通过操作输入装置106等压下指令GUI组件608,那么由逻辑执行单元211执行与转换定义文件203相关联的逻辑程序604。

而且,在图12中,利用箭头表示了通过压下指令GUI组件608执行逻辑程序604来在数据模型601和GUI画面605中做出的改变。附图标记603示出通过执行逻辑程序已经从0变为200的数据模型的数据区param2的值。附图标记607示出:通过逻辑程序的执行,输入/输出GUI组件607的值已经随着数据模型601的param2的值从0改变为200。

通过如上所述的方式,通过根据与指令GUI组件有关的事件来执行逻辑程序,将数据反映在数据模型和输入/输出GUI组件中,然后将其显示在GUI画面上。

图13A、13B、13C、13D、13E和13F是定制(改变)之前画面定义文件和转换定义文件的示意图。

图13A中的附图标记701是由GUI控制单元201首先显示的主画面的转换定义文件。

图13B中的附图标记702表示由GUI控制单元201首先显示的主画面的画面定义文件。

附图标记703表示指定由GUI控制单元201首先显示的主画面的画面定义文件的部分,并且规定指定了主画面定义文件702。

附图标记704表示关于事件处理程序的语句部分(或者关于监听程序的语句部分),其中规定如果发布了事件“ev.calc1”则执行逻辑程序A。

附图标记705表示关于与附图标记704的事件处理程序不同的事件处理程序的另一语句部分,其中规定如果发布了事件“ev.calc2”则执行逻辑程序B。还规定,在执行逻辑程序B之后,通过<invoke href=″transition definition file(Sub)″/>进行到子画面的画面转换。

附图标记706表示关于对话的语句部分,并规定通过在输出装置108上坐标为(0,0)的位置处以宽度320和高度240布置GUI组件来显示写入到<children>标签中的GUI组件。

附图标记707表示关于GUI组件ID为ID_C1的GUI组件的语句部分,其中规定所述GUI组件是与具有特性值“param1”的数据模型相关联的输入/输出GUI组件。

附图标记708表示关于GUI组件ID为ID_C2的GUI组件的语句部分,其中规定所述GUI组件是与具有性质值“param2”的数据模型相关联的输入/输出GUI组件。

附图标记709表示关于GUI组件ID为ID_C3的GUI组件的语句部分,其中规定所述GUI组件是与具有性质值“param3”的数据模型相关联的输入/输出GUI组件。

附图标记710表示关于GUI组件ID为ID_C4的GUI组件的语句部分,其中规定所述GUI组件是与具有性质值“calc1”的数据模型相关联的输入/输出GUI组件。

附图标记711表示关于GUI组件ID为ID_C5的GUI组件的语句部分,其中规定所述GUI组件是在在鼠标点击时发布事件“ev.calc1”的指令GUI组件。

附图标记712表示关于GUI组件ID为ID_C6的GUI组件的语句部分,其中规定所述GUI组件是在在鼠标点击时发布事件“calc2ev.calc2”的指令GUI组件。

图13C中的附图标记713表示从主画面打开的子画面的转换定义文件。

图13D中的附图标记714表示子画面的画面定义文件。

附图标记715表示指定从主画面打开的子画面的画面定义文件的部分(语句部分),其中规定指定了子画面定义文件714。

附图标记716表示关于对话的语句部分,其中规定通过在输出装置108上坐标为(0,0)的位置处以宽度280和高度180布置GUI组件来显示写入<children>标签中的GUI组件。

附图标记717表示关于GUI组件ID为ID_C11的GUI组件的语句部分,其中规定所述GUI组件是与具有性质值“calc2”的数据模型相关联的输入/输出GUI组件。

图13E中的附图标记718表示关于逻辑程序的语句部分,并规定,从数据模型获取param1和param2的值,对该值进行计算,并将结果设置在数据模型的calc1中。如在转换定义文件701和画面定义文件702中所规定的,如果由用户操作GUI组件ID为ID_C5的指令GUI组件,那么发布事件“ev.calc1”。然后,作为事件“ev.calc1”的结果,执行逻辑程序A 718。

图13F中的附图标记719表示关于逻辑程序的语句部分,其中规定,从数据模型获取param1、param2和param3的值,对该值进行计算,并将结果设置在数据模型的calc2中。如在转换定义文件701和画面定义文件702中所规定的,如果由用户操作GUI组件ID为ID_C6的指令GUI组件,那么发布事件“ev.calc2”。然后,作为事件“ev.calc2”的结果,执行逻辑程序B 719。

图14是基于图13A、13B、13C、13D、13E和13F中的画面定义文件和转换定义文件所创建的GUI画面的示意图。由通过在启动期间加载画面定义文件和转换定义文件,并基于所加载的文件进行处理的应用程序(或GUI控制单元201或GUI组件生成单元205)来显示画面图像。

附图标记801表示根据图13B中语句部分706的对话的画面图像,该图像以宽度320和高度240显示在输出装置108上的坐标(0,0)处。

附图标记802表示根据图13B中的语句部分707的输入/输出GUI组件的画面图像。

附图标记803表示根据图13B中的语句部分708的输入/输出GUI组件的画面图像。

附图标记804表示根据图13B中的语句部分711的指令GUI组件的画面图像。如果利用鼠标点击804,则执行逻辑程序A718。

附图标记805表示根据图13B中的语句部分710的输入/输出GUI组件的画面图像。如果在数据模型的calc1中做出了改变,那么通过数据模型反映单元210等重新显示相应的GUI组件。

附图标记806表示根据图13B中的语句部分709的输入/输出GUI组件的画面图像。

附图标记807表示根据图13B中的语句部分712的指令GUI组件的画面图像。如果利用鼠标点击807,则执行逻辑程序B719,然后进行到子画面的转换。

附图标记808表示通过指令GUI组件807打开的对话的画面图像。对话808以宽度280和高度180显示在输出装置108上的坐标(0,0)的位置处。

附图标记809表示根据图13B中的语句部分717的输入/输出GUI组件的画面图像。如果在数据模型的calc2中做出了改变,则重新显示输入/输出GUI组件809。

图15A、15B、15C、15D、15E和15F是示出在操作图14的GUI画面时数据模型和画面图像之间的关联的示意图。

图15A中的附图标记901表示在用户使用输入装置106向输入/输出GUI组件802和803提供输入时显示的画面图像。

图15B中的附图标记902表示在用户使用输入装置106向输入/输出GUI组件802和803提供输入时数据模型的图像。如果将值10输入到输入/输出GUI组件802中,并将值5输入到输入/输出GUI组件803中,那么还将值10和5分别设置在数据模型的param1和param2中。

图15C中的附图标记903表示在向输入/输出GUI组件802和803提供了输入之后、响应于通过输入装置106向指令GUI组件804给出的指令来执行逻辑程序A 718时显示的画面图像。

图15D中的附图标记904表示在向输入/输出GUI组件802和803提供了输入之后、响应于通过输入装置106向指令GUI组件804给出的指令来执行逻辑程序A 718时数据模型的图像。将值50设置为数据模型的性质calc1的值,结果将该数据反映在画面上。

图15E中的附图标记905表示在执行逻辑程序A 718之后通过输入装置106向输入/输出GUI组件806中输入数据、向指令GUI组件807给出指令、然后执行逻辑程序B 719时显示的画面图像。

图15F中的附图标记906表示在执行逻辑程序A 718之后通过输入装置106向输入/输出GUI组件806中输入数据、向指令GUI组件807给出指令、然后执行逻辑程序B 719时数据模型的图像。通过执行逻辑程序B 719,将值150设置为数据模型的性质calc2的值,结果,将值150显示在作为转换目的地的子画面的输入/输出GUI组件809中。

图16A、16B、16C、16D和16E是在通过定制(改变)以将子画面上显示的内容与主画面结合之后画面定义文件和转换定义文件的示意图。如图16D和16E所示,逻辑程序A 718和逻辑程序B 719与图13E和13F所示的没有改变。

图16B中的附图标记1001表示规定引用写在子画面的画面定义文件中的输入/输出GUI组件、从而使得GUI组件跨越画面移动的语句部分。

附图标记1002表示写在子画面的画面定义文件中的输入/输出GUI组件的GUI组件的定义信息,该定义信息使得组件跨越画面移动。

图16A中的附图标记1003表示主画面的转换定义文件的转换信息。通过组合画面,消除了画面转换,由此删除了转换信息。画面转换的消除使得显示子画面所需的画面定义文件和转换定义文件变得不必要。

图16B中的附图标记1004表示关于指令GUI组件的布置的信息,并且改变了X和Y坐标。附图标记1005表示关于输入/输出GUI组件的布置的信息,并且改变了Y坐标。

图17是基于图16A、16B、16C、16D和16E中的画面定义文件和转换定义文件所创建的GUI画面的示意图。从外观上看,图17的GUI画面与图14的GUI画面有所改变。

附图标记1101表示通过编辑画面定义文件已经改变了布置的指令GUI组件。

附图标记1102表示通过编辑画面定义文件跨越画面改变了布置的输入/输出GUI组件。

图18A、18B、18C、18D、18E和18F是示出在操作图17的GUI画面时数据模型和画面图像之间的关联的示意图。

图18A中的附图标记1201表示在用户使用输入装置106向输入/输出GUI组件802和803提供输入时显示的画面图像。

图18B中的附图标记1202表示在用户使用输入装置106向输入/输出GUI组件802和803提供输入时的数据模型的图像。如果将值10输入到输入/输出GUI组件802中,并将值5输入到输入/输出GUI组件803中,那么还将值10和5设置到数据模型的param1和param2中。

图18C中的附图标记1203表示在向输入/输出GUI组件802和803提供了输入之后、响应于通过输入装置106向指令GUI组件804给出的指令来执行逻辑程序A时所显示的画面图像。

图18D中的附图标记1204表示在向输入/输出GUI组件802和803提供了输入之后、响应于通过输入装置106向指令GUI组件804给出的指令来执行逻辑程序A时的数据模型的图像。将值50设置为数据模型的性质calc1的值,结果将该数据反映在画面上。

图18E中的附图标记1205表示在响应于向GUI组件804给出的指令来执行逻辑程序A 718之后向输入/输出GUI组件806输入数据、向指令GUI组件1101给出指令、然后执行逻辑程序B时所显示的画面图像。

图18F中的附图标记1206是在响应于向GUI组件804给出的指令来执行逻辑程序A 718之后向输入/输出GUI组件806输入数据、向指令GUI组件1101给出指令、然后执行逻辑程序B时的数据模型的图像。通过执行逻辑程序B,将值150设置为数据模型的性质calc2的值,结果将值150显示在输入/输出GUI组件1102中。换言之,从图18A、18B、18C、18D、18E和18F可以看出,即使在跨越画面移动显示有逻辑程序的结果的输入/输出GUI组件时,都能够毫无问题地实现画面显示。

如上所述,根据本发明,在不对部分程序进行重写的情况下能够实现跨越画面的改变。

其他实施例

本发明的目的还可通过下述方式实现:向系统和设备提供记录了实现上述实施例的功能性的软件的程序代码的记录介质(或存储介质)。然后,通过所述系统或设备的计算机(或CPU或MPU)读取并执行存储在所述记录介质中的程序代码。在这种情况下,从所述记录介质读取的程序代码实现了上述实施例的功能性,因而记录有所述程序代码的记录介质构成了本发明。

而且,通过执行由计算机读出的程序代码,并基于该程序代码的指令,使得运行在所述计算机上的操作系统(OS)等执行一些或全部的实际处理,从而通过所述处理实现上述实施例的功能性的情况也属于本发明的范围。

因此,如下情况也属于本发明的范围:将从记录介质读出的程序代码写入配置在插入到计算机中的功能扩展卡或者连接至计算机的功能扩展单元中的存储器,之后,所述功能扩展卡或者功能扩展单元中配置的CPU等基于所述程序代码的指令执行一些或全部实际处理,从而通过所述处理实现上述实施例的功能性。

在将本发明应用于上述记录介质时,所述记录介质应当存储与前述流程图相对应的程序代码。

上文已经详细描述了本发明的优选实施例,但是应当注意,本发明不限于这些具体的实施例,在由所附权利要求限定的本发明的范围内可以做出各种修改和改变。

如上所述,根据本发明,无需重写部分程序就能够实现跨越画面的改变。

尽管已经参考典型实施例描述了本发明,但是应当理解,本发明不限于已经公开的典型实施例。所附权利要求的范围符合最宽的解释,以包含所有的修改、等同结构和功能。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号