CN103069383B - 具有图形用户界面的装置及开发多媒体计算机应用程序的方法 - Google Patents
具有图形用户界面的装置及开发多媒体计算机应用程序的方法 Download PDFInfo
- Publication number
- CN103069383B CN103069383B CN201180038118.8A CN201180038118A CN103069383B CN 103069383 B CN103069383 B CN 103069383B CN 201180038118 A CN201180038118 A CN 201180038118A CN 103069383 B CN103069383 B CN 103069383B
- Authority
- CN
- China
- Prior art keywords
- functional areas
- attribute
- user
- distribution
- program object
- 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.)
- Expired - Fee Related
Links
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
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
-
- 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/38—Creation or generation of source code for implementing user interfaces
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
本发明提供生成和实施图形用户界面(GUIs)的系统和技术,该图形用户界面用于连接和绑定不同对象,包括图形对象和逻辑对象。在提供的GUIs中,使用可视配线表示锁定上述对象不同属性的绑定连接,从而这些属性享有相同值或一组相同值。上述绑定连接允许用户在创建时和/或在运行时,通过控制上述链接对象中的剩余对象中的一个或更多个的属性变化,来对上述链接对象中的任意一个作属性变化。
Description
技术领域
本发明主要涉及用于开发多媒体计算机应用程序的图形用户界面(GUIs)的程序产品。
背景技术
建立计算机程序通常需要使用编辑器撰写源代码的步骤,编译该源代码以建立程序的步骤,以及调试该程序的步骤。这些步骤的每一步是分离的、独立的步骤。
通常,撰写源代码使用特定的编程语言。编程语言是人工语言,用于表达引导机器执行特定功能和/或动作的计算、运算和逻辑。有许多不同的编程语言。如同人类语言,每个编程语言需要有特定形式的语法和语义的撰写规范。因此,撰写源代码需要遵循编程语言的特定语法和语义的规则来输入文本。
然后使用编译器编译源代码以建立程序。编译器是计算机程序,其将撰写的源代码转换成另一种语言以建立程序。程序通常是具有机器被构造成以理解和/或遵循的形式的语言。例如,程序可以是二进制码或汇编语言。
在源代码中检测错误是困难的,因为这些错误通常是在编译步骤时或编译之后才被检测出来。在源代码中的错误会引起程序缺陷。程序缺陷由许多因素产生,例如,使用的编程语言的类型、源代码中不正确的语法、和/或源代码中的打字错误。相应地,计算机编程通常包括调试步骤。调试是检测和定位程序缺陷以修复程序缺陷的过程。调试通常是个极冗长的过程。
建立计算机程序通常需要将文本输入某种形式的文本编辑器。有一些程序帮助建立包括图形用户界面(GUI)的源代码和/或程序。GUI是一种用户界面,通常提供用户可控制的可视指示符以执行动作。被普遍接受的是,GUI减少了与计算机交互作用的命令行界面的陡峭的学习曲线。也被普遍接受的是,GUI允许更大的效率和生产率。然而,遵循编程语言的语法和语义输入文本以建立源代码通常是没有替代方案的。
发明概要
本发明提供生成和实施图形用户界面(GUIs)的系统和技术,该图形用户界面用于连接和绑定不同对象,包括图形对象和逻辑对象。在提供的GUIs中,使用可视配线表示锁定对象不同属性的绑定连接,从而这些属性享有相同值或一组相同值。绑定连接允许用户在创建时和/或在运行时,通过控制链接对象中的剩余对象中的一个或多个的属性变化,对链接对象中的任意一个作属性变化。本发明描述的绑定连接可包括若干属性,这些属性可方便地用于包括网络学习,游戏和通信等广泛的应用程序中。例如,绑定连接可以是双向的,在该连接线任意一端的属性变化会引起另一端的相应属性变化。绑定连接的方向性可以使用主/从关系自定义以处理同时在该绑定配线的两端作各属性变化的竞态条件。可使用多重绑定连接来串接多个对象,在链接对象中的任意一个的属性变化可引起链接对象中的剩余对象各自相应的属性变化。多重绑定连接可在多个对象间形成连接网,从而在这些对象的属性变化间以任何恰当的方式提供各种交互。
本发明提供的系统和技术可提供下述优点的一个或多个。第一,在统一的创建和运行环境中可提供图形用户界面的灵活实施,以连接和绑定各种对象,包括图形对象和逻辑对象。第二,可提供绑定配线以可视化和自定义各种对象间的绑定连接,从而使不精通程序语言的用户能在创建和/或运行时控制对象的属性变化。第三,可提供在网络环境和桌面环境中图形用户界面的灵活布局,以允许多个用户实施该图形用户界面,以从不同的地理位置和/或在用户实体的防火墙内相互合作。第四,可采用云架构以允许上述系统与如Facebook,Twitter和LinkedIn等社交网络平台和如iPhone和Android等移动装置相互整合,以便于多个用户和/或实体间的复杂交互。
一个或多个实施例的细节将在下面的附图和说明书中阐明。其他特征和优点将由说明书、附图和权利要求显现。
附图简要说明
图1是提供用于建立多媒体计算机应用程序的结合编程与运行的实施程序的系统示意图;
图2A是通过网络浏览器提供用户建立多媒体计算机应用程序的结合编程与运行的实施程序的流程的流程图;
图2B是通过存储于用户终端的结合编程与运行的软件应用程序来提供用于建立多媒体计算机应用程序的结合编程与运行的实施程序给用户的流程的流程图;
图3是用于建立各种对象的示例GUI的示例屏幕截图;
图4是包括与信息中心和检查器链接的对象的如图3所示的示例GUI的示例屏幕截图;
图5A-5B是用于在一个对象的一属性与另一个对象的一属性间建立绑定连接的如图3所示的示例GUI的两个示例屏幕截图;
图6A-6B是用于在一个对象的一属性与另一个对象的两个属性间建立两个绑定连接的如图3所示的示例GUI的两个示例屏幕截图;
图7A显示了包含一组三个对象的示例场区域,该场区域剪切超出该场区域边界的该对象组的部分;图7B显示了包含两个其他示例场区域的示例场区域;图7C显示了具有三个页面以形成翻页册的示例场区域;以及图7D显示了形成网格的五个示例场区域;
图8A-8B是用于在一个对象的两个属性与另一个对象的两个属性间建立两个绑定连接的如图3所示的示例GUI的两个示例屏幕截图;
图9A-9B是用于在一个对象的一属性与三个其他对象的三个属性间建立三个绑定连接的如图3所示的示例GUI的两个示例屏幕截图;
图10A-10D是用于在两个对象的两个属性与另一个对象的两个属性间建立两个绑定连接的如图3所示的示例GUI的四个示例屏幕截图;
图11A-11D是用于建立将三个对象串接的两个绑定连接的如图3所示的示例GUI的四个示例屏幕截图;
图12A-12C是用于通过创建时建立的链接两个对象的绑定连接在运行时藉由改变另一个对象的一个属性来改变一个对象的一个属性的如图3所示的示例GUI的三个示例屏幕截图;
图13A-13C是用于通过创建时建立的链接两个对象的二个绑定连接在运行时藉由改变另一个对象的一个属性来改变一个对象的二个属性的如图3所示的示例GUI的三个示例屏幕截图;
图14A-14C是用于通过创建时建立的链接两个对象及另一个对象的二个绑定连接在运行时经由改变另一个对象的二个属性来改变二个对象的二个属性的如图3所示的示例GUI的三个示例屏幕截图;
图15A-15D是用于通过创建时建立的链接两个对象的绑定连接经由改变另一个对象的状态而在创建时或运行时改变一个对象的状态的如图3所示的GUI的四个示例屏幕截图;
图16是用于生成可用于连接和绑定两个对象的示例GUI的系统的例子;
图17是用于实施图16所示的示例系统的示例方法的流程图;
图18示出了用于建立和实施绑定连接的子系统的例子;
图19是用于在竞态条件的情形自定义绑定方向的示例方法的流程图;
图20是用于生成可用于连接和绑定三个或更多个对象成系列的示例GUI的系统的例子;
图21是用于在链接成系列的三个或更多个对象间建立和实施绑定连接的子系统的例子;
图22是用于在链接成系列的三个或更多个对象间传播属性或状态变化的示例方法的流程图;
图23是可用于实施本发明描述的系统和方法的计算装置的例子;
图24是包括交互对象的GUI的示例屏幕截图;
图25是包括交互对象的GUI的示例屏幕截图;
图26A-26B是根据一实施例的交互对象的示例屏幕截图;
图27A-27B是根据一实施例的有压缩栏的交互对象的示例屏幕截图;
图28A-28B是根据一实施例的包含其他交互对象的交互对象的示例屏幕截图;
图29是根据一实施例的交互对象和与该交互对象相关联的信息中心的示例屏幕截图;
图30是根据一实施例的包含连接于交互对象的端口区的对象的交互对象和与该交互对象相关联的信息中心的示例屏幕截图;
图31A-31F是根据一实施例的包含连接于交互对象的端口区的对象的交互对象的示例屏幕截图;
图32A-32K、图32M-32R是根据一实施例的示出交互对象的功能的示例屏幕截图;
图33A-33C是根据一实施例的包含嵌套交互对象的交互对象的示例屏幕截图;
图34A-34D是根据一实施例的示出交互对象如何建立的示例屏幕截图;
图35A-35D是根据一实施例的包含文库的GUI的示例屏幕截图;
图36是根据一实施例的在运行模式中示出信息中心和显示的对象间的连接的示例屏幕截图。
各附图中的类似参考标记指示类似元件。
发明实施例的详细描述
现将具体提及实施例,其例子随附图示出。在以下的详细描述中,为了提供对本发明的全面理解,阐述了许多特定细节。但是,对于本领域的普通技术人员来说,没有这些特定细节,本发明也能实施是明显的。在其他情况下,公知方法、步骤、部件、电路和网络没有具体描述以避免不必要地使实施例的方面不清楚。
还可以理解的是,尽管术语第一、第二等在本发明中可能用于描述各种元件,但这些元件不应被这些术语限制。这些术语仅用于区分一元件与另一元件。不偏离本发明的范围下,例如,第一动作可称为第二动作,而类似地,第二动作可称为第一动作。
在本发明说明中使用的术语只是出于描述特定实施例的目的,并没有限制本发明的意图。在本发明说明和随附的权利要求书中使用的单数形式“一”、“一”和“所述”也意图包括复数形式,除非上下文另外清楚地指出。还可理解的是,本发明使用的术语“和/或”涉及和包含一个或多个相关列出项目的任何和所有可能组合。进一步理解的是,术语“包含”和/或“包括”在本发明中使用时指定了所述特征、整数、步骤、操作、元件、和/或部件的存在,但不排除一个或多个其他特征、整数、步骤、操作、元件、部件、和/或其群组的存在或增加。
在本发明中使用时,术语“如果”可根据上下文被解释为“当…时”或“根据”或“响应确定”或“响应检测”。类似地,短语“如果确定了…”或“如果[所述条件或事件]被检测到”可根据上下文被解为“根据确定”或“响应确定”或“根据检测到[所述条件或事件]”或“响应检测到[所述条件或事件]”。
术语“多媒体计算机应用程序”(即,项目)在本发明中用于提及可执行程序,其能从计算机输出一个或多个感官刺激(即,视觉、听觉、触觉等)而允许用户执行单个或多个相关特定任务。术语“编辑”在本发明中用于提及建立新多媒体计算机应用程序、调整存在的多媒体计算机应用程序、和/或与存在的多媒体计算机应用程序交互。
术语“程序”在本发明中通常用于提及具有机器被构造成以理解和/或遵循的形式的语言。术语“调试”在本发明中用于提及检测和定位程序缺陷以修复程序缺陷的过程。术语“编程语言”在本发明中用于提及人工语言,其用于表达引导机器执行特定功能和/或动作的计算、运算和逻辑。术语“编译器”在本发明中用于提及计算机程序,其将撰写的源代码转换成可被计算机处理器执行的机器语言。术语“对象相关映射”在本发明中用于提及编程技术,其用于在面向对象编程语言中的不兼容类型系统间转换数据。
术语“资产”在本发明中用于提及在多媒体计算机应用程序中使用的任何图片、音频、视频、文本、SWF(冲击波快闪)、XML(可扩展标记语言)或其他外部多媒体格式。术语“对象”在本发明中用于包括但不限于原始对象、容器对象、和/或交互对象。术语“原始对象”在本发明中用于描述单个对象,如线、曲线、和/或其他基本形状,如几何形状。术语“容器对象”在本发明中用于描述可包含一个或多个其他对象的对象。例子包括但不限于场区域对象和/或小配件对象。容器对象可包含任何其他对象。术语“交互对象”在本发明中用于描述被配置成与用户交互的对象,其中对象的可视表示是根据与用户的交互而可变化的。例子包括滑块对象和/或路径对象。如果原始对象的可视表示是根据与用户的交互而可变化的,具有特定属性的原始对象可以是交互对象。
术语“工具”在本发明中用于描述选择、建立、和/或操作对象的功能。术语“工具箱”在本发明中用于描述显示一个或多个工具图标的可视表示。术语“工具图标”在本发明中用于描述表示工具的图形图示,其显示于显示装置的屏幕上。该工具图标可由与GUI交互的用户点击和/或选择,以激活与选择的工具图标相关联用于选择、建立、和/或操作对象的工具。
术语“应用数据”在本发明中用于提及该多媒体计算机应用程序的当前状态。术语“项目数据”在本发明中用于提及多媒体计算机应用程序中使用的所有对象、对象间的所有交互、以及所有资产的系列化集合。
术语“图形用户界面”(即,GUI)在本发明中用于提及一种用户界面,该用户界面相对于必须键入文本命令通常提供可被用户操控的可视指示器以执行动作(如,例如,选择命令、调用文件、启动程序、以及做其他常规任务)。
术语“编程环境”在本发明中用于提及在计算机处理器上运行的软件,其允许在编程多媒体计算机应用过程中使用编程表达式(如撰写的代码、图形、图纸、动画、或图标)。术语“运行环境”在本发明中用于提及在计算机处理器上运行的软件,其允许用户运行(如,发送指令给计算机处理器以及获取计算机的内存(RAM)和其他系统资源)已执行的多媒体计算机应用程序。术语“实时合作”在本发明中用于提及在计算机处理器上运行的软件,其允许数人使用不同计算机同时编辑多媒体计算机应用程序。术语“结合编程与运行的单个实施程序”在本发明中用于提及在计算机处理器上运行的软件,其允许用户在编程多媒体计算机应用过程中使用编程表达式(如撰写的代码、图形、图纸、动画、或图标)并同时允许用户运行(如,发送指令给计算机处理器并获取该计算机的内存(RAM)和其他系统资源)已执行的多媒体计算机应用程序。
本发明提供了建立和实施图形用户界面(GUIs)的系统和技术,该图形用户界面用于连接和绑定对象,包括图形对象和逻辑对象。本发明提供的系统可包括生成上述GUIs的GUI生成器。上述GUIs可用于由对象库建立各种对象。对于每个建立的对象,信息中心可由信息功能区库建立以与这类对象链接。
上述信息中心可包括关于上述对象的输入、属性和/或输出的各种功能区。输入可以是接收器,其能接受触发并对上述对象的某些行为作用,如上述对象是可见的还是隐藏的。属性可以是上述对象的任何可变化的方面,如对象的位置或颜色。输出可以是触发器,其能根据一些事件对输入(接收器)发生作用,如上述对象是否已被点击。
上述系统还可包括配线管理器,该配线管理器从配线库建立可视配线,以通过锁定上述对象的不同属性来链接这些对象,在这种情况下,这些属性享有相同值或一组相同值,并且该配线管理器还管理所建立的可视配线的功能。这些建立的可视配线可表示上述对象间的绑定连接,从而任一对象的一个属性或多个属性的变化可分别引起上述对象中的剩余对象的相应属性变化。
链接两个对象的绑定连接可以是双向的,因此上述两个链接对象中的任意一个的属性变化会引起另一对象的相应属性变化。使用主/从关系可以对绑定连接的绑定方向自定义,因此当发生竞态条件时,该绑定连接主端的属性变化将引起从端的相应属性变化,而不是相反的。
上述绑定连接可以任何恰当的方式建立并可在数量上没有限制。例如,可建立上述绑定连接来串接多个对象,上述链接对象中的任意一个的属性变化可引起上述链接对象中的剩余对象的相应属性变化。可建立上述绑定连接以链接一个对象网,以促进于上述链接对象的不同属性间的复杂交互。
上述系统还可包括与上述配线管理器相互联系的配线控制器,以引导该配线管理器对上述绑定配线的必要事件变化作用。上述系统还可包括配线中介器,该配线中介器检测可能在上述绑定配线发生的任何事件变化并通知上述配线控制器所检测的这些事件变化。
上述系统还可包括对象管理器,该对象管理器调整建立的对象的行为。本发明提供的系统和技术允许用户构建简单对象,这些简单对象可通过可视配线相互通信。然后上述构建的简单对象可结合以构建更加复杂的对象,这些更加复杂的对象可用于建立小配件,仿真,以及完成交互进程和项目。
图1是根据一实施例的系统100的示意图,其提供用于建立多媒体计算机应用程序、调整多媒体计算机应用程序和/或与多媒体计算机应用程序交互的结合编程与运行的实施程序。该系统100包括多个用户终端110-A和110-B,后端服务器120,内存数据库130。用户终端110-A和110-B通过网络130与后端服务器120通信。
用户终端110-A和110-B允许用户通过网络130建立存储于后端服务器120的多媒体计算机应用程序、调整多媒体计算机应用程序和/或与多媒体计算机应用程序交互。用户终端110-A使用网络浏览器135通过网络130建立位于后端服务器120的多媒体计算机应用程序、调整位于后端服务器120的多媒体计算机应用程序和/或与位于后端服务器120的多媒体计算机应用程序交互。用户终端110-B可使用网络浏览器135或结合编程与运行的应用程序140通过网络130建立存储于后端服务器120的多媒体计算机应用程序,调整多媒体计算机应用程序和/或与多媒体计算机应用程序交互。不管上述多媒体计算机应用程序是通过网络浏览器135获得还是通过结合编程与运行的应用程序140获得,上述后端服务器提供统一的代码库给用户终端110-A和110-B,以供用户建立该多媒体体计算机应用程序、调整该多媒体计算机应用程序和/或与该多媒体计算机应用程序交互。
在一些实施例中,多媒体计算机应用程序可储存于用户终端110-B和后端服务器120中。在这些实施例中,当用户终端110-B无法访问网络130时,该用户仍能通过结合编程与运行的应用程序140,建立多媒体计算机应用程序、调整多媒体计算机应用程序和/或与多媒体计算机应用程序交互。当用户终端110-B连接网络130时,则该多媒体计算机应用程序的任何变化、调整和/或与其的交互可以更新至储存于后端服务器的多媒体计算机应用程序。
此外,在一些实施例中,结合编程与运行的应用程序140包含除了网络浏览器135的附加功能,这些附加功能包括允许从用户终端110-B的本地操作系统输入资产、提供输出多媒体计算机应用程序及其资产到后端服务器120的高级方法,以及如上述讨论的,离线编辑该多媒体计算机应用程序。一个输出多媒体计算机应用程序及其内容的高级方法的例子是将该多媒体计算机应用程序及其内容转换成可被结合编程与运行的应用程序140解压的单个zip文件。
在一实施例中,用户终端110-A和110-B中的每一个是计算装置,如图6所示的计算装置。可以使用的网络浏览器的例子包括,例如,微软浏览器、火狐浏览器,苹果浏览器等。
后端服务器120在单个结合编程与运行的实施程序145中营造编程和运行环境。该后端服务器120还存储使用该结合编程与运行的实施程序145时建立和提供的多媒体计算机应用程序和资产。该后端服务器120存储建立的多媒体计算机应用程序和资产于数据库150中。
在一实施例中,网络130是基于英特网的网络,其允许任何能访问英特网的计算装置通过上述单个结合编程与运行的实施程序145访问特定多媒体计算机应用程序或资产。在另一个实施例中,网络130是基于内联网的网络,其允许只有那些被授权安全访问网络130的通信装置(即,用户终端110-A和110-B)通过上述单个结合编程与运行的实施程序145访问特定多媒体计算机应用程序或资产。
图2A是根据一实施例的通过网络浏览器提供用户对用于建立多媒体计算机应用程序的结合编程与运行的实施程序的访问的流程的流程图200。流程图200开始于步骤210,在该步骤中,用户终端,如图1所示的用户终端110-A和110-B,通过网络浏览器与后端服务器连接,如后端服务器120。在该用户终端成功与该后端服务器连接后,流程图200进入步骤220。
在步骤220中,用户通过该用户终端要求访问特定多媒体计算机应用程序或要求建立新的多媒体计算机应用程序。该后端服务器确定该用户终端是否具有必需的访问权限去访问上述多媒体计算机应用程序或建立新的多媒体计算机应用程序。如果该后端服务器确定该用户终端具有必需的访问权限,流程图200进入步骤230。如果该后端服务器确定该用户终端不具有必需的访问权限去访问上述多媒体计算机应用程序,流程图进入步骤240。在步骤240中,该流程结束。
该后端服务器可以根据不同因素确定该用户终端是否具有必需的访问权限。例如,在一些实施例中,该后端服务器检查该用户终端是否已提供给该后端服务器访问特定多媒体计算机应用程序或建立新的多媒体计算机应用程序正确的密码和登录信息。
在步骤230中,如果该用户终端要求特定多媒体计算机应用程序,该后端服务器提供对用于建立多媒体计算机应用程序的结合编程与运行的实施程序的前端部分的访问。该后端服务器还通过该结合编程与运行的实施程序提供给该用户终端对特定多媒体计算机应用程序或新的多媒体计算机应用程序的访问。如果该用户要求建立新的多媒体计算机应用程序,该后端服务器提供用于建立具有新的多媒体计算机应用程序的多媒体计算机应用程序的结合编程和运行的实施程序给该用户终端。
图2B是根据一实施例的通过存储于用户终端的结合编程与运行的软件应用程序提供该用户对用于建立多媒体计算机应用程序的结合编程与运行的实施程序的访问的流程的流程图250。流程图250开始于步骤260,在该步骤中,用户终端,如图1所示的用户终端110-B,通过存储于该用户终端的结合编程与运行的软件应用程序与后端服务器连接,如后端服务器120。在该用户终端成功与该后端服务器连接后,流程图250进入步骤270。
在步骤270中,用户通过该用户终端要求访问特定多媒体计算机应用程序或要求建立新的多媒体计算机应用程序。该后端服务器确定该用户终端是否具有必需的访问权限去访问上述多媒体计算机应用程序或建立新的多媒体计算机应用程序。如果该后端服务器确定该用户终端具有必需的访问权限,流程图250进入步骤280。如果该后端服务器确定该用户终端不具有必需的访问权限去访问上述多媒体计算机应用程序,流程图250进入步骤290。在步骤290中,该流程结束。
在步骤280中,如果该用户终端要求特定多媒体计算机应用程序,该后端服务器提供对该特定多媒体计算机应用程序的访问,该特定多媒体计算机应用程序可使用存储于该用户终端的该结合编程与运行的软件应用程序的前端部分来调整。如果该用户要求建立新的多媒体计算机应用程序,该后端服务器提供新的多媒体计算机应用程序,该新的多媒体计算机应用程序可使用存储于该用户终端的该结合编程与运行的软件应用程序来调整。
现参阅图3,提供在创建模式运作的示例GUI 300给用户以建立各种对象。该GUI 300包括GUI屏幕305,在该屏幕中用户可建立各种对象。该GUI还包括工具箱310,用户可使用该工具箱建立各种对象。在该例子中,工具箱310包括指示对象的选取的箭头工具312;用于绘制所需对象的铅笔工具313;用于建立长方形或正方形的矩形工具314;用于建立椭形或圆圈的椭形工具315;用于绘制直线的线工具316;用于在创建模式下的输入文本于GUI屏幕的文本工具317,该文本工具在运行时不能编辑;用于在运行时输入文本于文本框的文本输入工具318;用于建立能容纳其他对象的场区域的场区域工具319;用于建立一按键的按键工具320,用户可点击该按键以执行如打开文件、应用包括粗体和斜体的文本格式或打印文档的给定动作;用于建立能在特定范围内改变值的滑块的滑块工具321;用于建立允许用户从两个或多个选项中作选择的复选框的复选框工具322;用于建立可控制随着时间的动作的时钟的时钟工具323;以及用于建立真值表的真值表工具324,用户可在该真值表中选定对于交互的任何组合的响应。其他合适的工具也可以加入工具箱310中。例如,手形工具可加入工具箱310以拖曳工作区。放大镜工具可加入工具箱310中以放大或缩小对象。音频工具可加入工具箱310中以建立和/或播放录音。素描工具可加入工具箱310中以将手工素描和基本图形(如,长方形、椭形、线形等)作为矢量图形。
在各种实施中,工具箱310可以两种不同的状态来使用。在一种状态中,用户可点击工具一次,从而该工具被突显以表示对该工具的选择。然后该用户可使用该工具建立对象。在该用户建立该对象后,上述箭头工具则替换该工具被突显,从而建立的该对象将保持选中状态,并且该用户可根据需要移动该对象。在另一种状态中,用户可点击工具一次,然后双击该工具以突显该工具。该用户然后可以使用该工具建立与该用户所需一样多的相同类型的对象。所选的工具保持突显,直到该用户选择另一个工具。
在各种实施中,用户可使用工具箱310在GUI屏幕305上建立不同对象。例如,用户可点击工具箱310中的矩形工具314一次,然后在如图3所示的GUI屏幕305上绘制长方形330;用户可点击工具箱310中的滑块工具321一次,接着双击滑块工具321,然后在GUI屏幕305上依次绘制多个滑块;等等。在一些实施中,用户可以集合多个对象一起建立一个更复杂的对象。
对于每个建立的对象,信息中心可与这类对象链接。为了对不同对象间的交互行为作用,信息中心是图形界面,其具有各种输入、属性和输出并提供配线端口给这些输入、属性和输出。在信息中心中,输入可以是触发对象状态变化的任何调用。典型地,输入包括一对象当其从另一个对象处接收信息或命令时会采取的一个或多个动作。例如,输入可包括显示或隐藏对象、将对象置前或将对象置后、旋转对象、将对象拖入目标位、使两个或多个对象相排斥、播放电影,等等。属性可以是对象可变化的任何方面。例如,属性可包括对象的位置、对象的颜色、对象是否该可见或隐藏、音频对象的音量,等等。输出可以是根据对象状态的特定变化发出触发的任何事件。典型地,输出包括当某些事件或条件发生或存在时一个对象可发送给另一个对象的一个或多个信息或命令。例如,输出可包括用户已点击对象、用户已旋转对象、对象已与目标物相排斥、音频对象已达到了其末端,等等。在各种实施中,功能区是嵌入信息中心的图形实体,可用于表示输入、属性或输出,具有来自另一功能区的用于连接和绑定的输入端口和用于连接、绑定至另一对象的输出端口。
在此例子中,GUI 300包括与上述长方形330链接的信息中心335。该信息中心335包括输入部分337、属性部分347和输出部分371。输入部分337包括用于在GUI屏幕305上显示长方形330的‘显示’功能区339;用于从GUI屏幕305中隐藏长方形330的‘隐藏’功能区340;用于移动长方形330至GUI屏幕305最前方的显示层的‘置于顶层’功能区341;用于移动长方形330至趋向于GUI屏幕305前面的下一个显示层的‘前移一层’功能区342;用于移动长方形330至趋向于GUI屏幕305后面的下一个显示层的‘后移一层’功能区343;用于移动长方形330至GUI屏幕305最后方的显示层的‘置于底层’功能区344;以及用于产生长方形330的复制的‘复制’功能区345。本发明描述的其他合适的输入功能区也可以加入输入部分337。
在各种实施中,信息中心的输入部分可用于触发对象的状态变化。在此例子中,可在输入部分337的‘隐藏’功能区339接收命令,从而从GUI屏幕305隐藏长方形330;可在输入部分337的‘置于底层’功能区344接收命令,从而将长方形330置于GUI屏幕305的底层;等等。
属性部分347包括‘可见’功能区349,在该功能区中,用户可通过设置布尔变量为‘T’或‘F’来显示或隐藏长方形330;‘启用’功能区350,在该功能区中,用户可通过设置布尔变量为‘T’或‘F’使长方形330能显示或不能显示;‘运行时隐藏’功能区351,在该功能区中,用户可通过设置布尔变量为‘T’或‘F’指定长方形330在运行时是否隐藏;‘可移动’功能区352,在该功能区中,用户可通过设置布尔变量为‘T’或‘F’指定长方形330是否可移动;‘放回原处’功能区353,在该功能区中,用户可通过设置布尔变量为‘T’或‘F’指定长方形330在拖曳后是否能回到其原先的位置;‘放回原处秒数’功能区354,在该功能区中,用户可改变秒数,当‘放回原处’功能区353被启用时,拖曳后的长方形330在该秒数内回到其原先的位置;‘排斥目标’功能区355,在该功能区中,用户可通过输入预选的目标值使长方形330与特定的目标物相排斥;‘落入目标’功能区356,在该功能区中,用户可通过输入预选的目标值使长方形330落在目标上;‘位置X’功能区357,在该功能区中,用户可通过输入预选的位置值移动长方形330至特定水平位置;‘位置Y’功能区358,在该功能区中,用户可通过输入预选的位置值移动长方形330至特定垂直位置;‘高度’功能区359,在该功能区中,用户可通过输入预选的高度值改变长方形330的高度;‘宽度’功能区360,在该功能区中,用户可通过输入预选的宽度值改变长方形330的宽度;‘旋转’功能区361,在该功能区中,用户可通过输入预选的旋转角度值将长方形330旋转特定度数;‘水平对齐’功能区362,用户可使用该功能区在容器内(如,一场区域)水平地对齐长方形330与其他对象;‘垂直对齐’功能区363,用户可使用该功能区在容器内(如,一场区域)垂直地对齐长方形330与其他对象;‘线条颜色’功能区364,在该功能区中,用户可通过输入预选的颜色值将长方形330的框架改变成特定颜色;‘线条厚度’功能区365,在该功能区中,用户可通过输入预选的厚度值将长方形330的框架改变成特定厚度;‘填充颜色’功能区366,在该功能区中,用户可通过输入预选的颜色值给长方形330填充特定颜色;‘填充不透明度’功能区367,在该功能区中,用户可通过输入预选的不透明度值以特定不透明度填充长方形330;‘禁用不透明度’功能区368,在该功能区中,用户可输入预选的不透明度值对处于禁用状态的长方形330设置特定不透明度;以及‘创建者笔记’功能区369,在该功能区中,用户可记录笔记。本发明提到的其他合适的属性功能区也可以加入属性部分347。
在各种实施中,信息中心的属性部分可用于改变对象的一个或更多个属性。在此例子中,用户可在属性部分347的‘可见’功能区349选择‘T’而使长方形330在GUI屏幕305上可见,或在‘可见’功能区349选择‘F’以从GUI屏幕305隐藏长方形330,或者可在‘可见’功能区349接收信息或命令,从而长方形330根据命令被显示或隐藏;用户可在属性部分347的‘旋转’功能区361的输入框中键入旋转角的预选值,从而以该预选角顺时针或逆时针旋转长方形330,或者可在‘旋转’功能区361接收信息或命令,从而长方形330根据命令以特定度数旋转;用户可在属性部分347的‘填充颜色’功能区366键入预选的颜色值,以在长方形330中填充该预选颜色,或者可在‘填充颜色’功能区366接收信息或命令,从而长方形330根据命令填充特定颜色;等等。
输出部分371包括‘点击’功能区373,用于当用户点击长方形330时,发送信息或命令给另一个对象;‘滚动’功能区374,用于当用户滚过长方形330时,发送信息或命令给另一个对象;‘铺开’功能区375,用于当用户铺开长方形330时,发送信息或命令给另一个对象;‘拖曳开始’功能区376,用于当用户开始拖曳长方形330时,发送信息或命令给另一个对象;‘拖曳移动’功能区377,用于当用户在拖曳长方形330过程中时,发送信息或命令给另一个对象;‘拖曳结束’功能区378,用于当用户完成拖曳长方形330时,发送信息或命令给另一个对象;‘落在目标上’功能区379,用于当用户使长方形330落至目标上时,发送信息或命令给另一个对象;以及‘排斥’功能区380,用于当用户使长方形330与一个或更多个其他对象相排斥时,发送信息或命令给另一个对象。本发明提到的其他合适的输出功能区也可以加入输出部分371。
在各种实施中,信息中心的输出部分可用于根据对象的状态变化发出触发。在此例子中,输出部分371的‘点击’功能区373可用于当用户点击长方形330时,发送信息或命令给另一个对象以触发那个对象预定的变化(例如,隐藏那个对象);输出部分371的‘落在目标上’功能区379可用于当用户使长方形330落至目标场区域时,发送信息或命令给另一个对象以触发那个对象预定的变化(例如,将那个对象置后);等等。
对于每个建立的对象,检查器也可与这类对象链接。检查器是使用户能对对象的属性变化作用的图形调色板。在此例子中,GUI 300包括与长方形330链接的检查器385。检查器385包括‘线条’部分387和‘填充’部分394。‘线条’部分387允许用户改变长方形330的框架厚度、颜色和/或不透明度。例如,用户可分别沿线389、390、391滑动实心圆圈或分别在线389、390、391旁边的输入框中输入厚度、颜色和/或不透明度的各预选值来改变长方形330的框架厚度、颜色和/或不透明度。‘线条’部分387也允许用户通过从下拉框392中选择‘方端’、‘圆端’或‘斜角端’来改变长方形330的端部形状。‘填充’部分394允许用户改变长方形330的填充颜色和/或不透明度。例如,用户可分别沿线396、397滑动实心圆圈或分别在线396、397旁边的输入框中输入颜色和/或不透明度的各预选值来改变长方形330的填充颜色和/或不透明度。
信息中心和检查器的功能区内容依赖于该信息中心与检查器链接的特定对象。现参阅图4,示例的GUI 300包括与信息中心420和检查器440链接的输入文本对象410。在此例子中,信息中心420包括可特定于文本输入对象410的一个或更多个功能区。例如,信息中心420包括‘文本’功能区422,在该功能区中,用户可输入文本以在文本框中显示文本;‘仅有数字’功能区423,在该功能区中,用户可通过设置布尔变量为‘T’或‘F’指定是否只有数字可以输入文本框;‘最大字符数’功能区424,在该功能区中,用户可通过输入预选的最大值来定义可键入文本框中的最大字符数;‘对齐’功能区425,在该功能区中,用户可定义输入文本是左对齐、居中、右对齐、还是左右对齐;‘字体’功能区426,在该功能区中,用户可选择输入文本的字型;‘字体大小’功能区427,在该功能区中,用户可选择输入文本的字体大小;‘字体加粗’功能区428,在该功能区中,用户可指定输入文本是否加粗;‘字体颜色’功能区429,在该功能区中,用户可选择输入文本的字体颜色;‘创建者提示’功能区430,用于提示用户输入;以及‘已输入’功能区431,用于当用户已在文本框中输入一些文本时发送信息或命令给另一个对象。
检查器440也包括可特定于文本输入对象410的一个或多个部分。例如,检查器440包括允许用户定义输入文本的字体属性的‘字体’部分442。例如,用户可从下拉框444中选择输入文本字型;通过分别点击适当的按键445以指定输入文本是粗体、斜体还是有下划线;通过沿线446滑动实心圆圈或在线446旁边的输入框中输入字体大小的预选值来改变输入文本的字体大小;通过沿线447滑动实心圆圈或在线447旁边的输入框中输入字体颜色的预选值来改变输入文本的字体颜色;通过沿线448滑动实心圆圈或在线448旁边的输入框中输入字体不透明度的预选值来改变字体不透明度;通过沿线449滑动实心圆圈或在线449旁边的输入框中输入文本间隔的预选值改变文本间隔;和/或通过勾选‘自动字间减位’复选框450使输入文本自动字间减位。检查器440还包括允许用户定义输入文本的段落属性的‘段落’部分452。例如,用户可通过分别点击适当的按键454使段落左对齐、居中、右对齐或左右对齐;通过点击按键455建立有项目符号的列表;通过沿线456滑动实心圆圈或在线456旁边的输入框中输入行距的预选值来改变行距;通过沿线457滑动实心圆圈或在线457旁边的输入框中输入预选的缩进值同时改变段落的左缩进和右缩进;通过沿线458滑动实心圆圈或在线458上方的输入框中输入预选的缩进值只改变右缩进;通过沿线459滑动实心圆圈或在线459上方的输入框中输入预选的缩进值只改变左缩进。
现参阅图5A-5B、6A-6B、8A-8B、9A-9B、10A-10D和11A-11D,图3所示的示例的GUI 300在一个创建模式下运作,在该模式下,用户可在两个或更多个对象间建立一个或更多个绑定连接。绑定连接是对象A的一属性与对象B的一属性间的链接,该两个属性享有相同值,从而对象A的该属性值的变化将导致对象B的该属性值的相应变化,或相反。例如,绑定连接可包括将两个对象的水平位置锁定在一起,从而在水平方向上移动一对象将引起另一对象也在水平方向上移动;将两个音频对象的音量锁定在一起,从而增大或减小一音频对象的音量将引起另一音频对象的音量也增大或减小;将两滑块的比例值锁定在一起,从而上下滑动一滑块的滑块旋钮将引起另一滑块的滑块旋钮也上下移动;等等。
在各种实施中,绑定连接可链接两个对象的两个不相似的属性。例如,绑定连接可将复选框的勾选状态(布尔变量为‘真’表示该复选框被勾选,为‘假’表示该复选框没被勾选)与长方形对象的填充颜色锁定,从而当该复选框被勾选时(例如,布尔变量设置为‘真’),该长方形将填充一种颜色(例如,绿色),而当该复选框没被勾选时(例如,布尔变量设置为‘假’),该长方形将填充另一种颜色(例如,蓝色),或相反。
在图5A-5B中,该示例的GUI 300用于在一个对象的一属性与另一个对象的一属性间建立绑定连接。在此例子中,该GUI 300包括具有旋钮512的滑块510,该滑块与信息中心514和检查器532链接。该信息中心514包括可特定于该滑块510的一个或更多个输入功能区。例如,该信息中心514包括用于微调滑块510的‘微调’功能区516;用于在相反方向微调该滑块510的‘反向微调’功能区517;用于随机地选取值作为该滑块510上旋钮512的特定位置的‘随机值’功能区518;用于设置一个具有相同大小但与当前值相反的正负号的值的‘反向值’功能区519。该信息中心514还包括可特定于该滑块510的一个或更多个属性功能区。例如,该信息中心514包括‘值’功能区520,在该功能区中,用户可通过输入确定该滑块旋钮512位置的预选值在滑块510的特定位置处放置旋钮512;‘位置值’功能区521,在该功能区中,用户也可通过输入确定该滑块旋钮512位置的预选值在滑块510的特定位置处放置旋钮512;‘分数值’功能区522,用于指示该滑块旋钮512的当前位置表示的值相对于该滑块510可变化的值范围的分数;‘最大值’功能区523,在该功能区中,用户可通过输入预选的最大值指定该滑块510能变化到的最大值;‘最小值’功能区524,在该功能区中,用户可通过输入预选的最小值指定该滑块510能变化到的最小值;‘单位’功能区525,在该功能区中,用户可通过输入预选的单位值来定义该滑块510控制的值的单位;‘微调量’功能区526,用于显示微调量;‘旋钮X’功能区527,在该功能区中,用户可通过输入预选的位置值来改变该滑块旋钮512的水平位置;以及‘旋钮Y’功能区528,在该功能区中,用户可通过输入预选的位置值来改变该滑块旋钮512的垂直位置。信息中心514还包括可特定于该滑块510的一个或更多个输出功能区。例如,信息中心514包括当旋钮512到达该滑块510顶部时可发送信息或命令给另一对象的‘触顶’功能区529;当旋钮512到达该滑块510底部时可发送信息或命令给另一对象的‘触底’功能区530。
GUI 300还包括长方形540,该长方形也与信息中心542和检查器546链接。在此例子中,与滑块旋钮512的垂直位置相关联的滑块510的‘旋钮Y’功能区528通过可视配线550和与长方形540的旋转角相关联的长方形540的‘旋转’功能区544连接,该可视配线550用于在滑块510和长方形540间传递信息或命令。例如,用户可从滑块510的‘旋钮Y’功能区528的输出端口528b拉出配线550,延伸该配线550以连接其至长方形540的‘旋转’功能区544的输入端口544a,从而通过锁定滑块旋钮512的垂直位置与长方形540的旋转角而将滑块510与长方形540绑定在一起。
通过该绑定连接550,用户可上下移动滑块旋钮512以旋转长方形540。例如,在图5A中滑块旋钮512的垂直位置设置为大约182。由于滑块510的‘旋钮Y’功能区528与长方形540的‘旋转’功能区544绑定,该长方形540的旋转角也被设置为大约182。在图5B中,用户可通过沿着滑块510向下移动旋钮512而将滑块旋钮512的垂直位置从大约182连续变化为大约275。这将引起长方形540相应地顺时针旋转,该长方形540的旋转角由大约182连续变化到大约275。长方形540随着旋钮512沿滑块510向下移动而顺时针旋转,并且长方形540的旋转角的变化实时跟随滑块旋钮512的垂直位置的变化。用户也可以在滑块510的‘旋钮Y’功能区528的输入框中输入275而将滑块旋钮512移动到275的垂直位置处。这将引起长方形540的‘旋转’功能区544的旋转角度值相应地变化到275,同时旋转长方形540至275的角度。
在各种实施中,绑定连接可以是双向的。使用图5B作为示例,用户也可以旋转长方形540以通过绑定连接550来上下移动滑块旋钮512。例如,用户可以通过顺时针旋转长方形540而将长方形540的旋转角由大约182连续变化到大约275。这将引起滑块旋钮512相应地沿滑块510向下移动,滑块旋钮512的垂直位置由大约182连续变化到大约275。滑块旋钮512随长方形540的旋转同步移动,并且滑块旋钮512的垂直位置的变化实时匹配长方形540的旋转角的变化。用户也可以在长方形540的‘旋转’功能区544的输入框中输入275以旋转长方形540至275的角度。这将引起滑块510的‘旋钮Y’功能区528的垂直位置的值相应地变化为275,并且同时将滑块旋钮512移动到275的垂直位置处。
在各种实施中,用户可自定义绑定连接的绑定方向。例如,用户可指定绑定连接的一端为主端,另一端为从端,从而当该绑定连接的两端的属性值同时改变时,主端属性值的变化将引起从端属性值的相应变化,而不是相反。
在各种实施中,链接配线可根据对象、信息中心和/或其他图形实体的移动自配置其位置、形状和/或曲率,从而该配线将保持平滑的曲线并最小化与对象、信息中心和/或其他图形实体的重叠。例如,该链接配线可通过计算可变阶数的贝塞尔曲线实时配置以获得能将一信息中心的一功能区的输入/输出端口与另一信息中心的一功能区的输出/输入端口连接的平滑曲线。该链接配线连接至哪两个端口可取决于该两个功能区的输入/输出端口间的距离。该链接配线可适用于连接上述各功能区的最近的两个端口。
在图6A-6B中,GUI 300用于在一个对象一属性与另一个对象的两个属性间建立两个绑定连接。在此例子中,GUI 300包括具有旋钮612的滑块610,该滑块与信息中心614和检查器618链接。GUI 300还包括也与信息中心622和检查器654链接的场区域620。场区域是能包含其他对象的对象,那些其他对象能实时拖入或拖出上述场区域。在此例子中,场区域620包含时钟660。在一些实施例中,场区域可包含一组对象,使该组对象作为组来发送和接收信息或命令(参见例如图7A)。在一些实施例中,场区域能剪切包含于该场区域的对象超出该场区域边界的部分,以使该对象位于该场区域内(参见例如图7A)。在一些实施例中,场区域可包含其他场区域(参见例如图7B)。在一些实施例中,场区域可包括两个或更多个页面以形成翻页册(参见例如图7C)。例如,场区域可包含在各分离页面的多个对象,在该场区域中,每个页面可包含一个或更多个对象,从而另一个对象可命令该场区域(翻页册)以显示特定页或类似于幻灯片放映地显示一系列的几个页面。在一些实施例中,每个场区域包含一个或更多个对象,多个场区域可形成网格,从而根据需要来排列和/或组织许多对象(参见例如图7D)。
信息中心622包括一个或更多个可特定于场区域620的输入功能区。例如,信息中心622包括‘显示第一页’功能区624,用于在场区域620中显示第一页;‘显示下一页’功能区625,用于在场区域620中显示下一页;‘显示上一页’功能区626,用于在场区域620中显示上一页;‘显示最后一页’功能区627,用于在场区域620中显示最后一页;以及‘删除当前页’功能区628,用于从场区域620中删除当前页。信息中心622还包括一个或更多个可特定于场区域620的属性功能区。例如,信息中心622包括‘显示控制’功能区629,在该功能区中,用户可通过设置布尔变量为‘T’或‘F’指定场区域620是否能转换为多页容器或翻页册;‘隐藏控制’功能区630,在该功能区中,用户可通过设置布尔变量为‘T’或‘F’指定场区域620在运行时是否隐藏;‘页码’功能区631,用于显示场区域620当前显示的页面的页码;‘页数’功能区632,用于显示场区域620的总页数;‘页面速率’功能区633,在该功能区中,用户可设置预定速率以在动画中逐页显示场区域620;‘转换’功能区634,在该功能区中,用户可设置特定转换(例如,软切换)以应用于动画中的页面间;‘转换时间’功能区635,在该功能区中,用户可设立预选时间周期,在该时间周期内页面之间的转换发生;‘没有跳过’功能区637,在该功能区中,用户可通过设置布尔变量为‘T’或‘F’指定多于一个增量或一个减量的页面变化是否在当前页被禁止;‘对象数’功能区638,用于显示场区域620包含的总对象数;‘接受对象’功能区639,在该功能区中,用户可通过设置布尔变量为‘T’或‘F’指定是否允许拖曳一个新对象到场区域620中;‘释放对象’功能区640,在该功能区中,用户可通过设置布尔变量为‘T’或‘F’指定是否允许从场区域620中拖出一个对象;‘列’功能区641,在该功能区中,用户可指定一网格场区域中的列数;‘行’功能区642,在该功能区中,用户可指定一网格场区域中的行数;‘网格布局’功能区643,在该功能区中,用户可指定要建立的场区域网格的布局;‘水平对齐对象’功能区644,用于在水平方向上排列包含于场区域620的对象;‘垂直对齐对象’功能区645,用于在垂直方向上排列包含于场区域620的对象;‘调整’功能区646,用于使对象适于在场区域620内;‘边缘宽度’功能区647,在该功能区中,用户可在场区域620内的对象间设立预定边缘;以及‘创建者提示’功能区648,用于提示用户输入。信息中心622还包括一个或更多个可特定于场区域620的输出功能区。例如,信息中心622包括‘对象添加’功能区649,用于当对象添入场区域620时,发送信息或命令给另一个对象;以及‘对象移除’功能区650,用于当对象从场区域620中移除时,发送信息或命令给另一个对象。
在这种情况下,滑块610的‘旋钮Y’功能区616通过两配线670、672与场区域620的‘位置Y’功能区651和‘旋转’功能区652连接,该‘旋钮Y’功能区616与滑块旋钮612的垂直位置相关联,该‘位置Y’功能区651和‘旋转’功能区652分别与场区域620的垂直位置和旋转角相关联。例如,用户可先从滑块610的‘旋钮Y’功能区616的输出端口616b拉出配线670,延伸该配线670,将其与场区域620的‘位置Y’功能区651的输入端口651a绑定,然后从滑块610的‘旋钮Y’功能区616的输出端口616b拉出配线672,延伸该配线672,将其与场区域620的‘旋转’功能区652的输入端口652a绑定,从而通过锁定滑块旋钮612的垂直位置与场区域620的垂直位置、旋转角,而将滑块610与场区域620连接在一起。
通过这类绑定连接670、672,用户可沿滑块610上下滑动旋钮612,以同时上下移动场区域620和逆时针、顺时针转动该场区域。例如,图6A中,旋钮612的垂直位置设为大约438。由于滑块610的‘旋钮Y’功能区616分别与场区域620的‘位置Y’功能区651和‘旋转’功能区652链接,场区域620的垂直位置和旋转角也分别设为大约438。在图6B中,用户可通过沿滑块610向上移动旋钮612将滑块旋钮612的垂直位置从大约438连续变化为大约331。这将导致场区域620相应地同步向上移动和逆时针旋转,其垂直位置和旋转角从大约438连续变化为大约331。场区域620的同步平移和旋转随滑块旋钮612移动发生,而场区域620的垂直位置和旋转角的同步变化实时跟随滑块旋钮612垂直位置的变化。用户也可在滑块610的‘旋钮Y’功能区616的输入框中输入331来移动滑块旋钮612至311的垂直位置。这将导致场区域620的‘位置Y’功能区651的垂直位置值和场区域620的‘旋转’功能区652的旋转角值都相应地变为331,并同时移动场区域620至一位置,在该位置上,场区域620具有均为331的垂直位置和旋转角。
在此例子中,时钟660为包含于场区域620的对象,也在滑块旋钮612被用于移动场区域620时,与场区域620一起移动。在该情况下,场区域620与滑块610链接。在各种实施中,场区域中包含的对象可与该场区域外的一个或更多个对象链接。将该情况作为示例,用户也可将时钟660与滑块610链接,从而滑块610可用于控制时钟660的运作。
如图5A-5B和6A-6B所示,示例的GUI 300可用于在一个对象的一个属性和另一个对象的一个或两个属性间建立一个或两个绑定连接。在各种实施中,示例的GUI 300可用于在一个对象的一个属性和另一个对象的三个或更多个属性间建立三个或更多个绑定连接。例如,GUI 300可用于在一个对象的一个属性和另一个对象的三个属性间建立三个绑定连接;GUI 300还可用于在一个对象的一个属性和另一个对象的五个属性间建立五个绑定连接;等等。通常地,GUI 300可用于在一个对象的一个属性和另一个对象的N个属性(N是整数且N≥1)间建立N个绑定连接。
在图8A-8B中,GUI 300用于在一个对象的两个属性和另一个对象的两个属性间建立两个绑定连接。在此例子中,GUI 300包括与信息中心812和检查器818链接的椭形810。GUI 300还包括也与信息中心822和检查器828链接的长方形820。椭形810的‘高度’功能区814和‘宽度’功能区815通过两配线830、832,分别与长方形820的‘高度’功能区824和‘宽度’功能区825连接,该‘高度’功能区814和‘宽度’功能区815分别与椭形810的高度和宽度相关联,该‘高度’功能区824和‘宽度’功能区825分别与长方形820的高度与宽度相关联。例如,用户可先从椭形810的‘高度’功能区814的输出端口814b拉出配线830,延伸该配线830,将其与长方形820的‘高度’功能区824的输入端口824a绑定,然后从椭形810的‘宽度’功能区815的输出端口815b拉出配线832,延伸该配线832,将其与长方形820的‘宽度’功能区825的输入端口825a绑定,从而通过分别锁定椭形810的高度、宽度与长方形820的高度、宽度,将椭形810与长方形820连接在一起。
通过这类绑定连接830、832,用户可扩大和缩小椭形810以扩大和缩小长方形820。例如,在图8A中,椭形810的高度和宽度分别设置为大约146和大约202。由于椭形810的‘高度’功能区814和‘宽度’功能区815分别与长方形820的‘高度’功能区824和‘宽度’功能区825连接,长方形820的高度和宽度也分别设置为大约146和大约202。在图8B中,用户可通过将高度和宽度分别从大约146增加到大约211和从大约202增加到大约316连续扩大椭形810。这将导致长方形820相应地扩大,该长方形820的高度和宽度分别从大约146连续增加到大约211和从大约202连续增加到大约316。长方形820在椭形810扩大的同时扩大,且长方形820的高度和宽度的增加分别实时匹配椭形820的高度和宽度的增加。用户也可在椭形810的‘高度’功能区814和‘宽度’功能区815的输入框中分别输入211和316将椭形810扩大到211x316的尺寸。这将导致长方形820的‘高度’功能区824的高度值和长方形820的‘宽度’功能区825的宽度值相应地分别变化为211和316,并同时扩大长方形820,从而长方形820具有211的高度和316的宽度
在此例子中,示例的GUI 300用于在一个对象的两个属性与另一个对象的两个属性间建立两个绑定连接。在各种实施中,示例的GUI 300还可用于在一个对象的两个或更多个属性与另一个对象的三个或更多个属性间建立三个或更多个绑定连接。例如,GUI 300可用于在一个对象的两个属性与另一个对象的三个属性间建立三至六个绑定连接;GUI 300可用于在一个对象的三个属性与另一个对象的三个属性间建立三至九个绑定连接;GUI可用于在一个对象的三个属性与另一个对象的四个属性间建立四至十二个绑定连接;等等。通常地,GUI 300可用于在一个对象的M个属性与另一个对象的N个属性间(M、N都是整数,且M≥2、N≥2)建立M(M≥N)个或N(N≥M)个至M*N个绑定连接。
在图9A-9B中,GUI 300用于在一个对象的一个属性与三个其他对象的三个属性间建立三个绑定连接,该三个其他对象的每一个具有该三个属性中的一个独立的属性。在此例子中,GUI 300包括具有旋钮912的滑块910,该滑块与信息中心914和检查器918链接。GUI 300还包括第一长方形920、椭形930和第二长方形940,上述每一个也分别与信息中心922、932、942和检查器(未显示)链接。滑块910的‘旋钮Y’功能区916通过三配线950、952、954分别与第一长方形920的‘位置X’功能区924、椭形930的‘旋转’功能区934和第二长方形940的‘宽度’功能区944连接,该‘旋钮Y’功能区916与滑块旋钮912的垂直位置相关联,该‘位置X’功能区924与第一长方形920的水平位置相关联,该‘旋转’功能区934与椭形930的旋转角相关联,该‘宽度’功能区944与第二长方形940的宽度相关联。例如,用户可先从滑块910的‘旋钮Y’功能区916的输出端口916b拉出配线950,延伸该配线950,并将其绑定于第一长方形920的‘位置X’功能区924的输入端口924a,接着从滑块910的‘旋钮Y’功能区916的输出端口916b拉出配线952,延伸该配线952,并将其绑定于椭形930的‘旋转’功能区934的输入端口934a,然后从滑块910的‘旋钮Y’功能区916的输出端口916b拉出配线954,延伸该配线954,并将其绑定于第二长方形940的‘宽度’功能区944的输入端口944a,从而通过分别锁定滑块910的垂直位置与第一长方形920的水平位置、椭形930的旋转角、第二长方形940的宽度而分别将滑块910与第一长方形920、椭形930、第二长方形940连接。
通过这类绑定连接950、952、954,用户可沿着滑块910上下移动旋钮912以同时向左右移动第一长方形920、逆时针和顺时针旋转椭形930、以及增加和减少第二长方形940的宽度。例如,在图9B中,滑块旋钮912的垂直位置设置为大约396。由于滑块910的‘旋钮Y’功能区916分别与第一长方形920的‘位置X’功能区924、椭形930的‘旋转’功能区934、第二长方形940的‘宽度’功能区944链接,第一长方形920的水平位置、椭形930的旋转角、第二长方形940的宽度也分别设置为大约396。在图9B中,用户可通过沿滑块910向上移动旋钮912而将滑块旋钮912的垂直位置从大约396连续变化为大约305。这将导致第一长方形920同时向左移,椭形930同时逆时针旋转,第二长方形940同时增加它的宽度,第一长方形920的水平位置、椭形930的旋转角、第二长方形940的宽度都从大约396连续变化为大约305。第一长方形920、椭形930、第二长方形940的同步的各自平移、旋转、加宽随旋钮912沿滑块910向上移动发生,并且第一长方形920的水平位置、椭形930的旋转角、第二长方形940的宽度的同步变化都实时跟随滑块旋钮912的垂直位置的变化。用户也可在滑块910的‘旋钮Y’功能区916的输入框输入305以移动滑块旋钮912至305的垂直位置。这将导致第一长方形920的‘位置X’功能区924的水平位置值、椭形930的‘旋转’功能区934的旋转角度值、第二长方形940的‘宽度’功能区944的宽度值分别相应地变化为305,并且同时位移第一长方形920至305的水平位置、旋转椭形930至305的角度以及增加第二长方形940的宽度至305。
在此例子中,示例的GUI 300用于在一个对象的一个属性与三个其他对象的三个属性间建立三个绑定连接,该三个其他对象的每一个具有该三个属性中的一个独立的属性。在各种实施中,示例的GUI 300可用于在一个对象的一个或更多个属性与两个或更多个其他对象的两个或更多个属性间建立两个或更多个绑定连接,该两个或更多个其他对象的每一个可具有该两个或更多个属性的一个或更多个独立的属性。例如,GUI 300可用于在一个对象的一个属性与两个其他对象的两个属性间建立两个绑定连接,该两个其他对象的每一个具有该两个属性中的一个独立的属性;GUI可用于在一个对象的一个属性与四个其他对象的四个属性间建立四个绑定连接,该四个其他对象的每一个具有该四个属性中的一个独立的属性;GUI可用于在一个对象的两个属性与三个其他对象的三个属性间建立三至六个绑定连接,该三个其他对象的每一个具有该三个属性中的一个独立的属性;GUI可用于在一个对象的两个属性与三个其他对象的四个属性间建立四至八个绑定连接,该三个其他对象中的一个具有该四个属性的两个独立的属性,该三个其他对象的其他两个对象的每一个具有剩余两个属性中的一个独立的属性;等等。一般而言,GUI 300可用于在一个对象的M个属性与X个其他对象的N个属性间(M、N、X都是整数,且M≥1、N≥X≥2)建立M(M≥N)个或N(N≥M)个至M*N个绑定连接。
在图10A-10D中,GUI 300用于在两个对象的两个属性与另一个对象的两个属性间建立两个绑定连接,该两个对象的每一个具有两个属性中的一个独立的属性。在此例子中,GUI 300包括第一复选框1010和第二复选框1020,每一个分别与信息中心1012、1022和检查器1019、1029链接。信息中心1012、1022的每个包括一个或更多个可特定于各复选框1010、1020的输入功能区。例如,每个信息中心1012、1022包括‘切换’功能区1014、1024,其用于切换各复选框1010、1020;‘勾选’功能区1015、1025,用于勾选各复选框1010、1020;以及‘不勾选’功能区1016、1026,用于不勾选各复选框1010、1020。信息中心1012、1022的每个还包括可特定于各复选框1010、1020的一个或更多个属性功能区。例如,每个信息中心1012、1022包括‘已勾选’功能区1017、1027,在上述功能区中,用户可通过设置布尔变量为‘T’或‘F’以勾选或不勾选各复选框1010、1020。
GUI 300还包括也与信息中心1032、检查器1046链接的真值表1030。信息中心1032包括可特定于真值表1030的一个或更多个输入功能区。例如,信息中心1032包括‘重启’功能区1034,其用于重启真值表。信息中心1032还包括可特定于真值表1030的一个或更多个属性功能区。例如,信息中心1032包括‘值’功能区1035,在该功能区中,用户可以整数存储真值表1030的结果。
在此例子中,第一复选框1010的‘已勾选’功能区1017通过配线1050与真值表1030的第一‘复选框已勾选’功能区1037连接,该‘已勾选’功能区1017指示第一复选框1010是否勾选,该第一‘复选框已勾选’功能区1037与真值表1030的第一行1038的前四个布尔变量相关联,而第二复选框1020的‘已勾选’功能区1027通过另一配线1052与真值表1030的第二‘复选框已勾选’功能区1039连接,该‘已勾选’功能区1027指示第二复选框1020是否勾选,该第二‘复选框已勾选’功能区1039与真值表1030的第二行1040的前四个布尔变量相关联。例如,用户可先从第一复选框1010的‘已勾选’功能区1017的输出端口1017b拉出配线1050,延伸该配线1050,并将其绑定于真值表1030的第一‘复选框已勾选’功能区1037的输入端口1037a,然后从第二复选框1020的‘已勾选’功能区1027的输出端口1027b拉出配线1052,延伸该配线1052,并将其绑定于真值表1030的第二‘复选框已勾选’功能区1039的输入端口1039a,从而通过锁定指示第一复选框1010的勾选状态的布尔变量与真值表1030的第一行1038的前四个布尔变量,以及通过锁定指示第二复选框1020的勾选状态的布尔变量与真值表1030的第二行1040的前四个布尔变量而分别将第一和第二复选框1010、1020与真值表1030连接。
通过这类绑定连接1050、1052,用户可选择性地勾选和/或不勾选第一和/或第二复选框1010、1020以任何恰当的组合改变真值表1030的第一行1038和第二行1040的前四个布尔变量。例如,在图10A中,第一复选框1010和第二复选框1020都不勾选。这在真值表1030中反映为第一列1041被突出,真值表1030的第一行1038和第二行1040的第一个布尔变量设置为‘F’。在图10B中,第一复选框1010勾选,而第二复选框1020不勾选。这在真值表1030中反映为第二列1042被突出,真值表1030的第一行1038的第二个布尔变量设置为‘T’,而真值表1030的第二行1040的第二个布尔变量设置为‘F’。在图10C中,第一复选框1010不勾选,而第二复选框1020勾选。这在真值表1030中反映为第三列1043被突出,真值表1030的第一行1038的第三个布尔变量设置为‘F’,而真值表1030的第二行1040的第三个布尔变量设置为‘T’。在图10D中,第一复选框1010和第二复选框1020都被勾选。这在真值表1030中反映为第四列1044被突出,真值表1030的第一行1038和第二行1040的第四个布尔变量都设置为‘T’。
在此例子中,示例的GUI 300用于在两个对象的两个属性与另一个对象的两个属性间建立两个绑定连接,该两个对象的每一个具有两个属性中的一个独立的属性。在各种实施中,示例的GUI 300可用于在两个或更多个对象的两个或更多个属性与一个或更多个其他对象的两个或更多个属性间建立两个或更多个绑定连接,该两个或更多个对象的每一个可具有两个或更多个属性中的一个或更多个独立的属性以及,该一个或更多个其他对象可具有两个或更多个属性中的一个或更多个独立的属性。例如,GUI 300可用于在两个对象的两个属性与两个其他对象的三个属性间建立三个至六个绑定连接,该两个对象的每一个具有两个属性中的一个独立的属性,该两个其他对象的一个具有三个属性中的一个独立的属性,该两个其他对象的另一个具有剩余的两个属性;GUI 300可用于在三个对象的四个属性与三个其他对象的六个属性间建立六个至二十四个绑定连接,该三个对象的一个具有四个属性中的两个独立的属性,该三个对象的其他两个对象的每一个具有剩余两个属性中的一个独立的属性,该三个其他对象的每一个具有六个属性中的两个独立的属性;等等。一般而言,GUI 300可用于在X个对象的M个属性与Y个其他对象的N个属性间(M、X、N、Y都是整数;M≥X≥1、N≥Y≥1)建立M(M≥N)个或N(N≥M)个至M*N个绑定连接。
在图11A-11D中,GUI 300用于建立将三个对象绑定在一起的两个绑定连接。在此例子中,GUI 300包括长方形1110、椭形1120和具有旋钮1132的滑块1130,上述每一个分别与信息中心1112、1122、1134和检查器(只有椭形1120的检查器1126被显示出)链接。长方形1110的‘位置Y’功能区1114通过配线1140与椭形1120的‘位置X’功能区1124连接,该‘位置Y’功能区1114与长方形1110的垂直位置相关联,该‘位置X’功能区1124与椭形1120的水平位置相关联,而椭形1120的‘位置X’功能区1124通过配线1142与滑块1130的‘旋钮Y’功能区1136连接,该‘旋钮Y’功能区1136与滑块旋钮1132的垂直位置相关联。例如,用户可先从长方形1110的‘位置Y’功能区1114的输出端口1114b拉出配线1140,延伸该配线1140,并将其绑定于椭形1120的‘位置X’功能区1124的输入端口1124a,然后从椭形1120的‘位置X’功能区1124的输出端口1124b拉出配线1142,延伸该配线1142,并将其绑定于滑块1130的‘旋钮Y’功能区1136的输入端口1136a,从而通过锁定长方形1110的垂直位置与椭形1120的水平位置以及通过锁定椭形1120的水平位置与滑块旋钮1132的垂直位置、转而也锁定长方形1110的水平位置与滑块旋钮1132的垂直位置而将长方形1110、椭形1120、滑块1130连接在一起成一系列。
通过这类绑定连接1140、1142,用户可上下移动长方形1110以同时水平移动椭形1120和垂直移动滑块旋钮1132,或左右移动椭形1120以同时垂直移动长方形1110和滑块旋钮1132,或沿滑块1130上下滑动旋钮1132以同时垂直移动长方形1110和水平移动椭形1120。例如,在图11A中,长方形1110的垂直位置设置为大约469。由于长方形1110的‘位置Y’功能区1114与椭形1120的‘位置X’功能区1124链接、椭形1120的‘位置X’功能区1124进一步与滑块1130的‘旋钮Y’功能区1136链接,椭形1120的水平位置和滑块旋钮1132的垂直位置也分别被设置为大约469。在图11B中,用户可通过向上移动长方形1110将长方形1110的垂直位置从大约469连续变化为大约356。这将导致椭形1120同时向左移动和滑块旋钮1132同时向上移动,椭形1120的水平位置与滑块旋钮1132的垂直位置也从大约469连续变化为大约356。椭形1120与滑块旋钮1132的同时平移随长方形1110移动在同一时间发生,并且椭形1120的水平位置变化与滑块旋钮1132的垂直位置变化实时跟随长方形1110的垂直位置变化。用户也可在长方形1110的‘位置Y’功能区1114的输入框中输入356,以位移长方形1110至356的垂直位置。这将导致椭形1120的‘位置X’功能区1124的水平位置值和滑块1130的‘旋钮Y’功能区1136的垂直位置值相应地变化为356,并同时移动椭形1120至356的水平位置、移动滑块旋钮1132至356的垂直位置。在图11C中,用户通过向右移动椭形1120将椭形1120的水平位置从大约356连续变化为大约413。这将导致长方形1110和滑块旋钮1132同时向下移动,长方形1110和滑块旋钮1132的垂直位置也从大约356连续变化为大约413。长方形1110与滑块旋钮1132的同时平移随椭形1120移动在同一时间发生,且长方形1110和滑块旋钮1132的垂直位置的变化实时匹配椭形1120的水平位置的变化。用户也可在椭形1120的‘位置X’功能区1124的输入框输入413以移动椭形1120至413的水平位置。这将导致长方形1110的‘位置Y’功能区1114和滑块1130的‘旋钮Y’功能区1136的垂直位置值相应地改变为413,并同时位移长方形1110和滑块旋钮1132至413的垂直位置。在图11D中,用户可通过向下移动滑块旋钮1132将滑块旋钮1132的垂直位置从大约413变化为大约446。这将导致椭形1120同时向右移动和长方形1110同时向下移动,椭形1120的水平位置和长方形1110的垂直位置也从大约413连续变化为大约446。椭形1120与长方形1110的同时平移随滑块旋钮1132移动在同一时间发生,并且椭形1120的水平位置变化与长方形1110的垂直位置变化实时跟随滑块旋钮1132的垂直位置变化。用户也可在滑块1130的‘旋钮Y’功能区1135的输入框输入446以位移滑块旋钮1132至446的垂直位置。这将导致椭形1120的“位置X”功能区1124的水平位置值与长方形1110的‘位置Y’功能区1114的垂直位置值都相应地变化为446,并且同时移动椭形1120至446的水平位置、移动长方形1110至446的垂直位置。
在此例子中,示例的GUI 300用于建立将三个对象绑定在一起的两个绑定连接,其中一个对象的属性值的变化将引起其他两个对象的两个独立的属性的个别值的相应变化。在各种实施中,示例的GUI 300可用于建立将四个或更多个对象绑定在一起的三个或更多个绑定连接,其中任一个对象的属性值的变化将引起剩余对象的多个独立的属性的个别值的相应变化。在一些实施例中,被连接在一起的对象的一个或更多个可与一个或更多个其他对象链接,从而建立绑定连接网。
现参阅图12A-12C、13A-C、14A-C和15A-C,第一用户可使用图3所示的示例GUI 300来允许第二用户在运行时改变一个或更多个对象的一个或更多个属性,而没有给第二用户对该一个或更多个对象的一个或更多个属性的物理访问权限。例如,第一用户可先设置示例的GUI 300运作于创建模式,在该模式下,第一用户可在一个或更多个其他对象的一个或更多个属性与该一个或更多个对象的一个或更多个属性间建立一个或更多个绑定连接。所建立的一个或更多个绑定连接将该一个或更多个其他对象的一个或更多个属性与该一个或更多个对象的一个或更多个属性链接在一起,从而该一个或更多个其他对象的一个或更多个属性与该一个或更多个对象的一个或更多个属性分别享有相同的值或一组值。如此,运行时该一个或更多个其他对象的一个或更多个属性值的变化将引起运行时该一个或更多个对象的一个或更多个属性值的相应变化。第一用户然后可设置GUI 300运作于运行模式,在该模式下,第一用户所建立的一个或更多个绑定连接和与那些对象链接的信息中心不再被GUI 300显示。因此,第二用户无法例如通过信息中心物理访问该一个或更多个对象的一个或更多个属性,在信息中心中,像第一用户在GUI运作于创建模式时能做的那样,第二用户可直接改变该一个或更多个对象的一个或更多个属性值。然而,第二用户仍能通过在运行时改变该一个或更多个其他对象的一个或更多个属性,经由第一用户在创建模式下建立的一个或更多个绑定连接在运行时改变该一个或更多个对象的一个或更多个属性。使用例子说明,在GUI 300运作于创建模式时,如果第一用户在长方形的水平位置与椭形的垂直位置间建立绑定连接,第一用户给予第二用户权限通过在水平方向移动该长方形改变该椭形的垂直位置。
在图12A-12C中,第一用户使用示例的GUI 300允许第二用户在运行时改变一个对象的属性,而没有给第二用户对该对象的属性的直接访问权限。在图12A中,GUI 300运作于创建模式。在此例子中,GUI 300包括具有旋钮1212的滑块1210,该滑块与信息中心1214和检查器(未显示)链接。GUI 300还包括也与信息中心1222和检查器1226链接的图形1220。在该例子中,图形1220包括罗马数字‘2’。在创建时,第一用户可通过可视配线1230在滑块1210和图形1220间建立绑定连接。例如,第一用户可从滑块1210的‘值’功能区1216的输出端口1216b拉出配线1230,该‘值’功能区1216与滑块1210上的旋钮1212的位置相关联,延伸该配线1230,并将其绑定于图形1220的‘旋转’功能区1224的输入端口1224a,该‘旋转’功能区1224与图形1220的旋转角相关联,从而通过锁定滑块1210上的旋钮1212的位置与图形1220的旋转角而将滑块1210与图形1220连接在一起。在此例子中,滑块1210上的旋钮1212的位置设置为大约0。由于滑块1210的‘值’功能区1216与图形1220的‘旋转’功能区1224链接,图形1220的旋转角也设置为大约0。图12B显示GUI 300,其中第一用户在建立绑定连接1230后设置GUI 300处于运行模式。在运行模式下,GUI 300不再显示第一用户在创建模式下建立的绑定连接1230和用于直接访问以分别控制滑块1210和图形1220的各种属性的信息中心1214和1222。在图12C中,GUI 300仍运作于运行模式,其中第二用户可通过沿滑块1210上下移动旋钮1212顺时针和逆时针旋转图形1220。在运行时,由于信息中心1222不被GUI 300显示,第二用户无法物理访问信息中心1222以改变图形1220的旋转角。然而,第二用户仍能通过沿滑块1210移动旋钮1212旋转图形1220。在此例子中,第二用户通过将滑块旋钮1212从具有值为0的滑块1210底部移动至具有值为大约75的滑块1210位置(滑块顶部具有值100),而顺时针旋转图形1220大约75度。当第二用户向上或向下移动滑块旋钮1212,图形1220同时实时地顺时针或逆时针旋转。
在图13A-13C中,第一用户使用示例的GUI 300来允许第二用户在运行时同时改变一个对象的两个属性,而没有给第二用户对该对象的那两个属性的直接访问权限。在图13A中,GUI 300运作于创建模式。在此例子中,GUI 300包括具有旋钮1312的滑块1310,该滑块1310与信息中心1314和检查器(未显示)链接。GUI 300还包括也与信息中心1322和检查器1331链接的按键1320。信息中心1322包括可特定于按键1320的一个或更多个属性功能区。例如,信息中心1322包括‘瞬时’功能区1324,在该功能区中,用户可通过设置布尔变量为‘T’或‘F’来指定按键1320是否像瞬时开关行为;‘开’功能区1325,在该功能区中,用户可通过设置布尔变量为‘T’或‘F’在开状态和关状态间切换按键1320;‘开状态颜色’功能区1326,在该功能区中,用户可通过输入预选颜色值来指定在按键1320处于开状态时按键1320的颜色;以及‘角半径’功能区1327,在该功能区中,用户可通过输入预选半径值来指定四个按键角落的半径。在创建时,第一用户可通过两配线1340、1342在滑块1310和按键1320间建立两个绑定连接。例如,第一用户可从滑块1310的‘值’功能区1316的输出端口1316b拉出配线1340,该‘值’功能区1316与滑块1310上的旋钮1312的位置相关联,延伸该配线1340,并将其绑定于按键1320的‘文本’功能区1328的输入端口1328a,该‘文本’功能区1328与显示于按键1320的文本相关联,然后从滑块1310的‘值’功能区1316的输出端口1316b拉出配线1342,延伸该配线1342,并将其绑定于按键1320的‘高度’功能区1329的输入端口1329a,该‘高度’功能区1329与按键1320的高度相关联,从而通过分别锁定滑块1310上的旋钮1312的位置与显示于按键1320的文本和按键1320的高度而将滑块1310与按键1320连接在一起。在此例子中,滑块1310上的旋钮1312的位置设置为大约50。由于滑块1310的‘值’功能区1316分别与按键1320的‘文本’功能区1328、‘高度’功能区1329链接,显示于按键1320的文本和按键1320的高度也分别设置为大约50。图13B显示GUI 300,其中第一用户在建立两个绑定连接1340、1342后设置GUI 300处于运行模式。在运行模式下,GUI 300不显示第一用户在创建模式下建立的两个绑定连接1340、1342和用户能访问以分别管理滑块1310和按键1320的各种属性的信息中心1314和1322。在图13C中,GUI 300仍运作于运行模式,在该模式下,第二用户可通过沿滑块1310上下移动旋钮1312以同时增加或减少显示于按键1320的文本值和按键1320的高度。在运行时,由于GUI 300不再显示信息中心1322,第二用户无法直接访问信息中心1322以改变显示于按键1320的文本值和/或按键1320的高度。然而,第二用户仍能通过沿滑块1310移动旋钮1312而同时改变显示于按键1320的文本值和按键1320的高度。在此例子中,第二用户通过将滑块旋钮1312从具有值为50的滑块1310的中部移动至具有值为100的滑块顶部(滑块底部具有值0)以将显示于按键1320的文本值和按键1320的高度从大约50增加为大约100。显示于按键1320的文本值与按键1320的高度随第二用户向上或向下移动滑块旋钮1312而同时增加或减少。
如图12A-12C和13A-13C所示,第一用户可通过创建时将一个对象的一个或两个属性与另一个对象的属性经由一个或两个绑定连接链接,并使用示例的GUI 300允许第二用户在运行时改变该对象的一个或两个属性。在各种实施中,第一用户可通过创建时将一个对象的一个或更多个属性与一个或更多个其他对象的一个或更多个属性经由一个或更多个绑定连接链接,并使用示例的GUI 300允许第二用户或单独地或一起或以任何恰当的组合改变该对象的一个或更多个属性。例如,创建时,第一用户可经由三个绑定连接分别链接一个对象的属性与另一个对象的三个独立的属性,从而第二用户可通过分别改变该另一个对象的三个属性在运行时改变该对象的属性;创建时,第一用户可经由三个至九个绑定连接分别链接一个对象的三个独立的属性与另一个对象的三个独立的属性,从而第二用户可通过在运行时或单独地或一起或以任何恰当的组合改变该另一个对象的三个属性,而在运行时或单独地或一起或以任何恰当的组合改变该对象的三个属性;创建时,第一用户可经由三个至六个绑定连接链接一个对象的三个独立的属性与另一个对象的两个独立的属性,其中该一个对象的一个属性与该另一个对象的一个属性链接,而该一个对象的剩余两个属性分别与该另一个对象的另一个属性链接,从而第二用户可通过分别或同时改变该另一个对象的两个属性,改变具有一个绑定连接的该一个对象的一个属性,或具有两个绑定连接的该一个对象的剩余两个属性,或该一个对象的全部三个属性一起;创建时,第一用户可经由三个至六个绑定连接链接一个对象的两个独立的属性与另一个对象的三个独立的属性,其中该一个对象的一个属性与该另一个对象的一个属性链接,而该一个对象的另一个属性分别与该另一个对象的剩余两个属性链接,从而第二用户可通过改变具有一个绑定连接的该另一个对象的一个属性,或通过分别改变具有两个绑定连接的该另一个对象的两个剩余属性,或以其任何恰当的组合,分离地或同时地改变该一个对象的两个属性;等等。一般而言,第一用户可通过在创建时经由N(N≥M)个或M(M≥N)个至M*N个绑定连接链接一个对象的N个属性与X个其他对象的M个属性(N、M、X都是1或大于1的整数,且M≥X),并使用示例的GUI 300允许第二用户在运行时或单独地或一起或以任何恰当的组合改变该一个对象的N个属性。
在图14A-14C中,第一用户使用示例的GUI 300来允许第二用户在运行时改变两个对象的两个属性,而没有给第二用户对该两个对象的那两个属性的直接访问权限。在图14A中,GUI 300运作于创建模式。在此例子中,GUI 300包括具有旋钮1412的滑块1410,该滑块与信息中心1414和检查器(未显示)链接。GUI 300还包括线1420和椭形1430,上述每一个也与信息中心1422、1432和检查器(只显示了椭形的检查器1436)链接。创建时,第一用户可通过两配线1450、1452在滑块1410、线1420、椭形1430间建立两个绑定连接。例如,第一用户可从滑块1410的‘值’功能区1416的输出端口1416b拉出配线1450,该‘值’功能区1416与滑块1410上的旋钮1412的位置相关联,延伸该配线1450,并将其绑定于线1420的‘旋转’功能区1424的输入端口1424a,该‘旋转’功能区1424与线1420的旋转角相关联,然后从滑块1410的‘位置值’功能区1417的输出端口1417b拉出配线1452,该‘位置值’功能区1417也与滑块1410上的旋钮1412的位置相关联,延伸该配线1452,并将其绑定于椭形1430的‘旋转’功能区1434的输入端口1434a,该‘旋转’功能区1434与椭形1430的旋转角相关联,从而分别通过锁定滑块1410上的旋钮1412的位置与线1420、椭形1430各自的旋转角以将滑块1410、线1420、椭形1430连接在一起。在此例子中,滑块1410上的旋钮1412的位置设置为大约0。由于滑块1410的‘值’功能区1416和‘位置值’功能区1417与线1420和椭形1430的各‘旋转’功能区1424、1434链接,线1420和椭形1430的旋转角也设置为大约0。图14B显示了GUI 300,其中第一用户在建立了两个绑定连接1450、1452后设置GUI 300处于运行模式。在运行模式下,GUI 300不显示第一用户在创建模式下建立的两个绑定连接1450、1452和用于直接访问以分别控制滑块1410、线1420、椭形1430的各种属性的信息中心1414、1422、1432。在图14C中,GUI 300仍运作于运行模式,在该模式下,第二用户可通过沿滑块1410上下滑动旋钮1412顺时针或逆时针而一起旋转线1420和椭形1430。在运行时,由于信息中心1422、1432不再被GUI 300显示,第二用户无法物理访问信息中心1422、1432以改变线1420或椭形1430的旋转角。然而,第二用户仍能通过沿着滑块1410移动旋钮1412而同时旋转线1420和椭形1430。在此例子中,第二用户通过将滑块旋钮1412从具有值或位置值为0的滑块1410底部滑动至具有值或位置值为大约90的位置(滑块顶部具有值或位置值为100)而顺时针旋转线1420和椭形1430大约90度。当第二用户向上或向下移动滑块旋钮1412,线1420和椭形1430实时同时旋转。
在此例子中,第一用户通过创建时经由两个绑定连接分别链接两个对象的两个属性与另一个对象的两个独立的属性,并使用示例的GUI 300来允许第二用户在运行时改变该两个对象的两个属性,该两个对象的每一个具有两个属性中的一个独立的属性。在各种实施中,第一用户可通过创建时经由两个或更多个绑定连接链接两个或更多个对象的两个或更多个属性与一个或更多个其他对象的一个或更多个属性,并使用示例的GUI 300来允许第二用户或单独地或一起或以任何恰当的组合改变该两个或更多个对象的两个或更多个属性,该两个或更多个对象的每一个具有两个或更多个属性中的一个或更多个独立的属性,该一个或更多个其他对象的每一个具有一个或更多个属性中的一个或更多个独立的属性。例如,创建时,第一用户可通过三个绑定连接分别链接三个对象的三个属性与另一个对象的属性,该三个对象的每一个具有三个属性中的一个独立的属性,从而第二用户可通过改变该另一个对象的属性,在运行时改变该三个对象的三个属性;创建时,第一用户可通过三个至九个绑定连接分别链接三个对象的三个属性与三个其他对象的三个属性,该三个对象的每一个具有三个属性中的一个独立的属性,该三个其他对象的每一个具有三个属性中的一个独立的属性,从而第二用户可通过或单独地或一起或以任何恰当的组合在运行时改变该三个其他对象的三个属性,而或单独地或一起或以任何恰当的组合在运行时改变该三个对象的三个属性;创建时,第一用户可通过四个至八个绑定连接链接三个对象的四个属性与两个其他对象的两个属性,该三个对象的一个具有四个属性中的两个独立的属性,而该三个对象的剩余两个对象的每一个具有剩余两个属性中的一个独立的属性,该两个其他对象的每一个具有两个属性中的一个独立的属性,从而第二用户可通过同时分别地改变该两个其他对象的两个属性,而或单独地或一起或以任何恰当的组合来改变该三个对象的四个属性;创建时,第一用户可通过三个至六个绑定连接链接两个对象的两个属性与三个其他对象的三个属性,该两个对象的每一个具有两个属性中的一个独立的属性,该三个其他对象的每一个具有三个属性中的一个独立的属性,从而第二用户可通过或单独地或一起或以任何恰当的组合改变该三个其他对象的三个属性,而或分别地或同时地改变该两个对象的两个属性。一般而言,第一用户可通过创建时经由N(N≥M)个或M(M≥N)个至M*N个绑定连接来链接X个对象的N个属性与Y个其他对象的M个属性(N、X、M、Y都是整数;N≥X≥2且M≥Y≥1),并使用示例的GUI 300来允许第二用户在运行时或单独地或一起或以任何恰当的组合改变该X个对象的N个属性。
在图15A-15D中,示例的GUI 300用于通过经由创建时建立的链接一个对象的输入功能区与另一个对象的输出功能区的绑定连接改变另一个对象的状态,而在创建时和/或运行时改变该一个对象的状态。在图15A中,GUI 300运作于创建模式。在此例子中,GUI 300包括长方形1510和椭形1520,每一个分别与信息中心1512、1522和检查器(只显示了椭形1520的检查器1527)链接。创建时,第一用户通过可视配线1530在长方形1510和椭形1520间建立绑定连接。例如,第一用户可从长方形1510的‘点击’功能区1514的输出端口1514b拉出配线1530,该‘点击’功能区1514可在长方形1510被用户点击时发送信息或命令给另一个对象,延伸该配线1530,并将其绑定于椭形1520的‘隐藏’功能区1524的输入端口1524a,该‘隐藏’功能区1524可在从另一个对象接收信息或命令时,而从GUI屏幕隐藏椭形1520,从而通过锁定长方形1510是否被点击的状态与椭形1520是可见还是隐藏的状态而将长方形1510与椭形1520连接在一起。在图15B中,第一用户可通过点击长方形1510在GUI 300处于创建模式时使椭形1520消失。一旦椭形1520从GUI屏幕消失,椭形1520的‘可见’功能区1525的布尔变量从‘T’变为‘F’。图15C显示了GUI 300,其中第一用户在建立绑定连接1530后,设置GUI 300处于运行模式。在运行模式下,GUI 300不再显示第一用户在创建模式下建立的绑定连接1530和分别与长方形1510、椭形1520相关联的信息中心1512、1522。在图15D中,第一用户或第二用户可通过点击长方形1510在GUI 300运作于运行模式时使椭形1520消失。
在各种实施中,示例的GUI 300可用于通过经由创建时建立的链接一个或更多个对象的一个或更多个输入功能区与一个或更多个其他对象的一个或更多个输出功能区的一个或更多个绑定连接改变该一个或更多个其他对象的一个或更多个状态,在创建时和/或运行时改变该一个或更多个对象的一个或更多个状态。例如,用户可使用GUI 300在一个对象的两个输入功能区与另一个对象的一个输出功能区间建立两个绑定连接,该两个输入功能区在接收信息或命令时可分别改变该一个对象的两个不同状态,该一个输出功能区在该另一个对象的特定状态改变时可发出信息或命令,从而该用户和/或另一个用户可通过在创建时和/或运行时改变该另一个对象的特定状态,而改变该一个对象的两个不同状态;用户可使用GUI 300在一个对象的一个输入功能区与另一个对象两个输出功能区间建立两个绑定连接,该一个输入功能区在接收信息或命令时改变该一个对象的状态,该两个输出功能区在该另一个对象的两个特定状态分别改变时可分别发出信息或命令,从而该用户和/或另一个用户可通过在创建时和/或运行时分别改变该另一个对象的两个特定状态,而改变该一个对象的状态;用户可使用GUI 300在两个对象的两个输入功能区与另一个对象的一个或两个输出功能区间建立两个绑定连接,该两个输入功能区的每一个在接收信息或命令时可分别改变该两个对象中的一个的状态,该一个或两个输出功能区在该另一个对象的一个或两个特定状态改变时可发出信息或命令,从而该用户和/或另一个用户可通过在创建时和/或运行时改变该另一个对象的特定状态或各自的两个特定状态,而同时或一次一个地改变该两个对象的两个独立的状态;等等。在一些实施例中,示例的GUI 300可用于在一个对象的一个或更多个输入功能区与该同一对象的一个或更多个输出功能区间建立一个或更多个绑定连接。例如,长方形的‘点击’功能区可与该同一个长方形的‘隐藏’功能区链接,从而当用户点击该长方形时,同一个长方形从GUI屏幕消失。
现参阅图16,其提供了示例系统1600,该系统可用于生成用于连接和绑定两个对象1620、1622的示例GUI 1610。GUI 1610的一些代表性屏幕截图参照图5A-5B、6A-6B、8A-8B、12A、13A和15A-15B在上面说明。系统1600包括GUI生成器1630,用户可使用该生成器来定义GUI 1610的场景。例如,GUI生成器1630可以是所见即所得(WYSIWYG)设计界面,其允许该用户从对象库1640选择各种对象,该对象库1640可包括参照图3而于上面描述的不同对象。例如,该用户可从对象库1640中选择滑块作为对象A(1620)和长方形作为对象B(1622),接着在GUI屏幕上建立该滑块和该长方形。然后,该用户可从信息功能区库1650选择合适的信息功能区以建立信息中心A和B(1660、1662),该信息功能区库1650可包括参照图3、4、5A、6B、8A、10A-10B、12A和13A而于上面描述的各种输入功能区、属性功能区和输出功能区,接着分别链接该信息中心A和B(1660、1662)与对象A和B(1620、1622)。可选地,GUI生成器1630可基于一些对分别相应于对象A和B(1620、1622)的信息中心的预定选择而从信息功能区库1650建立信息中心A和B(1660、1662),然后分别链接信息中心A和B(1660、1662)与对象A和B(1620、1622)。在用户选择滑块作为对象A(1620)和长方形作为对象B(1622)的情况下,该用户或GUI生成器1630可建立类似于图3所示的信息中心335的信息中心A(1660)和类似于图5A所示的信息中心514的信息中心B(1662),然后分别链接信息中心A和B(1660、1662)与对象A和B(在该情况下为滑块和长方形)。
然后,用户可使用GUI生成器1630在对象A和B(1620、1622)间建立一个或更多个绑定连接1670(在该情况下,n是1或大于1的整数)。例如,该用户可从配线库1680中建立一个或更多个连接配线1670将信息中心A(1660)的一个或更多个属性功能区与信息中心B(1662)的一个或更多个属性功能区绑定,该配线库1680可提供参照图5A-5B、6A-6B、8A-8B、9A-9B、10A-10D、11A-11D、12A、13A、14A和15A-15B而于上面描述的各种配线形状、曲率和/或配置。通过这类绑定连接1670,对象A(1620)的一个或更多个属性与对象B(1622)的一个或更多个属性享有相同值或一组相同值。如此,该用户可通过改变对象B(1622)的一个或更多个属性,在创建时或运行时改变对象A(1620)的一个或更多个属性,或相反。在一些实施中,该用户可从配线库1680中建立一个或更多个连接配线1670以将信息中心A(1660)或信息中心B(1662)的一个或更多个输出功能区与信息中心B(1662)或信息中心A(1660)的一个或更多个输入功能区绑定,从而该用户可通过在对象B(1622)或对象A(1620)上发起一个或更多个事件或条件,来触发对象A(1620)或对象B(1622)的一个或更多个状态变化。使用选择滑块作为对象A(1620)和选择长方形作为对象B(1622)的情形作为示例,该用户可建立一可视配线以将长方形的‘旋转’功能区与滑块的‘值’功能区绑定,以及另一可视配线以将长方形的‘位置Y’功能区与滑块的‘旋钮Y’功能区绑定,从而该用户可通过沿着滑块上下滑动旋钮,同时旋转该长方形和垂直移动该长方形。该用户也可建立可视配线以将滑块的‘触顶’功能区与长方形的‘隐藏’功能区绑定,从而该用户可通过滑动旋钮一路到滑块顶部而使长方形消失。
在一些实施中,GUI生成器1630的输出是系统1600能解释的机器可读文档,从而在显示装置上显示GUI 1610。该机器可读文档可包括置标语言文档,如混合XML、JSON文档,该置标语言文档可定义用户在设计具有GUI生成器1630的GUI 1610时建立的对象,信息中心和/或配线连接的各种属性。
现参阅图17,其提供了一示例方法,该方法可用于实施如图16所示的示例系统1600以使用GUI 1610来连接和绑定两个对象。在步骤1710中,用户在GUI屏幕1610建立选自对象库1640的第一对象。该第一对象具有适合于该第一对象的一个或更多个属性。在步骤1720中,该用户或GUI生成器1630建立相应于该第一对象的第一信息中心。该第一信息中心包括选自信息功能区库1650的一个或更多个功能区。然后,该第一信息中心与该第一对象链接,从而该第一信息中心的一个或更多个功能区能控制该第一对象的一个或更多个属性。在步骤1730中,该用户在GUI屏幕1610建立也选自对象库1640的第二对象。该第二对象也具有适合于该第二对象的一个或更多个属性。在步骤1740中,该用户或GUI生成器建立相应于该第二对象的第二信息中心。该第二信息中心也包括也选自信息功能区库1650的一个或更多个功能区。然后,该第二信息中心与该第二对象链接,从而该第二信息中心的一个或更多个功能区可控制该第二对象的一个或更多个属性。在步骤1750中,该用户按照来自于配线库1680的一个或更多个可视配线建立一个或更多个绑定连接,以将第一信息中心的一个或更多个功能区与第二信息中心的一个或更多个功能区绑定。所建立的一个或更多个绑定连接锁定第一对象的一个或更多个属性与第二对象的一个或更多个属性,从而第一和第二对象的各自的一个或更多个属性享有相同值或一组相同值。在步骤1760中,该用户因此可改变第一对象的一个或更多个属性,从而通过建立的一个或更多个绑定连接引起第二对象的一个或更多个属性的相应变化。
现参阅图18,其提供适用于图16所示的示例系统1600的示例子系统1800,其用于建立和调整绑定连接。子系统1800包括配线管理器1810,该配线管理器1810可建立选自配线库1830的绑定配线1820,并控制该绑定配线1820的运作。配线管理器1810可以是嵌在如图16所示的GUI生成器1630内的子部件,或与GUI生成器1630通信的在如图16所示的示例系统内的分离部件。绑定配线1820通过各信息中心1842、1848链接两个对象1840、1846。在一端,绑定配线1820与主对象1840的信息中心1842连接。该配线端可表示为主端。在另一端,绑定配线1820与从对象1846的信息中心1848连接。该配线端表示为从端。配线管理器1810包括指向主对象1840和从对象1846各属性的主对象指示器1850和从对象指示器1852,该主对象1840和从对象1846通过绑定配线1820链接在一起。配线管理器1810还包括能分别对主对象1840和从对象1846发起和/或登记属性或状态变化的主对象调节器1860和从对象调节器1862。当属性或状态变化在主对象1840或从对象1846发生,主对象调节器1860或从对象调节器1862发送该属性或状态变化给从对象调节器1862或主对象调节器1860,然后通过参照从对象指示器1852或主对象指示器1850而在从对象1846或主对象1840中发起相应的属性或状态变化。在竞态条件的情形下,即在单个周期中在配线1820的两端检测到属性或状态变化,在主端发生的属性或状态变化将支配从端的任何属性或状态变化。这可通过使用配线中介器1870实现,该配线中介器1870在配线管理器1810和GUI 1880间相互联系,从而允许GUI 1880与绑定配线1820交互以构建配线方向性。例如,对象的旋转功能区可通过第一配线与具有旋钮的滑块的值功能区连接,还通过第二配线与时钟的定时值功能区连接。当在单个周期中滑块旋钮的位置与时钟定时值都改变时,中介器1870可确定第一和第二配线的配线配置,并将上述确定的配置传递给配线管理器1810,从而配线管理器1810可构建适当的配线方向以影响该对象的旋转。例如,如果该时钟与第二配线的主端连接,配线中介器1870将该时钟的主状态传递给配线管理器1810,从而允许该时钟变化支配该滑块变化,因此,尽管用户同时沿滑块移动旋钮,该对象将随着时钟的定时值改变而旋转。另一方面,如果该滑块与第一配线的主端连接,配线中介器1870将该滑块的主状态传递给配线管理器1810,从而滑块的变化将支配时钟变化,因此即使时钟定时值也同时改变,该对象将随着用户沿着滑块上下滑动旋钮而旋转。在滑块与时钟都与第一和第二配线的各主端连接的情形下,配线管理器1810可分配滑块和时钟中的一个作为主要主对象、另一个作为第二主对象,从而主要主对象的变化将支配第二主对象的变化。
现参阅图19,其公开一示例方法,可用于当有竞态条件时自定义绑定方向。在步骤1910中,用户可先在GUI屏幕建立两个对象,每个对象各有一个独立的属性,然后在该两个对象的两个属性间建立绑定连接,例如,通过在分别与该两个对象链接的信息中心的各属性功能区间连接可视配线。在步骤1920中,该绑定配线的一端可指定为主端,而另一端为从端。在步骤1930中,该两个对象的两个属性被周期性监控直到在一配线端检测到属性变化。在步骤1940中,确定关于在另一配线端是否也发生属性变化。如果是,在步骤1950中,在主端的属性变化将引起从端相应的属性变化。否则,在步骤1960中,在配线端检测到的属性变化(不管是主端还是从端)将引起另一端的相应属性变化。
现参阅图20,图16所示的示例系统1600用于生成用于将三个或更多个对象连接和绑定在一起的示例GUI 1610(在该情形下,m是3或大于3的整数)。GUI 1610的一些代表性屏幕截图参照图11A-11D在上面已描述。用户可先使用GUI生成器1630在GUI屏幕建立三个或更多个对象。使用三个对象(m=3)的情形作为示例,该用户可从对象库1640选择,例如,长方形作为对象1(2020)、椭形作为对象2(2022)以及滑块作为对象m(2024),接着分别在GUI屏幕建立对象1(2020,长方形)、对象2(2022,椭形)和对象m(2024,滑块)。然后信息中心1、2和m(2060、2062、2064)可通过从信息功能区库1650选择合适的信息功能区来建立,并分别与对象1、2和m(2020、2022、2024)链接。在该用户选择长方形作为对象1(2020)、椭形作为对象2(2022)、滑块作为对象m(2024)的情形下,信息中心1(2060)可类似于图3所示的信息中心335,信息中心2(2062)可类似于图8A所示的信息中心812,以及信息中心m(2064)可类似于图5A所示的信息中心514。
然后,该用户建立两组或多组绑定连接以将建立的三个或更多个对象链接在一起(在该情形下,n1,n2…n(m-1)为1或大于1的整数,并可相互相等或不同)。仍然使用三个对象(m=3)的情形作为示例,该用户可从配线库1680建立两组绑定配线2070、2072,从而通过将信息中心1、2和m(2060、2062、2064)的各属性功能区链接在一起,而将对象1、2和m(2020、2022、2024)连接在一起。在此例子中,两组绑定连接2070、2072可具有相同或不同的配线数。在长方形被选为对象1(2020)、椭形被选为对象2(2022)、滑块被选为对象m(2024)的情形下,该用户可以,例如,建立一个可视配线以将长方形的‘位置Y’功能区与椭形的‘位置X’功能区绑定,并建立另一个可视配线以将椭形的‘位置X’功能区与滑块的‘旋钮Y’功能区绑定,从而长方形、椭形和滑块串接在一起。
通过这类绑定连接2070、2072,该用户可在创建时和/或运行时改变三个或更多个链接对象的任何一个的一个或更多个属性以改变上述链接对象的剩余对象的一个或更多个属性。仍然使用长方形被选为对象1(2020)、椭形被选为对象2(2022)、滑块被选为对象m(2024)的情形作为示例,该用户可通过上下移动该长方形,同时水平移动该椭形和垂直移动该滑块旋钮;通过左右移动该椭形,同时垂直移动该长方形和该滑块旋钮;或通过上下移动滑块旋钮,同时垂直移动该长方形和水平移动该椭形。
在一些实施中,该用户可建立两组或多组绑定连接,以通过将三个或更多个对象的各信息中心的一个或更多个输出功能区与一个或更多个输入功能区连接,而将该三个或更多个对象链接在一起,从而该用户可对该三个或更多个链接对象的任何一个发起一个或更多个事件或条件,以触发上述链接对象的剩余对象的一个或更多个状态变化。使用三个对象的情形作为示例,其中长方形被选为对象1(2020)、椭形被选为对象2(2022)、滑块被选为对象m(2024),该用户可建立一可视配线以将该滑块的‘触顶’功能区与该椭形的‘隐藏’功能区绑定,并可建立另一可视配线以将该椭形的‘隐藏’功能区与该长方形的‘隐藏’功能区绑定,从而该用户可通过滑动旋钮一路至滑块顶部而使椭形和长方形都消失。
现参阅图21,其提供适用于图16和20所示的示例系统1600的示例子系统2100,该子系统用于建立和调整链接在一起的两个或更多个绑定连接。该子系统2100包括配线管理器2110,该配线管理器2110可从配线库1640建立链接在一起的两个或更多个绑定配线(在该情形下n是2或大于2的整数)。该配线管理器2110还可控制建立的两个或更多个绑定配线的运作。该配线管理器2110可以是嵌在图16和20所示的GUI生成器1630内的子部件,或是与GUI生成器1630通信的分离部件。子系统2100还包括与配线管理器2110通信的配线控制器2120,该配线控制器2120可引导该配线管理器2110以对绑定配线的必要事件变化作用。子系统2100还包括配线中介器2130,该配线中介器2130可检测可由绑定配线链接的任何对象的属性或状态变化所触发的配线事件变化,然后将检测到的该配线事件变化报告给配线控制器2120。配线中介器2130可包括监听器(未显示),该监听器可定时监控链接对象和/或绑定配线的任何配线事件变化。在一些实施例中,配线控制器2120可与配线中介器2130结合以形成单个部件。在此例子中,当配线控制器2120被配线中介器2130通知关于一配线事件变化时,配线控制器2120命令配线管理器2110通过所有相关绑定配线来传播该配线事件变化,从而更新所有相关对象的必要属性或状态变化。子系统2100还可包括对象管理器2140,该对象管理器2140可在GUI屏幕上从对象库(未显示)建立对象、调整建立的对象的行为、以及监控可能发生于那些对象的任何属性或状态变化,然后将上述变化传递给配线控制器2120。对象管理器2140可以是嵌在如图16和20所示的GUI生成器1630内的子部件,或是与GUI生成器1630通信的分离部件。
使用三个绑定配线(n=3)的情形作为示例,用户可使用配线管理器2110建立三个绑定配线2150、2160、2170以将四个对象连接在一起。对于每个建立的绑定配线,配线管理器2110可在配线2150的主端构建主对象指示器2152和主对象调节器2154,在配线2150的从端构建从对象指示器2156和从对象调节器2158。配线管理器2110也可在配线2160的主端构建主对象指示器2162和主对象调节器2164,在配线2160的从端构建从对象指示器2166和从对象调节器2168。配线管理器2110还可在配线2170的主端构建主对象指示器2172和主对象调节器2174,在配线2170的从端构建从对象指示器2176和从对象调节器2178。在此例子中,对于每个配线2150、2160、2170,配线2150、2160、2170的主对象指示器2152、2162、2172指向配线2150、2160、2170在其主端连接的主对象的特定属性或状态功能区并与配线2150、2160、2170的主对象调节器2154、2164、2174配对,配线2150、2160、2170的从对象指示器2156、2166、2176指向配线2150、2160、2170在其从端连接的从对象的特定属性或状态功能区并与配线2150、2160、2170的从对象调节器2158、2168、2178配对。并且,对于每个配线2150、2160、2170,配线2150、2160、2170的主对象调节器2154、2164、2174可发起和/或登记链接于配线2150、2160、2170的主对象中的属性或状态变化,配线2150、2160、2170的从对象调节器2158、2168、2178可发起和/或登记链接于配线2150、2160、2170的从对象中的属性或状态变化。在一些实施例中,配线管理器2110可为每个配线建立单个对象指示器,该单个对象指示器包括指向配线在主端连接的主对象的特定属性或状态功能区的主对象子部分和指向配线在从端连接的从对象的特定属性或状态功能区的从对象子部分。在一些实施例中,配线管理器2110可为每个配线建立单个对象调节器,该单个对象调节器包括可发起和/或登记链接于配线端的主对象中的属性或状态变化的主对象子部分和可发起和/或登记链接于配线的从对象中的属性或状态变化的从对象子部分。
使用两个绑定配线,例如,配线1(2150)和配线2(2160),将三个对象链接在一起的情形作为示例,配线中介器2130可监控可能发生于两配线2150、2160中的任何配线的任何配线事件变化。当属性或状态变化发生于链接的三个对象中的一个,配线中介器2130可检测由该属性或状态变化所触发的配线事件变化,并通过发送,例如指向属性或状态已变化的功能区的对象指示器,以报告该配线事件变化给配线控制器2120。一接收到该对象指示器,配线控制器2120可通过映射接收的对象指示器到对象管理器2140存储的对象指示器,来识别链接于已变化的功能区的特定配线。一识别出相关配线,配线控制器2120可接着命令配线管理器2110通过两配线来传播配线事件变化,从而更新链接的所有三个对象处的必要属性或状态变化。在竞态条件的情形下,即在单个周期中配线事件变化在配线1(2150)和配线2(2160)都被检测到,配线中介器2130可与配线控制器2120通信,从而引导配线管理器2110构建合适的配线方向,在该配线方向下,在主端发生的属性或状态变化将支配在其他端发生的任何属性或状态变化,如上所述。
使用如图20所示的长方形被选为对象1(2020)、椭形被选为对象2(2022)以及滑块被选为对象m(2024)的情形作为示例,子系统2100的配线管理器2110可建立两个绑定配线,例如配线1(2150)和配线2(2160),以将三个对象2020、2022、2024连接在一起。配线1(2150)可链接长方形2020的‘位置Y’功能区与椭形2022的‘位置X’功能区。配线2(2160)可链接椭形2022的‘位置X’功能区与滑块2024的‘位置Y’功能区。当用户上下滑动滑块2024的旋钮以改变滑块2024的‘位置Y’属性时,取决于滑块2024是否被指定为主对象或从对象,与滑块2024的‘位置Y’功能区连接的配线2(2160)的主对象调节器2164或从对象调节器2168将更新其值,并将主对象指示器2162或从对象指示器2166和配线事件变化一起发送给配线中介器2130。配线中介器2130可接着报告该配线事件变化和主对象或从对象指示器2162、2166给配线控制器2120。配线控制器2120可通过映射该主或从对象指示器2162、2166到对象管理器2140存储的对象指示器,以识别出在配线2(2160)的主端或从端已发生变化。然后,配线控制器2120可引导配线管理器2110发送改变的‘位置Y’属性给配线2(2160)的从或主对象调节器2168、2164。配线控制器2120可通过映射配线2(2160)的从或主对象指示器2166、2162到对象管理器2140存储的对象指示器,而将椭形2022的‘位置X’功能区定位于配线2(2160)的从或主端连接处,然后引导配线管理器2110随滑块2024的已变化的‘位置Y’属性更新椭形2022的‘位置X’属性。当椭形2022的‘位置X’属性已发生变化,由于两配线2160、2150具有连接于椭形2022的‘位置X’功能区的一端,子系统2100可传播配线2(2160)的变化至配线1(2150)。在此例子中,子系统2100可以类似于上述的方式改变长方形2020的‘位置Y’属性。如此,子系统2100可通过该两个相关配线2160、2150,来传播可能发生于配线2(2160)的主或从端的配线事件变化。在竞态条件的情形下,即,例如,在单个周期中长方形2020的‘位置Y’属性与滑块2024的‘位置Y’属性都改变,配线中介器2130可与配线控制器2120通信以引导配线管理器2110构建合适的配线方向,从而传播上述两个变化中的仅一个变化。例如,如果滑块2024连接于配线2(2160)的主端,滑块2024的‘位置Y’属性变化将支配长方形‘位置Y’属性变化。在该情形下,配线2(2160)上的任何变化将从配线2(2160)传播至配线1(2150)。另一方面,如果长方形2020连接于配线1(2150)的主端,长方形2020的‘位置Y’属性变化将支配滑块2024的‘位置Y’属性变化。在该情形下,配线1(2150)上的任何变化将从配线1(2150)传播至配线2(2160)。在滑块和长方形分别连接于配线2(2160)、配线1(2150)的主端的情形下,该两个主端中的一个可指定为主要主端,从而具有主要主端的配线上的任何变化将从该配线传播至另一配线。
现参阅图22,其提供示例方法2200,该方法可用于实施如图20所示的示例系统1600以使用GUI 1610将三个或更多个对象连接和绑定在一起。在步骤2210中,用户可在GUI屏幕1610从对象库1640建立三个或更多个对象,其中每个对象具有至少一个属性。在步骤2220中,可建立三个或更多个信息中心,该三个或更多个信息中心分别相应于建立的三个或更多个对象。每个信息中心可包括选自信息功能区库1650的一个或更多个功能区。然后,建立的三个或更多个信息中心可与相应对象链接,从而每个信息中心的一个或更多个功能区可控制各对象的相应的一个或更多个属性。在步骤2230中,该用户可以来自配线库1680的可视配线的形式建立两个或更多个绑定连接,以通过相互绑定该三个或更多个信息中心的各自的一个或更多个功能区,而将该三个或更多个对象链接在一起。建立的两个或更多个绑定连接可锁定连接在一起的该三个或更多个对象的一个或更多个属性,从而所有三个或更多个对象的各自的一个或更多个属性享有相同值或一组相同值。在步骤2240中,该用户可改变链接在一起的该三个对象或更多个对象的任何一个的一个或更多个属性。在步骤2250中,配线中介器2130可检测在步骤2240中发生的属性变化并通过发送指示器给变化的对象来报告该变化给配线控制器2120,然后,配线控制器2120可通过映射相关对象指示器到对象管理器2140存储的对象指示器,以识别相关于该属性变化的对象。在步骤2260中,配线控制器2120可确定连接于识别对象的配线。在步骤2270中,配线管理器2110可应用该属性变化于也链接于该配线的对象,然后重复步骤2260和2270,从而传播该属性变化至所有剩余对象。
图23是计算机系统2300的示意图。系统2300可用于与本发明描述的任何计算机实施方法相关联的描述的操作。系统2300可包括各种形式的数字计算机,如笔记本电脑、台式电脑、工作站、个人数字助理、服务器、刀锋服务器、主机及其他合适的计算机。系统2300还可包括移动装置,如个人数字助理、移动电话、智能手机及其他类似计算装置。此外,系统2300可包括便携式存储介质,如闪存盘(USB Flash drives)。例如,闪存盘可存储操作系统和其他应用程序。闪存盘可包括输入/输出部件,如无线传送器或可插入另一个计算装置的USB端口的USB连接器。
在此例子中,系统2300包括处理器2310、存储器2320、存储装置2330和输入/输出装置2340。部件2310、2320、2330和2340的每一个使用系统总线2350相互连接。处理器2310能处理系统2300内的执行命令。处理器2310可使用一些架构中的任何架构设计。例如,处理器2310可以是复杂指令集计算机处理器、精简指令集计算机处理器或最小指令集计算机处理器。
在一些实施中,处理器2310是单线程处理器。在一些实施中,处理器2310是多线程处理器。处理器2310能处理存储器2320中或存储装置2330存储的命令,以在输入/输出装置2340上显示用户界面的图形信息。
存储器2320在系统2300内存储信息。在一些实施中,存储器2320是计算机可读介质。在一些实施中,存储器2320是易失性存储单元。在一些实施中,存储器2320是非易失性存储单元。
存储装置2330能为系统2300提供海量存储。在一些实施中,存储装置2330是计算机可读介质。例如,存储装置2330可以是软碟装置、硬碟装置、光学磁盘装置或磁带装置。
输入/输出装置2340为系统2300提供输入/输出操作。在一些实施中,输入/输出装置2340包括键盘和/或指针式装置。在一些实施中,输入/输出装置2340包括用于显示图形用户界面的显示单元。
现参阅图24和25,其提供包括容器对象2401的GUI 2400的示例屏幕截图。容器对象2401用描图框2402显示,包括标题栏2403、压缩栏2404、以及端口区2405。容器对象2401还包括对象空间2406。图24所示的容器对象2401在该对象空间2406中包括单个对象2410。图25所示的容器对象2401在对象空间2406中包括对象2410和对象2411。任何类型对象或资产可包括于容器对象2401内或包含在容器对象2401,包括原始对象、逻辑对象、交互对象、容器对象和/或这些的任何数量和/或组合。
标题栏2403包括能根据容器对象2401的状态、弹出菜单键2408和描图框关闭键2409改变的标题2407。标题2407描述容器对象2401上执行的当前程序(即,编辑、运行等)、容器对象2401的名称或容器对象2401内选择的对象的名称、以及容器对象2401内的对象总数。此外,用户可点击并拖曳标题栏2403以在GUI 2400内移动整个容器对象2401。
例如,如果对象在容器对象2401内建立,标题2407包括建立的对象名称。在另一个例子中,如果有多个对象在容器对象2401内,并且该多个对象中的一个被该用户选择,标题2407包括选择的对象名称。在又一个例子中,如果有多个对象在容器对象2401内,并且多个对象被该用户选中,标题2407包括名称“多个”。此外,在另一个例子中,如果在容器对象2401中没有对象被用户选择,标题2407包括由容器对象2401的名称和在容器对象2401内的对象总数组成的名称。
如图26A所示,弹出菜单键2408被用户选择时,提供包含容器对象2401的功能设置的菜单。在图26A所示的实施例中,弹出菜单键2408打开菜单2415,该菜单2415包括允许用户选择是否显示容器对象2401内的对象间所有配线连接的“显示配线”选项;允许用户选择是否禁止容器对象2401内的对象间的任何配线连接的任何编辑的“锁定配线”选项;允许用户选择是否禁止容器对象2401内任何资产的任何编辑的“锁定资产”选项;允许用户选择是否禁止容器对象2401内任何对象或资产的任何重新定位的“锁定相对XY位置”选项;以及允许用户选择是否删除端口区2405内的任何未使用的端口的“删除未使用端口”选项。
如图26B所示,描图框关闭键2409被用户选择时,隐藏描图框2402(包括标题栏2403、压缩栏2404、和端口区2405)。当描图框关闭键2409被选择时,所有显示容器对象2401的是在对象空间2406中的对象2410、2411和2412,和在对象空间2406周围的边界框2416。
压缩栏2404提供在容器对象2401每一层上的对象数量的可视表示。该压缩栏还提供用户在嵌于其他对象内的对象间导航的导航方法。该压缩栏包括指示该容器对象的最顶(即,最高)层的主方块,一个或更多个对象方块,每个对象方块表示容器对象中的对象,以及在对象方块间的分界线,其用于分组和嵌设对象于容器对象内。
例如,如图27A所示,压缩栏2404包括主方块2700,该主方块可被用户选择以返回容器对象2401的最高层。压缩栏2404还包括对象方块2701(每个对象方块2701表示容器对象2401内的一个分离的对象),这些对象方块2701被用于分组和嵌设对象于容器对象2401内的分界线2702所隔开。如图27B所示,当表示对象2420的对象方块2701被用户选择,容器对象2401内的对象2420显示于对象空间2406的顶层,并且边界框2421出现在对象2420周围。标题2407还将指示选择对象的名称,标题栏2403将包括“重置层数”键2422,当该键被用户选择时,将回复容器对象2401内对象层数到其原始设置。
图28A和28B示出了嵌于或本文所使用的“包含于”另一个容器对象内的容器对象的功能。如图28A所示,容器对象2401包含容器对象2801和2802于对象容器空间2406。类似地,容器对象2801包含容器对象2805和2806。容器对象2806还包含对象2807、2808、2809和2810。容器对象2802包含对象2811和2812和容器对象2813。容器对象2813包含对象2814。对象2807、2808、2809、2810、2811、2812和2814每个可以是交互对象、容器对象、原始对象、逻辑对象和/或资产。
当嵌于另一容器对象的容器对象被用户通过例如选择图27A和27B所示的对象方块选择时,该选择容器对象在新描图框中被打开。例如,如图28B所示,当容器对象2816被选择,描图框2815为容器对象2816打开。
类似于其他对象,每个容器对象包括与之相关联的信息中心和检查器。例如,如图29所示,容器对象2401包括信息中心2900和检查器(未显示)。此外,如图24和30所示,端口区2405包括允许容器对象2401内的对象与容器对象2401外的对象连接和绑定的端口2414,在图30中,容器对象2401包括包含信息中心2902的对象2901和包含信息中心2904的对象2903。当配线,如配线2905,在信息中心2902或2904的属性功能区与端口2414之一间连接,用户被给予选项选择配线2905将在容器对象2401的信息中心2900的哪里被提及和其如何被命名。
如图31A-31B所示,所有端口2414在端口区2405被显示为点,直到其被连接。当配线2905被用户拖曳到端口区2405,它们将快速移动至最近的端口2414。然后,已连接端口2414将指示配线2905类型(即,输入配线,输出配线、属性配线、只读属性配线等等)。每个端口2414独立于彼此运作,并且可连接于不同配线2905。描图框2402将扩大以包容对象空间2406内的对象的所有信息中心。当信息中心打开和关闭时,描图框2402将相应地扩大或收缩。如图31B所示,当新端口2414被连接,自定义功能区建立于容器对象2401的信息中心2900中。该自定义功能区显示于信息中心2900以确认配线2905已建立。如图31C所示,当光标滚过连接于端口区2405中的端口2414之一的配线,该配线、该端口和信息中心2900被突出。如图31D和31E所示,当配线2905被删除,已连接端口2414仍然有效,并且相关联的自定义功能区描述仍在信息中心2900中。如果另一配线2905连接于仍然有效的端口2414,新配线将与信息中心2900中先前建立的自定义功能区描述相关联。如图31F所示,如果用户想删除有效端口和信息中心2900中相关联的功能区描述,用户可通过选择弹出菜单2408并选择“删除未使用端口”功能来予以删除。
图32A和32B示出了如果对象3350和3352中的一个在对象空间2406内移动,描图框2402如何被调整。图32A显示了对象3350和3352,以及对象3350的信息中心3351用配线2905与端口2414中的一个连接。如图32B所示,当对象3350在对象空间2406内移动,描图框2402扩大以容纳对象3350的新位置,而配线2905仍然连接于相同的端口2414。
图32C和32D示出了如果对象3350和3352的一个的信息中心扩大,描图框2402如何被调整。图32C显示了对象3350和3352,对象3350的信息中心3351用配线2905与端口2414中的一个连接,以及对象3352的信息中心3353用配线2905与两个端口2414连接。如图32D所示,当信息中心3353扩大,描图框2402扩大以容纳信息中心3353的新尺寸,而配线2905仍然连接于相同的端口2414。
图32E和图32F示出了如果对象3350和3352中的一个的信息中心缩小,描图框2402如何被调整。图32E显示了对象3350和3352,对象3350的信息中心3351用配线2905与端口2414的一个连接,以及对象3352的信息中心3353用配线2905与两个端口2414连接。如图32F所示,当信息中心3353缩小,描图框2402仍保持相同尺寸以显示配线2905仍连接于相同的端口2414。
图32G-32I示出了如果端口2414在端口区2405内位移,描图框2402如何被调整。图32G显示了对象3350和3352,对象3350的信息中心3351用配线2905与端口2414的一个连接,以及对象3352的信息中心3353用配线2905与两个端口2414连接。如图32H所示,当配线2905连接于处于端口区2405较低部位的端口2414时,上述配线2905可被用户选择并拖曳至处于端口区2405较高部位的端口2414。当没有配线和对象处于对象空间2406的较低区域,描图框2402将如图32I所示缩小。
图32J-32N示出了新对象如何被添入容器对象2401。图32J显示了容器对象2401外的对象3354。如图32K和32M所示,用户可使用,例如光标3355,来选择和拖曳该对象3354。如图32N所示,当光标3355越界进入描图框2402时,描图框2402扩大以包含该对象3354。标题2407更新为显示对象3354的增加的对象方块,而标题2407的对象数更新为包括对象3354。
图32O-32P示出了如何从容器对象2401移除对象。如图32O所示,一旦对象,如对象3354,加入容器对象2401,以致容器对象2401包含该对象3354,选择该对象3354并将该对象3354拖出对象空间2406将导致描图框2402和对象空间2406扩大从而包含该对象3354于其新位置。为了从容器对象2401移除对象,如对象3354,用户可选择对象3354,然后在GUI的菜单3356上,选择“删除对象”功能或“剪切对象”功能。
图32Q-32R示出了容器对象2401内的对象如何与容器对象2401外的对象连接。图32Q显示了用户可从信息中心3351为对象3350(在容器对象2401内)拖出配线2905直接至对象3352(容器对象2401外)的信息中心3353。图32R显示了GUI自动从信息中心3351连接第一配线3358至端口2414的一个,在容器对象2401的信息中心2900中生成相关联的自定义功能区描述,并从信息中心2900连接第二配线3359至对象3352的信息中心3353。
图33A-33C示出了嵌于容器对象2401内的容器对象的对象如何与容器对象2401外的对象连接。图33A显示了容器对象2401(显示于图33B)内的容器对象3360和对象3361和3362。图33A显示了用户可从容器对象3360内的对象3363的信息中心3364拖出配线2905至位于容器对象2401外的对象3365的信息中心3366。图33B显示了GUI自动从信息中心3364连接第一配线3368至容器对象3360的端口3369,在容器对象3360的信息中心3367中生成相关联的自定义功能区描述,从信息中心3367连接第二配线3370至容器对象2401的端口2414,在容器对象2401的信息中心2900中生成相关联的自定义功能区描述,并从信息中心2900连接第三配线3371至对象3365的信息中心3366。在一些实施例中,只有当前选择对象的描图框出现。因此,如图33C所示,用户只看见信息中心3367通过第二配线3370连接于端口2414和信息中心2900与位于容器对象2401外的对象3365的信息中心3366连接。
图34A-34D示出了GUI内的多个对象如何可合并至容器对象。首先,用户选择多个对象3401、3402和3403。然后,从GUI的菜单3405,该用户选择“制作对象”功能。如图34C所示,对象3401、3402和3403合并至具有边界框3409的单个容器对象3407,以致于对象3401、3402和3403的信息中心(未显示)被隐藏,并且对象3401、3402和3403间的任何内部连接(未显示)也隐藏。当用户选择并打开容器对象3407,描图框3410和对象空间3415出现,使用户能编辑对象3407。
文库,或“云文库”,是用户用遍及云网络的广泛社群分享对象和容器对象的方法。文库提供了一系列功能:
上传对象和容器对象以存储为创建者使用;
上传对象和容器对象以与线上社群分享;
上传对象和容器对象以卖给一线上社群的成员;以及
评论对象和容器对象以被创建者用于购买和下载
文库同时用作储存区域、分享对象和容器对象的工具,以及评论和购买对象和容器对象的商店。
如图35A-35D所示,在一些实施例中,GUI 2400包括文库4400,该文库4400由例如云形框表示。云文库包括按键4402。在云文库中,应用程序、对象和资产由图标表示,用户可从可视文库拖出表示多媒体计算机应用程序、对象或资产的特定图标至社群环境的工作空间内的项目中。
图35A显示了文库4400的主要部件。文库4400是出现于多媒体计算机应用程序之上的窗口。可通过点击侧板中的按键4402访问文库4400。文库包含数个元件以操纵其包含的对象和容器对象。有定位菜单4403以选择不同区域。有类别菜单4404以选择一个类别的项目查看。有搜索功能4405(未显示于35A中)以搜索特定对象和容器对象。有分类菜单4406以选择如何查看所找到的对象。有排序键4407以从最高到最低排列对象和容器对象的查看,或相反。有“添加对象”按键4420以添加对象入文库4400。
通过选择对象4440下载对象至屏幕、然后拖曳其至屏幕4441,在屏幕中该对象可被打开4442以用于编辑。如果对象被购买,创建者在拖曳4441对象至屏幕前,要为该对象进行支付。
当对象上传以被分享,如图35C所示,创建者填写有关该对象的信息4450,包括名称4451、价格4452如果有、类别4453、描述4454、分享级别4455、以及搜索标签4456。
图35D显示了当对象因潜在购买和下载而被查看时,对象在文库4461中被选择,信息板4460出现以显示有关该对象的信息。
在图36中,显示了GUI 2400的示例屏幕截图,该GUI 2400运作于运行模式,相对于创建模式。在运行模式下,GUI 2400仍能显示在创建模式中建立的绑定连接4500和用于直接访问以分别控制滑块4530和椭形4540的各种属性的信息中心4510和4520。例如,在图36中,移动滑块4530的旋钮4535以改变椭形4540的不透明度。在运行模式或创建模式中,该用户可物理访问信息中心4510和4520以对滑块4530和椭形4540间的绑定属性作用。该用户也可通过沿滑块4530移动旋钮4535,来对椭形4540的不透明度作用。在此例子中,该用户也可从信息中心4520改变椭形4540的不透明度,从而沿滑块4530移动滑块旋钮4535。因此,在这些实施例中,GUI 2400被配置成允许用户查看并访问信息中心以在运行模式和创建模式中对对象的属性作用。
本发明描述的特征可在数字电子线路中,或计算机硬件、固件、软件或其结合中实施。装置可在有形地被承载于信息载体的计算机程序产品中实现,例如,机器可读存储装置中或传播信号中,由可编程处理器执行;以及方法步骤可由可编程处理器实现,可编程处理器通过对输入数据进行操作执行程序命令以实现所描述实施的功能并生成输出。上述特征可在一个或更多个计算机程序中有利地实施,这些计算机程序在可编程系统上可执行,该可编程系统包括至少一个被联接以从数据存储系统接收数据和指令和传送数据和指令给数据存储系统的可编程处理器、至少一个输入装置和至少一个输出装置。计算机程序是可直接或间接在计算机中使用以执行某个活动或产生某个结果的一组指令。计算机程序可以任何形式编程语言撰写,包括编译语言或解释语言,并且计算机程序可以任何形式布局,包括作为独立程序或作为模块、部件、子程序或适用于计算环境中的其他单元。
执行程序指令的合适处理器包括,例如,任何种类计算机的多处理器之一或单处理器,以及通用微处理器和专用微处理器。通常,处理器从只读存储器或随机存取存储器或两者接收指令和数据。计算机的必要元件是执行指令的处理器、存储指令和数据的一个或更多个存储器。通常,计算机还包括或可操作地联接以与一个或更多个用于存储数据文件的大容量存储装置通信;该类装置包括磁盘,如内部硬盘和可移动磁盘;磁光盘;以及光盘。适用于有形承载计算机程序指令和数据的存储装置包括所有形式的非易失性存储器,包括例如半导体存储装置,如电可编程只读存储器(EPROM)、电可擦除只读存储器(EEPROM)和闪存装置;磁盘如内部硬盘和可移动磁盘;磁光盘;和CD-ROM、DVD-ROM磁盘。处理器和存储器可由专用集成电路(application-specific integrated circuits,简称“ASIC”)提供,或嵌入ASIC中。
为了提供与用户的交互,本发明描述的特征可在计算机上实施,该计算机具有显示装置,如用于显示信息给用户的CRT(阴极射线管)显示器或液晶显示器(liquid crystal display,简称“LCD”),和键盘和指针式装置如鼠标或追踪球,通过这些装置用户可提供输入给计算机。
上述特征可在计算机系统中实施,该计算机系统包括后端部件,如数据服务器,或包括中间部件,如应用服务器或因特网服务器,或包括前端部件,如具有图形用户界面或浏览器的客户端计算机,或它们的任何组合。该系统的各部件可通过任何形式或数字数据通信介质如通信网络来连接。通信网络的例子包括局域网(LAN)、广域网(WAN)、点对点网络(P2P,具有特别或静态成员)、网格计算构架和因特网。
该计算机系统可包括客户端和服务器。客户端和服务器通常相互远离,并且一般通过网络交互。客户端和服务器的关系利用在各计算机上运行并且相互具有客户端-服务器关系的计算机程序产生。
本发明描述的GUI可用于开发广泛的多媒体应用程序,从简单的演示到交互项目到实时仿真。在该广泛的应用范围中,创建者/建立者可不用编程控制多媒体对象。GUI允许创建者/建立者通过在GUI屏幕上制作草图开始项目,接着添加动画和交互以使草图处于活动状态。然后创建者/建立者可试验想法,根据需要调整,并最后通过在草图对象上放置可视和音频对象而将草图对象替换为最终的多媒体对象。作为示例,创建者可使用GUI开发项目,其允许创建者点击建筑物蓝图上的点以从该角度查看该建筑物的样子。创建者可先为具有不同查看点的蓝图建立草图对象,以及为相应于不同查看点的不同建筑物照片建立数个草图对象。每个草图对象具有信息中心,该信息中心具有输入、属性和输出。然后创建者可选择要点击的点和要显示的照片,相关信息中心将因这两个对象出现。创建者可从该蓝图信息中心上的‘点击释放’输出拉出配线至该照片信息中心的‘显示’输入,以在这两个对象间建立交互。通过这类交互,创建者可通过简单点击该点来显示草图照片区域。为了完成该项目,创建者可拖曳完成的蓝图和相关照片到各草图对象上,以将草图对象替换为新对象、保持功能完整、将附属于草图对象的逻辑转移到新对象,并产生最终产品。考虑到本发明描述的用于各种对象的广泛范围的输入、输出和可调节属性,用户可使用GUI为很大范围的应用包括电子学习、游戏、通信及其他建立复杂产品。
当GUI作为网络服务实施,各种资产如声音、照片、文本和图形可载入云服务器,该云服务器允许用户从任何地方使用任何连接计算机来访问许多大项目,在这些连接计算机中,需要大容量局部存储的大型文件或冗长的下载可能不需要。
GUI允许多个用户间的各种层次的合作。例如,GUI允许创建者们合作。同时对同一项目工作,创建者可相互草拟不同解决方案、配线资产,并演示问题和机会。这种合作功能可允许可能在地理上分布的团队通过简化同步和异步的贡献建立复杂项目。GUI还允许用户与创建者和用户相互合作。项目用户可发表评论和甚至实时与项目创建者聊天。如果创建者允许,项目用户可不仅相互聊天,还可自调整应用程序,并提交改变以获取项目创建者的同意。这种合作功能可允许一个大组织不仅保持信息和最佳实践流通,还支持非正规学习,在其中每个员工能相互分享性能提示、解决方案、最佳实践和各类信息。
本发明描述的实施例允许多媒体计算机应用的可视编程。可视编程提供了允许用户比通过使用基于传统文本编程能更有效、更简便地建立和编辑多媒体计算机应用程序的技术效果。可视编程还减少了用户从通用计算装置配置专用计算装置的学习曲线。也就是,可视编程有效地将通用计算装置配置成专用计算装置以有效地、简便地建立多媒体计算机应用程序。
尽管一些实施已在上文中详细描述,其他调整是可能的。例如,附图中显示的各种模块或其他部件的位置并没有意图限制,仅作为例子给出。此外,图中描述的逻辑流程并不需显示的特定顺序或连续顺序以达成所要的结果。另外,其他步骤可加入或从描述的流程中移除,而其他部件可添入或从描述的系统中移除。相应地,其他实施在随后的权利要求范围内。本发明描述的例子从各方面来说是意欲被视为示例并且是非限制性的。本发明的范围由随附的权利要求书表明,而不是由前述的说明书表明;以及权利要求的等同物的意义与范围内所得的所有变化是意欲被包含在本发明中的。
发明方面
本发明的各方面为:
方面1 一种具有创建模式和运行模式的图形用户界面(GUI),包括:
工具箱,其被配置成建立第一对象和第二对象;
与该第一对象链接的第一信息中心,该第一信息中心包括被配置成改变该第一对象的第一属性的第一功能区;
与该第二对象链接的第二信息中心,该第二信息中心包括被配置成改变该第二对象的第一属性的第一功能区;以及
由第一可视配线表示的第一绑定连接,其用于将该第一信息中心的第一功能区与该第二信息中心的第一功能区绑定,该第一绑定连接被配置成在创建模式和运行模式下根据该第一对象的第一属性变化来改变该第二对象的第一属性,和根据该第二对象的第一属性变化来改变该第一对象的第一属性。
方面2 方面1的GUI,其中该第一绑定连接进一步被配置成,如果在该第一对象的第一属性变化前或后的预选时间周期内该第二对象的第一属性发生变化,在创建模式和运行模式下根据该第一对象的第一属性变化来改变该第二对象的第一属性。
方面3 方面1的GUI,其中该第二信息中心还包括被配置成改变该第二对象的第二属性的第二功能区;上述GUI还包括:
由第二可视配线表示的第二绑定连接,其用于将该第一信息中心的第一功能区与该第二信息中心的第二功能区绑定,该第二绑定连接被配置成,在创建模式和运行模式下根据该第一对象的第一属性变化来改变该第二对象的第二属性,和根据该第二对象的第二属性变化来改变该第一对象的第一属性。
方面4 方面1的GUI,其中该第一信息中心还包括被配置成改变该第一对象的第二属性的第二功能区,该第二信息中心还包括被配置成改变该第二对象的第二属性的第二功能区;上述GUI还包括:
由第二可视配线表示的第二绑定连接,其用于将该第一信息中心的第二功能区与该第二信息中心的第二功能区绑定,该第二绑定连接被配置成,在创建模式和运行模式下根据该第一对象的第二属性变化来改变该第二对象的第二属性,和根据该第二对象的第二属性变化来改变该第一对象的第二属性。
方面5 方面1的GUI,其中该工具箱进一步被配置成建立第三对象;上述GUI还包括:
与该第三对象链接的第三信息中心,该第三信息中心包括被配置成改变该第三对象的第一属性的第一功能区;以及
由第二可视配线表示的第二绑定连接,其用于将该第一信息中心的第一功能区与该第三信息中心的第一功能区绑定,该第二绑定连接被配置成,在创建模式和运行模式下根据该第一对象的第一属性变化来改变该第三对象的第一属性,和根据该第三对象的第一属性变化来改变该第一对象的第一属性。
方面6 方面1的GUI,其中该第一信息中心还包括被配置成改变该第一对象的第二属性的第二功能区;其中该工具箱进一步被配置成建立第三对象;上述GUI还包括:
与该第三对象链接的第三信息中心,该第三信息中心包括被配置成改变该第三对象的第一属性的第一功能区;以及
由第二可视配线表示的第二绑定连接,其用于将该第一信息中心的第二功能区与该第三信息中心的第一功能区绑定,该第二绑定连接被配置成,在创建模式和运行模式下根据该第一对象的第二属性变化来改变该第三对象的第一属性,和根据该第三对象的第一属性变化来改变该第一对象的第二属性。
方面7 方面1的GUI,其中该工具箱进一步被配置成建立第三对象;上述GUI还包括:
与该第三对象链接的第三信息中心,该第三信息中心包括被配置成改变该第三对象的第一属性的第一功能区;以及
由第二可视配线表示的第二绑定连接,其用于将该第二信息中心的第一功能区与该第三信息中心的第一功能区绑定,该第二绑定连接被配置成,在创建模式和运行模式下根据该第二对象的第一属性变化来改变该第三对象的第一属性,和根据该第三对象的第一属性变化来改变该第二对象的第一属性;
其中该第一、第二和第三对象中任一个的第一属性变化将引起剩余两个对象的各第一属性的相应变化。
方面8 方面7的GUI,其中该第一和第二绑定连接进一步被配置成,如果在该第一对象的第一属性变化前或后的预选时间周期内该第二或第三对象的第一属性发生变化,在创建模式和运行模式下根据该第一对象的第一属性变化来改变该第二和第三对象的第一属性。
方面9 方面7的GUI,其中该第一和第二绑定连接进一步被配置成,如果在该第二对象的第一属性变化前或后的预选时间周期内该第一或第三对象的第一属性发生变化,在创建模式和运行模式下根据该第二对象的第一属性变化来改变该第一和第三对象的第一属性。
方面10 方面1-9的任一GUI,其中该第一或第二可视配线是可自配置的以保持平滑曲线,从而最小化与其他图形实体的重叠。
方面11 一种具有创建模式和运行模式的图形用户界面(GUI),包括:
工具箱,其被配置成建立第一对象和第二对象;
与该第一对象链接的第一信息中心,该第一信息中心包括与该第一对象的第一事件相关的第一功能区;
与该第二对象链接的第二信息中心,该第二信息中心包括被配置成改变该第二对象的第一状态的第一功能区;以及
由可视配线表示的绑定连接,其用于将该第一信息中心的第一功能区与该第二信息中心的第一功能区绑定,该绑定连接被配置成,在创建模式和运行模式下根据第一对象的第一事件的发生来改变该第二对象的第一状态。
方面12 一种具有创建模式和运行模式的图形用户界面(GUI),包括:
工具箱,其被配置成建立对象;
与该对象链接的信息中心,该信息中心包括与该对象的事件相关的第一功能区和被配置成改变该对象状态的第二功能区;以及
由可视配线表示的绑定连接,其用于将该信息中心的第一和第二功能区绑定,该绑定连接被配置成,在创建模式和运行模式下根据该对象的事件的发生来改变该对象的状态。
方面13 方面11或12的GUI,其中该可视配线是可自配置的以保持平滑曲线,从而最小化与其他图形实体的重叠。
方面14 一种计算机实施方法,包括:
在具有创建模式和运行模式的图形用户界面(GUI)上建立第一对象和第二对象;
将该第一对象与第一信息中心链接,该第一信息中心包括被配置成改变该第一对象的第一属性的第一功能区;
将该第二对象与第二信息中心链接,该第二信息中心包括被配置成改变该第二对象的第一属性的第一功能区;
通过使用第一可视配线链接该第一信息中心的第一功能区的输出端口至该第二信息中心的第一功能区的输入端口,在该第一信息中心的第一功能区与该第二信息中心的第一功能区间建立第一绑定连接;以及
执行下面的至少一个:
(i)在创建模式或运行模式经由上述第一绑定连接通过改变该第一对象的第一属性,来改变该第二对象的第一属性;以及
(ii)在创建模式或运行模式经由上述第一绑定连接通过改变该第二对象的第一属性,来改变该第一对象的第一属性。
方面15 方面14的计算机实施方法,还包括如果在该第一对象的第一属性变化前或后的预选时间周期内该第二对象的第一属性发生变化,在创建模式或运行模式下经由上述第一绑定连接根据该第一对象的第一属性变化来改变该第二对象的第一属性。
方面16 方面14的计算机实施方法,其中该第二信息中心还包括被配置成改变该第二对象的第二属性的第二功能区;上述方法还包括:
通过使用第二可视配线链接该第一信息中心的第一功能区的输出端口至该第二信息中心的第二功能区的输入端口,在该第一信息中心的第一功能区和该第二信息中心的第二功能区间建立第二绑定连接;以及
执行下面的至少一个:
(i)在创建模式和运行模式经由上述第二绑定连接根据该第一对象的第一属性变化来改变该第二对象的第二属性;以及
(ii)在创建模式和运行模式经由上述第二绑定连接根据该第二对象的第二属性变化来改变该第一对象的第一属性。
方面17 方面14的计算机实施方法,其中该第一信息中心还包括被配置成改变该第一对象的第二属性的第二功能区;其中该第二信息中心还包括被配置成改变该第二对象的第二属性的第二功能区;上述方法还包括:
通过使用第二可视配线链接该第一信息中心的第二功能区的输出端口至该第二信息中心的第二功能区的输入端口,在该第一信息中心的第二功能区与该第二信息中心的第二功能区间建立第二绑定连接;以及
执行下面的至少一个:
(i)在创建模式或运行模式经由上述第二绑定连接根据该第一对象的第二属性变化来改变该第二对象的第二属性;以及
(ii)在创建模式或运行模式经由上述第二绑定连接根据该第二对象的第二属性变化来改变该第一对象的第二属性。
方面18 方面14的计算机实施方法,还包括:
在GUI上建立第三对象;
将该第三对象与第三信息中心链接,该第三信息中心包括被配置成改变该第三对象的第一属性的第一功能区;
通过使用第二可视配线链接该第一信息中心的第一功能区的输出端口至该第三信息中心的第一功能区的输入端口,在该第一信息中心的第一功能区与该第三信息中心的第一功能区间建立第二绑定连接;以及
执行下面的至少一个:
(i)在创建模式或运行模式经由上述第二绑定连接根据该第一对象的第一属性变化来改变该第三对象的第一属性;以及
(ii)在创建模式或运行模式经由上述第二绑定连接根据该第三对象的第一属性变化来改变该第一对象的第一属性。
方面19 方面14的计算机实施方法,其中该第一信息中心还包括被配置成改变该第一对象的第二属性的第二功能区;上述方法还包括:
在GUI上建立第三对象;
将该第三对象与第三信息中心链接,该第三信息中心包括被配置成改变该第三对象的第一属性的第一功能区;
通过使用第二可视配线链接该第一信息中心的第二功能区的输出端口至该第三信息中心的第一功能区的输入端口,在该第一信息中心的第二功能区与该第三信息中心的第一功能区间建立第二绑定连接;以及
执行下面的至少一个:
(i)在创建模式或运行模式经由上述第二绑定连接根据该第一对象的第二属性变化来改变该第三对象的第一属性;以及
(ii)在创建模式或运行模式经由上述第二绑定连接根据该第三对象的第一属性变化来改变该第一对象的第二属性。
方面20 方面14的计算机实施方法,还包括:
在GUI上建立第三对象;
将该第三对象与第三信息中心链接,该第三信息中心包括被配置成改变该第三对象的第一属性的第一功能区;
通过使用第二可视配线链接该第二信息中心的第一功能区的输出端口至该第三信息中心的第一功能区的输入端口,在该第二信息中心的第一功能区与该第三信息中心的第一功能区间建立第二绑定连接;以及
改变该第一、第二和第三对象中的任一个的第一属性,从而在创建模式或运行模式经由上述第一和第二绑定连接来改变剩余两个对象的各第一属性。
方面21 方面20的计算机实施方法,还包括:
如果在该第一对象的第一属性变化前或后的预选时间周期内该第二或第三对象的第一属性发生变化,在创建模式或运行模式经由上述第一和第二绑定连接根据该第一对象的第一属性变化来改变该第二和第三对象的第一属性。
方面22 方面20的计算机实施方法,还包括:
如果在该第二对象的第一属性变化前或后的预选时间周期内该第一或第三对象的第一属性发生变化,在创建模式或运行模式经由上述第一和第二绑定连接根据该第二对象的第一属性变化来改变该第一和第三对象的第一属性。
方面23 方面14-22的任一计算机实施方法,其中该第一或第二可视配线是可自配置的以保持平滑曲线,从而最小化与其他图形实体的重叠。
方面24 一种有形地承载于计算机可读存储装置中的计算机程序产品,该计算机程序产品包括指令,当执行时,其执行运作以生成具有创建模式和运行模式的图形用户界面(GUI)以连接和绑定对象,这些运作包括:
在GUI上建立第一对象和第二对象;
将该第一对象与第一信息中心链接,该第一信息中心包括被配置成改变该第一对象的第一属性的第一功能区;
将该第二对象与第二信息中心链接,该第二信息中心包括被配置成改变该第二对象的第一属性的第一功能区;
通过使用第一可视配线链接该第一信息中心的第一功能区的输出端口至该第二信息中心的第一功能区的输入端口,在该第一信息中心的第一功能区和该第二信息中心的第一功能区间建立第一绑定连接;以及
执行下面的至少一个:
(i)在创建模式或运行模式经由上述第一绑定连接通过改变该第一对象的第一属性,来改变该第二对象的第一属性;以及
(ii)在创建模式或运行模式经由上述第一绑定连接通过改变该第二对象的第一属性,来改变该第一对象的第一属性。
方面25 方面24的计算机程序产品,上述运作还包括如果在该第一对象的第一属性变化前或后的预选时间周期内该第二对象的第一属性发生变化,在创建模式或运行模式经由上述第一绑定连接根据该第一对象的第一属性变化来改变该第二对象的第一属性。
方面26 方面24的计算机程序产品,其中该第二信息中心还包括被配置成改变该第二对象的第二属性的第二功能区;上述运作还包括:
通过使用第二可视配线链接该第一信息中心的第一功能区的输出端口至该第二信息中心的第二功能区的输入端口,在该第一信息中心的第一功能区和该第二信息中心的第二功能区间建立第二绑定连接;以及
执行下面的至少一个:
(i)在创建模式或运行模式经由上述第二绑定连接根据第一对象的第一属性变化来改变该第二对象的第二属性;以及
(ii)在创建模式或运行模式经由上述第二绑定连接根据该第二对象的第二属性变化来改变该第一对象的第一属性。
方面27 方面24的计算机程序产品,其中该第一信息中心还包括被配置成改变该第一对象的第二属性的第二功能区;其中该第二信息中心还包括被配置成改变该第二对象的第二属性的第二功能区;上述运作还包括:
通过使用第二可视配线链接该第一信息中心的第二功能区的输出端口至该第二信息中心的第二功能区的输入端口,在该第一信息中心的第二功能区与该第二信息中心的第二功能区间建立第二绑定连接;以及
执行下面的至少一个:
(i)在创建模式或运行模式经由上述第二绑定连接根据该第一对象的第二属性变化来改变该第二对象的第二属性;以及
(ii)在创建模式或运行模式经由上述第二绑定连接根据该第二对象的第二属性变化来改变该第一对象的第二属性。
方面28 方面24的计算机程序产品,上述运作还包括:
在GUI上建立第三对象;
将该第三对象与第三信息中心链接,该第三信息中心包括被配置成改变该第三对象的第一属性的第一功能区;
通过使用第二可视配线链接该第一信息中心的第一功能区的输出端口至该第三信息中心的第一功能区的输入端口,在该第一信息中心的第一功能区与该第三信息中心的第一功能区间建立第二绑定连接;以及
执行下面的至少一个:
(i)在创建模式或运行模式经由上述第二绑定连接根据该第一对象的第一属性变化来改变该第三对象的第一属性;以及
(ii)在创建模式或运行模式经由上述第二绑定连接根据该第三对象的第一属性变化来改变该第一对象的第一属性。
方面29 方面24的计算机程序产品,其中该第一信息中心还包括被配置成改变该第一对象的第二属性的第二功能区;上述运作还包括:
在GUI上建立第三对象;
将该第三对象与第三信息中心链接,该第三信息中心包括被配置成改变该第三对象的第一属性的第一功能区;
通过使用第二可视配线链接该第一信息中心的第二功能区的输出端口至该第三信息中心的第一功能区的输入端口,在该第一信息中心的第二功能区与该第三信息中心的第一功能区间建立第二绑定连接;以及
执行下面的至少一个:
(i)在创建模式或运行模式经由上述第二绑定连接根据该第一对象的第二属性变化来改变该第三对象的第一属性;以及
(ii)在创建模式或运行模式经由上述第二绑定连接根据该第三对象的第一属性变化来改变该第一对象的第二属性。
方面30 方面24的计算机程序产品,上述运作还包括:
在GUI上建立第三对象;
将该第三对象与第三信息中心链接,该第三信息中心包括被配置成改变该第三对象的第一属性的第一功能区;
通过使用第二可视配线链接该第二信息中心的第一功能区的输出端口至该第三信息中心的第一功能区的输入端口,在该第二信息中心的第一功能区与该第三信息中心的第一功能区间建立第二绑定连接;以及
改变该第一、第二和第三对象中的任一个的第一属性,从而在创建模式或运行模式经由上述第一和第二绑定连接改变剩余两个对象的各第一属性。
方面31 方面30的计算机程序产品,上述运作还包括:
如果在该第一对象的第一属性变化前或后的预选时间周期内该第二或第三对象的第一属性发生变化,在创建模式或运行模式经由上述第一和第二绑定连接根据该第一对象的第一属性变化来改变该第二和第三对象的第一属性。
方面32 方面30的计算机程序产品,上述运作还包括:
如果在该第二对象的第一属性变化前或后的预选时间周期内该第一或第三对象的第一属性发生变化,在创建模式或运行模式经由上述第一和第二绑定连接根据该第二对象的第一属性变化来改变该第一和第三对象的第一属性。
方面33 方面24-32的任一计算机程序产品,其中该第一或第二可视配线是可自配置的以保持平滑曲线,从而最小化与其他图形实体的重叠。
方面34 一种计算系统,包括:
被配置以生成GUI的图形用户界面(GUI)生成器,上述GUI包括:
工具箱,其被配置成建立第一和第二对象;
与该第一对象链接的第一信息中心,该第一信息中心包括被配置成改变该第一对象的第一属性的第一功能区;
与该第二对象链接的第二信息中心,该第二信息中心包括被配置成改变该第二对象的第一属性的第一功能区;以及
由第一可视配线表示的第一绑定连接,其用于将该第一信息中心的第一功能区与该第二信息中心的第一功能区绑定,该第一绑定连接被配置成,在创建模式和运行模式下根据该第一对象的第一属性变化来改变该第二对象的第一属性,和根据该第二对象的第一属性变化来改变该第一对象的第一属性;
与该GUI生成器通信的配线管理器,其被配置成建立上述第一可视配线并将事件变化作用于上述第一可视配线;
与该配线管理器通信的配线控制器,其被配置成引导该配线管理器将该事件变化作用于上述第一可视配线;以及
与该配线管理器和该配线控制器通信的配线中介器,其被配置成检测该第一或第二对象的第一属性变化,并将检测的属性变化传递给该配线控制器。
方面35 方面34的计算系统,还包括:
与该配线控制器通信的对象管理器,其被配置成建立上述第一和第二对象并将变化作用于该第一或第二对象的第一属性。
方面36 一种用于提供图形用户界面(GUI)给计算机用于可视编程的方法,该GUI包括创建模式界面,该方法包括:
在该计算机的显示器上显示该创建模式界面,该创建模式界面包括用于建立程序对象的工具箱和用于可视编程的主窗口,该工具箱被配置成允许在该主窗口中一个或更多个程序对象的建立;
监控从该工具箱对程序对象的选择;
检测对该程序对象的选择;
当检测到对该程序对象的选择后,检测该主窗口中的位置以建立该程序对象;
在该显示器上显示在该主窗口中所检测的位置上的该程序对象以建立该程序对象;以及
在该显示器上显示与该程序对象相关联的信息中心,该信息中心包括与该程序对象的属性相关联的功能区。
方面37 根据方面36的方法,还包括:
监控从该工具箱对第二程序对象的选择;
检测对该第二程序对象的选择;
当检测到对该第二程序对象的选择后,检测该主窗口中的位置以建立该第二程序对象;
在该显示器上显示在该主窗口中所检测的位置的该第二程序对象以建立该第二程序对象;
在该显示器上显示与该第二程序对象相关联的第二信息中心,该第二信息中心包括与该第二程序对象的属性相关联的第二功能区;
检测对该功能区和该第二功能区的选择以在该功能区与该第二功能区间形成信息交换;以及
在该显示器上显示在该主窗口中连接该功能区至该第二功能区的可视配线,该可视配线表示该功能区与该第二功能区间的信息交换,该程序对象的属性与该第二程序对象的属性链接。
方面38 根据方面36的方法,其中该GUI还包括运行模式界面,该方法还包括:
在该显示器上显示包括运行模式窗口的该运行模式界面;
在该运行模式窗口中显示该程序对象和第二程序对象;以及
允许用户与该程序对象交互以将变化作用于该第二程序对象的属性。
方面39 根据方面38的方法,其中该GUI还包括编辑模式界面,该方法还包括:
在该显示器上显示包括编辑模式窗口的该编辑模式界面;以及
允许用户控制该编辑模式窗口中的程序对象在该运行模式界面是否可移动。
方面40 根据方面36的方法,其中该主窗口包括第一坐标系统,并且将该程序对象显示在该主窗口中所检测的位置上是根据该第一坐标系统;
该程序对象是容器对象,该容器对象包括窗口边界和第二坐标系统;
该第二坐标系统独立于该第一坐标系统;以及
该容器对象被配置成包含根据该第二坐标系统定位的另一程序对象。
方面41 根据方面40的方法,还包括在该容器对象中显示一根据该第二坐标系统定位的内部程序对象。
方面42 根据方面40的方法,还包括显示窗口端口,该窗口端口被配置成允许显示于该容器对象中的内部程序对象与显示于该容器对象外的外部程序对象间的连接。
方面43 根据方面42的方法,还包括在该容器对象中显示根据该第二坐标系统定位的该内部程序对象;
在该容器对象中显示与该内部程序对象相关联的内部信息中心,该内部信息中心包括与该内部程序对象的属性相关联的内部功能区;
检测对该内部功能区和该端口的选择以显示连接该内部功能区与该端口的可视配线;以及
显示连接该内部功能区至该端口的可视配线,该可视配线表示该内部功能区与该端口间的信息交换。
方面44 根据方面43的方法,还包括显示与该内部程序对象相关联的该内部信息中心中的功能区,该功能区是可编辑的并且与该内部功能区和该端口间的连接相关联。
方面45 根据方面43的方法,还包括显示在该容器对象外的主窗口中一根据该第一坐标系统定位的外部程序对象;
在该主窗口中显示与该外部程序对象相关联的外部信息中心,该外部信息中心包括与该外部程序对象的属性相关联的外部功能区;
检测对该外部功能区和该端口的选择以显示连接该外部功能区与该端口的第二可视配线;以及
显示连接该外部功能区至该端口的该第二可视配线,
该第一和第二可视配线表示该内部功能区与该外部功能区间的信息交换,该内部程序对象的属性与该外部程序对象的属性链接。
方面46 根据方面45的方法,还包括显示在该容器对象外的主窗口中一根据该第一坐标系统定位的外部程序对象;
在该主窗口中显示与该外部程序对象相关联的外部信息中心,该外部信息中心包括与该外部程序对象的属性相关联的外部功能区;
检测对该外部功能区和该内部信息中心的功能区的选择以显示连接该外部功能区与该内部信息中心的功能区的第三可视配线;以及
显示连接该外部功能区至该内部信息中心的功能区的该第三可视配线,
该第一和第三可视配线表示该内部功能区与该外部功能区间的信息交换,该内部程序对象的属性与该外部程序对象的属性链接。
方面47 一种计算机上的图形用户界面(GUI),该计算机具有显示器、存储器、和一个或更多个处理器以执行存储于该存储器中的一个或更多个程序,以实施用于显示于该显示器上的可视编程的方法,该GUI包括创建模式界面,该方法包括:
在该计算机的显示器上显示该创建模式界面,该创建模式界面包括用于建立程序对象的工具箱和用于可视编程的主窗口,该工具箱被配置成允许在该主窗口中一个或更多个程序对象的建立;
监控从该工具箱对程序对象的选择;
检测对该程序对象的选择;
当检测到对该程序对象的选择后,检测该主窗口中的位置以建立该程序对象;
在该显示器上显示在该主窗口中所检测的位置上的该程序对象以建立该程序对象;以及
在该显示器上显示与该程序对象相关联的信息中心,该信息中心包括与该程序对象的属性相关联的功能区。
方面48 根据方面47的GUI,其中该方法还包括:
监控从该工具箱对第二程序对象的选择;
检测对该第二程序对象的选择;
当检测到对该第二程序对象的选择后,检测该主窗口中的位置以建立该第二程序对象;
在该显示器上显示在该主窗口中所检测的位置的该第二程序对象以建立该第二程序对象;
在该显示器上显示与该第二程序对象相关联的第二信息中心,该第二信息中心包括与该第二程序对象的属性相关联的第二功能区;
检测对该功能区与该第二功能区的选择以在该功能区与该第二功能区间形成信息交换;以及
在该显示器上显示在该主窗口中连接该功能区至该第二功能区的可视配线,该可视配线表示该功能区与该第二功能区间的信息交换,该程序对象的属性与该第二程序对象的属性链接。
方面49 根据方面47的GUI,还包括运行模式界面,该方法还包括:
在该显示器上显示包括运行模式窗口的该运行模式界面;
在该运行模式窗口中显示该程序对象和该第二程序对象;以及
允许用户与该程序对象交互以将变化作用于该第二程序对象的属性。
方面50 根据方面49的GUI,还包括编辑模式界面,该方法还包括:
在该显示器上显示包括编辑模式窗口的该编辑模式界面;以及
允许用户控制该编辑模式窗口中的程序对象在该运行模式界面是否可移动。
方面51 根据方面47的GUI,其中该主窗口包括第一坐标系统,并且将该程序对象显示在该主窗口中所检测的位置上是根据该第一坐标系统;
该程序对象是容器对象,该容器对象包括窗口边界和第二坐标系统;
该第二坐标系统独立于第一坐标系统;以及
该容器对象被配置成包含根据该第二坐标系统定位的另一程序对象。
方面52 根据方面51的GUI,其中该方法还包括在该容器对象中显示一根据该第二坐标系统定位的内部程序对象。
方面53 根据方面51的GUI,其中该方法还包括显示窗口端口,该窗口端口被配置成允许显示于该容器对象中的内部程序对象与显示于该容器对象外的外部程序对象间的连接。
方面54 根据方面53的GUI,其中该方法还包括在该容器对象中显示根据该第二坐标系统定位的该内部程序对象;
在该容器对象中显示与该内部程序对象相关联的内部信息中心,该内部信息中心包括与该内部程序对象的属性相关联的内部功能区;
检测对该内部功能区和该端口的选择以显示连接该内部功能区与该端口的可视配线;以及
显示连接该内部功能区至该端口的可视配线,该可视配线表示该内部功能区与该端口间的信息交换。
方面55 根据方面54的GUI,其中该方法还包括显示与该内部程序对象相关联的该内部信息中心中的功能区,该功能区是可编辑的并与该内部功能区和该端口间的连接相关联。
方面56 根据方面54的GUI,其中该方法还包括显示在该容器对象外的主窗口中一根据该第一坐标系统定位的外部程序对象;
在该主窗口中显示与该外部程序对象相关联的外部信息中心,该外部信息中心包括与该外部程序对象的属性相关联的外部功能区;
检测对该外部功能区与该端口的选择以显示连接该外部功能区与该端口的第二可视配线;以及
显示连接该外部功能区至该端口的该第二可视配线,
该第一和第二可视配线表示该内部功能区与该外部功能区间的信息交换,该内部程序对象的属性与该外部程序对象的属性链接。
方面57,根据方面55的GUI,其中方法还包括显示在该容器对象外的主窗口中一根据该第一坐标系统定位的外部程序对象;
在该主窗口中显示与该外部程序对象相关联的外部信息中心,该外部信息中心包括与该外部程序对象的属性相关联的外部功能区;
检测对该外部功能区和该内部信息中心的功能区的选择以显示连接该外部功能区与该内部信息中心的功能区的第三可视配线;以及
显示连接该外部功能区至该内部信息中心的功能区的该第三可视配线,
该第一和第三可视配线表示该内部功能区与该外部功能区间的信息交换,该内部程序对象的属性与该外部程序对象的属性链接。
方面58 一种存储一个或更多个程序的非临时性计算机可读存储介质,该一个或更多个程序包括指令,当被具有显示器的计算机执行时,将引起该计算机实施用于提供用于显示于该显示器上的可视编程的图形用户界面(GUI)的方法,该GUI包括创建模式界面,该方法包括:
在该计算机的显示器上显示该创建模式界面,该创建模式界面包括用于建立程序对象的工具箱和用于可视编程的主窗口,该工具箱被配置成允许在主窗口中一个或更多个程序对象的建立;
监控从该工具箱对程序对象的选择;
检测对该程序对象的选择;
当检测到对该程序对象的选择后,检测该主窗口中的位置以建立该程序对象;
在该显示器上显示在该主窗口中所检测的位置上的该程序对象以建立该程序对象;以及
在该显示器上显示与该程序对象相关联的信息中心,该信息中心包括与该程序对象的属性相关联的功能区。
方面59 根据方面58的非临时性计算机可读存储介质,其中该方法还包括:
监控从该工具箱对第二程序对象的选择;
检测对该第二程序对象的选择;
当检测到对该第二程序对象的选择后,检测该主窗口中的位置以建立该第二程序对象;
在该显示器上显示在该主窗口中所检测的位置的该第二程序对象以建立该第二程序对象;
在该显示器上显示与该第二程序对象相关联的第二信息中心,该第二信息中心包括与该第二程序对象的属性相关联的第二功能区;
检测对该功能区与该第二功能区的选择以在该功能区与该第二功能区间形成信息交换;以及
在该显示器上显示在该主窗口中连接该功能区至该第二功能区的可视配线,该可视配线表示该功能区与该第二功能区间的信息交换,该程序对象的属性与该第二程序对象的属性链接。
方面60 根据方面58的非临时性计算机可读存储介质,其中该GUI还包括运行模式界面,该方法还包括:
在该显示器上显示包括运行模式窗口的该运行模式界面;
在该运行模式窗口中显示该程序对象和第二程序对象;以及
允许用户与该程序对象交互以将变化作用于该第二程序对象的属性。
方面61 根据方面60的非临时性计算机可读存储介质,其中该GUI还包括编辑模式界面,该方法还包括:
在该显示器上显示包括编辑模式窗口的该编辑模式界面;以及
允许用户控制在该编辑模式窗口中的程序对象在该运行模式界面是否可移动。
方面62 根据方面58的非临时性计算机可读存储介质,其中该主窗口包括第一坐标系统,并且将该程序对象显示在该主窗口中所检测的位置上是根据该第一坐标系统;
该程序对象是容器对象,该容器对象包括窗口边界和第二坐标系统;
该第二坐标系统独立于该第一坐标系统;以及
该容器对象被配置成包含根据该第二坐标系统定位的另一程序对象。
方面63 根据方面62的非临时性计算机可读存储介质,其中该方法还包括在该容器对象中显示根据该第二坐标系统定位的内部程序对象。
方面64 根据方面62的非临时性计算机可读存储介质,其中该方法还包括显示窗口端口,该窗口端口被配置成允许显示于该容器对象中的内部程序对象与显示于该容器对象外的外部程序对象间的连接。
方面65 根据方面62的非临时性计算机可读存储介质,其中该方法还包括:
在该容器对象中显示根据该第二坐标系统定位的该内部程序对象;
在该容器对象中显示与该内部程序对象相关联的内部信息中心,该内部信息中心包括与该内部程序对象的属性相关联的内部功能区;
检测对该内部功能区与该端口的选择以显示连接该内部功能区与该端口的可视配线;以及
显示连接该内部功能区至该端口的该可视配线,该可视配线表示该内部功能区与该端口间的信息交换。
方面66 根据方面65的非临时性计算机可读存储介质,其中该方法还包括显示与该内部程序对象相关联的该内部信息中心中的功能区,该功能区是可编辑的并且与该内部功能区和该端口间的连接相关联。
方面67 根据方面65的非临时性计算机可读存储介质,其中该方法还包括显示在该容器对象外的主窗口中一根据该第一坐标系统定位的外部程序对象;
在该主窗口中显示与该外部程序对象相关联的外部信息中心,该外部信息中心包括与该外部程序对象的属性相关联的外部功能区;
检测对该外部功能区与该端口的选择以显示连接该外部功能区与该端口的第二可视配线;以及
显示连接该外部功能区至该端口的该第二可视配线,
该第一和第二可视配线表示该内部功能区与该外部功能区间的信息交换,该内部程序对象的属性与该外部程序对象的属性链接。
方面68 根据方面66的非临时性计算机可读存储介质,其中该方法还包括在该容器对象外的主窗口中显示一根据该第一坐标系统定位的外部程序对象;
在该主窗口中显示与该外部程序对象相关联的外部信息中心,该外部信息中心包括与该外部程序对象的属性相关联的外部功能区;
检测对该外部功能区与该内部信息中心的功能区的选择以显示连接该外部功能区与该内部信息中心的功能区的第三可视配线;以及
显示连接该外部功能区至该内部信息中心的功能区的该第三可视配线,
该第一和第三可视配线表示该内部功能区与该外部功能区间的信息交换,该内部程序对象的属性与该外部程序对象的属性链接。
方面69 一种用于提供图形用户界面(GUI)给计算机以在云计算环境中可视编程的方法,该方法包括:
显示主窗口;
显示包括表示程序对象的图标的云文件夹;
检测对该图标的选择;
下载该程序对象至该计算机的存储器;以及
在主窗口中显示该程序对象。
方面70 根据方面69的方法,还包括在下载该程序对象之前,检测将该图标从该云文件夹至该主窗口的拖曳。
方面71 根据方面69的方法,还包括显示信息窗口,以及下载与该程序对象相关联的标准。
方面72 根据方面69的方法,还包括在下载该程序对象之前,显示缴费窗口;
显示购买界面以对该程序对象缴费;以及
检测用户与该购买界面的交互。
方面73 一种在计算机上的图形用户界面(GUI),该计算机具有显示器、存储器、和一个或更多个处理器以执行存储于该存储器的一个或更多个程序,以实施用于在云计算环境中显示于该显示器上的可视编程的方法,该方法包括:
显示主窗口;
显示包括表示程序对象的图标的云文件夹;
检测对该图标的选择;
下载该程序对象至该计算机的存储器;以及
在主窗口中显示该程序对象。
方面74 根据方面73的GUI,其中该方法还包括在下载该程序对象之前,检测将该图标从该云文件夹至该主窗口的拖曳。
方面75 根据方面73的GUI,其中该方法还包括显示信息窗口,以及下载与该程序对象相关联的标准。
方面76 根据方面73的GUI,其中该方法还包括在下载该程序对象之前,显示缴费窗口;
显示购买界面以对该程序对象缴费;以及
检测用户与该购买界面的交互。
方面77 一种存储一个或更多个程序的非临时性计算机可读存储介质,该一个或更多个程序包括指令,当被具有显示器的计算机执行时,将引起该计算机实施用于提供图形用户界面(GUI)给该计算机用于在云计算环境中显示于该显示器上的可视编程的方法,该方法包括:
显示主窗口;
显示包括表示程序对象的图标的云文件夹;
检测对该图标的选择;
下载该程序对象至该计算机的存储器;以及
在主窗口中显示该程序对象。
方面78 根据方面77的非临时性计算机可读存储介质,其中该方法还包括在下载该程序对象之前,检测将该图标从该云文件夹移至该主窗口的拖曳。
方面79 根据方面77的非临时性计算机可读存储介质,其中该方法还包括下载与该程序对象相关联的标准。
方面80 根据方面77的非临时性计算机可读存储介质,其中该方法还包括在下载该程序对象之前,显示缴费窗口;
显示购买界面以对该程序对象缴费;以及
检测用户与该购买界面的交互。
方面81 一种用于提供图形用户界面(GUI)给计算机以在云计算环境中可视编程的方法,该方法包括:
显示云文件夹;
显示与程序对象相关的标准;
允许用户编辑该标准;
检测对上传该程序对象的选择;以及
上传该程序对象至该云计算环境的云服务器。
方面82 根据方面81的方法,其中该标准包括下载该程序对象的价格。
方面83 一种在计算机上的图形用户界面(GUI),该计算机具有显示器、存储器、和一个或更多个处理器以执行存储于该存储器的一个或更多个程序,以实施用于在云计算环境中显示于该显示器上的可视编程的方法,该方法包括:
显示云文件夹;
显示与程序对象相关的标准;
允许用户编辑该标准;
检测对上传该程序对象的选择;以及
上传该程序对象至该云计算环境的云服务器。
方面84 根据方面83的GUI,其中该标准包括下载该程序对象的价格。
方面85 一种存储一个或多个程序的非临时性计算机可读存储介质,该一个或多个程序包括指令,当被具有显示器的计算机执行时,其将引起该计算机实施用于在该显示器上提供图形用户界面(GUI)用于在云计算环境中可视编程的方法,该方法包括:
显示云文件夹;
显示与程序对象相关的标准;
允许用户编辑该标准;
检测对上传该程序对象的选择;以及
上传该程序对象至该云计算环境的云服务器。
方面86 根据方面85的非临时性计算机可读存储,其中该标准包括下载该程序对象的价格。
Claims (10)
1.一种显示于计算机的显示器上的图形用户界面(GUI)的可视编程的方法,该图形用户界面包括创建模式界面,其特征在于,该方法包括:
在所述计算机的显示器上显示所述创建模式界面,该创建模式界面包括用于建立程序对象的工具箱和用于可视编程的主窗口,该工具箱被配置成允许在该主窗口中建立一个或更多个程序对象;
监控从所述工具箱对程序对象的选择;
检测对所述程序对象的选择;
在检测到对所述程序对象的选择后,检测所述主窗口中的位置以建立所述程序对象;
在所述显示器上,在所述主窗口中所检测的位置上显示所述程序对象以建立所述程序对象;
在所述显示器上显示与所述程序对象相关联的信息中心,所述信息中心提供具有输入端口和输出端口的功能区,所述功能区包括表示相应于所述程序对象的输入、属性或输出并可连接于第二功能区的图形实体;
监控从所述工具箱对第二程序对象的选择;
检测对所述第二程序对象的选择;
在检测到对所述第二程序对象的选择后,检测所述主窗口中的位置以建立该第二程序对象;
在所述显示器上,在所述主窗口中所检测的位置上显示所述第二程序对象以建立所述第二程序对象;
在所述显示器上显示与所述第二程序对象相关联的第二信息中心,该第二信息中心提供具有输入端口和输出端口的第二功能区,所述第二功能区包括表示相应于所述第二程序对象的输入、属性或输出并可连接于所述功能区的图形实体;
检测对所述功能区和所述第二功能区的选择以在所述功能区与所述第二功能区间形成信息交换;以及
在所述显示器上显示在所述主窗口中连接所述功能区至所述第二功能区的可视配线,该可视配线表示所述功能区与第二功能区间的信息交换,所述程序对象的输入、属性或输出与所述第二程序对象的输入、属性或输出链接。
2.根据权利要求1所述的方法,其特征在于,所述图形用户界面还包括运行模式界面,所述方法还包括:
在所述显示器上显示包括运行模式窗口的所述运行模式界面;
在所述运行模式窗口中显示所述程序对象和所述第二程序对象;以及
允许用户与所述程序对象交互以改变所述第二程序对象的属性。
3.根据权利要求1所述的方法,其特征在于,所述主窗口包括第一坐标系统,并且将所述程序对象显示在所述主窗口中所检测的位置上是根据所述第一坐标系统;
所述程序对象是容器对象,所述容器对象包括窗口边界和第二坐标系统;
所述第二坐标系统独立于所述第一坐标系统;以及
所述容器对象被配置成包含根据所述第二坐标系统定位的另一程序对象。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括显示窗口端口,该窗口端口被配置成允许显示于所述容器对象中的内部程序对象与显示于所述容器对象外的外部程序对象间的连接。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括在所述容器对象中显示根据所述第二坐标系统定位的所述内部程序对象;
在所述容器对象中显示与所述内部程序对象相关联的内部信息中心,所述内部信息中心包括与该内部程序对象的属性相关联的内部功能区;
检测对所述内部功能区和所述窗口端口的选择以显示连接所述内部功能区与该窗口端口的可视配线;以及
显示连接所述内部功能区至所述窗口端口的所述可视配线,所述可视配线表示所述内部功能区与所述窗口端口间的信息交换。
6.根据权利要求2所述的方法,其特征在于,所述图形用户界面还包括编辑模式界面,所述方法还包括:
在所述显示器上显示包括编辑模式窗口的所述编辑模式界面;以及
允许用户控制所述编辑模式窗口中的程序对象在所述运行模式界面是否可移动。
7.一种在云计算环境中显示于计算机的显示器上的图形用户界面的可视编程的方法,其特征在于,该方法包括:
显示主窗口;
显示包括表示程序对象的图标的云文件夹,所述程序对象是以所见即所得的方式可显示于创建模式界面并在运行模式下可显示的对象;
检测对所述图标的选择;
下载所述程序对象至所述计算机的所述存储器;
在所述主窗口中以所见即所得的方式来显示所述程序对象;以及
在所述主窗口中显示与所述程序对象分离的和链接的信息中心,以提供具有输入端口和输出端口的功能区,所述功能区包括表示相应于所述程序对象的输入、属性或输出并可连接于第二功能区的图形实体,所述信息中心在所述创建模式界面下可显示并在所述运行模式下不可显示;
显示所述云文件夹中表示第二程序对象的第二图标;
检测对所述第二图标的选择;
下载所述第二程序对象至所述计算机的所述存储器;
在所述主窗口中以所见即所得的方式来显示所述第二程序对象;
在所述主窗口中显示与所述第二程序对象分离的和链接的第二信息中心,以提供具有输入端口和输出端口的第二功能区,所述第二功能区包括表示相应于所述第二程序对象的输入、属性或输出并可连接于所述功能区的图形实体,所述信息中心在所述创建模式界面下可显示并在所述运行模式下不可显示;
检测对所述功能区和所述第二功能区的选择以在所述功能区与所述第二功能区间形成信息交换;以及
在所述显示器上显示在所述主窗口中连接所述功能区至所述第二功能区的可视配线,该可视配线表示所述功能区与第二功能区间的信息交换,所述程序对象的输入、属性或输出与所述第二程序对象的输入、属性或输出链接,
其中,在所述主窗口中同时显示所述程序对象、所述第二程序对象、所述信息中心、所述第二信息中心和所述可视配线,从而在所述图形用户界面上,所述程序对象,所述第二程序对象,所述信息中心,所述第二信息中心和所述可视配线同时可见。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括在下载所述程序对象之前,检测将所述图标从所述云文件夹移至所述主窗口的拖曳。
9.根据权利要求7所述的方法,其特征在于,所述方法还包括显示信息窗口,包括下载与所述程序对象相关联的标准。
10.根据权利要求8所述的方法,其特征在于,所述方法还包括在下载所述程序对象之前,显示缴费窗口;
显示购买界面以对所述程序对象缴费;以及
检测用户与所述购买界面的交互。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US35090910P | 2010-06-02 | 2010-06-02 | |
US61/350,909 | 2010-06-02 | ||
US41005410P | 2010-11-04 | 2010-11-04 | |
US61/410,054 | 2010-11-04 | ||
PCT/US2011/038943 WO2011153361A2 (en) | 2010-06-02 | 2011-06-02 | Device having graphical user interfaces and method for developing multimedia computer applications |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103069383A CN103069383A (zh) | 2013-04-24 |
CN103069383B true CN103069383B (zh) | 2016-09-28 |
Family
ID=45067299
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180038118.8A Expired - Fee Related CN103069383B (zh) | 2010-06-02 | 2011-06-02 | 具有图形用户界面的装置及开发多媒体计算机应用程序的方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10139995B2 (zh) |
CN (1) | CN103069383B (zh) |
WO (1) | WO2011153361A2 (zh) |
Families Citing this family (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9164576B2 (en) | 2011-09-13 | 2015-10-20 | Apple Inc. | Conformance protocol for heterogeneous abstractions for defining user interface behaviors |
US8819567B2 (en) | 2011-09-13 | 2014-08-26 | Apple Inc. | Defining and editing user interface behaviors |
US20130063484A1 (en) * | 2011-09-13 | 2013-03-14 | Samir Gehani | Merging User Interface Behaviors |
USD742405S1 (en) * | 2012-04-06 | 2015-11-03 | Samsung Electronics Co., Ltd. | Electronic device with animated graphical user interface |
US10002164B2 (en) * | 2012-06-01 | 2018-06-19 | Ansys, Inc. | Systems and methods for context based search of simulation objects |
US9728224B2 (en) * | 2013-01-08 | 2017-08-08 | Marcus van Bavel | Video editing system user interface using virtual film equipment |
USD772253S1 (en) * | 2013-02-19 | 2016-11-22 | Sony Computer Entertainment Inc. | Display panel or screen with an animated graphical user interface |
EP2772841B1 (de) * | 2013-02-27 | 2018-10-17 | Siemens Aktiengesellschaft | Verfahren und Programm-Editor für das Erstellen und Bearbeiten eines Programms für eine industrielle Automatisierungsanordnung |
US9235322B1 (en) * | 2013-03-09 | 2016-01-12 | Ca, Inc. | Systems, methods and computer program products for a cloud application editor |
US9524273B2 (en) * | 2013-03-11 | 2016-12-20 | Oracle International Corporation | Method and system for generating a web page layout using nested drop zone widgets having different software functionalities |
US11205036B2 (en) | 2013-03-11 | 2021-12-21 | Oracle International Corporation | Method and system for implementing contextual widgets |
US20140317538A1 (en) * | 2013-04-22 | 2014-10-23 | Microsoft Corporation | User interface response to an asynchronous manipulation |
TWD166922S (zh) * | 2013-08-14 | 2015-04-01 | 新力電腦娛樂股份有限公司 | 顯示面板之圖形化使用者介面 |
USD752079S1 (en) * | 2013-10-15 | 2016-03-22 | Deere & Company | Display screen with graphical user interface |
USD751593S1 (en) * | 2013-10-25 | 2016-03-15 | Microsoft Corporation | Display screen with graphical user interface |
CN104049978B (zh) * | 2014-06-27 | 2017-06-13 | 北京思特奇信息技术股份有限公司 | 一种实现代码可视化编辑组合的方法及系统 |
JP6237498B2 (ja) * | 2014-06-30 | 2017-11-29 | カシオ計算機株式会社 | 図形表示制御装置、表示制御方法およびプログラム |
WO2016036826A1 (en) | 2014-09-02 | 2016-03-10 | Ab Initio Technology Llc | Compiling graph-based program specifications |
SG11201701662XA (en) * | 2014-09-02 | 2017-04-27 | Ab Initio Technology Llc | Visually specifying subsets of components in graph-based programs through user interactions |
US9996230B2 (en) | 2014-11-13 | 2018-06-12 | Microsoft Technology Licensing, Llc | Using sections for customization of applications across platforms |
JP6477061B2 (ja) * | 2015-03-12 | 2019-03-06 | カシオ計算機株式会社 | 図形表示制御装置及びプログラム |
US10156991B2 (en) | 2015-10-19 | 2018-12-18 | International Business Machines Corporation | User interface for host port assignment |
US10157047B2 (en) * | 2015-10-19 | 2018-12-18 | Facebook, Inc. | Methods and systems for communicating application prototype information |
US10375072B2 (en) * | 2015-11-09 | 2019-08-06 | Microsoft Technology Licensing, Llc | Dashboard as remote computing services |
US9870062B2 (en) * | 2015-11-11 | 2018-01-16 | Facebook, Inc. | Methods and systems for defining gestures for a user interface |
KR101640377B1 (ko) * | 2016-01-06 | 2016-07-18 | 스튜디오씨드코리아 주식회사 | 그래픽 사용자 인터페이스의 프로토타입 제작 방법 및 그 시스템 |
CN108089782B (zh) * | 2016-11-21 | 2021-02-26 | 佳能株式会社 | 用于对相关用户界面对象的改变进行建议的方法和装置 |
CN106815030B (zh) * | 2017-02-07 | 2020-04-24 | 浪潮通用软件有限公司 | 一种通用的处理用户界面显示规则的方法 |
US10649640B2 (en) * | 2017-05-02 | 2020-05-12 | Microsoft Technology Licensing, Llc | Personalizing perceivability settings of graphical user interfaces of computers |
US10732935B2 (en) * | 2017-06-27 | 2020-08-04 | Atlassian Pty Ltd | Displaying status data in a source code development system |
US10970052B2 (en) * | 2018-10-19 | 2021-04-06 | Oracle International Corporation | System and method for enhancing component based development models with auto-wiring |
CA3117852A1 (en) * | 2018-11-14 | 2020-05-22 | Wix.Com Ltd. | System and method for creation and handling of configurable applications for website building systems |
JP6892946B1 (ja) * | 2020-03-18 | 2021-06-23 | エヌ・ティ・ティ・コミュニケーションズ株式会社 | 情報処理装置、設定方法および設定プログラム |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1177154A (zh) * | 1996-09-13 | 1998-03-25 | 山武·霍尼韦尔公司 | 用于可视编程中显示功能对象的方法 |
CN1549118A (zh) * | 2003-05-08 | 2004-11-24 | 冯健辉 | 计算机图形编程语言系统方案 |
CN1801151A (zh) * | 2005-01-05 | 2006-07-12 | 微软公司 | 对象模型树图表 |
CN101052948A (zh) * | 2004-09-10 | 2007-10-10 | 图形公司 | 对象过程图应用程序开发系统 |
CN101276275A (zh) * | 2008-04-22 | 2008-10-01 | 罗笑南 | 一种针对机顶盒的软件开发可视化编辑方法 |
Family Cites Families (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5487141A (en) * | 1994-01-21 | 1996-01-23 | Borland International, Inc. | Development system with methods for visual inheritance and improved object reusability |
US5619636A (en) * | 1994-02-17 | 1997-04-08 | Autodesk, Inc. | Multimedia publishing system |
US5850548A (en) * | 1994-11-14 | 1998-12-15 | Borland International, Inc. | System and methods for visual programming based on a high-level hierarchical data flow model |
US5689711A (en) * | 1995-04-21 | 1997-11-18 | Bardasz; Theodore | Method and apparatus for representing data dependencies in software modeling systems |
US6003037A (en) * | 1995-11-14 | 1999-12-14 | Progress Software Corporation | Smart objects for development of object oriented software |
US5913063A (en) * | 1997-02-26 | 1999-06-15 | Oracle Corporation | Drag and drop object subclassing |
US6802053B1 (en) * | 1997-08-18 | 2004-10-05 | National Instruments Corporation | Graphical programming system with distributed block diagram execution and front panel display |
US7743362B2 (en) * | 1998-02-17 | 2010-06-22 | National Instruments Corporation | Automatic generation of application domain specific graphical programs |
US6633888B1 (en) * | 1999-02-03 | 2003-10-14 | International Business Machines Corporation | Method and apparatus for visually creating and testing object oriented components |
US7210117B2 (en) * | 1999-08-19 | 2007-04-24 | National Instruments Corporation | System and method for programmatically generating a graphical program in response to program information |
US7159183B1 (en) * | 1999-08-19 | 2007-01-02 | National Instruments Corporation | System and method for programmatically creating a graphical program |
US6701513B1 (en) | 2000-01-14 | 2004-03-02 | Measurement Computing Corporation | Program-development environment for use in generating application programs |
US20020089541A1 (en) * | 2000-02-14 | 2002-07-11 | Julian Orbanes | System for graphically interconnecting operators |
US7020868B2 (en) * | 2000-11-22 | 2006-03-28 | General Electric Company | Graphic application development system for a medical imaging system |
US7287230B2 (en) * | 2000-12-13 | 2007-10-23 | National Instruments Corporation | Configuring a GUI element to subscribe to data |
US7134085B2 (en) * | 2000-12-13 | 2006-11-07 | National Instruments Corporation | System and method for automatically configuring program data exchange |
US6971065B2 (en) * | 2000-12-13 | 2005-11-29 | National Instruments Corporation | Automatically configuring a graphical program to publish or subscribe to data |
US7512964B2 (en) * | 2001-06-29 | 2009-03-31 | Cisco Technology | System and method for archiving multiple downloaded recordable media content |
US6889172B2 (en) * | 2001-08-15 | 2005-05-03 | National Instruments Corporation | Network-based system for configuring a measurement system using software programs generated based on a user specification |
US7624375B2 (en) * | 2003-06-12 | 2009-11-24 | National Instruments Corporation | Automatically configuring a graphical user interface element to bind to a graphical program |
US20040268300A1 (en) * | 2003-06-13 | 2004-12-30 | Camille Huin | Graphical computer programming |
US7836426B2 (en) * | 2004-05-06 | 2010-11-16 | National Instruments Corporation | Automatic generation of application domain specific graphical programs |
US20060064674A1 (en) * | 2004-06-03 | 2006-03-23 | Olson John B Jr | Methods and apparatus for visual application design |
US8832595B2 (en) * | 2004-08-06 | 2014-09-09 | Nokia Corporation | Mobile communications terminal and method |
US9766953B2 (en) * | 2004-12-16 | 2017-09-19 | Openspan, Inc. | System and method for non-programmatically constructing software solutions |
US20080256200A1 (en) * | 2007-04-13 | 2008-10-16 | Sap Ag | Computer application text messaging input and output |
US8881038B1 (en) * | 2007-11-19 | 2014-11-04 | Brian Palmer | Method of rendering dynamic vehicle telemetry on a graphical display |
US20140033171A1 (en) * | 2008-04-01 | 2014-01-30 | Jon Lorenz | Customizable multistate pods |
US20110055744A1 (en) * | 2009-08-28 | 2011-03-03 | Ryan Christopher N | Visual Linking of Elements to Model Attributes |
US9049258B2 (en) * | 2009-09-17 | 2015-06-02 | Border Stylo, LLC | Systems and methods for anchoring content objects to structured documents |
US8479107B2 (en) * | 2009-12-31 | 2013-07-02 | Nokia Corporation | Method and apparatus for fluid graphical user interface |
WO2012011635A1 (en) * | 2010-07-20 | 2012-01-26 | Lg Electronics Inc. | Computing device and displaying method at the computing device |
-
2011
- 2011-06-02 US US13/701,260 patent/US10139995B2/en active Active
- 2011-06-02 CN CN201180038118.8A patent/CN103069383B/zh not_active Expired - Fee Related
- 2011-06-02 WO PCT/US2011/038943 patent/WO2011153361A2/en active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1177154A (zh) * | 1996-09-13 | 1998-03-25 | 山武·霍尼韦尔公司 | 用于可视编程中显示功能对象的方法 |
CN1549118A (zh) * | 2003-05-08 | 2004-11-24 | 冯健辉 | 计算机图形编程语言系统方案 |
CN101052948A (zh) * | 2004-09-10 | 2007-10-10 | 图形公司 | 对象过程图应用程序开发系统 |
CN1801151A (zh) * | 2005-01-05 | 2006-07-12 | 微软公司 | 对象模型树图表 |
CN101276275A (zh) * | 2008-04-22 | 2008-10-01 | 罗笑南 | 一种针对机顶盒的软件开发可视化编辑方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2011153361A2 (en) | 2011-12-08 |
US20130132875A1 (en) | 2013-05-23 |
CN103069383A (zh) | 2013-04-24 |
WO2011153361A3 (en) | 2012-04-19 |
US10139995B2 (en) | 2018-11-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103069383B (zh) | 具有图形用户界面的装置及开发多媒体计算机应用程序的方法 | |
CN104350493B (zh) | 将数据变换成可消费的内容 | |
CN107219916A (zh) | 基于多平台的体验生成 | |
Wong | Rough and ready prototypes: Lessons from graphic design | |
Demchak et al. | Introducing Revit architecture 2009: BIM for beginners | |
CN1950763B (zh) | 过程环境中具有多种视像的图形元素 | |
CN102289834B (zh) | 一种微动画编辑器及其编辑方法 | |
CN107408142A (zh) | 基于多用户云参数特征的3d cad系统 | |
WO2016065567A1 (en) | Authoring tools for synthesizing hybrid slide-canvas presentations | |
KR20070026820A (ko) | 빌딩 블록 모델들에 대한 빌딩 지침서들의 자동 생성 | |
US20040041812A1 (en) | System and method for presenting three-dimensional data | |
Zhang et al. | Vrgit: A version control system for collaborative content creation in virtual reality | |
Mei et al. | Datav: Data visualization on large high-resolution displays | |
Xie et al. | A remote VR operation system for a fully mechanised coal-mining face using real-time data and collaborative network technology | |
Harper | Mastering Autodesk 3ds Max 2013 | |
CN109716294A (zh) | 具有可移动迷你标签的用户界面 | |
Guerrero et al. | PATEX: Exploring pattern variations | |
Krygiel et al. | Mastering autodesk revit architecture 2015: autodesk official press | |
Cline | Sketchup for interior design: 3D visualizing, designing, and Space Planning | |
CN115828633A (zh) | 一种基于Unity3D的配电场景建模方法 | |
Knott | Beginning Xcode: Swift 3 Edition | |
Fanini et al. | Building blocks for multi-dimensional WebXR inspection tools targeting cultural heritage | |
Ahsan et al. | Ebb & Flow: Uncovering Costantino Nivola's Olivetti Sandcast through 3D Fabrication and Virtual Exploration | |
Pulcrano | CLOUD-TO-BIM-TO-VR: an operative approach for the construction of interactive and information models for the cultural heritage | |
Klein | A Gesture Control Framework Targeting High-Resolution Video Wall Displays |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160928 Termination date: 20170602 |
|
CF01 | Termination of patent right due to non-payment of annual fee |