CN101821714B - 复用运行应用中的组件 - Google Patents

复用运行应用中的组件 Download PDF

Info

Publication number
CN101821714B
CN101821714B CN200880111163.XA CN200880111163A CN101821714B CN 101821714 B CN101821714 B CN 101821714B CN 200880111163 A CN200880111163 A CN 200880111163A CN 101821714 B CN101821714 B CN 101821714B
Authority
CN
China
Prior art keywords
reusable components
source
application
intended application
input
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
Application number
CN200880111163.XA
Other languages
English (en)
Other versions
CN101821714A (zh
Inventor
R·R·韦伯斯特
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Adobe Inc
Original Assignee
Adobe Systems Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Adobe Systems Inc filed Critical Adobe Systems Inc
Publication of CN101821714A publication Critical patent/CN101821714A/zh
Application granted granted Critical
Publication of CN101821714B publication Critical patent/CN101821714B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse

Abstract

用于对组件进行复用的方法、系统和装置,包括计算机程序产品。在一个方面,一种方法包括:在应用环境中执行源应用;在与源应用相对应的源应用窗口中呈现可复用组件,其中可复用组件与源应用窗口中显示的一个或多个非可复用组件在视觉上可区分;接收在源应用窗口中选择可复用组件并且将该可复用组件添加到与目标应用相对应的目标应用窗口的输入;以及将与可复用组件相关联的一个或多个计算机可读指令插入目标应用。另外,可以接收激活与源应用相关联的复用功能的输入。另外,可复用组件可以仅在复用功能为活跃时与源应用窗口中显示的一个或多个非可复用组件在视觉上可区分。

Description

复用运行应用中的组件
技术领域
本发明涉及标识现有应用中的可复用组件,以及将可复用组件插入独立的应用(诸如开发中的应用)的系统和方法。
背景技术
从计算的早期开始,软件应用的开发已经有了很大的进步。例如,低级语言使用与执行程序的计算系统的硬件密切相关的结构。高级编程语言的创建提供了比相应的低级编程语言更加抽象的工具,并且实现了更高的跨越不同平台的可移植性。高级编程语言还允许程序员按照变量、数学公式和布尔表达式而不是存储器地址和寄存器来表达操作。
面向对象编程的概念和面向对象的语言(诸如C++)的发展进一步允许程序员将软件应用模块化。面向对象编程强调包括封装、继承和模块化的概念。可以使用面向对象技术来创建专用模块,使得模块接收来自一个或多个其他模块的输入和/或为一个或多个其他模块提供输出。另外,程序中的独立模块可以配置为通过传递按照诸如类、子类和对象等结构而组织的数据来进行通信。一旦创建,可以通过复制源代码和相关联的定义而在其他程序中复用这种专用模块。
Java通过引入虚拟机的概念而进一步扩展了面向对象编程的原理,虚拟机使得可以在平台无关的环境中执行应用。一旦进行了配置,虚拟机便作为执行应用的操作系统和计算平台之上的环境而存在。因为虚拟机可以在多种计算平台上运行,所以应用可以在任何支持平台上的虚拟机中执行,而不需要定制。由此,可以生成与虚拟机结合使用的应用,使得应用跨多种独立的计算平台是可复用的。
编程工具,或称集成开发环境(IDE),进一步增强了程序员高效开发软件应用的能力。编程工具可以用于建立原型、编码、调试和维护一个或多个软件应用。另外,IDE通常包括图形化编程环境,其中特征可以至少部分通过图形化工具的使用来进行配置。IDE还可以包括可以诸如控件和显示等标准组件的工具板,这些标准组件可以在无需独立开发的情况下被插入到应用中。另外,IDE提供分析和修改源代码可用的现有应用的能力。
发明内容
本发明描述了涉及复用包括在现有应用中的一个或多个组件的技术。现有应用诸如在应用环境的上下文内执行的应用,其可以配置用于标识包括在应用中的一个或多个可复用组件。例如,可以显示可复用组件,以使得其与应用的非可复用组件在视觉上可区分,包括通过高亮、低亮、加框、加阴影或任何其他此类可视指示。另外,可复用组件可以插入在相同应用环境中执行的分离应用中。可以配置应用环境,使得作为源应用的现有应用中所包括的可复用组件可以通过图形用户界面命令(诸如拖放操作)而被选择和向目标应用中转移。而且,响应于被“施放”在与目标应用相关联的显示空间中,可复用组件可以被自动地插入目标应用。
发明人认识到,需要允许将运行应用切换为促进一个或多个组件的复用的模式。另外,发明人认识到,需要将与可复用组件相关联的指令自动地插入向其转移可复用组件的目标应用的代码中。为了促进组件的复用,发明人认识到,有益的是允许应用开发者例如通过将标志或者变量设置为特定值来将组件指定为可复用的。
发明人还认识到,需要允许开发者对组件的可复用性保持一定级别的控制,包括限制对组件的修改程度以及需要取得许可才能使用组件的能力。另外,发明人认识到,需要阻止组件被复用。因此,此处描述的系统和装置可以实现用于标识一个或多个可复用组件以及在多个应用之间对其进行共享的方法。
总体上,在一个方面,主题可以实现为包括:在应用环境中执行源应用;在与源应用相对应的源应用窗口中呈现可复用组件,其中可复用组件与源应用窗口中显示的一个或多个非可复用组件在视觉上可区分;接收在源应用窗口中选择可复用组件并将该可复用组件添加到与目标应用相对应的目标应用窗口中的输入;以及将与可复用组件相关联的一个或多个计算机可读指令插入目标应用。
主题还可以实现为使得接收的输入包括拖放操作。主题可以进一步实现为包括接收激活与源应用相关联的复用功能的输入。此外,主题可以实现为使得可复用组件仅在复用功能为活跃时呈现在源应用窗口中。另外,主题可以实现为使得可复用组件仅在复用功能为活跃时与源应用窗口中显示的一个或多个非可复用组件在视觉上可区分。
主题还可以实现为包括:确定可复用组件中包括的数据输入是未指派的;在目标应用窗口中标识包括未指派的数据输出的第二组件;以及在目标应用中建立可复用组件中包括的数据输入与第二组件中包括的数据输出之间的连接。主题可以进一步实现为包括:从用户接收确认可复用组件中包括的数据输入与第二组件中包括的数据输出之间的连接的输入。另外,主题可以实现为使得可复用组件基于与可复用组件相关联的显示属性而与一个或多个非可复用组件在视觉上可区分,所述显示属性包括高亮、阴影、增强边界和发光效果中的至少一个。
总体上,在另一方面,该技术可以实现为一种编码在计算机可读介质上的计算机程序产品,其可操作以使得数据处理装置执行以下操作:在应用环境中执行源应用;在与源应用相对应的源应用窗口中呈现可复用组件,其中可复用组件与源应用窗口中显示的一个或多个非可复用组件在视觉上可区分;接收在源应用窗口中选择可复用组件并将该可复用组件添加到与目标应用相对应的目标应用窗口中的输入;以及将与可复用组件相关联的一个或多个计算机可读指令插入目标应用。
另外,主题可以实现为使得接收的输入包括拖放操作。主题还可以实现为可操作以使得数据处理装置执行包括以下的操作:接收激活与源应用相关联的复用功能的输入。此外,主题可以实现为使得可复用组件仅在复用功能为活跃时呈现在源应用窗口中。另外,主题可以实现为使得可复用组件仅在复用功能为活跃时与源应用窗口中显示的一个或多个非可复用组件在视觉上可区分。
主题还可以实现为进一步可操作以使得数据处理装置执行包括以下的操作:确定可复用组件中包括的数据输入是未指派的;在目标应用窗口中标识包括未指派的数据输出的第二组件;以及在目标应用中建立可复用组件中包括的数据输入与第二组件中包括的数据输出之间的连接。另外,主题可以实现为进一步可操作以使得数据处理装置执行包括以下的操作:从用户接收确认可复用组件中包括的数据输入与第二组件中包括的数据输出之间的连接的输入。主题可以进一步实现为使得可复用组件基于与可复用组件相关联的显示属性而与一个或多个非可复用组件在视觉上可区分,所述显示属性包括高亮、阴影、增强边界和发光效果中的至少一个。
总体上,在另一方面,主题可以实现为一种系统,包括存储在计算机可读介质上的源应用,以及包括处理器电子设备的计算系统,该处理器电子设备配置用于执行包括以下的操作:在应用环境中执行源应用;在与源应用相对应的源应用窗口中呈现可复用组件,其中可复用组件与源应用窗口中显示的一个或多个非可复用组件在视觉上可区分;接收在源应用窗口中选择可复用组件并将该可复用组件添加到与目标应用相对应的目标应用窗口中的输入;以及将与可复用组件相关联的一个或多个计算机可读指令插入目标应用。
主题还可以实现为使得接收的输入包括拖放操作。另外,主题可以实现为使得处理器电子设备进一步配置为执行包括以下的操作:接收激活与源应用相关联的复用功能的输入。此外,主题可以实现为使得可复用组件仅在复用功能为活跃时呈现在源应用窗口中。另外,主题可以实现为使得可复用组件仅在复用功能为活跃时与源应用窗口中显示的一个或多个非可复用组件在视觉上可区分。
主题还可以实现为使得处理器电子设备进一步配置为执行包括以下的操作:确定可复用组件中包括的数据输入是未指派的;在目标应用窗口中标识包括未指派的数据输出的第二组件;以及在目标应用中建立可复用组件中包括的数据输入与第二组件中包括的数据输出之间的连接。另外,主题可以实现为使得处理器电子设备进一步配置为执行包括以下的操作:从用户接收确认可复用组件中包括的数据输入与第二组件中包括的数据输出之间的连接的输入。另外,主题可以实现为使得可复用组件基于与可复用组件相关联的显示属性而与一个或多个非可复用组件在视觉上可区分,所述显示属性包括高亮、阴影、增强边界和发光效果中的至少一个。
本说明书中描述的主题的特定实施方式可以实现为获得一个或多个以下优势。例如,主题可以实现用以将可复用组件从源应用转移或复制到目标应用中,而无需手动地存取与可复用组件相关联的源代码。另外,主题可以实现为使得可复用组件可以从运行应用中被拖动并施放到正在开发的应用(包括新应用和正在修改的应用)中。主题还可以实现用以共享诸如控件的低级组件和诸如复杂小部件和工具的高级组件两者。另外,主题可以实现用以诸如通过许可或“只读”保护来允许限制对可复用组件的共享或修改程度。
主题可以使用装置、方法、系统、计算机程序产品或装置、方法、系统和计算机程序产品的任何组合来实现。在以下的附图和描述中给出本发明的一个或多个实施方式的细节。根据说明书、附图和权利要求,本发明的其他特征、方面和优势将变得显而易见。
附图说明
图1A-图1C示出了可以用于在两个或更多应用之间共享一个或多个可复用组件的示例性界面;
图2示出了描述将可复用组件插入应用的示例性过程的流程图;
图3示出了可以用于共享两个或更多应用中所包括的可复用组件的示例性界面;
图4示出了描述用于对目标应用中的两个可复用组件进行关联的示例性过程的流程图;
图5示出了复用组件的计算机实现的方法。
在各附图中,相同的参考数字和名称指示相同的元件。
具体实施方式
图1A示出了可以用于在两个或更多应用之间共享一个或多个可复用组件的示例性界面。可复用组件是计算机程序的元素,其包括实现一个或多个功能的一个或多个指令,其中计算机程序组件可以从一个应用程序中提取并再次用于构造新的应用程序。从其共享可复用组件的应用称为源应用,向其插入可复用组件的应用称为目标应用。另外,可以在其间共享可复用组件的一个或多个源应用和一个或多个目标应用与共同的应用环境相关联。在一个实现中,应用环境可以是跨操作系统运行时,如California,San Jose的AdobeSystems Incorporated提供的
Figure GPA00001091804500061
Integrated Runtime。
可以在图形用户界面(“GUI”)环境,例如操作系统或应用环境所呈现的桌面100,中呈现界面。桌面100可以配置用于允许启动一个或多个应用(或“计算机程序”)。另外,桌面100可以允许用户通过一个或多个输入和控件(包括图形控件)来与应用进行交互。例如,用户可以通过诸如鼠标或轨迹球等物理输入设备来控制桌面100中显示的光标102,并输入命令以执行一个或多个操作。
在应用环境中执行的源应用在桌面100中可由源应用窗口105来代表。源应用窗口105可以包括命令菜单110,其列出与源应用可执行的功能相关联的多个命令。例如,命令菜单110可以包括多个菜单标题,其中每个与一个或多个选项和子菜单的列表相对应。命令菜单100还可以包括与特定功能相关联的一个或多个命令按钮,如最小化或关闭源应用窗口105。另外,命令菜单100可以实现为可复用组件。
源应用还可以包括滚动条115,其允许对源应用窗口105的选择性显示。滚动条115也可以实现为可复用组件。另外,可以在源应用窗口105中显示与源应用相关联的一个或多个其他组件。例如,天气监视器120可以配置为显示地球的特定区域的当前天气状况。天气监视器120还可以配置为呈现其他信息,如时间、温度和预测数据。由天气监视器120呈现的信息可以从包括远程数据源的一个或多个数据源收集。另外,股票报价机125可以配置为呈现一个或多个证券或指数的报价。与天气监视器120相似,股票报价机125也可以配置为从包括远程数据源的一个或多个数据源获取报价数据。另外,可以在源应用窗口105中显示监视器130。监视器130可以提供与数据源相关联的值的图形化表示。例如,监视器130可以提供通过与其上容纳有源应用或者声音数据存储在电子文件中的计算平台相连接的话筒接收到的声音的视觉表示。
目标应用可以在桌面100中由目标应用窗口135来表示。目标应用可以是正在开发的新创建(或“空”)的应用。在一个实现中,可以通过从诸如命令菜单140的菜单中选择“新建应用”选项来创建空应用。还可以通过从上下文菜单中选择“新建应用”选项来创建菜单,其中上下文菜单例如响应于在应用环境或桌面100内执行的现有应用中的右击所显示的菜单。另外,空应用可以按照应用模板来配置,并继而在应用环境内启动以作为执行应用。备选地,目标应用可以是正在进行修改的现有应用。
在一个实现中,可以修改任何现有应用,除非其已经被锁定为阻止进一步修改。命令菜单140可以配置为列出与目标应用可执行的功能相关联的多个命令。如果目标应用是新创建的应用,则命令菜单140可以包括标准功能,例如保存、退出和帮助。在诸如通过添加一个或多个组件而向目标应用添加功能时,命令菜单140可以扩展为包括与所扩展的功能相关联的选项和子菜单。在一个实现中,还可以通过使用应用开发工具来修改命令菜单140。
图1B示出了在源应用窗口105的命令菜单110中选择复用菜单145的示例。可以这样来选择复用菜单145:将光标102定位在复用菜单145附近,以及通过物理控制设备(诸如鼠标的按键)来输入命令。备选地,可以通过预定命令(诸如键盘上的功能键或组合键)的输入来选择复用菜单145。复用菜单145配置为允许用户打开或者关闭应用的复用功能。另外,复用菜单145呈现可视指示符来标识当前选择的菜单选项,诸如在选择的选项邻近显示的标记,或通过用于表示选择的选项的、视觉上有区分的文字。备选地,复用菜单可以呈现为使得仅显示当前选项,并且选择当前选项将导致其切换(例如,从“关”到“开”)。
当复用功能被关闭时,源应用执行例行操作,诸如执行与源应用中所包括的一个或多个组件相关联的功能。当复用功能被打开时,源应用标识可用于复用的组件。源应用中包括的可复用组件可以通过多种提示来标识,包括通过界面提供的视觉和/或声音提示。在一个实现中,打开复用功能还将启用拖放功能,其可以用来将可复用组件插入目标应用。
另外,可以配置源应用,使得打开复用功能将禁止为了功能而与可复用组件交互,只有向目标应用的插入除外。例如,当在源应用中打开复用功能时,可以禁用与可复用组件相关联的命令界面。由此,选择可复用组件中包括的按钮将不会产生按钮“点击”事件或是启动在复用功能被关闭时将会得到的相应功能。而且,当复用功能打开时,可以禁止与源应用中所包括的非可复用组件进行交互。例如,影片播放器可以配置为继续播放,但是可以禁用诸如暂停和倒回等关联控件,从而使影片播放器变得迟钝(inert)。
图1C示出了当复用功能打开时桌面100中呈现的示例性界面。可视指示符可以与一个或多个可复用组件相关联,以将它们与源应用的其他部分(包括不是可复用的组件)区分开。例如,可视边界可以在可复用组件周围显示,诸如在天气监视器120周围显示的边界150,或在监视器130周围显示的边界155。可以显示可视边界以便在可复用组件周围创建定义的边界,其包括与相同窗口中包括的非可复用组件的表示不同的颜色或文字。备选地,可视边界可以呈现为环绕可复用组件的“发光”或“光环”效果。
另外,可视边界可以持续显示,或者可以响应于界面事件而断续显示,例如响应于光标进入可复用组件的预定范围内。在一个实现中,非可复用组件可以通过在应用窗口中减弱其可视呈现而与可复用组件在视觉上区分开,例如通过使非可复用组件淡出或灰化。减弱非可复用组件的可视表示可以与增强可复用组件的可视表示(诸如通过使用可视边界)相结合地或者作为替代来执行。如果界面组件和控件是可复用的,则其也可以包括可视边界。例如,滚动条115可以包括可视边界160,以指示其是可复用组件。备选地,可以将界面组件高亮或阴影化以指示其是可复用的。
另外,当复用功能被打开时,可以通过图标来表示通常没有关联可视呈现的可复用组件。例如,当通过源应用的复用菜单145打开复用时,可以在源应用窗口105中呈现数据库图标165。数据库图标165可以用于表示源应用可访问的数据源,其在复用功能关闭时没有可视表示。另外,可以利用可视边界来呈现数据库图标165,这指示其是可复用的。在一些实现中,可复用组件可以通过听觉指示符结合视觉指示符来标识。例如,响应于例如光标进入可复用组件的预定范围等界面事件,可以呈现不同的声音来标识可复用组件。
可以在界面中“抓取”可复用组件,例如通过使用鼠标控制的光标。一旦被抓取,可复用组件就可以通过拖放操作被插入其他应用。例如,可以在源应用窗口105中抓取天气监视器120,并跨界面将其向目标应用窗口135拖动170。通过在目标应用窗口135中施放天气监视器120,新的天气监视器175被插入目标应用。
通过拖放操作生成的天气监视器175包含源应用中天气监视器120的所有功能,包括当前选择的所有配置设置。由此,可以将插入目标应用中的天气监视器175初始化为与复制过程开始时源应用中的天气监视器120的状态相对应的状态。例如,插入目标应用的天气监视器175可以配置为呈现与源应用相关联的天气监视器120相同的地理区域的天气数据。
在一些实现中,插入目标应用的天气监视器175的功能还可以按照可复用组件的开发者所施加的一个或多个限制来加以约束。然而,除非被限制,否则天气监视器175可以按照目标应用的需求重新配置。在其他实现中,通过将可复用组件插入目标应用而生成的新组件可以自动地或者响应于来自用户的输入而被初始化为默认状态。例如,可以将与可复用组件相关联的所有配置设置初始化为默认值。
另外,可以在将可复用组件插入目标应用之后对其进行操纵。例如,一旦天气监视器175被显示在目标应用窗口135中,便可以对其进行大小调整、移动或删除。另外,可以使用一个或多个开发工具来修改目标应用,例如通过在IDE中打开或访问目标应用。例如,被填入有一个或多个可复用组件的目标应用可以作为IDE中的工程打开。在一个实现中,可以选择菜单项来根据目标应用生成可以在IDE中打开的工程。
另外,可以转换与目标应用中所包括的一个或多个组件相对应的代码(例如转换为标记语言或脚本语言)以生成工程。在一些实现中,在将目标应用作为工程打开时,可以针对该应用中所包括的一个或多个组件而自动地获取源代码。例如,可以访问包括在组件中的源代码指针(例如URL)以获取相应的源代码。备选地,如果源代码指针不可用,则可以在IDE中使用组件的二进制形式。
图2示出了描述用于将可复用组件插入应用中的示例性过程的流程图。可以在运行的应用中选择可复用选项,以允许标识和共享该应用中包括的可复用组件(205)。在一些实现中,仅在选择了可复用选项时可以从运行的应用共享可复用组件。
另外,标识运行应用中所包括的可复用组件(210)。应用被配置为可视地标识每个可复用组件,并允许每个可复用组件诸如通过拖放操作来与分离的应用共享。可以对运行应用中包括的组件进行轮询,以确定其是否实现可复用性。备选地,可以访问由应用维护的可复用组件的记录。在一个实现中,通过与组件相关联的类定义将组件标识为可复用。例如,标准按钮可以属于类Button。另外,开发者可以创建标识为MyButton的新子类,其对类Button进行扩展。另外,子类MyButton可以包括称为Reusable(可复用)的接口。由此,属于子类MyButton的组件可以包括对该接口的引用,如“实现Reusable”,以指示组件是可复用的。
备选地,子类MyButton可以包括可复用性标志,诸如指示可复用性状态的布尔值。还可以通过与组件相关联的可视标识符的呈现来向用户标识可复用组件,例如高亮、阴影或可视边界。还可以通过听觉标识符来标识可复用组件。另外,当选择复用时,可以使用对象来表示在没有选择复用时在应用窗口中没有相关联可视表示的组件,其中所述对象例如包括指示可复用性的可视标识符的图标。由此,当与应用相对应的复用选项已被选中时,用户可以视觉上识别出该应用中所包括的所有可复用组件。
另外,低级组件和高级组件二者都可以被标识为可复用的。例如,可以复用低级界面装置,诸如按钮、面板、滚动条和文本框。另外,也可以复用高级组件,包括专用小部件和小应用(applet)。由此,在开发工具板中通常不可用的一个或多个组件(诸如复杂的和定制的组件)可以从现有应用复用。
可以在源应用运行的同时标识与可复用组件相关联的复制操作(215)。例如,用户可以通过选择源应用中包括的可复用组件来发起复制操作。另外,可复用组件可以通过拖放操作向目标应用窗口转移。备选地,还可以执行一个或多个其他转移操作,例如复制-粘贴操作或剪切-粘贴操作。可以对目标应用进行轮询,以确定其是否被锁定(220)。例如,目标应用可能被设置为只读或可能被配置为在对其进行修改之前需要认证。如果目标应用被锁定,则取消复制操作(225)。
如果目标应用没有锁定,则可以访问可复用组件以确定其是否包括源代码指针(230)。例如,可以在复制操作期间从源应用复制与可复用组件相关联的二进制代码。另外,可以对该二进制代码进行分析,以确定其是否包括标识可从其获得可复用组件的全部源代码的位置(诸如,web站点)的嵌入指针。如果包括源代码指针,则可以获取源代码(235)。否则,使用与可复用组件相关联的二进制代码。
还要标识与可复用组件相关联的任何约束(240)。如果一个或多个约束与可复用组件相关联,则实现所述约束(245)。可复用组件的开发者或所有者可以要求满足复用的一个或多个条件,其可以包括在与可复用组件相对应的代码中。例如,可复用组件可以分类为“只读”,以使得不能对该可复用组件做出进一步修改。还可以在授权可复用组件的全部使用之前要求许可。例如,可以许可可复用组件与特定的应用结合使用。在调用可复用组件时,可以确定其正在哪个应用中运行以及其是否被许可与该应用结合使用。如果可复用组件确定其没有与被许可的应用相关联,则可复用组件可以在试用或示范模式中运行。受约束的可复用组件还可以标识用于获得许可的指令,诸如可以从其购买全部许可的源。另外,可复用组件可以显示消息,以指示其处于试用模式和/或仅提供受限的功能。
如果不存在约束或者一旦约束已经实现,则可以在目标应用中初始化可复用组件(250)。由此,在允许的范围内,在目标应用中创建和初始化源应用中所包括的可复用组件的副本。另外,可复用组件可以与目标应用可访问的库文件相关联。由此,可复用组件可以包括标识与其相关联的库文件的属性。备选地,如果可复用组件仅与目标应用相对应,则该属性可以具有空值。一旦在目标应用中进行了初始化,也可以执行可复用组件。在允许的范围内,将可复用组件复制为完整的组件。由此,一旦将可复用组件插入目标应用,便可以将其配置为完全起作用的。
图3示出了可以用于在两个或更多应用之间共享可复用组件的示例性界面。在诸如由操作系统或应用执行环境呈现的桌面300的GUI环境中,呈现了多个应用。与第一源应用相关联的第一源应用窗口305包括被配置为以图形格式来呈现信息的柱状图界面310。第一源应用窗口305还包括万维网图标315,其表示柱状图界面310中所呈现的信息的数据源。柱状图界面310和万维网图标315可以分别与可视指示符312和317结合显示,以指示其是可复用组件。
另外,与第二源应用相关联的第二源应用窗口320包括被配置为以图形格式来呈现信息的仪表界面325。第二源应用窗口320还包括数据库图标330,其表示仪表界面325中呈现的信息的数据源。仪表界面325和数据库图标330可以分别与可视指示符327和332结合显示,以指示其是可复用组件。
另外,可以在桌面300中显示目标应用窗口335。目标应用窗口335可以与新应用或允许修改的现有应用相关联。可以通过拖放操作340将第一源应用窗口305中包括的条状图形界面310插入目标应用窗口335。当被施放在目标应用窗口335中之后,新的柱状图界面350在目标应用中被创建。类似地,可以通过拖放操作345将第二源应用窗口320中包括的数据库图标330插入目标应用窗口335。当被施放在目标应用窗口335中之后,与数据库图标330表示的数据库相对应的新数据源355在目标应用中被创建。
另外,目标应用可以配置为检测到:柱状图界面350包括尚未指定数据源的输入。目标应用还可以确定:数据源355包括未与目标应用中的相应数据输入相关联的数据输出。由此,目标应用可以提示用户指示是否将数据源355的输出连接至柱状图界面350的输入。备选地,目标应用可以配置为自动地在包括未指派数据输出的组件与包括未指派数据输入的组件的之间创建连接。由此,数据源355的输出可以自动地连接至柱状图界面350的输入。在另一实现中,用户可以在具有数据输出的第一组件与具有数据输入的第二组件之间指定期望的连接,这例如是通过将第一组件施放到第二组件上。
图4示出了描述对目标应用中的两个可复用组件进行关联的示例性过程的流程图。在目标应用中接收包括未指派的数据输入的可复用组件(405)。还在目标应用中接收包括未指派的数据输出的可复用组件(410)。包括未指派的数据输入和未指派的数据输出的可复用组件可以按任意顺序接收。另外,在接收包括未指派的数据输入的可复用组件与接收包括未指派的数据输出的可复用组件之间,可以在目标应用中接收一个或多个居间组件或其他项目。另外,在接收包括未指派的数据输入和未指派的数据输出的可复用组件之间可以经过任意长的时间段。
目标应用检测到包括未指派的数据输入的可复用组件和包括未指派的数据输出的可复用组件(415)。然后,目标应用询问用户以确定是否应当将未指派的数据输出与未指派的数据输入连接(420)。例如,目标应用可以配置为向用户呈现提示,询问是否应当提供来自第一可复用组件的输出作为第二可复用组件的输入。如果用户确认,则形成可复用组件之间的连接(425)。
否则将不建立连接,并且目标应用继续运行直到接收到其他可复用组件(430)。然后,目标应用确定该其他可复用组件是否包括未指派的输入或输出(435)。如果其他可复用组件包括未指派的输入或输出,则目标应用询问用户以确定是否应当形成连接(420)。否则,目标应用继续运行直到接收到另一可复用组件(430)。
另外,目标应用可以配置为允许用户重新配置两个组件之间的连接,以及形成两个或更多组件之间的连接。在其他实现中,目标应用可以配置为自动地形成包括未指派的数据输入的可复用组件与包括未指派的数据输出的可复用组件之间的连接。另外,目标应用可以配置为提示用户确认连接是否正确。
图5示出了对组件进行复用的计算机实现的方法。首先,在应用环境中执行源应用(505)。在与源应用相对应的源应用窗口中呈现可复用组件,其中可复用组件与源应用窗口中显示的一个或多个非可复用组件在视觉上可区分(510)。接收在源应用窗口中选择可复用组件并将该可复用组件添加到与目标应用相对应的目标应用窗口的输入(515)。一旦接收到该输入,则将与可复用组件相关联的一个或多个计算机可读指令插入目标应用(520)。
本说明书中描述的主题和功能性操作的实施方式可以在数字电子电路中实现,或者在计算机软件、固件或硬件中实现,该计算机软件、固件或硬件包括本说明书中公开的结构及其等同结构、或是它们的一个或多个的组合。本说明书中描述的主题的实施方式可以实现为一个或多个计算机程序产品,也即,在计算机可读介质上编码的、以便由数据处理装置执行或控制数据处理装置操作的一个或多个计算机程序指令模块。计算机可读介质可以是机器可读的存储设备、机器可读的存储衬底、存储设备、实现计算机可读的传播信号的组合、或者它们中的一个或多个的结合。术语“数据处理装置”包括用于处理数据的所有装置、设备和机器,例如包括可编程处理器、计算机,或者多个处理器或计算机。除了硬件之外,该装置可以包括为考虑中的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、跨平台运行时环境,或者它们中一个或多个的结合的代码。传播信号是人工产生的信号,例如,机器产生的电信号、光信号或者电磁信号,生成该信号以对信息进行编码,以便传输到适当的接收器装置。
计算机程序(也公知为程序、软件、软件应用、脚本或代码)可以由任意形式的编程语言编写,包括编译语言或解释语言,并且该计算机程序可以任意形式部署,包括部署为单独的程序或模块、组件、子例程,或者适于在计算环境中使用的其他单元。计算机程序无需对应于文件系统中的文件。程序可以存储在保存其他程序或数据(例如,存储在标记语言文档中的一个或多个脚本)的文件的一部分中、可以存储在专门用于考虑中的程序的单个文件中,或者存储在多个协同文件中(例如,存储一个或多个模块、子程序,或代码部分的文件)。可以将计算机程序部署为在一个计算机上执行,或者将其部署为在位于一个地点的多个计算机上执行或跨过多个地点分布且通过通信网络互连的多个计算机上执行。
本说明书中描述的处理和逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程处理器执行,用于通过对输入数据进行操作以及产生输出来执行功能。该处理和逻辑流程还可以由例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)的专用逻辑电路执行,并且也可以将装置实现为所述专用逻辑电路。
适于计算机程序执行的处理器例如包括通用和专用处理器两者、以及任意类型的数字计算机的任意一个或多个处理器。通常,处理器将从只读存储器或随机访问存储器或两者处接收指令和数据。计算机的基本元件是用于执行指令的处理器以及用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括用于存储数据的一个或多个海量存储设备,或被操作性地耦合为从所述用于存储数据的一个或多个海量存储设备接收数据、向其传送数据、或者进行两者,该海量存储设备例如磁盘、磁光盘、或光盘。然而,计算机不必一定具有这样的设备。而且,计算机可以嵌入在其他设备中,例如移动电话、个人数字助理(PDA)、移动音频播放器、全球定位系统(GPS)接收器,这仅是几例。适于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储设备,例如包括:半导体存储设备,如EPROM、EEPROM和闪存设备;磁盘,如内部硬盘或可移动盘;磁光盘;以及CD-ROM和DVD-ROM盘。处理器和存储器可以由专用逻辑电路补充或是包括在专用逻辑电路中。
为了提供与用户的交互,本说明书中描述的主题的实施方式可以在具有用于向用户显示信息的显示设备以及用户可以通过其向计算机提供输入的键盘和指点设备的计算机上实现,其中显示设备例如CRT(阴极射线管)或者LCD(液晶显示器)监视器,指点设备例如鼠标或者轨迹球。也可以使用其他类型的设备来提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感观反馈,例如视觉反馈、声觉反馈、或者触觉反馈;并且可以接收来自用户的任意形式的输入,包括声音、语音或触觉输入。
本说明书中描述的主题的实施方式可以实现在包括后端组件的计算系统中,例如数据服务器;或实现在包括中间件组件的计算系统中,例如应用服务器;或实现在包括前端组件的计算系统中,例如具有图形用户界面或者Web浏览器的客户端计算机,用户通过该图形用户界面或Web浏览器可以与本说明书中描述的主题的实现进行交互;或实现在一个或多个这样的后端、中间件、或前端组件的任意结合中。系统组件可以与任意形式或介质的数字数据通信例如通信网络互连。通信网络的示例包括局域网(“LAN”)和广域网(“WAN”)例如因特网。
计算系统可以包括客户端和服务器。客户端和服务器一般相互远离,并且通常通过通信网络进行交互。客户端和服务器的关系是借助于在各自计算机上运行的、彼此具有客户端-服务器关系的计算机程序得到的。
尽管本说明书包含多种特定细节,但是不应将其理解为是对本发明的范围或者所要求保护内容的限制,而应当理解为是本发明具体实施方式的特定特征的描述。本说明书中描述的在各个实施方式的上下文中的某些特征也可以在单个实施方式中结合实现。相反,在单个实施方式上下文中描述的各种特征也可以分别实现在多个实施方式中或者任意适当的子组合中。而且,尽管上文可能将特征描述为在特定的组合中操作,甚至初始也是这样要求保护的,但是来自所要求保护的组合的一个或多个特征在一些情况下可以从该组合中去除,并且所要求保护的组合可以针对子组合或组合的变形。
类似地,尽管在附图中以特定的顺序描述操作,但是不应将其理解为要求按照所示的特定顺序或是串行顺序来执行这些操作,或是要求执行全部所示的操作以得到期望的结果。在特定环境中,多任务和并行处理可能是有利的。而且,在上述实施方式中多个系统组件的分离不应被理解为在所有实施方式中需要这些操作,应当将其理解为所描述的程序组件和系统通常可以在单个软件产品中集成在一起,或是被打包到多个软件产品中。
由此,描述了本发明的特定实施方式。其他实施方式包括在所附权利要求的范围中。例如,权利要求中列举的动作可以按不同的顺序执行,并仍然得到期望的结果。

Claims (16)

1.一种对运行中应用的组件进行复用的计算机实现的方法,所述方法包括:
在应用环境中执行源应用;
在与所述源应用相对应的源应用窗口中呈现可复用组件,其中所述可复用组件与所述源应用窗口中显示的一个或多个非可复用组件在视觉上可区分;
接收在所述源应用窗口中选择所述可复用组件并且将所述可复用组件添加到与目标应用相对应的目标应用窗口的输入,所述目标应用在所述应用环境中独立于所述源应用执行;以及
将与所述可复用组件相关联的一个或多个计算机可读指令插入所述目标应用。
2.根据权利要求1所述的计算机实现的方法,其中接收到的所述输入包括拖放操作。
3.根据权利要求1所述的计算机实现的方法,进一步包括:
接收激活与所述源应用相关联的复用功能的输入。
4.根据权利要求3所述的计算机实现的方法,其中所述可复用组件仅在所述复用功能为活跃时呈现在所述源应用窗口中。
5.根据权利要求3所述的计算机实现的方法,其中所述可复用组件仅在所述复用功能为活跃时与所述源应用窗口中显示的一个或多个非可复用组件在视觉上可区分。
6.根据权利要求1所述的计算机实现的方法,进一步包括:
确定所述可复用组件中包括的数据输入为未指派;
在所述目标应用窗口中标识包括未指派的数据输出的第二组件;以及
在所述目标应用中建立所述可复用组件中包括的所述数据输入与所述第二组件中包括的所述数据输出之间的连接。
7.根据权利要求6所述的计算机实现的方法,进一步包括:
从用户接收确认所述可复用组件中包括的所述数据输入与所述第二组件中包括的所述数据输出之间的所述连接的输入。
8.根据权利要求1所述的计算机实现的方法,其中所述可复用组件基于与所述可复用组件相关联的显示属性而与一个或多个非可复用组件在视觉上可区分,所述显示属性包括高亮、阴影、增强边界和发光效果中的至少一个。
9.一种对运行中应用的组件进行复用的计算机实现的设备,所述设备包括:
用于在应用环境中执行源应用的装置;
用于在与所述源应用相对应的源应用窗口中呈现可复用组件的装置,其中所述可复用组件与所述源应用窗口中显示的一个或多个非可复用组件在视觉上可区分;
用于接收在所述源应用窗口中选择所述可复用组件并且将所述可复用组件添加到与目标应用相对应的目标应用窗口的输入的装置,所述目标应用在所述应用环境中独立于所述源应用执行;以及
用于将与所述可复用组件相关联的一个或多个计算机可读指令插入所述目标应用的装置。
10.根据权利要求9所述的设备,其中接收到的所述输入包括拖放操作。
11.根据权利要求9所述的设备,进一步包括:
用于接收激活与所述源应用相关联的复用功能的输入的装置。
12.根据权利要求11所述的设备,其中所述可复用组件仅在所述复用功能为活跃时呈现在所述源应用窗口中。
13.根据权利要求11所述的设备,其中所述可复用组件仅在所述复用功能为活跃时与所述源应用窗口中显示的一个或多个非可复用组件在视觉上可区分。
14.根据权利要求9所述的设备,进一步包括:
用于确定所述可复用组件中包括的数据输入为未指派的装置;
用于在所述目标应用窗口中标识包括未指派的数据输出的第二组件的装置;以及
用于在所述目标应用中建立所述可复用组件中包括的所述数据输入与所述第二组件中包括的所述数据输出之间的连接的装置。
15.根据权利要求14所述的设备,进一步包括:
用于从用户接收确认所述可复用组件中包括的所述数据输入与所述第二组件中包括的所述数据输出之间的所述连接的输入的装置。
16.根据权利要求9所述的设备,其中所述可复用组件基于与所述可复用组件相关联的显示属性而与一个或多个非可复用组件在视觉上可区分,所述显示属性包括高亮、阴影、增强边界和发光效果中的至少一个。
CN200880111163.XA 2007-08-27 2008-08-22 复用运行应用中的组件 Active CN101821714B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/845,703 US8156467B2 (en) 2007-08-27 2007-08-27 Reusing components in a running application
US11/845,703 2007-08-27
PCT/US2008/074059 WO2009029531A1 (en) 2007-08-27 2008-08-22 Reusing components in a running application

Publications (2)

Publication Number Publication Date
CN101821714A CN101821714A (zh) 2010-09-01
CN101821714B true CN101821714B (zh) 2013-04-03

Family

ID=40210586

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200880111163.XA Active CN101821714B (zh) 2007-08-27 2008-08-22 复用运行应用中的组件

Country Status (3)

Country Link
US (1) US8156467B2 (zh)
CN (1) CN101821714B (zh)
WO (1) WO2009029531A1 (zh)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005015379A2 (en) * 2003-08-06 2005-02-17 Koninklijke Philips Electronics N.V. A method of presenting a plurality of items
US9218166B2 (en) * 2008-02-20 2015-12-22 Embarcadero Technologies, Inc. Development system with improved methodology for creation and reuse of software assets
US8191036B2 (en) * 2008-05-19 2012-05-29 Apple Inc. Mechanism to support orphaned and partially configured objects
KR101580999B1 (ko) * 2009-01-06 2015-12-30 삼성전자주식회사 애플리케이션 간의 콘텐츠를 이동하는 장치 및 방법
US8661408B2 (en) * 2009-11-23 2014-02-25 Michael James Psenka Integrated development environment and methods of using the same
US8577904B2 (en) * 2009-12-07 2013-11-05 International Business Machines Corporation Composite copy and paste for composite user interfaces
US20140040789A1 (en) * 2012-05-08 2014-02-06 Adobe Systems Incorporated Tool configuration history in a user interface
US20150153918A1 (en) * 2013-12-04 2015-06-04 General Electric Company System and method for dashboard software maintained by an end user
CN104699363B (zh) * 2013-12-10 2018-09-21 阿里巴巴集团控股有限公司 一种窗口界面展现方法及系统
DE102014210854A1 (de) * 2014-06-06 2015-12-17 Oliver Rode Computerimplementiertes Verfahren und Signalfolge für ein Programm zur Wiederverwendung von ausführbaren Softwarekonfigurationen für Softwaresysteme sowie Rechneranlage und ein Computerprogramm mit Programmcode zur Durchführung des Verfahrens
US9720659B2 (en) * 2015-02-12 2017-08-01 International Business Machines Corporation Sparse object instantiation
EP3106980A1 (en) * 2015-06-19 2016-12-21 Ecole Nationale de l'Aviation Civile A processing unit, software and method for controlling interactive components
US10152694B2 (en) * 2016-09-30 2018-12-11 Sap Se Semi-automatic object reuse across application parts
CN110235122B (zh) * 2016-12-21 2023-07-07 开文公司 用于将web内容转化为可重复使用的模板和组件的系统和方法
CN107608594B (zh) * 2017-09-08 2019-03-01 维沃移动通信有限公司 一种多应用的显示方法和移动终端
CN107885570A (zh) * 2017-11-16 2018-04-06 口碑(上海)信息技术有限公司 复用视图组件的方法及装置
US11269500B2 (en) * 2018-05-21 2022-03-08 Samsung Electronics Co., Ltd. Method and system for modular widgets in smart devices
JP7007486B2 (ja) * 2018-08-03 2022-01-24 日立Astemo株式会社 プロジェクトコンポーネントを識別する方法およびその再利用性検出システム
US11392284B1 (en) * 2018-11-01 2022-07-19 Northrop Grumman Systems Corporation System and method for implementing a dynamically stylable open graphics library
EP3726373B1 (en) * 2019-04-15 2024-03-06 Mendix Technology B.V. Creating an app method and system
US11449414B2 (en) 2020-08-26 2022-09-20 Spirent Communications, Inc. Mapping test parameter data elements during heterogeneous component-based testing in a portable automation framework in both API mode and UI mode
US11216347B1 (en) 2020-08-26 2022-01-04 Spirent Communications, Inc. Automatically locating resources using alternative locator expressions during heterogeneous component-based testing in a portable automation framework
US11310680B2 (en) * 2020-08-26 2022-04-19 Spirent Communications, Inc. Reusing provisioned resources during heterogeneous component-based testing in a portable automation framework
US11269712B1 (en) 2020-08-26 2022-03-08 Spirent Communications, Inc. Customized categorial error handling framework for heterogeneous component-based testing in a portable automation framework
CN114579020A (zh) * 2020-11-30 2022-06-03 华为技术有限公司 一种跨应用迁移显示元素的方法及电子设备

Family Cites Families (183)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4752893A (en) 1985-11-06 1988-06-21 Texas Instruments Incorporated Graphics data processing apparatus having image operations with transparent color having a selectable number of bits
FR2647239B1 (fr) 1989-05-22 1991-07-05 Bull Sa Procede de generation d'interfaces pour applications-utilisateurs visualisables sur l'ecran d'un systeme informatique et dispositif pour mettre en oeuvre ledit procede
US5168441A (en) 1990-05-30 1992-12-01 Allen-Bradley Company, Inc. Methods for set up and programming of machine and process controllers
US5388201A (en) 1990-09-14 1995-02-07 Hourvitz; Leonard Method and apparatus for providing multiple bit depth windows
US5289574A (en) 1990-09-17 1994-02-22 Hewlett-Packard Company Multiple virtual screens on an "X windows" terminal
JPH0520044A (ja) 1991-07-15 1993-01-29 Personal Joho Kankyo Kyokai ユーザインタフエース装置
EP0528631B1 (en) 1991-08-13 1998-05-20 Xerox Corporation Electronic image generation
CA2077173C (en) 1991-11-22 2003-04-22 Michael Chen Method and apparatus for direct manipulation of 3-d objects on computer displays
JPH0644339A (ja) 1992-03-06 1994-02-18 Hewlett Packard Co <Hp> 図形オブジェクト操作システム及び方法
US5357603A (en) 1992-06-15 1994-10-18 Microsoft Corporation Method and system for changing a shape type while maintaining existing graphic characteristics
CA2101864A1 (en) 1992-08-27 1994-02-28 Claudia Carpenter Customizable program control interface for a computer system
DE69315969T2 (de) 1992-12-15 1998-07-30 Sun Microsystems Inc Darstellung von Informationen in einem Anzeigesystem mit transparenten Fenstern
US5588107A (en) 1993-03-22 1996-12-24 Island Graphics Corporation Method and apparatus for selectably expandable menus
US5638501A (en) 1993-05-10 1997-06-10 Apple Computer, Inc. Method and apparatus for displaying an overlay image
US5764238A (en) 1993-09-10 1998-06-09 Ati Technologies Inc. Method and apparatus for scaling and blending an image to be displayed
US6983051B1 (en) 1993-11-18 2006-01-03 Digimarc Corporation Methods for audio watermarking and decoding
US5522022A (en) 1993-11-24 1996-05-28 Xerox Corporation Analyzing an image showing a node-link structure
US5796402A (en) 1993-12-03 1998-08-18 Microsoft Corporation Method and system for aligning windows on a computer screen
US6757438B2 (en) 2000-02-28 2004-06-29 Next Software, Inc. Method and apparatus for video compression using microwavelets
US6031937A (en) 1994-05-19 2000-02-29 Next Software, Inc. Method and apparatus for video compression using block and wavelet techniques
US5835693A (en) 1994-07-22 1998-11-10 Lynch; James D. Interactive system for simulation and display of multi-body systems in three dimensions
AUPM704194A0 (en) 1994-07-25 1994-08-18 Canon Information Systems Research Australia Pty Ltd Efficient methods for the evaluation of a graphical programming language
US5564002A (en) 1994-08-01 1996-10-08 International Business Machines Corporation Method and apparatus for implementing a virtual desktop through window positioning
US5835692A (en) 1994-11-21 1998-11-10 International Business Machines Corporation System and method for providing mapping notation in interactive video displays
US5949409A (en) 1994-12-02 1999-09-07 Sony Corporation Image processing in which the image is divided into image areas with specific color lookup tables for enhanced color resolution
JP3578498B2 (ja) 1994-12-02 2004-10-20 株式会社ソニー・コンピュータエンタテインメント 画像情報処理装置
JP3647487B2 (ja) 1994-12-02 2005-05-11 株式会社ソニー・コンピュータエンタテインメント テクスチャマッピング装置
US5537630A (en) 1994-12-05 1996-07-16 International Business Machines Corporation Method and system for specifying method parameters in a visual programming system
US5877762A (en) 1995-02-27 1999-03-02 Apple Computer, Inc. System and method for capturing images of screens which display multiple windows
JP3517301B2 (ja) 1995-03-28 2004-04-12 富士通株式会社 仮想画面表示処理システム
US6307574B1 (en) 1995-05-08 2001-10-23 Apple Computer, Inc. Graphical user interface with hierarchical structure for customizable menus and control objects
US5877741A (en) 1995-06-07 1999-03-02 Seiko Epson Corporation System and method for implementing an overlay pathway
US5731819A (en) 1995-07-18 1998-03-24 Softimage Deformation of a graphic object to emphasize effects of motion
US6331856B1 (en) 1995-11-22 2001-12-18 Nintendo Co., Ltd. Video game system with coprocessor providing high speed efficient 3D graphics and digital audio signal processing
US5809230A (en) 1996-01-16 1998-09-15 Mclellan Software International, Llc System and method for controlling access to personal computer system resources
US5838316A (en) 1996-01-26 1998-11-17 International Business Machines Corporation Method and system for presenting a plurality of animated display objects to a user for selection on a graphical user interface in a data processing system
WO1997032248A1 (fr) 1996-02-29 1997-09-04 Sony Computer Entertainment, Inc. Processeur d'images et procede de traitement d'images
US6154601A (en) 1996-04-12 2000-11-28 Hitachi Denshi Kabushiki Kaisha Method for editing image information with aid of computer and editing system
US6542166B1 (en) 1996-05-09 2003-04-01 National Instruments Corporation System and method for editing a control
US5764229A (en) 1996-05-09 1998-06-09 International Business Machines Corporation Method of and system for updating dynamic translucent windows with buffers
JP3537259B2 (ja) 1996-05-10 2004-06-14 株式会社ソニー・コンピュータエンタテインメント データ処理装置およびデータ処理方法
AUPO002196A0 (en) 1996-05-22 1996-06-13 Canon Information Systems Research Australia Pty Ltd A method of optimising an expression tree for the production of images
US5947819A (en) 1996-05-22 1999-09-07 Konami Co., Ltd. Object-throwing video game system
US5920659A (en) 1996-06-24 1999-07-06 Intel Corporation Method and apparatus for scaling image data having associated transparency data
US6006231A (en) 1996-09-10 1999-12-21 Warp 10 Technologies Inc. File format for an image including multiple versions of an image, and related system and method
US5933155A (en) 1996-11-06 1999-08-03 Silicon Graphics, Inc. System and method for buffering multiple frames while controlling latency
US6195664B1 (en) 1997-02-21 2001-02-27 Micrografx, Inc. Method and system for controlling the conversion of a file from an input format to an output format
US5913063A (en) 1997-02-26 1999-06-15 Oracle Corporation Drag and drop object subclassing
EP0972273B1 (en) 1997-04-04 2004-03-24 Intergraph Hardware Technologies Company Apparatus and method for applying effects to graphical images
US6144381A (en) 1997-05-14 2000-11-07 International Business Machines Corporation Systems, methods and computer program products for compass navigation of avatars in three dimensional worlds
IL120867A0 (en) 1997-05-20 1997-09-30 Cadent Ltd Computer user interface for orthodontic use
US6011562A (en) 1997-08-01 2000-01-04 Avid Technology Inc. Method and system employing an NLE to create and modify 3D animations by mixing and compositing animation data
US6128010A (en) 1997-08-05 2000-10-03 Assistive Technology, Inc. Action bins for computer user interface
US5978579A (en) 1997-08-12 1999-11-02 International Business Machines Corporation Architecture for customizable component system
US6005568A (en) 1997-09-30 1999-12-21 The United States Of America As Represented By The Secretary Of The Navy Computer system providing platform independent universal client device
US6272558B1 (en) 1997-10-06 2001-08-07 Canon Kabushiki Kaisha Application programming interface for manipulating flashpix files
US6469714B2 (en) 1998-01-26 2002-10-22 International Business Machines Corporation Infocenter user interface for applets and components
US6278448B1 (en) 1998-02-17 2001-08-21 Microsoft Corporation Composite Web page built from any web content
US6412021B1 (en) 1998-02-26 2002-06-25 Sun Microsystems, Inc. Method and apparatus for performing user notification
US6310621B1 (en) 1998-04-03 2001-10-30 Avid Technology, Inc. Extended support for numerical controls
US6266053B1 (en) 1998-04-03 2001-07-24 Synapix, Inc. Time inheritance scene graph for representation of media content
US6272484B1 (en) 1998-05-27 2001-08-07 Scansoft, Inc. Electronic document manager
US6353437B1 (en) 1998-05-29 2002-03-05 Avid Technology, Inc. Animation system and method for defining and using rule-based groups of objects
US6771264B1 (en) 1998-08-20 2004-08-03 Apple Computer, Inc. Method and apparatus for performing tangent space lighting and bump mapping in a deferred shading graphics processor
US6577317B1 (en) 1998-08-20 2003-06-10 Apple Computer, Inc. Apparatus and method for geometry operations in a 3D-graphics pipeline
JP3566889B2 (ja) 1998-10-08 2004-09-15 株式会社ソニー・コンピュータエンタテインメント 情報追加方法、ビデオゲーム機及び記録媒体
US6427230B1 (en) * 1998-11-09 2002-07-30 Unisys Corporation System and method for defining and managing reusable groups software constructs within an object management system
US6993721B2 (en) 1998-11-30 2006-01-31 Sony Corporation Web channel guide graphical interface system and method
US6356903B1 (en) 1998-12-30 2002-03-12 American Management Systems, Inc. Content management system
US6753878B1 (en) 1999-03-08 2004-06-22 Hewlett-Packard Development Company, L.P. Parallel pipelined merge engines
US6714201B1 (en) 1999-04-14 2004-03-30 3D Open Motion, Llc Apparatuses, methods, computer programming, and propagated signals for modeling motion in computer applications
US6512522B1 (en) 1999-04-15 2003-01-28 Avid Technology, Inc. Animation of three-dimensional characters along a path for motion video sequences
US6590592B1 (en) 1999-04-23 2003-07-08 Xsides Corporation Parallel interface
US6765592B1 (en) 1999-04-30 2004-07-20 Microsoft Corporation Undockable sub-windows
US6369830B1 (en) 1999-05-10 2002-04-09 Apple Computer, Inc. Rendering translucent layers in a display system
US6321314B1 (en) 1999-06-09 2001-11-20 Ati International S.R.L. Method and apparatus for restricting memory access
US6542160B1 (en) 1999-06-18 2003-04-01 Phoenix Technologies Ltd. Re-generating a displayed image
US6573896B1 (en) 1999-07-08 2003-06-03 Dassault Systemes Three-dimensional arrow
JP3163496B2 (ja) 1999-08-20 2001-05-08 株式会社光栄 集団キャラクタ移動方法、記録媒体及びゲーム装置
US6687745B1 (en) 1999-09-14 2004-02-03 Droplet, Inc System and method for delivering a graphical user interface of remote applications over a thin bandwidth connection
US7061486B2 (en) 1999-09-24 2006-06-13 Sun Microsystems, Inc. Using messaging to manage scene-based rendering
US7050955B1 (en) 1999-10-01 2006-05-23 Immersion Corporation System, method and data structure for simulated interaction with graphical objects
US6483524B1 (en) 1999-10-01 2002-11-19 Global Graphics Software Limited Prepress workflow method using raster image processor
US6452600B1 (en) 1999-10-28 2002-09-17 Nintendo Co., Ltd. Graphics system interface
US6411301B1 (en) 1999-10-28 2002-06-25 Nintendo Co., Ltd. Graphics system interface
US6618048B1 (en) 1999-10-28 2003-09-09 Nintendo Co., Ltd. 3D graphics rendering system for performing Z value clamping in near-Z range to maximize scene resolution of visually important Z components
US7028264B2 (en) 1999-10-29 2006-04-11 Surfcast, Inc. System and method for simultaneous display of multiple information sources
US6457034B1 (en) 1999-11-02 2002-09-24 Ati International Srl Method and apparatus for accumulation buffering in the video graphics system
US6806892B1 (en) 1999-12-20 2004-10-19 International Business Machines Corporation Layer viewport for enhanced viewing in layered drawings
US20030174154A1 (en) 2000-04-04 2003-09-18 Satoru Yukie User interface for interfacing with plural real-time data sources
US6304684B1 (en) 2000-02-15 2001-10-16 Cyberecord, Inc. Information processing system and method of using same
US20010035885A1 (en) 2000-03-20 2001-11-01 Michael Iron Method of graphically presenting network information
US6857061B1 (en) 2000-04-07 2005-02-15 Nintendo Co., Ltd. Method and apparatus for obtaining a scalar value directly from a vector register
US20060123356A1 (en) 2000-05-05 2006-06-08 Microsoft Corporation Dynamic and updateable computing application panes
US20020040314A1 (en) 2000-05-08 2002-04-04 Michael Tolson Method and system for business application of a portable information agent
US6707462B1 (en) 2000-05-12 2004-03-16 Microsoft Corporation Method and system for implementing graphics control constructs
US6910000B1 (en) 2000-06-02 2005-06-21 Mitsubishi Electric Research Labs, Inc. Generalized belief propagation for probabilistic systems
US6717599B1 (en) 2000-06-29 2004-04-06 Microsoft Corporation Method, system, and computer program product for implementing derivative operators with graphics hardware
US6931633B1 (en) 2000-08-01 2005-08-16 National Instruments Corporation System and method of evaluating the performance of an image processing algorithm
WO2002013035A1 (en) 2000-08-07 2002-02-14 Active Data Exchange, Inc. Syndication methodology to dynamically place digital assets on non-related web sites
US6580430B1 (en) 2000-08-23 2003-06-17 Nintendo Co., Ltd. Method and apparatus for providing improved fog effects in a graphics system
US6639595B1 (en) 2000-08-23 2003-10-28 Nintendo Co., Ltd. Achromatic lighting in a graphics system and method
US6664958B1 (en) 2000-08-23 2003-12-16 Nintendo Co., Ltd. Z-texturing
US6609977B1 (en) 2000-08-23 2003-08-26 Nintendo Co., Ltd. External interfaces for a 3D graphics system
US6636214B1 (en) 2000-08-23 2003-10-21 Nintendo Co., Ltd. Method and apparatus for dynamically reconfiguring the order of hidden surface processing based on rendering mode
US6664962B1 (en) 2000-08-23 2003-12-16 Nintendo Co., Ltd. Shadow mapping in a low cost graphics system
US20020065946A1 (en) 2000-10-17 2002-05-30 Shankar Narayan Synchronized computing with internet widgets
US6715053B1 (en) 2000-10-30 2004-03-30 Ati International Srl Method and apparatus for controlling memory client access to address ranges in a memory pool
US6697074B2 (en) 2000-11-28 2004-02-24 Nintendo Co., Ltd. Graphics system interface
JP3548521B2 (ja) 2000-12-05 2004-07-28 Necマイクロシステム株式会社 半透明画像処理装置及び方法
US20020078453A1 (en) 2000-12-15 2002-06-20 Hanchang Kuo Hub pages for set top box startup screen
US20040039934A1 (en) 2000-12-19 2004-02-26 Land Michael Z. System and method for multimedia authoring and playback
WO2002050657A1 (en) 2000-12-19 2002-06-27 Coolernet, Inc. System and method for multimedia authoring and playback
JP3450833B2 (ja) 2001-02-23 2003-09-29 キヤノン株式会社 画像処理装置及びその方法並びにプログラムコード、記憶媒体
US6760047B2 (en) 2001-02-26 2004-07-06 Microsoft Corporation Method for flagging and relating information in a computer system
TWI243320B (en) 2001-03-28 2005-11-11 Ulead Systems Inc Method for manipulating multiple multimedia objects
TW502180B (en) 2001-03-30 2002-09-11 Ulead Systems Inc Previewing method of editing multimedia effect
US20030005412A1 (en) 2001-04-06 2003-01-02 Eanes James Thomas System for ontology-based creation of software agents from reusable components
US20020174181A1 (en) 2001-04-13 2002-11-21 Songxiang Wei Sharing OpenGL applications using application based screen sampling
US20030046316A1 (en) 2001-04-18 2003-03-06 Jaroslav Gergic Systems and methods for providing conversational computing via javaserver pages and javabeans
AUPR464601A0 (en) 2001-04-30 2001-05-24 Commonwealth Of Australia, The Shapes vector
US7185290B2 (en) 2001-06-08 2007-02-27 Microsoft Corporation User interface for a system and process for providing dynamic communication access and information awareness in an interactive peripheral display
US20020186257A1 (en) 2001-06-08 2002-12-12 Cadiz Jonathan J. System and process for providing dynamic communication access and information awareness in an interactive peripheral display
US7699701B2 (en) 2001-07-05 2010-04-20 Dbs Limited Partnership Method and system for providing real time sports betting information
US7564460B2 (en) 2001-07-16 2009-07-21 Microsoft Corporation Systems and methods for providing intermediate targets in a graphics system
US6985939B2 (en) * 2001-09-19 2006-01-10 International Business Machines Corporation Building distributed software services as aggregations of other services
US6944829B2 (en) 2001-09-25 2005-09-13 Wind River Systems, Inc. Configurable user-interface component management system
US7895522B2 (en) 2001-09-28 2011-02-22 Ntt Docomo, Inc. Layout of platform specific graphical user interface widgets migrated between heterogeneous device platforms
US20030080995A1 (en) 2001-10-12 2003-05-01 United Virtualities, Inc. Contextually adaptive web browser
US7257776B2 (en) 2002-02-05 2007-08-14 Microsoft Corporation Systems and methods for scaling a graphical user interface according to display dimensions and using a tiered sizing schema to define display objects
KR20040096577A (ko) 2002-02-15 2004-11-16 트리디움 인코퍼레이티드 실시간 시스템 제어용 컴포넌트 모델
US20030169306A1 (en) 2002-03-07 2003-09-11 Nokia Corporation Creating a screen saver from downloadable applications on mobile devices
US6906720B2 (en) 2002-03-12 2005-06-14 Sun Microsystems, Inc. Multipurpose memory system for use in a graphics system
US7010755B2 (en) 2002-04-05 2006-03-07 Microsoft Corporation Virtual desktop manager
US20040012626A1 (en) 2002-07-22 2004-01-22 Brookins Timothy J. Method for creating configurable and customizable web user interfaces
GB2392072B (en) 2002-08-14 2005-10-19 Autodesk Canada Inc Generating Image Data
US20050282612A1 (en) 2002-08-16 2005-12-22 Marc Mathews Sports theme gaming apparatus and method for playing the same
US20040036711A1 (en) 2002-08-23 2004-02-26 Anderson Thomas G. Force frames in animation
US7610352B2 (en) 2002-09-09 2009-10-27 Meca Communications, Inc. Sharing skins
US7337409B2 (en) 2002-09-25 2008-02-26 Siemens Aktiengesellschaft Customizable drag and drop for industrial software applications
GB0226292D0 (en) 2002-11-12 2002-12-18 Autodesk Canada Inc Generating image data
WO2004051395A2 (en) 2002-12-03 2004-06-17 David Boxenhorn Networked computing using objects by permitting interactivity between at least two objects over a network
US6911984B2 (en) 2003-03-12 2005-06-28 Nvidia Corporation Desktop compositor using copy-on-write semantics
US6911983B2 (en) 2003-03-12 2005-06-28 Nvidia Corporation Double-buffering of pixel data using copy-on-write semantics
US7343567B2 (en) 2003-04-25 2008-03-11 Microsoft Corporation System and method for providing dynamic user information in an interactive display
US7051282B2 (en) 2003-06-13 2006-05-23 Microsoft Corporation Multi-layer graphical user interface
US7287241B2 (en) 2003-06-17 2007-10-23 Microsoft Corporation Snaplines for control object positioning
US20050021935A1 (en) 2003-06-18 2005-01-27 Openwave Systems Inc. Method and system for downloading configurable user interface elements over a data network
US20050010634A1 (en) 2003-06-19 2005-01-13 Henderson Roderick C. Methods, systems, and computer program products for portlet aggregation by client applications on a client side of client/server environment
US8127248B2 (en) 2003-06-20 2012-02-28 Apple Inc. Computer interface having a virtual single-layer mode for viewing overlapping objects
GB2404546B (en) 2003-07-25 2005-12-14 Purple Interactive Ltd A method of organising and displaying material content on a display to a viewer
US7793227B2 (en) 2003-08-12 2010-09-07 Yahoo! Inc. Method and system of providing customizable buttons
US20050060655A1 (en) 2003-09-12 2005-03-17 Useractive Distance-learning system with dynamically constructed menu that includes embedded applications
US7480873B2 (en) 2003-09-15 2009-01-20 Sun Microsystems, Inc. Method and apparatus for manipulating two-dimensional windows within a three-dimensional display model
US7839419B2 (en) 2003-10-23 2010-11-23 Microsoft Corporation Compositing desktop window manager
US7817163B2 (en) 2003-10-23 2010-10-19 Microsoft Corporation Dynamic window anatomy
US7382378B2 (en) 2003-10-30 2008-06-03 Sensable Technologies, Inc. Apparatus and methods for stenciling an image
US20050093516A1 (en) * 2003-11-04 2005-05-05 Ford Global Technologies, Llc Method and apparatus for measuring electrical cell voltage
US7274370B2 (en) 2003-12-18 2007-09-25 Apple Inc. Composite graphics rendered using multiple frame buffers
US7434153B2 (en) 2004-01-21 2008-10-07 Fuji Xerox Co., Ltd. Systems and methods for authoring a media presentation
US7694271B2 (en) 2004-02-26 2010-04-06 International Business Machines Corporation Rendering GUI widgets with generic look and feel
US7744468B2 (en) 2004-03-15 2010-06-29 Igt Event calendar at electronic gaming device
US20050240857A1 (en) 2004-04-02 2005-10-27 Jason Benedict Methods and systems of information portal construction
US7653880B2 (en) 2004-04-13 2010-01-26 Microsoft Corporation Application of data-binding mechanism to perform command binding
US7624160B2 (en) 2004-05-04 2009-11-24 International Business Machines Corporation Methods, systems, and computer program products for client side prefetching and caching of portlets
EP1603035A3 (en) 2004-06-03 2008-03-05 MDL Information Systems, Inc. Methods and apparatus for visual application design
US8762540B2 (en) 2004-09-01 2014-06-24 Hewlett-Packard Development Company, L.P. Managing multiple remote computing sessions displayed on a client device
US20060089840A1 (en) 2004-10-21 2006-04-27 Margaret May Health tracking method and apparatus
US7543244B2 (en) 2005-03-22 2009-06-02 Microsoft Corporation Determining and displaying a list of most commonly used items
US7496888B2 (en) * 2005-04-07 2009-02-24 International Business Machines Corporation Solution builder wizard
US7853934B2 (en) 2005-06-23 2010-12-14 Hewlett-Packard Development Company, L.P. Hot-swapping a dynamic code generator
US8924869B2 (en) 2005-08-12 2014-12-30 Barry Fellman Service for generation of customizable display widgets
US7665032B2 (en) 2005-08-18 2010-02-16 Microsoft Corporation Sidebar engine, object model and schema
US7644391B2 (en) 2005-08-18 2010-01-05 Microsoft Corporation Sidebar engine, object model and schema
US7568165B2 (en) 2005-08-18 2009-07-28 Microsoft Corporation Sidebar engine, object model and schema
JP2009509245A (ja) 2005-09-15 2009-03-05 ビーアイエイピー・インコーポレーテッド デジタル・テレビジョン用の独立型ミニアプリケーション・システムおよび方法
US20070074157A1 (en) 2005-09-23 2007-03-29 Wdn Holdings, Llc Method and system for runtime graphical assembly of running applications
US9104294B2 (en) 2005-10-27 2015-08-11 Apple Inc. Linked widgets
US7783985B2 (en) 2006-01-04 2010-08-24 Citrix Systems, Inc. Systems and methods for transferring data between computing devices
US7996783B2 (en) 2006-03-02 2011-08-09 Microsoft Corporation Widget searching utilizing task framework
US20070234195A1 (en) * 2006-04-03 2007-10-04 National Instruments Corporation Simultaneous update of a plurality of user interface elements displayed in a web browser
WO2008067309A2 (en) 2006-11-27 2008-06-05 Sourcecode Technology Holding, Inc. Methods and apparatus for tokenizing workflow process objects
US20080248834A1 (en) 2007-04-03 2008-10-09 Palm, Inc. System and methods for providing access to a desktop and applications of a mobile device

Also Published As

Publication number Publication date
US20090064106A1 (en) 2009-03-05
US8156467B2 (en) 2012-04-10
WO2009029531A1 (en) 2009-03-05
CN101821714A (zh) 2010-09-01

Similar Documents

Publication Publication Date Title
CN101821714B (zh) 复用运行应用中的组件
CN101861566B (zh) 用于生成应用片段的系统和方法
EP3798817B1 (en) User interface logical and execution view navigation and shifting
CN101384983B (zh) 文本框编号和链接视觉帮助
US6470364B1 (en) Method and apparatus for generating text components
KR100986415B1 (ko) 커맨드 바인딩을 수행하기 위한 데이터-바인딩 매카니즘의 애플리케이션
EP3798757B1 (en) System and method for developing industrial applications
CN108351764A (zh) 程序代码编辑器中数据的图形表示
US20080115104A1 (en) Software development system and method for intelligent document output based on user-defined rules
US9092239B2 (en) Configuring user interfaces in electronic devices
JP2005346722A (ja) フォームタイプを使用してフォームを生成する方法および装置
US20080015911A1 (en) Methods and apparatuses for developing business solutions
US8225274B2 (en) Code highlight and intelligent location descriptor for programming shells
CN102027460A (zh) 动态声明性应用程序描述
CN108027721A (zh) 用于使用控件来配置通用程序的技术
US20060075352A1 (en) Property independent in-place editing
US11775142B2 (en) Preferential automation view curation
Duhoux et al. Implementation of a feature-based context-oriented programming language
CA2686367A1 (en) Dynamic native editor code view facade
US6581203B1 (en) Technique for visually creating and adding members to a class
US9170783B1 (en) Class creation assistant for textual programming languages
US20120084683A1 (en) Seamless Integration of Additional Functionality into Enterprise Software without Customization or Apparent Alteration of Same
US10222944B1 (en) Embedding user interface elements in documents containing code
TW201142706A (en) Method, system, and computer program product for hierarchical program source management
MacDonald Pro. NET 2.0 Windows Forms and Custom Controls in VB 2005

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