在编辑期间显示实时数据的改进图形用户界面编辑器的制造方法
【专利摘要】本发明公开了操作计算机来开发具有GUI的程序的方法。该方法包括提供具有用户构建GUI的编辑模式的程序开发系统,以及提供能够放置在作为GUI的一部分的窗体上的图形元素,该图形元素在程序开发系统处在编辑模式下的同时显示来自服务器的数据。控制连接和从服务器的数据传送的参数可以在图形元素的属性部分中提供,因此,无需编译底层程序来核实服务器连接和相关数据。
【专利说明】在编辑期间显示实时数据的改进图形用户界面编辑器
【技术领域】
[0001]本发明涉及在编辑期间显示实时数据(live data)的改进图形用户界面编辑器。【背景技术】
[0002]计算机程序的图形用户界面(GUI)通常使用向用户提供开发系统的编程工具来开发,该开发系统具有使用户可以布局程序与用户交流时使用的各种显示元素的编辑模式。通常,该工具提供程序放置用在最终用户与程序之间的交流中的各种图形元素和改变其大小的“画布”或窗体。图形元素可以是向程序提供文本输入或提供来自程序的输出的方框、用户在程序运行期间按压的按钮等。编程人员编写处理通过⑶I输入的数据和将结果显示在GUI中的相应图形元素中的代码。然后编译该代码以生成运行时系统,编程人员使用该运行时系统调试程序并生成供最终用户使用的最终应用程序。编程工具通常提供编译器和调试应用程序和提供供最终用户使用的最终运行时程序的软件。
[0003]显示在⑶I中的数据可能在程序运行期间在程序内独自生成,可能由远程源生成,或可能是两者的组合。一些本地生成数据在编辑期间可能是看得见的。例如,接收来自用户的文本信息的“文本框”具有显示的默认文本消息,那种文本消息甚至在编辑过程中也可以显示在文本框图形元素中。
[0004]相反,与图形元素相连的远程源发送的数据在实际编译和运行程序之前在图形元素上是看不见的。因此,编程人员不能不编译和运行程序地核实远程源/数据是否是正确的源和数据。为了从远程源接收数据或向远程源发送数据,程序通常需要三组指令。第一组建立程序与远程源之间的连接。第二组请求要发送给程序的数据流,以及第三组接收数据并作或不作进一步处理地将其显示在图形元素中。编程人员需要正确地生成这些组的每个组,以便仅仅使图形元素显示来自远程服务器的数据流。这个过程既单调乏味又易出错。
[0005]连接序列是提供数据的服务器特有的。连接序列通常需要用户名和以特定方式编码的口令,以及用于访问服务器的地址。提供授权信息的消息通常对于不同服务器是不同的。虽然消息往往是某种形式的文字串,但字串的格式随源而异。如果字串不正确,则编程人员通常仅仅接收到连接失败的消息。第二组指令中的指令通常也需要对于不同应用程序不同的文字串。如果编程人员把字串搞错了,则有一点或没有使编程人员可以确定为什么请求失败的信息地再次向编程人员发送请求失败的消息。最后,如果接收到数据流但格式与编程人员所预期不同,则编程人员必须确定该流是否含有所希望数据并弄清数据为什么具有非所预期格式。
[0006]由于这些复杂性,设置图形元素以显示远程数据源的过程往往需要编程人员修改指令串之一,重新编译程序和以调试模式运行程序的许多来回。每当流失败时,用户必须调整字串并重试。该过程既费时又令人沮丧。为了降低这种复杂性,各种编程平台提供了像与特定类型的数据库连接和显示来自那个数据库中的已知表格的数据的图形元素那样的特定公用服务器连接的工具。但是,即使有了这些工具,用户也必须编译和运行程序,以确定是否正在以所希望方式接收和显示正确数据流。时常,所涉及的程序包括在编写和调试与远程服务器连接和显示那个数据的部分之前必须调试的其它各种部件。这使应付远程数据源的问题进一步复杂化,因为其它代码中的错误也可能干扰应付远程服务器的代码。
【发明内容】
[0007]本发明包括操作计算机来开发具有GUI的程序的方法。该方法包括提供具有用户构建GUI的编辑模式的程序开发系统,以及提供能够放置在作为GUI的一部分的窗体上的图形元素,该图形元素在程序开发系统处在编辑模式下的同时显示来自服务器的数据。
[0008]在本发明的一个方面中,该图形元素包括控制GUI与服务器之间的连接的一组属性。用户在编辑模式下定义该属性,如果该图形元素无法使用用户定义属性与服务器连接,则该程序开发系统提供出错消息。
[0009]在本发明的另一个方面中,该图形元素包括控制GUI与服务器之间的连接的一组属性,以及当用户改变该组属性和该程序开发系统处在编辑模式下时,该程序开发系统使该图形元素与服务器连接。
[0010]在本发明的又一个方面中,该图形元素包括控制GUI与服务器之间的连接的一组属性,以及当用户在该程序开发系统处在编辑模式下的同时改变一组属性的特定一个时,该程序开发系统使该图形元素与服务器连接。
[0011]在本发明的再一个方面中,该服务器提供显示在图形元素中的数据流。该数据流包括随时间而变的数值,以及该图形元素显示与作为时间的函数的该数值有关的参量。在一个实施例中,每当从服务器接收到新数值时,该图形元素就更新该参量的显示。
[0012]在本发明的另一个方面中,该服务器控制其功能取决于该图形元素发送的参数的仪器,以及当更新与该图形元素相联系的相应属性和该开发系统处在编辑模式下时,该开发系统更新该参数之一。
【专利附图】
【附图说明】
[0013]图1例示了通过网络的仪器的远程控制;
[0014]图2例示了按照本发明的一个实施例利用代表示波器显示的图形元素的程序的窗体;以及
[0015]图3例示了编程人员将指定连接的信息输入图形元素的属性对话框中之后开发环境的视图。
【具体实施方式】
[0016]参考图1可以更容易地理解本发明提供其好处的方式,图1例示了通过网络的仪器的远程控制。在本例中,仪器11是测量和显示输入信号的振幅作为时间的函数、并像曲线13那样将结果显示在窗口 12中的示波器。决定显示和测量的各种参数利用控制器14设置。仪器11还包括将仪器11与网络15连接的服务器,网络15可以包括像互联网上的链路那样的公开链路。远程计算设备16与网络15耦合,运行监视仪器11的输出和改变仪器11的控制设置的程序。将仪器11的输出显示在图形窗口 17中。控制仪器11的操作的各种参数作为像滑动条18那样的图形元素来提供。运行在远程计算设备16上的程序还包括通过远程计算设备16上的GUI中像窗口 19那样的其它元素提供输出和/或输入的各种数据缩减程序。远程计算设备16可以是像智能手机、平板电脑、或膝上型电脑那样的移动计算平台或静态工作站。
[0017]运行在远程计算设备16上的程序通常借助于编程工具生成,该编程工具提供用于生成程序的GUI和实现那种GUI的代码的编辑器。本发明基于如下观察:如果编程环境在其处在编辑模式下的同时显示“实时”在相应图形元素中的数据,则设计和调试从远程数据源接收和显示数据的⑶I将得到显著简化。利用这样的功能,编程人员可以将图形元素放置在窗体上,指定连接细节,以及不必编译整个程序和以调试模式运行程序地在图形元素中观看来自源的数据。另外,可以无需编写和编译程序的其它部分地观看连接和结果。
[0018]连接串通常是图形元素的属性的一部分。如果编程人员输入图形元素的属性部分中的连接串不正确,则马上显现连接失败,因为开发系统的编辑器可以通知用户连接失败了,并提供在尝试连接中生成的任何出错消息的细节。然后编程人员可以用替代串去试等。一旦正确地实现了连接,则编程人员可以提供请求所希望数据所需的另外配置串。然后远程服务器将数据流提供给图形元素,这样就将数据显示在图形元素中。编程人员然后可以继续缩写和调试程序的其它部分。
[0019]现在参照图2,图2例示了按照本发明的一个实施例利用代表示波器显示的图形元素的程序的窗体。窗体22通常是在程序运行期间可以将来自工具箱21的各种图形元素拖到窗体22上并加以放置以便图形元素处在它们的所希望位置上的程序开发系统20中的显示的一部分。工具箱21中的各种图形元素可以由程序开发环境源或由第三方提供。在24上示出了从工具箱21拖到窗体22的典型图形元素23。开发系统提供图形元素的名称,并通常在单独窗口中提供像选择图形元素24时出现的表格25那样,具有图形元素的各种属性和具有那些属性的默认值的表格。在当前的例子中,图形元素24是显示在远程示波器上测量的信号的示波器图形元素。开发系统对图形元素指定“SC0PE1”的名称,并创建与图形元素的那个实例相对应的属性表25。在本例中,图形元素24显示来自远程服务器的数据,因此,包括作出与远程服务器的连接和提供必须命令以便引出要显示在图形元素24中的数据的信息。
[0020]如果图形元素旨在与第三方提供的仪器连接,则那个第三方可以为编程环境提供图形元素部件。在这种情况下,可以以使编程人员必须提供以便实际作出连接的信息量最小的方式将访问那种仪器的服务器功能所需的连接串构建成图形元素的属性。例如,图形元素的属性可以包括为远程服务器提供用户名、口令、和IP地址的地点。然后,与图形元素相联系的代码可以将这种信息用于构建发送给服务器以便启动服务器与图形元素之间的连接的连接串。
[0021]如果图形元素是比提供编程环境的第三方所提供更一般的元素,则必须提供以便构建连接串的信息量可能要大得多以及那种连接串的形式可能要复杂得多。另外,还必须确定连接串的特定形式。
[0022]现在参照图3,图3例示了编程人员将指定连接的信息输入图形元素24的属性对话框25中之后程序开发环境20的视图。最初,当将图形元素24放置在窗体22上时,图形元素24未与任何数据源连接,因此,没有信号显示在图形元素24中。一旦图形元素24被放置在窗体上,以及指定了将图形元素24与所希望远程服务器连接所需的与图形元素24相联系的参数,则本发明的编程环境启动所希望连接,并且即使编程环境处在编辑模式下,也开始将接收的数据显示在图形元素24中。
[0023]如果连接失败了,则编程环境在失败的时候提供出错消息。例如,编程环境可以生成像提供试图与与图形元素24相联系的服务器连接的状态的窗口 26那样的弹出窗口。由于在编程环境处在编辑模式下的同时出现了失败,所以编程人员可以检查连接信息并作出连接。在本发明的一个方面中,每当更新图形元素的连接属性时,编程环境就重新与与图形元素相联系的服务器连接。
[0024]本发明显著减轻了为牵涉到多种服务器连接的程序构建GUI的编程工作。本发明使编程人员可以独立于运行所完成程序中的GUI的底层代码地设置每种服务器连接。因此,在编程人员将与每种服务器连接相对应的各个图形元素放置在窗体上的同时,编程环境作出连接,以及编程人员可以观看所得数据,以便核实该数据是否与来自那种服务器的期望数据一致。这些服务器连接可以在编程人员为⑶I的其余部分编写代码之前设置。由于服务器连接往往存在于整个程序的多个困难部分之一中,所以在大量应用程序中显著简化了其余代码的编写和调试。
[0025]本发明尤其十分适合图形元素代表来自已知商用仪器或服务器的数据流的编程环境,该已知商用仪器或服务器含有提供特定类型数据的视图、与估计器或服务器相联系的图形元素。在本发明的一个方面中,仪器或服务器的供应商以易于加入本发明的编程环境的工具箱中的形式提供图形元素。该图形元素优选的是具有以编程人员容易理解的预定格式提供连接信息的属性的对象。例如,可以提供以字串形式指定用户名、口令、IP地址或端口的属性。然后由图形元素本身在实际尝试连接之前生成连接“消息”,从而减轻编程人员确定连接消息和在该消息内所需的任何特殊编码的任务。
[0026]在本发明的另一个方面中,将封装特定远程仪器的命令、控制和显示方面的对象提供给编辑平台。这个对象与一旦该对象被放置在编程环境的编辑面板中就变实时的特定类型数据流相联系。所涉及的对象可以是编程平台的一部分或由像远程仪器的制造商那样的第三方提供。
[0027]在发明的一个方面中,编程人员作出与提供登录信息的服务器的单独连接。这种连接可以从编程平台或在编程人员与服务器之间单独交流地作出。一旦建立起连接,编程环境就可以使用更简单的过程间通信机制作出与图形元素的连接。一旦完成登录,编程人员就可以在服务器上观看所有实时数据源的列表。在这种情况下,编程人员将数据源拖到编辑器中,以及默认图形元素将被自动实例化,并与数据源连接以显示实时数据。如果希望不同图形元素,则编程人员可以将那个元素放置在窗体上,然后重新将实时数据与新图形元素连接。
[0028]例如,编程人员可以作出与访问动态变化的一组数据流的服务的单种连接。远程服务的实现细节对编程平台保密,无论它们是使用多客户机/服务器连接还是单过程间通信机制在底下实现的。一旦建立了单种连接,编程人员就可以在服务器上观看所有实时数据源的列表。在这种情况下,编程人员将数据源拖到编辑器中,以及默认图形元素将被自动实例化,并与数据源连接以显示实时数据。如果希望不同图形元素,则编程人员可以将那个元素放置在窗体上,然后重新将实时数据与新图形元素连接。随着新数据流可用于服务,它们将自动变成实时数据源的可见列表。
[0029]在本发明的另一个方面中,服务器提供“帮助(help)”消息,该帮助消息提供编程人员设置连接属性所需的参数所需的信息。这种帮助消息是对于本发明来说最适合并入GUI中的一类服务器中的多个服务器使用的一般帮助系统消息。在本发明的这个方面中,编程人员输入指示需要那种帮助的属性,并输入服务器的IP地址和端口。一输入这种信息,图形元素就尝试在那个地址和端口上与服务器连接。成功的连接为各种服务器功能提供作为含有如何与服务器连接的细节的字串的“数据流”。编程人员然后可以使用这种信息确定如何为图形元素设置属性,以便图形元素与来自那个服务器的所希望数据流连接。由于该连接是在编程环境处在编辑模式下的同时作出的,所以编程人员可以不必访问服务或仪器的提供者的网站地获得任何特定服务器或仪器的帮助信息。
[0030]在本发明的另一个方面中,编程环境在远程服务器的协助下,在连接失败时生成帮助消息。如果使用属性表中的地址使连接失败了,则编程环境通过试通那个地址查询连接,以确定服务器是否处在输入的地址中。如果该地址返回试通回应,则编程环境向同一地址发送一般帮助消息。例如,编程环境可以将带有“? ”的消息发送给服务器。如果服务器识别出默认帮助消息,则服务器返回带有有关作出连接的信息的字串。如果服务器未识别出该消息,则连接将第二次失败,编程人员需要确定失败的原因。
[0031]在上述实施例中,当改变图形元素的属性时,那个图形元素自动与服务器或仪器连接。但是,编程人员可能希望更多地控制连接的定时。在本发明的另一个方面中,图形元素具有确定尝试与服务器连接的时间的属性。这种属性可以包括图形元素的属性一改变就尝试连接的模式。在与这种属性相联系的另一种选择中,只有当所涉及的属性被设置成指示要使用图形元素的当前属性尝试直接连接的状态时才尝试连接。在又一种模式下,在编辑模式下不尝试连接。
[0032]本发明还包括存储这样指令的计算机可读介质,该指令使数据处理系统可以执行本发明的方法。计算机可读介质被定义成按照35U.S.C.101构成可获得专利权的标的物的任何介质。这样介质的例子包括像以计算机或数据处理系统可读的格式存储信息的计算机存储器件那样的非短暂存储介质。
[0033]提供本发明的上述实施例是为了例示本发明的各个方面。但是,要明白的是,可以组合在不同特定实施例中示出的本发明的不同方面来提供本发明的其它实施例。另外,本发明的各种变型可以从前述和附图中明显看出。于是,本发明只由所附权利要求书的范围限定。
【权利要求】
1.一种操作计算机来开发具有GUI的程序的方法,所述方法包含: 提供具有用户构建GUI的编辑模式的程序开发系统;以及 提供能够放置在作为所述GUI的一部分的窗体上的图形元素,所述图形元素在所述程序开发系统处在所述编辑模式下的同时显示来自服务器的数据。
2.如权利要求1所述的方法,其中所述图形元素包含控制所述GUI与所述服务器之间的连接的一组属性,所述用户在所述编辑模式下定义所述属性,如果所述图形元素无法使用所述用户定义属性连接到所述服务器,则所述程序开发系统提供出错消息。
3.如权利要求1所述的方法,其中所述图形元素包含控制所述GUI与所述服务器之间的连接的一组属性,当所述用户改变所述一组属性和所述程序开发系统处在所述编辑模式下时,所述程序开发系统使所述图形元素连接到所述服务器。
4.如权利要求1所述的方法,其中所述图形元素包含控制所述GUI与所述服务器之间的连接的一组属性,当所述用户改变一组属性的指定一个和所述程序开发系统处在所述编辑模式下时,所述程序开发系统使所述图形元素连接到所述服务器。
5.如权利要求1所述的方法,其中所述服务器提供显示在图形元素中的数据流。
6.如权利要求5所述的方法,其中所述数据流包括随时间而变的数值,以及所述图形元素显示与作为时间的函数的所述数值有关的参量。
7.如权利要求6所述的方法,其中每当从所述服务器接收到新数值时,所述图形元素就更新所述参量的显示。
8.如权利要求1所述的方法,其中所述服务器控制其功能取决于发送给所述图形元素的参数的仪器,以及其中当更新与所述图形元素相联系的相应属性和所述程序开发系统处在所述编辑模式下时,所述程序开发系统更新所述参数之一。
9.一种包含指令的计算机可读介质,该指令使数据处理系统执行开发具有GUI的程序的方法,所述方法包含: 提供具有用户构建GUI的编辑模式的程序开发系统;以及 提供能够放置在作为所述GUI的一部分的窗体上的图形元素,所述图形元素在所述程序开发系统处在所述编辑模式下的同时显示来自服务器的数据。
10.如权利要求9所述的计算机可读介质,其中所述图形元素包含控制所述GUI与所述服务器之间的连接的一组属性,所述用户在所述编辑模式下定义所述属性,如果所述图形元素无法使用所述用户定义属性连接到所述服务器,则所述程序开发系统提供出错消息。
11.如权利要求9所述的计算机可读介质,其中所述图形元素包含控制所述GUI与所述服务器之间的连接的一组属性,当所述用户改变所述一组属性和所述程序开发系统处在所述编辑模式下时,所述程序开发系统使所述图形元素连接到所述服务器。
12.如权利要求9所述的计算机可读介质,其中所述图形元素包含控制所述GUI与所述服务器之间的连接的一组属性,当所述用户改变一组属性的指定一个和所述程序开发系统处在所述编辑模式下时,所述程序开发系统使所述图形元素连接到所述服务器。
13.如权利要求9所述的计算机可读介质,其中所述服务器提供显示在图形元素中的数据流。
14.如权利要求13所述的计算机可读介质,其中所述数据流包括随时间而变的数值,以及所述图形元素显示与作为时间的函数的所述数值有关的参量。
15.如权利要求14所述的计算机可读介质,其中每当从所述服务器接收到新数值时,所述图形元素就更新所述参量的显示。
16.如权利要求9所述的计算机可读介质,其中所述服务器控制其功能取决于发送给所述图形元素 的参数的仪器,以及其中当更新与所述图形元素相联系的相应属性和所述程序开发系统处在所述编辑模式下时,所述程序开发系统更新所述参数之一。
【文档编号】G06F9/44GK104007957SQ201410039101
【公开日】2014年8月27日 申请日期:2014年1月27日 优先权日:2007年6月16日
【发明者】J.赫尔夫曼, G.R.恩格尔, G.L.珀迪 申请人:安捷伦科技有限公司