CN106062711B - 用于复合控件的方法、系统和计算机存储介质 - Google Patents
用于复合控件的方法、系统和计算机存储介质 Download PDFInfo
- Publication number
- CN106062711B CN106062711B CN201580011226.4A CN201580011226A CN106062711B CN 106062711 B CN106062711 B CN 106062711B CN 201580011226 A CN201580011226 A CN 201580011226A CN 106062711 B CN106062711 B CN 106062711B
- Authority
- CN
- China
- Prior art keywords
- application
- display object
- displaying
- objects
- dataflow graph
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04842—Selection of displayed objects or displayed text elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/04817—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/0482—Interaction with lists of selectable items, e.g. menus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- User Interface Of Digital Computer (AREA)
- Stored Programmes (AREA)
Abstract
一种包括编码在计算机存储介质上的计算机程序的用于指定复合控件的方法、系统以及设备。方法之一包括识别第一应用程序。所述方法包括显示画布。所述方法包括在画布上显示与第一应用程序相关联的第一显示对象。所述方法包括识别第二应用程序,第二应用程序是计算机可执行程序。所述方法包括在用户界面上显示与第二应用程序相关联的第二显示对象。所述方法包括响应于使第二显示对象与第一显示对象相关联的用户动作而配置第一应用程序以调用第二应用程序。所述方法包括创建第三显示对象,第三显示对象包括第一选择器对象集合和第二选择器对象集合。
Description
技术领域
本说明书涉及图形用户接口。
背景技术
图形用户接口(GUI)使得用户能够经由图形图标和视觉指示来与计算机或类似装置进行交互。用户可以通过与显示器上所呈现的图形图标进行交互来与GUI进行交互。GUI可以用于使得用户能够向数据处理系统提供数据值。
复杂的计算通常可以通过(被称为“数据流图”的)有向图表示为数据流,其中计算的组件与图的顶点相关联并且组件之间的数据流与图的链接(弧、边)相对应。这些组件可以包括:数据处理组件,用于在一个或多个输入端口处接收数据,处理该数据,并且从一个或多个输出端口提供该数据;以及数据集组件,其用作数据流的源(source)或宿(sink)。可以使用参数来配置数据流图。在美国专利5,966,072“EXECUTING COMPUTATIONS EXPRESSEDAS GRAPHS”中说明了实现这种基于图的计算的系统。
发明内容
通常,本说明书中所述的主题的一个创新方面可以采用如下方法来实施,所述方法包括用于识别第一应用程序的动作,所述第一应用程序是计算机可执行程序。所述方法包括用于在用户界面中显示用于显示一个或多个显示对象的画布的动作。所述方法包括用于在所述画布中显示与所述第一应用程序相关联的第一显示对象的动作,其中,所述第一显示对象包括第一选择器对象集合并且包括所述第一选择器对象集合与所述第一应用程序的一个或多个参数之间的映射。所述方法包括用于识别第二应用程序的动作,所述第二应用程序是计算机可执行程序。所述方法包括用于在所述用户界面中显示与所述第二应用程序相关联的第二显示对象的动作,其中,所述第二显示对象包括第二选择器对象集合并且包括所述第二选择器对象集合与所述第二应用程序的一个或多个参数之间的映射。所述方法包括用于响应于使所述第二显示对象与所述第一显示对象相关联的用户动作而配置所述第一应用程序以调用所述第二应用程序的动作。所述方法包括用于创建第三显示对象的动作,所述第三显示对象包括所述第一选择器对象集合和所述第二选择器对象集合。
该方面的其它实施例包括各自用于进行所述方法的动作的相应的计算机系统、设备以及一个或多个计算机存储装置上所记录的计算机程序。一个或多个计算机的系统可以被配置为通过具有系统上所安装的软件、固件、硬件或它们的组合来进行特定动作,其中,所述一个或多个计算机在工作中使该系统进行所述动作。一个或多个计算机程序可以被配置为通过包括指令来进行特定动作,其中所述指令在由数据处理设备执行的情况下使所述设备进行所述动作。
上述实施例和其它实施例可以各自可选地单独或以组合的方式包括一个或多个以下特征。所述方法可以包括用于从文件读取所述第二显示对象的动作。所述方法可以包括生成用于使用所述用户界面来配置所述第一应用程序和所述第二应用程序的第三应用程序的动作。所述第三应用程序可以包括第一显示对象和第二显示对象。改变与所述第一显示对象相关联的值可以改变与所述第二显示对象相关联的值。所述第一应用程序可以是第一数据流图并且可配置的所述第二应用程序可以是第二数据流图。使所述第二应用程序与所述第一应用程序相关联包括配置所述第一数据流图以执行所述第二数据流图。
方面可以包括一个或多个以下优点。与传统方法相比,可以更容易设计并维护图形用户接口。可以更容易配置数据流图以调用并执行其它数据流图。针对复合控件的改变可以独立于针对其它控件或用户界面的改变。可以创建并优化标准控件以提高性能。控件可以包括嵌入式逻辑。在不同界面中重复使用控件可以使得能够重复使用嵌入式逻辑。
根据以下说明、以及根据权利要求书,本发明的其它特征和优点将变得明显。
附图说明
图1示出复合控件的示例。
图2示出用于创建并使用复合控件的示例性数据处理系统。
图3A示出数据流图和参数的示例。
图3B示出用于设置诸如可配置数据流图等的可配置应用程序有关的参数的示例性配置界面。
图4示出用于创建以GUI控件为焦点的配置界面的构建器界面400的示例。
图5示出使用复合控件使数据流图与其它数据流图相关联。
图6是用于使用复合显示元素来配置应用程序的示例处理的流程图。
具体实施方式
图1示出复合控件的示例。图形用户接口(GUI)开发环境100可以包括控件的面板102。面板102包括可以从面板中选择并添加至界面的一个或多个控件。例如,面板102包括文本框表示104、下拉列表框表示106、列表框表示108和复合控件表示110。
通过从面板102中选择表示,GUI设计者可以将相应的控件放置在画布(canvas)130上。如这里所使用的,画布是保持各种绘制元素(线、形状、文本、包含其它元素的框、控件、标签等)的容器。一些实现还定义空间表示并且使得用户能够经由图形用户接口与元素进行交互。GUI开发环境可以创建用户可访问的应用程序、网页或类似呈现机制,以使得在设计和编辑处理期间画布上所显示的控件与执行应用程序或访问网页时的控件的呈现在外观上非常相似。
在本示例中,从面板102中选择文本框表示104并且将文本框表示104放置在画布130上,以创建地址文本框114。类似地,从面板102中选择文本框表示104并且将文本框表示104放置在画布130上,以创建城市文本框116。
选择复合控件表示110并将复合控件表示110放置在画布130上,这样生成复合控件118。通常,复合控件包含一个或多个基本控件。例如,复合控件118包括国家下拉列表框120和州下拉列表框122。复合控件还可以包含一个或多个其它复合控件。
复合控件还可以包括可执行逻辑。该逻辑可以涉及基本控件之间的交互。例如,国家下拉列表框120可以包括不同国家的列表。复合控件118可以包括如下的编程逻辑:在用户从国家下拉列表框120中选择值的情况下,使得利用适当的州/省的列表来填充州下拉列表框122。例如,在国家下拉列表框120中选择“美国”,这使得利用美国的州的列表来填充州下拉列表框。类似地,在国家下拉列表框120中选择“加拿大”,这使得利用加拿大的省和地区来填充州下拉列表框。还可以发生其它改变。例如,标签124可以从“州:”改变为“省/地区”。
在一些实现中,复合控件还可以接受参数。这些参数例如可以是与复合控件中的基本控件相关联的参数。这些参数还可以作为整体特定于复合控件。例如,GUI设计者能够针对国家下拉列表框和州下拉列表框设置用以识别查找表或其它数据源的参数。可选地,GUI设计者可以提供例如词典数据类型或散列表的供给所请求的值的数据结构。
在一些实现中,复合控件可以包括针对可以使用控件的环境的限制。例如,一些复合控件可以被配置为仅允许处于弹出窗口中或者仅存在于主显示窗口中。
在一些实现中,可以在GUI开发环境中创建复合控件。例如,GUI设计者可以选择将项目作为复合控件保存在画布上。复合控件可以保存为GUI开发环境可访问的单独文件。
图2示出用于创建并使用复合控件的示例性数据处理系统200。系统200包括数据源202,其中该数据源202可以包括诸如存储装置或者至线上数据流的连接等的一个或多个数据的源,其中该一个或多个数据的源各自可以以各种存储格式(例如,数据库表、电子表格文件、非结构文本(flat text)文件或大型机所使用的原本格式)中的任何类型的存储格式来存储数据。执行环境204包括图配置模块206和用户接口模块212。执行环境204例如可以在诸如UNIX操作系统等的适当的操作系统的控制下安装在一个或多个通用计算机上。例如,执行环境204可以包括包含使用多个中央处理单元(CPU)的计算机系统的结构的多节点并行计算环境,可以是本地的(例如,诸如SMP计算机等的多处理器系统)或本地分布式的(例如,作为集群所连接的多个处理器或MPP)、或者远程或远程分布式的(例如,经由局域网(LAN)和/或广域网(WAN)连接的多个处理器)、或者它们的任何组合。
如以下更详细所述,图配置模块206改变数据流图的配置。用户接口模块212向用户220显示配置信息并且从用户220接收配置动作。用户接口模块212还与基于用户220的动作来配置数据流图的图配置模块206进行通信。例如,数据流图可以存储在数据源202中。提供数据源202的存储装置相对于执行环境204可以是本地的,例如,可以存储在连接至运行执行环境204的计算机的存储介质(例如,硬盘驱动器208)上,或者相对于执行环境204可以是远程的,例如,安装在经由局域数据网络或广域数据网络与运行执行环境204的计算机进行通信的远程系统(例如,大型机210)上。
执行环境204与包含用户接口模块212用来显示用户界面所使用的信息的数据存储系统216进行通信。开发环境218也可以访问数据存储系统216,其中在开发环境218中,开发者220能够开发用户界面,并且这些开发界面被存储在数据存储系统216中并且由用户接口模块212使用来显示用户界面。
在一些实现中,数据源202是用于开发作为数据流图的应用程序的系统,其中数据流图包括顶点(组件或数据集),并且这些顶点通过顶点之间的有向链接(directed link)(表示工作元素的流)相连接。例如,在通过引用包含于此的标题为“MANAGING PARAMETERSFOR GRAPH-BASED APPLICATIONS”的美国专利公开号2007/0011668中更详细地说明了这种环境。
可以将数据流图视为在处理来自一个或多个数据源的数据的数据流图执行环境内所执行的计算机程序。根据数据流图来操作并处理来自数据源的数据并且将这些数据导出至一个或多个数据宿。数据源和数据宿例如可以包括文件、数据库、数据流或队列。将数据流图表示为包括如下节点的有向图:表示各自包括用于处理来自至少一个数据输入的数据并向至少一个数据输出提供数据的代码的数据处理组件的节点、以及表示用于访问数据源和/或宿的数据集对象的节点。这些节点利用源自于数据源且终止于数据宿的表示组件之间的数据的流动的有向链接相连接。上游组件的数据输出端口连接至下游组件的数据输入端口。这些数据流图可以重复用于利用数据集对象所表示的不同数据源和不同数据宿。例如,用于实现数据流图的数据结构和程序代码可以通过被参数化以使得能够容易地替换不同的源和宿,来支持多个不同的配置。此外,在一些设置中,可以通过使用参数来改变数据流图的流,以使得可以绕过某一组件或一系列组件。通常,参数表示可以配置或改变的数据流图的属性。属性的示例是“输入文件”,其中该“输入文件”的值标识用作数据流图的数据源的数据文件。该属性可以在数据流图的使用之间改变,并且作为该变化的结果,数据流图可以以不同的方式进行操作。数据流图可以被配置为:在编译时,通过改变图预编译来进行特定动作,或者在运行时,通过设置数据流图所使用的参数或改变数据流图所使用的配置文件来进行特定动作。
例如,参考图3A,数据流图302可以包括数据源306a、306b、组件308a~c、图接口组件310和数据宿312。源、组件和宿各自可以与参数的集合304a~f相关联。一个源、组件或宿所用的参数可以用来评价不同的源、组件或宿所用的参数。在本示例中,源306a、306b连接至组件308a、308c的输入端口。组件308a的输出端口连接至组件308b的输入端口,并且图接口组件310的输出端口连接至数据宿312。源、组件和宿之间的连接定义数据流。
图接口组件310是使得图能够在执行时动态地执行其它图的图的组件。例如,在执行数据流图302时,图接口组件310可以动态地加载并执行数据流图316或数据流图318。在一些实现中,图接口组件310可以定义接受数据的输入流并产生数据的输出流的接口。可以基于参数、来自数据元素的数据值或任何其它值来确定所加载并执行的数据流图。
一些数据源、组件或宿可以具有输入参数304a~f,其中这些输入参数304a~f可以定义图的一些行为。例如,参数可以定义数据源或宿在物理盘上的位置。参数还可以定义组件的行为;例如,参数可以定义分选组件如何对输入进行分选。在一些设置中,一个参数的值可以依赖于其它参数的值。例如,源306a可以存储在特定目录的文件中。参数集304a可以包括被称为“DIRECTORY(目录)”的参数和被称为“FILENAME(文件名)”的另一参数。在这种情况下,FILENAME参数将依赖于DIRECTORY参数(例如,DIRECTORY可以是“/usr/local/”并且FILENAME可以是“/usr/local/input.dat”)。参数还可以依赖于其它组件所用的参数。例如,宿312的物理位置可以依赖于源306a的物理位置。在本示例中,宿312包括参数的集合304f,其中参数的集合304f包括依赖于源306a的DIRECTORY参数的FILENAME参数;例如,集合304f中的FILENAME参数可以是“/usr/local/input.dat”,其中,值“/usr/local/”是从集合304a中的DIRECTORY参数所获得的。
类似地,数据流图316和318可以分别具有参数集304g和304h。
在一些实现中,参数集304a~f可以合并成包含数据流图整体所用的参数的单个参数集,例如,参数集314。然而,由于图接口组件310在运行时动态地加载并执行数据流图,因此参数列表整体可能是未知的。例如,如果图接口组件310要使得加载并执行数据流图316,则可能需要填充参数集304g。
参数集(例如,参数集314)可以是公开的或者可以使得参数集(例如,参数集314)可用在开发环境(例如,图2的开发环境218)中。公开的参数集可以被称为数据流图的应用程序编程接口(API)的一部分。
客户端装置上所呈现的配置界面使得用户220能够访问图2的图配置模块206。再参考图3,在配置界面内,可以将参数集304a~304f或参数集314中的参数重组织成用于与用户进行交互的反映商业考虑而非技术考虑的不同组。用于接收基于用户输入的参数的值的配置界面可以以不必受服务器上的开发环境的方面约束的灵活方式来根据参数之间的关系显示不同的参数。
在一些情况下,数据流图的构造在本质上可以是高度技术性的。在为了实现特定商业目的而写入的情况下,基于技术考虑来确定图的下层结构和构造。例如,可以选择图组件以使得重复使用性最大化或者使得支持并行处理。另一方面,如何使用图以及在何处使用图大多可以是商业决定。与参数化的数据流图相关联的一些参数可以用于在不要求商业用户理解数据流图实现背后的技术复杂性的情况下使得用户能够定制数据流图。参数化的数据流图简化了定制并且便于重复使用。用于构造数据流图的参数值的识别所用的配置界面可以呈现在客户端机器上。例如,在通过引用包含于此的标题为“SPECIFYING USERINTERFACE ELEMENTS”的美国专利公开号2011/0145748中更详细地说明了这种环境。
配置界面还可以用于对执行流图进行配置。执行流图是描述要执行外部处理的顺序的有向图。例如,执行流图可以指定要执行的数据流图的序列的顺序。
在一些情况下,用以构造数据流图的参数值的识别所用的配置界面的开发在本质上同样可以是高度技术性的。如上所述,通常基于技术考虑来构造下层图,而基于商业考虑来开发配置界面。结果,配置界面可以针对一个或多个数据流图提供参数。各数据流图具有API所提供的单独参数集。此外,配置界面的开发包括与下层数据流图的开发不同的技巧。因此,配置界面的开发需要结合技术、商业和使用性考虑。
为了便于生成配置界面,可以向客户端机器的用户呈现构建器界面。构建器界面可以是开发环境218的一部分。
图3B示出用于设置与诸如可配置数据流图等的可配置应用程序有关的参数的示例性配置界面。在本示例中,界面320中所示的两个数据流图302和306与配置界面320相关联。在本示例中,可以使用参数304来配置可配置数据流图302。类似地,可以使用参数308、310和312来配置数据流图306。
例如,配置界面320使得用户能够具有要由数据流图来处理的数据的商业知识,以对这些参数进行赋值,由此使用单个配置界面来配置这两个数据流图。在本示例中,配置界面320包括参数1栏322。使用参数1栏来对界面320中所表示的参数312进行赋值。类似地,使用参数2栏324来对参数310进行赋值。使用参数3栏来对参数304进行赋值。使用参数4栏328来对参数308进行赋值。
可以基于要输入的数据的类型来选择参数栏。例如,参数1栏322是使得用户能够输入任意值(例如,整数、浮点型值等)的文本框。参数2栏324是使得用户能够从列表中选择值的列表框。参数3栏326是使得用户能够从少量选项(在本示例中为两个选项值)中选择值的单选按钮框。参数4栏328是使得用户能够输入更大量的文本的更大的文本框。
可以选择其它GUI控件。例如,用户能够打开文件选择器以选择特定输入文件或者要经由网络来下载文件的位置。
图4示出用于创建以GUI控件为焦点的配置界面的构建器界面400的示例。构建器界面400包括模板名称402。模板名称402标识创建中的配置界面。构建器界面400的用户界面标签404包括显示区域430。显示区域呈现配置界面的构造所用的“所见即所得(what yousee is what you get,WYSIWYG)”界面。显示区域430可以被视为开发者放置GUI控件的画布。开发者可以从组件区块422中选择GUI控件并且将该GUI控件添加至显示区域430以创建配置界面。在本示例中,显示区域430包括框控件406,框控件406包括与源文件相对应的文本输入控件410以及与目标文件相对应的文本输入控件412。显示区域430还包括框控件414,框控件414包括文件选择器控件418。显示区域可以使用诸如分割器416等的分割器将GUI分区成区块。可以使用分区来通过向用户提供基本结构而简化界面的创建。
组件区块422包括可以添加至显示区域430的不同控件。可用的GUI控件包括接受用户输入并对参数赋值的输入控件。可用的GUI控件还包括诸如框等的分组控件,其中框用于创建使一个或多个控件成组的视觉轮廓。开发者还可以选择使得开发者能够创建栏间依赖性的基于规则的控件。例如,商业规则控件使得开发者能够配置如下参数:该参数提供商业规则控件的输出与用于配置可配置应用程序的参数之间的映射。开发者还可以选择使得配置界面的用户能够查看图所产生的数据的基于数据的控件。
组件区块422还可以包括复合控件。例如,过滤器图配置(Filter GraphConfiguration)432可以是包括足以配置过滤器图的原始控件和可执行指令的复合控件。通常,原始控件是诸如窗口或文本框等的用于显示用户可改变的信息设置的图形用户接口(GUI)的元素。原始控件是合并在应用程序中的基本的视觉构建块,该基本的视觉构建块保持应用程序所处理的所有数据以及与该数据有关的可用交互。
各控件可以具有一个或多个特性。这些特性可以显示在控件特性区域426中。在本示例中,控件特性区域426显示文本输入控件410的特性。控件特性区域426使得用户能够对控件的任何属性值赋予参数值。例如,选择值属性428提供SOURCE_URL参数430的值。
开发者还可以建立规定配置界面的其它图形特征的规则。例如,开发者可以指定,除非满足预定义的标准的集合,否则不显示特定GUI控件;例如,除非填充了源文件控件410,否则可以不显示目标文件控件412。
在一些实现中,还可以在复合控件内指定规则。例如,复合控件可以指定,除非满足预定义的标准的集合,否则不显示复合控件中的特定原始控件。在另一示例中,如上所述,可以基于复合控件中的原始控件所提供的值来填充另一原始控件。
参考图5,可以创建复合控件以设置与数据流图相关联的参数。如上所述,可以使用用户界面来配置数据流图的参数。在本示例中,复合控件502包括使得用户能够设置与数据流图504相关联的参数的栏。如上所述,复合控件可以包括对组成复合控件的基本控件和其它逻辑之间的交互进行控制的编程指令。在本示例中,复合控件502包括设置数据流图504所用的参数的编程指令。用户界面506表示构建器界面的显示区域;例如,用户界面506可以是图4的构建器界面400的显示区域430。
用户界面506包括可以放置复合控件的区域510。在一些实现中,用户界面506可以包括引导并限制如何放置控件的模板。例如,用户界面506可以将控件的放置限制为表格形式。可选地,用户界面506可以将用户界面506分割成有区别的区块,其中各区块能够保持一个或多个控件。在其它实现中,用户界面506可以使得用户能够在用户界面506的任何位置配置控件。
在本示例中,设计用户界面506以设置数据流图508所用的参数。数据流图506的一部分包括组件516。组件516连接至图接口组件512。如上所述,图接口组件512被配置为执行多个不同的潜在数据流图。图接口组件512连接至数据宿514。
在创建用于配置数据流图508的GUI时,用户可以选择要通过图接口组件512来执行的数据流图。在本示例中,用户确定数据流图504应通过图接口组件512来执行。
用户可以通过选择与数据流图504相关联的复合控件502并且将复合控件502放置在区域510中来使数据流图504与图接口组件512相关联。添加复合控件502,这在用户界面中创建了商业用户可以对数据流图508和数据流图504进行配置的区域。例如,商业用户可以保存或导出用户界面506,并在以后访问用户界面506。向商业用户呈现完成的用户界面。通过在用户界面506的栏中供给值,商业用户对包括数据流图504的数据流图508进行配置。
在一些实现中,区域510与图接口组件512相关联。在另一实现中,系统基于与图接口组件和数据流图这两者相关联的接口来确定要与数据流图相关联的适当的图接口组件。例如,数据流图504需要两个输入数据流并且生成一个输出数据流。可以利用与满足标准的数据流图相关联的任何复合控件来填充区域510。
在一些实现中,复合控件可以绑定至使得复合控件与子图相关联的图参数。
在一些实现中,复合控件可以与多个数据流图相关联。例如,复合控件可以包括使得商业用户能够选择哪个数据流图应通过图接口组件512来执行的选择栏(例如,列表框、下拉列表框等)。在商业用户从选择栏中选择数据流图的情况下,复合控件可以呈现适用于配置所选择的数据流图的栏的集合。
图6是用于使用复合显示元素来配置应用程序的示例处理的流程图。例如,可以通过诸如计算机系统等的数据处理设备来进行该处理。为了简化,将针对进行该处理的系统来说明该处理。
可以接收用于配置应用程序的用户界面(602)。可以使用构建器界面来创建用户界面。构建器界面可以包括用于呈现可以添加至用户界面的控件和显示元素的面板等。
可以显示与第二应用程序相关联的复合显示元素(604)。复合显示元素可以在面板中呈现给用户。复合显示元素可以包括能够用于配置第二应用程序的一个或多个显示元素。
可以接收复合显示元素和用户界面之间的关联(606)。该关联可以由于用户的动作而发生。例如,用户可以从面板中选择表示复合控件的图标并且将该复合控件拖放到用户界面上。
第二应用程序可以与应用程序相关联(608)。响应于接收到复合控件与用户界面的关联,系统可以使第二应用程序与应用程序相关联。
上述的使用复合控件方法的图形用户接口可以使用执行适当软件的计算系统来实现。例如,该软件可以包括在一个或多个编程或可编程计算系统(可以具有诸如分布式、客户端/服务器或网格式等的各种架构)上执行的一个或多个计算机程序中的过程,其中该一个或多个编程或可编程计算系统各自包括至少一个处理器、至少一个数据存储系统(包括易失性和/或非易失性存储器和/或存储元件)、至少一个用户接口(用于使用至少一个输入装置或端口来接收输入、并且用于使用至少一个输出装置或端口来提供输出)。该软件可以包括例如提供与数据流图的设计、配置和执行有关的服务的较大程序的一个或多个模块。可以将该程序的模块(例如,数据流图的元素)实现为数据结构或符合数据储存库中所存储的数据模型的其它有组织数据。
可以将软件设置在诸如CD-ROM或(例如,利用通用或专用计算系统或装置可读取的)其它计算机可读介质等的有形非瞬态介质上、或者经由网络的通信介质(例如,以编码在传播信号中的形式)传递至执行该软件的计算系统的有形非瞬态介质。可以在专用计算机上、或者使用诸如协处理器或现场可编程门阵列(FPGA)或专用型专用集成电路(ASIC)等的专用硬件来进行该处理的一部分或全部。可以以利用不同的计算元件来进行软件所指定的计算的不同部分的分布式方式来实现该处理。优选将各这种计算机程序存储在通用或专用可编程计算机可访问的存储装置的计算机可读存储介质(例如,固态存储器或介质、或者磁性或光学介质)上或者下载至该计算机可读存储介质,以在利用计算机读取存储装置介质以进行这里所述的处理的情况下配置计算机并使该计算机进行工作。本发明的系统还可被视为作为配置有计算机程序的有形非瞬态介质来实现,其中如此配置成的介质使计算机以特定的预定义方式进行工作,以进行这里所述的处理步骤中的一个或多个。
已经说明了本发明的多个实施例。然而,应当理解,上述说明意图例示而并非限制由所附权利要求书的范围所定义的本发明的范围。因此,其它实施例也在所附权利要求书的范围内。例如,可以在没有背离本发明的范围的情况下进行各种修改。另外,上述步骤中的一部分可以是顺序独立的,因而可以以与所述顺序不同的顺序来进行。
Claims (19)
1.一种计算机实现的方法,包括以下步骤:
识别第一应用程序,所述第一应用程序是计算机可执行程序;
在用户界面中显示用于显示一个或多个显示对象的画布;
在所述画布中显示与所述第一应用程序相关联的第一显示对象,其中,所述第一显示对象包括第一选择器对象集合并且包括所述第一选择器对象集合与所述第一应用程序的一个或多个参数之间的映射;
识别第二应用程序,所述第二应用程序是计算机可执行程序;
在所述用户界面中显示与第二应用程序相关联的第二显示对象,其中,所述第二显示对象包括第二选择器对象集合并且包括所述第二选择器对象集合与所述第二应用程序的一个或多个参数之间的映射;
响应于接收到使所述第二显示对象与所述第一显示对象相关联的用户动作的指示,配置所述第一应用程序以调用所述第二应用程序;以及
创建第三显示对象,所述第三显示对象包括所述第一选择器对象集合和所述第二选择器对象集合。
2.根据权利要求1所述的方法,其中,还包括以下步骤:从文件读取所述第二显示对象。
3.根据权利要求1所述的方法,其中,还包括以下步骤:生成用于使用所述用户界面来配置所述第一应用程序和所述第二应用程序的第三应用程序。
4.根据权利要求3所述的方法,其中,所述第三应用程序包括第一显示对象和第二显示对象,以及
改变与所述第一显示对象相关联的值将改变与所述第二显示对象相关联的值。
5.根据权利要求1所述的方法,其中,所述第一应用程序是第一数据流图并且能够配置的所述第二应用程序是第二数据流图。
6.根据权利要求5所述的方法,其中,使所述第二应用程序与所述第一应用程序相关联包括配置所述第一数据流图以执行所述第二数据流图。
7.一种利用计算机程序指令编码的非瞬态计算机存储介质,所述计算机程序指令在由一个或多个计算机执行的情况下使得所述一个或多个计算机进行包括以下步骤的操作:
识别第一应用程序,所述第一应用程序是计算机可执行程序;
在用户界面中显示用于显示一个或多个显示对象的画布;
在所述画布中显示与所述第一应用程序相关联的第一显示对象,其中,所述第一显示对象包括第一选择器对象集合并且包括所述第一选择器对象集合与所述第一应用程序的一个或多个参数之间的映射;
识别第二应用程序,所述第二应用程序是计算机可执行程序;
在所述用户界面中显示与第二应用程序相关联的第二显示对象,其中,所述第二显示对象包括第二选择器对象集合并且包括所述第二选择器对象集合与所述第二应用程序的一个或多个参数之间的映射;
响应于接收到使所述第二显示对象与所述第一显示对象相关联的用户动作的指示,配置所述第一应用程序以调用所述第二应用程序;以及
创建第三显示对象,所述第三显示对象包括所述第一选择器对象集合和所述第二选择器对象集合。
8.根据权利要求7所述的非瞬态计算机存储介质,其中,所述操作还包括以下步骤:从文件读取所述第二显示对象。
9.根据权利要求7所述的非瞬态计算机存储介质,其中,所述操作还包括以下步骤:生成用于使用所述用户界面来配置所述第一应用程序和所述第二应用程序的第三应用程序。
10.根据权利要求9所述的非瞬态计算机存储介质,其中,所述第三应用程序包括第一显示对象和第二显示对象,以及
改变与所述第一显示对象相关联的值将改变与所述第二显示对象相关联的值。
11.根据权利要求7所述的非瞬态计算机存储介质,其中,所述第一应用程序是第一数据流图并且能够配置的所述第二应用程序是第二数据流图。
12.根据权利要求11所述的非瞬态计算机存储介质,其中,使所述第二应用程序与所述第一应用程序相关联包括配置所述第一数据流图以执行所述第二数据流图。
13.一种用于复合控件的系统,包括:
一个或多个计算机和一个或多个存储装置,所述一个或多个存储装置存储可操作的指令,所述可操作的指令在由所述一个或多个计算机执行的情况下使得所述一个或多个计算机执行包括以下步骤的操作:
识别第一应用程序,所述第一应用程序是计算机可执行程序;
在用户界面中显示用于显示一个或多个显示对象的画布;
在所述画布中显示与所述第一应用程序相关联的第一显示对象,其中,所述第一显示对象包括第一选择器对象集合并且包括所述第一选择器对象集合与所述第一应用程序的一个或多个参数之间的映射;
识别第二应用程序,所述第二应用程序是计算机可执行程序;
在所述用户界面中显示与第二应用程序相关联的第二显示对象,其中,所述第二显示对象包括第二选择器对象集合并且包括所述第二选择器对象集合与所述第二应用程序的一个或多个参数之间的映射;
响应于接收到使所述第二显示对象与所述第一显示对象相关联的用户动作的指示,配置所述第一应用程序以调用所述第二应用程序;以及
创建第三显示对象,所述第三显示对象包括所述第一选择器对象集合和所述第二选择器对象集合。
14.根据权利要求13所述的系统,其中,所述操作还包括以下步骤:从文件读取所述第二显示对象。
15.根据权利要求13所述的系统,其中,所述操作还包括以下步骤:生成用于使用所述用户界面来配置所述第一应用程序和所述第二应用程序的第三应用程序。
16.根据权利要求15所述的系统,其中,所述第三应用程序包括第一显示对象和第二显示对象,以及
改变与所述第一显示对象相关联的值将改变与所述第二显示对象相关联的值。
17.根据权利要求13所述的系统,其中,所述第一应用程序是第一数据流图并且能够配置的所述第二应用程序是第二数据流图。
18.根据权利要求17所述的系统,其中,使所述第二应用程序与所述第一应用程序相关联包括配置所述第一数据流图以执行所述第二数据流图。
19.一种用于复合控件的系统,包括:
用于识别第一应用程序的部件,所述第一应用程序是计算机可执行程序;
用于显示画布的部件,所述画布用于显示一个或多个显示对象;
用于在所述画布中显示与所述第一应用程序相关联的第一显示对象的部件,其中,所述第一显示对象包括第一选择器对象集合并且包括所述第一选择器对象集合与所述第一应用程序的一个或多个参数之间的映射;
用于识别第二应用程序的部件,所述第二应用程序是计算机可执行程序;
用于显示与第二应用程序相关联的第二显示对象的部件,其中,所述第二显示对象包括第二选择器对象集合并且包括所述第二选择器对象集合与所述第二应用程序的一个或多个参数之间的映射;
用于响应于使所述第二显示对象与所述第一显示对象相关联的用户动作来配置所述第一应用程序以调用所述第二应用程序的部件;以及
用于创建第三显示对象的部件,所述第三显示对象包括所述第一选择器对象集合和所述第二选择器对象集合。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/192,184 US9575639B2 (en) | 2014-02-27 | 2014-02-27 | Compound controls |
US14/192,184 | 2014-02-27 | ||
PCT/US2015/017222 WO2015130642A1 (en) | 2014-02-27 | 2015-02-24 | Compound controls |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106062711A CN106062711A (zh) | 2016-10-26 |
CN106062711B true CN106062711B (zh) | 2020-04-17 |
Family
ID=52633671
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580011226.4A Active CN106062711B (zh) | 2014-02-27 | 2015-02-24 | 用于复合控件的方法、系统和计算机存储介质 |
Country Status (8)
Country | Link |
---|---|
US (1) | US9575639B2 (zh) |
EP (1) | EP3111320B1 (zh) |
JP (3) | JP2017515179A (zh) |
CN (1) | CN106062711B (zh) |
AU (1) | AU2015223287B2 (zh) |
CA (1) | CA2939799C (zh) |
SG (1) | SG11201606736YA (zh) |
WO (1) | WO2015130642A1 (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7747592B2 (en) | 1999-09-07 | 2010-06-29 | Thomas C Douglass | Method and system for monitoring domain name registrations |
US9575639B2 (en) * | 2014-02-27 | 2017-02-21 | Ab Initio Technology Llc | Compound controls |
US9772822B2 (en) * | 2015-03-16 | 2017-09-26 | Microsoft Technology Licensing, Llc | Visualization framework for customizable types in a development environment |
US10019238B2 (en) * | 2015-06-23 | 2018-07-10 | Open Text Sa Ulc | Compositional entity modeling systems and methods |
US11023668B2 (en) | 2015-11-02 | 2021-06-01 | Microsoft Technology Licensing, Llc | Enriched compound data objects |
US10997364B2 (en) | 2015-11-02 | 2021-05-04 | Microsoft Technology Licensing, Llc | Operations on sound files associated with cells in spreadsheets |
US10963635B2 (en) * | 2015-11-02 | 2021-03-30 | Microsoft Technology Licensing, Llc | Extensibility of compound data objects |
US10169004B2 (en) | 2016-05-04 | 2019-01-01 | Open Text Sa Ulc | Application development and extensibility/customization using entity modeling systems and methods |
CN110998515B (zh) * | 2017-05-31 | 2024-03-15 | Abb瑞士股份有限公司 | 工业控制系统中的现场装置接口 |
US11194551B2 (en) | 2017-06-07 | 2021-12-07 | Ab Initio Technology Llc | Dataflow graph configuration |
US11645046B2 (en) * | 2017-07-03 | 2023-05-09 | Unqork, Inc. | Systems and methods for development and deployment of software platforms having advanced workflow and event processing components |
US11450043B2 (en) * | 2018-04-25 | 2022-09-20 | Adobe Inc. | Element association and modification |
CN111124211A (zh) * | 2018-10-31 | 2020-05-08 | 杭州海康威视系统技术有限公司 | 一种数据显示方法、装置及电子设备 |
JP7147580B2 (ja) * | 2019-01-18 | 2022-10-05 | 株式会社リコー | 情報処理システム、情報処理装置、パラメータ設定方法及びプログラム |
JP7501092B2 (ja) | 2020-05-19 | 2024-06-18 | オムロン株式会社 | 補助方法、制御プログラム及び装置 |
CN112035188A (zh) * | 2020-09-28 | 2020-12-04 | 中移(杭州)信息技术有限公司 | 控件生成方法、装置、网络设备及存储介质 |
CN113176920B (zh) * | 2021-04-29 | 2024-05-31 | 上海云扩信息科技有限公司 | 一种通用的rpa元素选择器管理系统 |
CN115080044B (zh) * | 2022-07-22 | 2022-11-11 | 浙江中控技术股份有限公司 | 一种组合组件的处理方法、装置、前端设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101140516A (zh) * | 2007-10-22 | 2008-03-12 | 金蝶软件(中国)有限公司 | 一种动态布局界面元素的方法和系统 |
CN101192152A (zh) * | 2006-12-01 | 2008-06-04 | 国际商业机器公司 | 计算机辅助应用程序创建系统、方法和程序产品 |
CN201867789U (zh) * | 2010-03-11 | 2011-06-15 | 中国工商银行股份有限公司 | 一种自适应的图形用户界面构建设备 |
CN103177071A (zh) * | 2011-12-22 | 2013-06-26 | 西门子公司 | 定制制造执行系统屏幕的图形用户界面 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5537630A (en) * | 1994-12-05 | 1996-07-16 | International Business Machines Corporation | Method and system for specifying method parameters in a visual programming system |
US5966072A (en) | 1996-07-02 | 1999-10-12 | Ab Initio Software Corporation | Executing computations expressed as graphs |
JP2002259643A (ja) * | 2001-03-02 | 2002-09-13 | Hitachi Ltd | ビジネスプロセス制御プログラム |
US8290762B2 (en) * | 2001-08-14 | 2012-10-16 | National Instruments Corporation | Graphically configuring program invocation relationships by creating or modifying links among program icons in a configuration diagram |
US7627860B2 (en) * | 2001-08-14 | 2009-12-01 | National Instruments Corporation | Graphically deployment of a program with automatic conversion of program type |
US7716630B2 (en) | 2005-06-27 | 2010-05-11 | Ab Initio Technology Llc | Managing parameters for graph-based computations |
US7668608B2 (en) * | 2006-09-01 | 2010-02-23 | Fisher-Rosemount Systems, Inc. | Graphical programming language object editing and reporting tool |
JP4714199B2 (ja) * | 2007-09-28 | 2011-06-29 | 株式会社三菱東京Ufj銀行 | アプリケーション開発支援装置及びプログラム |
US8477103B2 (en) * | 2008-10-26 | 2013-07-02 | Microsoft Corporation | Multi-touch object inertia simulation |
JP6084037B2 (ja) | 2009-12-14 | 2017-02-22 | アビニシオ テクノロジー エルエルシー | ユーザ・インターフェース要素の指定 |
WO2012037557A1 (en) * | 2010-09-17 | 2012-03-22 | Oracle International Corporation | Pattern-based construction and extension of enterprise applications in a cloud computing environment |
WO2012061109A1 (en) * | 2010-10-25 | 2012-05-10 | Ab Initio Technology Llc | Managing data set objects in a dataflow graph that represents a computer program |
EP2686755B1 (en) * | 2011-03-17 | 2020-10-14 | Laubach, Kevin | Input device enhanced interface |
US20150193406A1 (en) * | 2011-09-02 | 2015-07-09 | Micah Lemonik | System and Method to Provide Collaborative Document Processing Services Via Interframe Communication |
DE112013002387T5 (de) * | 2012-05-09 | 2015-02-12 | Apple Inc. | Vorrichtung, Verfahren und grafische Benutzeroberfläche für die Bereitstellung taktiler Rückkopplung für Operationen in einer Benutzerschnittstelle |
US20150178930A1 (en) * | 2013-12-20 | 2015-06-25 | Qualcomm Incorporated | Systems, methods, and apparatus for generating metadata relating to spatial regions of non-uniform size |
US10291729B2 (en) * | 2014-01-21 | 2019-05-14 | Apptimize, Inc. | User interface modification and usage tracking |
US9665952B2 (en) * | 2014-02-19 | 2017-05-30 | Beijing Lenovo Software Ltd. | Information processing method and electronic device |
US9575639B2 (en) * | 2014-02-27 | 2017-02-21 | Ab Initio Technology Llc | Compound controls |
-
2014
- 2014-02-27 US US14/192,184 patent/US9575639B2/en active Active
-
2015
- 2015-02-24 AU AU2015223287A patent/AU2015223287B2/en active Active
- 2015-02-24 JP JP2016553310A patent/JP2017515179A/ja active Pending
- 2015-02-24 EP EP15709014.3A patent/EP3111320B1/en active Active
- 2015-02-24 CN CN201580011226.4A patent/CN106062711B/zh active Active
- 2015-02-24 CA CA2939799A patent/CA2939799C/en active Active
- 2015-02-24 WO PCT/US2015/017222 patent/WO2015130642A1/en active Application Filing
- 2015-02-24 SG SG11201606736YA patent/SG11201606736YA/en unknown
-
2019
- 2019-10-11 JP JP2019187583A patent/JP7178977B2/ja active Active
-
2020
- 2020-10-22 JP JP2020177434A patent/JP2021012740A/ja active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101192152A (zh) * | 2006-12-01 | 2008-06-04 | 国际商业机器公司 | 计算机辅助应用程序创建系统、方法和程序产品 |
CN101140516A (zh) * | 2007-10-22 | 2008-03-12 | 金蝶软件(中国)有限公司 | 一种动态布局界面元素的方法和系统 |
CN201867789U (zh) * | 2010-03-11 | 2011-06-15 | 中国工商银行股份有限公司 | 一种自适应的图形用户界面构建设备 |
CN103177071A (zh) * | 2011-12-22 | 2013-06-26 | 西门子公司 | 定制制造执行系统屏幕的图形用户界面 |
Non-Patent Citations (3)
Title |
---|
Matlab可视化界面设计与控件使用;印金国;《电脑编程技巧与维护》;20070131;全文 * |
嵌入式系统界面设计工具在开发环境中实现;朱红英等;《计算机工程》;20060331;全文 * |
新型界面开发工具:MATLAB/GUI;王玉林等;《工程实践及应用技术》;20080630;全文 * |
Also Published As
Publication number | Publication date |
---|---|
US20150242093A1 (en) | 2015-08-27 |
JP2020042828A (ja) | 2020-03-19 |
WO2015130642A1 (en) | 2015-09-03 |
US9575639B2 (en) | 2017-02-21 |
JP2021012740A (ja) | 2021-02-04 |
EP3111320B1 (en) | 2024-05-15 |
SG11201606736YA (en) | 2016-09-29 |
CN106062711A (zh) | 2016-10-26 |
JP7178977B2 (ja) | 2022-11-28 |
AU2015223287B2 (en) | 2020-04-09 |
CA2939799A1 (en) | 2015-09-03 |
EP3111320A1 (en) | 2017-01-04 |
CA2939799C (en) | 2021-06-22 |
AU2015223287A1 (en) | 2016-09-01 |
JP2017515179A (ja) | 2017-06-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106062711B (zh) | 用于复合控件的方法、系统和计算机存储介质 | |
AU2023200421B2 (en) | Dataflow graph configuration | |
JP6449173B2 (ja) | プロセスを構成するためのアプリケーションの構築 | |
US10845962B2 (en) | Specifying user interface elements | |
US9417890B2 (en) | Compilation of transformation in recalculation user interface | |
US9471213B2 (en) | Chaining applications | |
US20140306964A1 (en) | Incremental compiling of a declarative program | |
US20140310681A1 (en) | Assisted creation of control event | |
US11194450B2 (en) | Definition of a graphical user interface dashboard created with manually input code and user selections |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |