CN1815440B - 用于数字设备菜单编辑器的方法和系统 - Google Patents
用于数字设备菜单编辑器的方法和系统 Download PDFInfo
- Publication number
- CN1815440B CN1815440B CN200510003355.7A CN200510003355A CN1815440B CN 1815440 B CN1815440 B CN 1815440B CN 200510003355 A CN200510003355 A CN 200510003355A CN 1815440 B CN1815440 B CN 1815440B
- Authority
- CN
- China
- Prior art keywords
- menu
- target device
- application program
- program control
- editing machine
- 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
Images
Classifications
-
- 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
Abstract
一种用于在开发环境中为手持式数字设备创建菜单的方法,包括选择具有对开发环境可用的相关联操作系统的目标设备。调用编辑器以创建菜单。编辑器使用相关联的目标设备操作系统的约束,使得可在开发发生时查看目标设备的实际行为。开发者为菜单定义功能并验证其操作。菜单编辑器可对具有新操作系统的新数字设备定制。可生成代码作为完成开发过程并保存设计的结果。所得的代码确保在目标设备操作系统上正确地运行。
Description
相关申请的交叉引用
本申请与共同拥有的美国专利申请第10/922,580号共享某一主题,该申请于2004年8月20日提交,名为“Form Skin And Design Time WYSIWYG For.NetCompact Framework(用于.Net压缩框架的视窗皮肤和设计时WYSIWYG)”,并通过整体引用结合于此。
技术领域
本发明涉及计算机编程领域,尤其涉及用于创建被设计成在目标数字设备上运行的软件的可视编程环境。
背景技术
越来越多的便携式计算机设备可在市场上购买。这些设备包括各种形状因子和性能的手持式或口袋大小的计算机、电话和个人数字助理。随着手持式设备的计算能力和存储器性能的增长,用户需要访问更强大的软件应用程序。
给定手持式设备中的界面、屏幕大小和分辩率的多种变化,程序员可能很难确保手持式设备的特定选择的图形用户界面(GUI)会出现且在多个设备上正确地工作。例如,目标手持式设备的显示和功能通常不能在开发系统的性能中得到很好的反映。
通常,手持式设备的程序员在首先在台式开发系统上编程,然后在手持式设备的仿真器或实际设备上运行新开发的软件之间进行切换,以查看手持式设备GUI是否如所期望那样的工作。这可能是耗时且低效的,尤其是当程序员希望将应用程序移植到各种各样的便携式设备的时候。在编程的一个方面,典型的开发环境可允许手持式设备的程序员生成诸如手持式菜单等功能,该功能在目标手持式设备中无法以可控制方式来实现。
由此,需要一种用于手持式设备的“所见即所得”(WYSIWYG)开发系统,它正确地仿真目标手持式设备,使得目标手持式设备的软件外观和感觉能够在单个开发系统上仿真。如果开发系统可以是可扩展的,使得它可以用未来的设备来工作,则这也是有利的。本发明以此处所解释的附加优点满足上述需求并解决了它们
发明内容
菜单编辑器对于目标数字设备的应用程序开发者而言是一个重要的元素。菜单编辑器的一个期望方面包括准确地表示菜单将在目标设备上所见的那样的菜单的运行时外观和感觉。菜单编辑器的另一期望方面是由开发系统生成的代码完全与目标设备兼容。菜单编辑器的另一期望方面是它对于未来的设备是可扩展的,而无论目标设备中使用的操作系统是什么。
在本发明的一方面,菜单编辑器确保生成完全与目标设备的特定操作系统兼容的用于所开发的特征的目标代码。最终代码以与在开发系统上显示新特征的相同方式在目标设备上运行。在本发明的另一方面,可定义专用于一个目标设备的诸如菜单等开发的特征,然后改变该特征以容纳另一手持式设备,从而允许特征设计的重复使用。在本发明的又一方面,该菜单编辑器是可扩展的,以包括用于新数字设备的未来生成的菜单项的开发。
附图说明
当结合附图阅读时,可以最好地理解以上概述和以下示例性实施例的详细描述。为说明本发明的实施例的目的,附图中示出了本发明的示例性构造;然而,本发明不限于所揭示的具体方法和手段。附图中:
图1是示出本发明的各方面的开发系统的示例性屏幕截图;
图2是示出本发明的各方面的另一示例性屏幕截图;
图3是示出本发明的各方面的另一示例性屏幕截图;
图4是功能框图;
图5是示例性类结构图;
图6是用于本发明的示例性方法的流程图;以及
图7是示出其中可实现本发明的各方面的示例性计算环境的框图。
具体实施方式
综述
在本发明的一个实施例中,实现一种用于手持式数字设备的菜单编辑器,它是在开发系统上实用的软件应用程序。开发系统由手持式设备开发者用于生成用于手持式数字设备的新应用程序。这些开发者可使用手持式设备的图形用户界面来修改或制作新应用程序,该手持式设备使用预先存在的操作系统或使用用于该手持式设备的自定义操作系统。
本发明的一个优点是用户/开发者在生成新菜单功能时查看整个手持式设备以及手持式设备的响应的能力。目标设备操作系统的使用允许开发者在开发新菜单时时立即看到目标操作系统是如何响应新菜单的。这节省了总开发和调试时间。本发明的菜单编辑器系统的另一优点是它是可扩展的,且可为不同的设备,包括未来的设备定制。尽管此处所包括的目标数字设备的示例包括手持式数字设备,但是本发明适用于具有菜单项的任何嵌入式设备应用程序。这一嵌入式设备应用程序的示例包括,但不限于,诸如航线信息站、气泵、收银机、电话机或其它电信系统显示器等非手持式设备。
本发明的示例性实施例
图1是示出本发明的各方面的软件开发系统部分屏幕截图100的图示。在该实施例中,在开发者系统的监视器上呈现手持式目标设备110的图形用户界面(GUI)的代表性视窗。由此,开发者在正在为该设备创建新菜单特征时有机会看到目标设备的GUI。手持式设备可以是便携式电话、个人数字助理、便携式计算机、GPS接收器处理器、存货跟踪设备、便携式销售点设备或具有GUI的任何其它手持式设备中的任一种。
在图1的实施例中,主菜单栏120位于手持式设备屏幕105的底部。在该目标设备GUI 110的当前开发阶段,主菜单120指示有两个建立的主菜单项或软键;顶部菜单1和顶部菜单2。作为本发明的一方面,如果目标手持式设备的操作系统可支持主菜单120软键的扩展,则为开发者提供另外的菜单项空间121以键入标识该软键的标签,并定义要在软键激励时执行的一个或多个功能。
图1的实施例指示开发者导航手持式设备GUI上的多个菜单项。开发者选择了主菜单栏120的顶部菜单1项。顶部菜单1软键的选择的所得功能是显示菜单项下拉列表130。该菜单项列表包括菜单项1到3以及子菜单1和2。在图1的实施例中,菜单项1-3和子菜单1和2已经由开发者标记,且可以具有或没有与其相关联的功能。在本发明的一方面,可由开发者标记另外的菜单项131,并且依照所期望的功能定义新定义的菜单项。在本发明的一个实施例中,新菜单项,诸如菜单项列表130中的项131的总数由线性显示的大小来限制。该限制在开发系统中作为默认值来呈现,使得开发者可在开发软件时体验手持式设备GUI的实际限制。
在图1的实施例中,开发者选择了子菜单1,它显示了示出子菜单项1和2的较低层菜单栈140。注意,并非栈130中的所有菜单项都具有较低层子菜单项。例如,栈130的菜单项1可执行粘贴功能,而子菜单1可以是一种导入功能,其中导入源可被选中作为栈140中示出的各种各样的子菜单项1和2。在本发明的一方面,如果手持式设备操作系统允许扩展较低层栈140以包括更多子菜单项,则开发系统可通过显示下一可用菜单项141的位置来描绘该能力。在图1的实施例中,扩展菜单项的数目的能力在每一当前显示的菜单项,诸如软件121以及菜单项131和141中示出。图1的实施例通过显示下一可用键的位置向程序员示出这一扩展能力。然而,可采用其它方法,诸如在菜单或子菜单项上放置向开发者显示菜单扩展是可能的扩展标记或颜色。
图1所描绘的功能由图2中的示例示出。图2描绘了如在开发系统屏幕截图210上示出的袖珍个人计算机(PC)。显示袖珍PC主体220,使得开发者可更好地感受她正在开发的手持式设备的外观和感觉。在该实施例中,主菜单栏230位于袖珍PC设备220的GUI界面205的底部。菜单栏指示三个软键已被定义为文件(file)、编辑(edit)和帮助(help)。第四个软键231被指示为可用的。新软键231的可用性指示了袖珍PC操作系统支持另外的软键的能力。
在图2的示例中,开发者选择了主菜单栏230的编辑软键,并示出了子菜单项栈240。子菜单项栈240显示程序员如下定义了六个子菜单功能的指示:复制(copy)、粘贴(paste)、剪切(cut)、100%、200%和字体(font)。通过子菜单中新菜单项241的指示,子菜单项栈240的潜在扩展是可能的。程序员在开发新应用程序性能时可利用主菜单软键231或子菜单项241。
图3是依照本发明的各方面开发的不同设备的一个示例。图3描绘了在开发系统屏幕显示310上呈现的智能电话主体320。GUI显示305具有指示标示为完成(done)和选项(options)的两个软键的菜单栏330。在本示例中,没有可任选的新键对开发者可用。这一限制是智能电话手持式设备320的操作系统的限制的反映。
显示310指示开发者激活了选项菜单软键,并显示了子菜单栈340。在本示例中,操作系统对于子菜单栈340中的菜单项的扩展没有限制。由此,新的子菜单项341对智能电话设备的开发者可用。
图4是使用本发明的各方面的开发系统的软键元素的功能图400。开发系统410的用户界面可与菜单开发编辑器480交互。开发者可采用用户界面410来请求手持式设备的开发会话。菜单编辑器480可通过访问所选择的菜单设计器来例示所选择的用户界面。图4描绘了四个不同的菜单设计器:袖珍PC菜单设计器470、智能电话菜单设计器460、磁电机菜单设计器450和自定义菜单设计器440。选中的菜单设计器取决于用户对目标手持式设备的选择。
所选择的特定菜单设计器提供了对应的设备主体,以及与对应的操作系统限制一起交互的菜单设计器,以呈现所开发的设备的真实视图。在本发明的一方面,数据存储430包含所选择的设备操作系统,并可由菜单编辑器480访问。数据存储由此可具有用于所开发的对应的多个手持式设备的多个操作系统。
开发编辑器480包含对菜单开发常见的菜单开发方法。它是以特定的手持式设备为目标的特定菜单设计器440、450、460和470,用于定制目标设备的菜单的界面和功能。各种设计器本质上允许为选中的目标设备定制菜单编辑器。这一定制连同对于对应的设备操作系统的相关部分的体验一起发生,以允许可在所选择设备的性能限制内运作的菜单元素的创建。
因此,本发明是可扩展的,使得可结合菜单编辑器480使用用于所选择的手持式设备的任何新操作系统,使得即使使用了用于该设备的操作系统的新版本,也可为该设备生成新的应用程序。由此,不仅应用程序开发者可使用本发明,更有经验的开发者也可使用本发明在仍然处于开发中的新操作系统上开发和测试新应用程序。
在菜单编辑器访问了数据存储430中的相关设备设计器和相关手持式设备操作系统之后,然后通过用户界面410与用户的交互允许用户为目标手持式设备定制菜单。当生成菜单时,开发系统呈现指示所选择的设备的操作系统应当在设备的GUI上显示什么以及所创建或修改的软键的编程功能的显示。当开发者对该开发的一个部分满意时,她可保存新创建或修改的设备菜单,并且生成目标代码并保存在输出代码文件420中。在这一点上,特别地为目标设备生成可使用的目标操作系统目标代码。该代码被认为与现有技术的开发系统得出的代码相比更可使用,因为该代码是通过使用目标手持式设备的操作系统来开发的,以在开发过程中显示所开发的菜单和功能的外观和感觉。
本发明的另一方面允许菜单项从一个设备到下一设备的“空中(on the fly)”改变。例如,如果菜单编辑器480由开发者在第一设备类型上使用,用户无需完全重启新设备的新菜单的定义和功能的开发。开发者可将期望菜单的开发从第一设备中的现有设计中提上来,改变目标设备的定义,并且菜单编辑器480可使菜单设计改为第二目标设备。自然地,新目标设备上的新菜单必须在性能上与第二目标设备兼容以能够完全运作。但是将菜单设计从一种设备类型到另一种的这一移植可节省开发定义时间并跨设备家族标准化菜单。
图5描绘了菜单编辑器480中的软键组件类。菜单编辑器服务510担当菜单编辑器及其环境之间的桥梁。一个菜单编辑器服务510实例在每一根组件中存在。受管菜单520表示菜单对象的设计时开发用户界面。受管菜单类520控制总体菜单编辑器行为,并管理单个菜单编辑器的用户界面。如果手持式设备视窗具有X个数目的菜单,则它将具有X个数目的受管菜单520对象。菜单编辑器服务510控制哪一受管菜单520对于用户可见。受管菜单类520访问菜单设计器类525,并提供对菜单的设计时支持。
受管菜单520的每一实例具有顶层菜单项列表530,它表示顶层菜单栏用户界面。这对应于图1的项120的顶层控件。顶层列表处理顶层菜单项列表530,并包含菜单项单元540,它表示图1项130的的菜单项用户界面。菜单项单元540表示菜单项的用户界面。它是由子层菜单项列表和顶层菜单项列表来管理的。
菜单项单元类540访问菜单项设计器类545,并提供对菜单项的设计时支持。如果其菜单项属性包含子菜单,则菜单项单元类540可具有子层菜单项列表550。子列表在图1中被示为项140。在这一情况下,子列表由菜单项列表表示。子层菜单项列表550和顶层菜单项列表530处理子列表选择以及添加/移除菜单项。
菜单编辑器服务类510实现菜单编辑器服务接口515和OLE命令目标接口517。菜单编辑器服务接口515用于控制何时启动、显示和隐藏菜单编辑器。OLE命令目标接口517用于与Visual StudioTM外壳命令操作,诸如复制/粘贴/剪切/删除通信。Visual StudioTM可从华盛顿州雷蒙德市的微软公司获得。
图6表示了使用本发明的各方面的实例方法的流程图。方法600可通过在用于开发数字设备菜单的开发系统上选择目标手持式设备(步骤610)开始。系统较佳地具有可被选择的多个目标设备,诸如袖珍PC、智能电话、个人数字助理、数字规划器或使用显示屏来操作的任何其它类型的手持式设备。
一旦选择了目标设备,开发系统可访问用于所选择的设备的菜单编辑器。依照本发明的一方面,菜单编辑器能够访问目标设备的操作系统。该操作系统可用于仿真对开发者正在创建的新菜单程序或应用程序的目标设备响应。由开发系统呈现代表示出设备图形显示的目标设备的图像视窗的显示(步骤625)。该图像视窗显示帮助开发者感受目标设备的外观和感觉及其与设备用户的交互。开发者可使用菜单编辑器来定义新菜单和对应的功能(步骤630)。在一个实施例中,新菜单可以是软键。依照本发明的一方面,菜单编辑器允许开发者看见新菜单将在目标设备上看上去如何以及如何操作,因为操作系统可用于仿真目标设备操作系统的实际约束。
在定义了菜单操作之后,这可能是软键或菜单项,然后开发者可请求生成目标设备代码(步骤640)。这可由开发系统软件自动执行,或者它可由开发者通过激活保存功能启动来请求。表示新开发的菜单功能的代码被串行化或生成为完全与目标手持式数字设备的特定操作系统兼容。由于在开发过程中使用特定的目标操作系统,因此不会期望有非预期的代码行为。
在本发明的一方面,以一种设备为目标的新菜单功能可以在另一设备中使用。可在为特定设备定义了菜单功能之后采取可任选步骤650。开发者可在定义了新菜单功能之后改变目标设备,而不会丢失菜单定义。方法600允许在对特定目标设备编辑器的访问改变时保存新菜单定义。保存的菜单可在新的重新定义的目标设备中使用,并且可开发新的软键和菜单项。
示例性操作系统
图7和以下讨论旨在提供其中可实现本发明的各实施例的合适的计算环境的简要概括描述。尽管下文描述了通用计算机,但是这仅是一个单处理器示例,且本发明具有多个处理器的实施例可以用其它计算设备来实现,诸如具有网络/总线互操作性和交互的客户机。由此,本发明的实施例可在其中隐含了极少或最少的客户机资源的联网主存的服务环境中实现,例如其中客户机设备仅担当对网络/总线的接口,诸如放置在电器中的对象、或其它计算设备和对象的联网环境。本质上,可储存数据或可从其中检索数据的任何地方是期望的或合适的操作环境。
尽管并非所需,但本发明的实施例也可通过可供设备或对象的服务开发者使用的操作系统来实现,和/或包括在应用程序软件内。软件可在诸如由客户机工作站、服务器或其它设备等一个或多个计算机执行的程序模块等计算机可执行指令的一般上下文环境中描述。一般而言,程序模块包括例程、程序、对象、组件、数据结构等等,它们执行特定的任务或实现特定的抽象数据类型。通常,程序模块的功能在各实施例中可组合或分布。此外,本领域的技术人员可以理解,本发明的各实施例可以用其它计算机配置来实践。适合使用的其它众所周知的计算系统、环境和/或配置包括但不限于,个人计算机(PC)、自动取款机、服务器计算机、手持式或膝上设备、多处理器系统、基于微处理器的系统、可编程消费者电子设备、网络PC、电器、灯、环境控制元件、小型机、大型机等等。本发明的实施例也可以在分布式计算环境中实践,其中,任务由通过通信网络/总线或其它数据传输介质连接的远程处理设备来执行。在分布式计算环境中,程序模块可以位于包括存储器存储设备的本地和远程计算机存储介质中,且客户机节点可进而作为服务器节点来运行。
由此,图7示出了其中可实现本发明的实施例的合适的计算系统环境700的一个示例,尽管如上文清楚地描述的,计算系统700仅为合适的计算环境的一个示例,并非对本发明的实施例的使用范围或功能提出任何局限。也不应将计算环境700解释为对示例性操作环境700中示出的任一组件或其组合具有任何依赖或需求。
参考图7,用于实现本发明的实施例的示例性系统包括以计算机系统710形式的通用计算设备。计算机系统710的组件包括但不限于,处理单元720、系统存储器730以及将包括系统存储器的各类系统组件耦合至处理单元720的系统总线721。系统总线721可以是若干种总线结构类型的任一种,包括存储器总线或存储器控制器、外围总线以及使用各类总线体系结构的局部总线。作为示例而非局限,这类体系结构包括工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、增强ISA(EISA)总线、视频电子技术标准协会(VESA)局部总线以及外围部件互连(PCI)总线(也称为Mezzanine总线)。
计算机系统710通常包括各种计算机可读介质。计算机可读介质可以是可由计算机710访问的任一可用介质,包括易失性和非易失性介质、可移动和不可移动介质。作为示例而非局限,计算机可读介质包括计算机存储介质和通信介质。计算机存储介质包括以用于储存诸如计算机可读指令、数据结构、程序模块或其它数据等信息的任一方法或技术实现的易失性和非易失性,可移动和不可移动介质。计算机存储介质包括但不限于,随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、闪存或其它存储器技术、光盘只读存储器(CDROM)、可重写光盘(CDRW)、数字多功能盘(DVD)或其它光盘存储、磁盒、磁带、磁盘存储或其它磁存储设备、或可以用来储存所期望的信息并可由计算机710访问的任一其它介质。通信介质通常具体化为诸如载波或其它传输机制等已调制数据信号中的计算机可读指令、数据结构、程序模块或其它数据,并包括任一信息传送介质。术语“已调制数据信号”指以对信号中的信息进行编码的方式设置或改变其一个或多个特征的信号。作为示例而非局限,通信介质包括有线介质,如有线网络或直接连线连接,以及无线介质,如声学、RF、红外和其它无线介质。上述任一的组合也应当包括在计算机可读介质的范围之内。
系统存储器730包括易失性和/或非易失性存储器形式的计算机存储介质,如只读存储器(ROM)731和随机存取存储器(RAM)732。基本输入/输出系统733(BIOS)包括如在启动时帮助在计算机710内的元件之间传输信息的基本例程,通常储存在ROM 731中。RAM 732通常包含处理单元720立即可访问和/或当前正在操作的数据和/或程序模块。作为示例而非局限,图7示出了操作系统734、应用程序735、其它程序模块736和程序数据737。
计算机710也可包括其它可移动/不可移动、易失性/非易失性计算机存储介质。仅作示例,图7示出了对不可移动、非易失性磁介质进行读写的硬盘驱动器741、对可移动、非易失性磁盘752进行读写的磁盘驱动器751以及对可移动、非易失性光盘756,如CD ROM、CDRW、DVD或其它光介质进行读写的光盘驱动器755。可以在示例性操作环境中使用的其它可移动/不可移动、易失性/非易失性计算机存储介质包括但不限于,磁带盒、闪存卡、数字多功能盘、数字视频带、固态RAM、固态ROM等等。硬盘驱动器741通常通过不可移动存储器接口,如接口740连接到系统总线721,磁盘驱动器751和光盘驱动器755通常通过可移动存储器接口,如接口750连接到系统总线521。
上文讨论并在图7示出的驱动器及其相关联的计算机存储介质为计算机710提供了计算机可读指令、数据结构、程序模块和其它数据的存储。例如,在图7中,示出硬盘驱动器741储存操作系统744、应用程序745、其它程序模块746和程序数据747。注意,这些组件可以与操作系统734、应用程序735、其它程序模块736和程序数据737相同,也可以与它们不同。这里对操作系统744、应用程序745、其它程序模块746和程序数据747给予不同的标号来说明至少它们是不同的副本。用户可以通过输入设备,如键盘762和定位设备761(通常指鼠标、跟踪球或触摸板)向计算机710输入命令和信息。其它输入设备(未示出)可包括麦克风、操纵杆、游戏垫、圆盘式卫星天线、扫描仪等等。这些和其它输入设备通常通过耦合至系统总线721的用户输入接口760连接至处理单元720,但是也可以通过其它接口和总线结构连接,如并行端口、游戏端口或通用串行总线(USB)。监视器791或其它类型的显示设备也通过接口,如视频接口790连接至系统总线721,视频接口790进而可与视频存储器(未示出)通信。除监视器791之外,计算机系统也可包括其它外围输出设备,如扬声器797和打印机796,它们通过输出外围接口795连接。
计算机系统710可以使用到一个或多个远程计算机,如远程计算机780的逻辑连接在网络化环境中操作。远程计算机780可以是个人计算机、服务器、路由器、网络PC、对等设备或其它常见的网络节点,并通常包括许多或所有上文相对于计算机系统710所描述的元件,尽管在图7中仅示出了存储器存储设备781。图7描述的逻辑连接包括局域网(LAN)771和广域网(WAN)773,但也可包括其它网络。这类网络环境常见于办公室、企业范围计算机网络、内联网以及因特网。
当在LAN网络环境中使用时,计算机系统710通过网络接口或适配器770连接至LAN 771。当在WAN网络环境中使用时,计算机系统710可包括调制解调器772或用于通过WAN 773,如因特网建立通信的其它装置。调制解调器772可以是内置或外置的,它通过用户输入接口760或其它适当的机制连接至系统总线721。在网络化环境中,相对于计算机系统710描述的程序模块或其部分可储存在远程存储器存储设备中。作为示例,而非局限,图7示出了远程应用程序785驻留在存储器设备781上。可以理解,示出的网络连接是示例性的,也可以使用在计算机之间建立通信链路的其它手段。
鉴于个人计算与因特网的交汇,已经开发并且正在开发各种分布式计算框架。个人和商业用户同样地拥有用于应用程序和计算设备的无缝的互操作和启用web的接口,使得计算活动越来越面向web浏览器和网络。
例如,可从微软公司获得的MICROSOFT的.NET平台包括服务器、如基于web的数据存储等构件服务、以及可下载设备软件。尽管此处的示例性实施例是结合驻留在计算设备上的软件描述的,但也可以通过操作系统、应用程序编程接口(API)或协处理器、显示设备和请求对象之间的“中间人”对象来实现本发明的实施例的一个或多个部分,使操作可以由所有.NET的语言和服务,以及在其它分布式计算框架中来完成、支持或访问。
如上所述,尽管本发明的示例性实施例是结合各种计算设备和网络体系结构来描述的,但基本概念可应用于其中期望实现数字设备的编辑器的任何计算设备或系统。由此,此处结合本发明的实施例所描述的方法和系统可被应用于各种应用程序和设备。尽管此处选择了示例性编程语言、名称和示例作为各种选择的代表,然而这些语言、名称和示例并不旨在限制。本领域的普通技术人员可以理解,存在许多种方式来提供实现本发明的实施例所实现的相同、相似或等效系统和方法的目标代码。
此处所描述的各种技术可以结合硬件或软件,或在适当时以两者的组合来实现。为此,本发明的方法和装置或其某些方面或部分可以采用包含在诸如软盘、CD-ROM、硬盘或任何其它机器可读存储介质等有形介质中的程序代码(即,指令)的形式,其中,当程序代码被加载到诸如计算机等机器上并由其执行时,该机器变为用于实施本发明的装置。在可编程计算机上程序代码执行的情况下,计算设备一般包括处理器、处理器可读存储介质(包括易失性和非易失性存储器和/或存储元件)、至少一个输入设备以及至少一个输出设备。例如通过使用数据处理API等来利用本发明的实施例的信号处理服务的一个或多个程序较佳地可以高级过程语言或面向对象的编程语言来实现,以与计算机通信。然而,如有需要,程序可以用汇编语言或机器语言来实现。在任何情况下,语言可以是已编译或已解释语言,并且与硬件实现相组合。
尽管本发明是结合各附图的较佳实施例来描述的,但可以理解,可使用其它类型的实施例或可对所描述的实施例做出修改和添加来执行本发明的相同功能,而不偏离本发明。此外,应当强调,构想了各种计算机平台,包括手持式设备操作系统和其它应用专用操作系统,尤其是当无线联网设备的数量持续增长的时候。因此,所要求保护的本发明不应限于任何单个实施例,而是相反,应当依照所附权利要求书的宽度和范围来解释。
Claims (9)
1.一种用于在开发环境中为数字设备创建应用程序控件的方法,所述方法包括:
从多个不同目标设备中选择第一目标设备,所选择的目标设备具有对所述开发环境可用的相关联的操作系统,多个不同目标设备中的每一个具有相关联的操作系统,所述目标设备是具有图形用户界面的手持式设备,该手持式设备使用预先存在的操作系统或使用用于该手持式设备的自定义操作系统,该图形用户界面用于修改或制作新应用程序;
访问编辑器以创建所述应用程序控件,所述编辑器使用所述相关联的操作系统的限制,其中,所述编辑器包括:
受管菜单,受管菜单表示菜单对象在设计时的开发用户界面,受管菜单访问菜单设计器类,控制总体编辑器行为并管理单个编辑器的用户界面;
菜单编辑服务,菜单编辑器服务实现编辑器服务接口和OLE命令目标接口,菜单编辑器服务接口用于控制何时启动、显示和隐藏编辑器,OLE命令目标接口用于与开发环境通信;
显示所选择的目标设备的图像视窗,使得所述应用程序控件由所选择的目标设备的图形界面表示进行显示;
为在所述图形界面上显示的应用程序控件定义功能;
所述编辑器指示新菜单将在目标设备上看上去如何以及如何操作;以及
生成指示所述应用程序控件的目标代码,其中,所述目标代码与所述相关联的操作系统的限制兼容。
2.如权利要求1所述的方法,其特征在于,所述第一目标设备是具有自定义操作系统的数字设备。
3.如权利要求1所述的方法,其特征在于,还包括:
在为所述应用程序控件定义功能之后并且在生成目标代码之前,选择第二目标设备,重新执行访问编辑器以创建所述应用程序控件、显示所选择的目标设备的图像视窗、为在所述图形界面上显示的应用程序控件定义功能、所述编辑器指示新菜单将在目标设备上看上去如何以及如何操作、以及生成指示所述应用程序控件的目标代码,其中,所生成的目标代码指示所述第二目标设备而非所述第一目标设备的应用程序控件。
4.如权利要求1所述的方法,其特征在于,访问编辑器以创建所述应用程序控件包括例示用户界面以创建所述第一目标设备上的菜单功能。
5.如权利要求4所述的方法,其特征在于,所述第一目标设备是袖珍个人计算机、智能电话和个人数字助理中的一个。
6.一种在开发环境中为数字设备创建应用程序控件的装置,所述装置包括:
从多个不同的目标设备中选择第一目标设备的装置,所选择的目标设备具有对所述开发环境可用的相关联的操作系统,多个不同目标设备中的每一个具有相关联的操作系统,所述目标设备是具有图形用户界面的手持式设备,该手持式设备使用预先存在的操作系统或使用用于该手持式设备的自定义操作系统,该图形用户界面用于修改或制作新应用程序;
访问编辑器以创建所述应用程序控件的装置,所述编辑器使用所述相关联的操作系统的限制,其中,所述编辑器包括:
受管菜单,受管菜单表示菜单对象在设计时的开发用户界面,受管菜单访问菜单设计器类,控制总体编辑器行为并管理单个编辑器的用户界面;
菜单编辑服务,菜单编辑器服务实现编辑器服务接口和OLE命令目标接口,菜单编辑器服务接口用于控制何时启动、显示和隐藏编辑器,OLE命令目标接口用于与开发环境通信;
显示所选择的目标设备的图像视窗的装置,使得所述应用程序控件由所选择的目标设备的图形界面表示进行显示;
为图形界面上显示的所述应用程序控件定义功能的装置;
利用所述编辑器指示新菜单将在目标设备上看上去如何以及如何操作的装置;以及
生成指示所述应用程序控件的目标代码的装置,其中,所述目标代码与所述相关联的操作系统的限制兼容。
7.如权利要求6所述的装置,其特征在于,还包括:
在为所述应用程序控件定义功能之后并且在生成目标代码之前,选择第二目标设备的装置,其中,所生成的目标代码指示所述第二目标设备而非所述第一目标设备的应用程序控件;
其中,所述选择第二目标设备的装置与访问编辑器以创建所述应用程序控件的装置、显示所选择的目标设备的图像视窗的装置、为在所述图形界面上显示的应用程序控件定义功能的装置、利用编辑器指示新菜单将在目标设备上看上去如何以及如何操作的装置、以及生成指示所述应用程序控件的目标代码的装置相关联。
8.如权利要求6所述的装置,其特征在于,访问编辑器以创建所述应用程序控件的装置例示用户界面以创建所述第一目标设备上的菜单功能。
9.如权利要求8所述的装置,其特征在于,所述第一目标设备是袖珍个人计算机、智能电话和个人数字助理中的一个。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/047,235 | 2005-01-31 | ||
US11/047,235 US7398474B2 (en) | 2005-01-31 | 2005-01-31 | Method and system for a digital device menu editor |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1815440A CN1815440A (zh) | 2006-08-09 |
CN1815440B true CN1815440B (zh) | 2010-09-08 |
Family
ID=35852122
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200510003355.7A Expired - Fee Related CN1815440B (zh) | 2005-01-31 | 2005-12-30 | 用于数字设备菜单编辑器的方法和系统 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7398474B2 (zh) |
EP (1) | EP1686462A3 (zh) |
JP (1) | JP5021211B2 (zh) |
KR (1) | KR101153057B1 (zh) |
CN (1) | CN1815440B (zh) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8701015B2 (en) * | 2008-03-26 | 2014-04-15 | Pierre Bonnat | Method and system for providing a user interface that enables control of a device via respiratory and/or tactual input |
CN1248090C (zh) * | 1999-02-12 | 2006-03-29 | 皮埃尔·博纳 | 借助于流体流监控电子或计算机系统的方法和装置 |
US9116544B2 (en) * | 2008-03-26 | 2015-08-25 | Pierre Bonnat | Method and system for interfacing with an electronic device via respiratory and/or tactual input |
EP1804153A1 (en) * | 2005-12-27 | 2007-07-04 | Amadeus s.a.s | User customizable drop-down control list for GUI software applications |
KR100843078B1 (ko) * | 2006-09-19 | 2008-07-03 | 삼성전자주식회사 | 유저인터페이스 흐름을 시뮬레이션 하는 장치 및 방법 |
US20080127036A1 (en) * | 2006-10-16 | 2008-05-29 | Prashanth Kadur | Application development tool and related methods |
US20080127037A1 (en) * | 2006-10-16 | 2008-05-29 | Prashanth Kadur | System and method for detecting software on a computing device |
US8718714B2 (en) * | 2006-10-25 | 2014-05-06 | Samsung Electronics Co., Ltd. | Settings system and method for mobile device |
CN103092631B (zh) * | 2007-04-06 | 2019-02-19 | 西安万年科技实业有限公司 | 一种数据库应用系统开发平台及开发方法 |
JP5147667B2 (ja) * | 2008-12-11 | 2013-02-20 | 三菱電機株式会社 | 画像表示装置 |
WO2010087140A1 (ja) | 2009-01-30 | 2010-08-05 | 三菱電機株式会社 | 状態表示装置 |
CN101741954B (zh) * | 2009-12-18 | 2012-07-18 | 中兴通讯股份有限公司 | 一种移动终端以及动态调整菜单栏软键显示的方法 |
JP5436506B2 (ja) * | 2010-08-31 | 2014-03-05 | 株式会社ベリサーブ | 設計検証装置、設計検証方法、及び設計検証プログラム |
CN102253834A (zh) * | 2011-07-05 | 2011-11-23 | 广东星海数字家庭产业技术研究院有限公司 | 一种基于数字电视的Linux硬件设备驱动系统 |
CN103135968A (zh) * | 2011-11-24 | 2013-06-05 | 上海华建电力设备股份有限公司 | 一种智能显示终端系统 |
CN102662649A (zh) * | 2012-03-06 | 2012-09-12 | 惠州Tcl移动通信有限公司 | 应用程序功能菜单的定制方法及装置 |
US11210076B2 (en) | 2013-01-28 | 2021-12-28 | Samsung Electronics Co., Ltd. | Downloading and launching an app on a second device from a first device |
US10225611B2 (en) | 2013-09-03 | 2019-03-05 | Samsung Electronics Co., Ltd. | Point-to-point content navigation using an auxiliary device |
US9883231B2 (en) * | 2013-09-03 | 2018-01-30 | Samsung Electronics Co., Ltd. | Content control using an auxiliary device |
CN103604197B (zh) * | 2013-11-29 | 2016-03-02 | 广东美的制冷设备有限公司 | 空调器触摸控制界面的显示方法和系统 |
KR102607564B1 (ko) * | 2016-09-13 | 2023-11-30 | 삼성전자주식회사 | 소프트 키를 표시하는 방법 및 그 전자 장치 |
US20200097138A1 (en) | 2018-09-24 | 2020-03-26 | Salesforce.Com, Inc. | Application builder |
CN114860223B (zh) * | 2022-07-06 | 2022-09-30 | 绍兴圆方半导体有限公司 | 交互编辑框架、交互对象的生成方法和电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1079830A (zh) * | 1992-06-10 | 1993-12-22 | L·M·埃利克逊电话股份有限公司 | 系统开发支持 |
CN1402124A (zh) * | 2001-08-22 | 2003-03-12 | 英业达股份有限公司 | 通过菜单启动多个个人数字助理操作系统的方法及系统 |
CN1444139A (zh) * | 2002-03-07 | 2003-09-24 | 联想(北京)有限公司 | 一种实现手机和掌上电脑结合的方法 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2998652B2 (ja) * | 1996-09-20 | 2000-01-11 | 日本電気株式会社 | Gui画面レイアウト設計方式 |
EP0929873A1 (en) * | 1997-07-15 | 1999-07-21 | Koninklijke Philips Electronics N.V. | A method and system for designing a graphical user interface for an electronic consumer product |
JP2001134424A (ja) * | 1999-11-04 | 2001-05-18 | Hitachi Ltd | システムパラメタ作成方法、システムパラメタ作成装置、システムパラメタ作成プログラムを記録したコンピュータ読み取り可能な記録媒体及びシステムパラメタ作成データを格納したコンピュータ読み取り可能な記録媒体 |
US7747782B2 (en) * | 2000-04-26 | 2010-06-29 | Novarra, Inc. | System and method for providing and displaying information content |
WO2002023336A1 (en) * | 2000-09-14 | 2002-03-21 | Bea Systems, Inc. | Xml-based graphical user interface application development toolkit |
JP3881179B2 (ja) * | 2001-02-14 | 2007-02-14 | 三菱電機株式会社 | ユーザインタフェース設計装置 |
JP2002297382A (ja) * | 2001-03-30 | 2002-10-11 | Digital Electronics Corp | エディタ装置、そのプログラム、および、それが記録された記録媒体 |
US20030156131A1 (en) * | 2002-02-21 | 2003-08-21 | Samir Khazaka | Method and apparatus for emulating a mobile device |
US20040027377A1 (en) | 2002-08-06 | 2004-02-12 | Grace Hays | User interface design and validation including dynamic data |
AU2003257336A1 (en) * | 2002-08-19 | 2004-03-03 | Research In Motion Limited | System and method for secure control of resources of wireless mobile communication device |
KR100374296B1 (en) | 2002-09-11 | 2003-03-03 | Itgen Co Ltd | System for developing application program for mobile terminal and mobile terminal including application program developed by the same |
US20050097462A1 (en) * | 2003-10-31 | 2005-05-05 | Spx Corporation | System and method for information creation, management and publication of documentation from a single source |
JP2005189908A (ja) | 2003-12-24 | 2005-07-14 | Toshiba Corp | シミュレーションシステム |
-
2005
- 2005-01-31 US US11/047,235 patent/US7398474B2/en not_active Expired - Fee Related
- 2005-12-12 KR KR1020050121723A patent/KR101153057B1/ko not_active IP Right Cessation
- 2005-12-29 EP EP05113056A patent/EP1686462A3/en not_active Withdrawn
- 2005-12-30 CN CN200510003355.7A patent/CN1815440B/zh not_active Expired - Fee Related
-
2006
- 2006-01-19 JP JP2006011147A patent/JP5021211B2/ja not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1079830A (zh) * | 1992-06-10 | 1993-12-22 | L·M·埃利克逊电话股份有限公司 | 系统开发支持 |
CN1402124A (zh) * | 2001-08-22 | 2003-03-12 | 英业达股份有限公司 | 通过菜单启动多个个人数字助理操作系统的方法及系统 |
CN1444139A (zh) * | 2002-03-07 | 2003-09-24 | 联想(北京)有限公司 | 一种实现手机和掌上电脑结合的方法 |
Non-Patent Citations (1)
Title |
---|
Bradly L.Jones.Mobile/Pocket PC Development JumpStart(http://www.developer.com/ws/other/archives.php/200407).2004,Page1-Page3. * |
Also Published As
Publication number | Publication date |
---|---|
KR101153057B1 (ko) | 2012-06-04 |
CN1815440A (zh) | 2006-08-09 |
JP2006209759A (ja) | 2006-08-10 |
US7398474B2 (en) | 2008-07-08 |
JP5021211B2 (ja) | 2012-09-05 |
EP1686462A2 (en) | 2006-08-02 |
EP1686462A3 (en) | 2007-11-28 |
KR20060088011A (ko) | 2006-08-03 |
US20060174215A1 (en) | 2006-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1815440B (zh) | 用于数字设备菜单编辑器的方法和系统 | |
CN109710243B (zh) | 基于可视化平台的区块链开发方法、装置、服务器及介质 | |
CN100573503C (zh) | 自动生成内容的方法和系统 | |
CN100465883C (zh) | 提供文档预览的方法、系统和装置 | |
CN100492316C (zh) | 测试自动化的系统和方法 | |
CN101432690B (zh) | Bios配置更新技术 | |
CN102696012B (zh) | 从代码使用中创建所推断的符号 | |
US7793268B2 (en) | Method, system, and program product for composing a virtualized computing environment | |
CN111522552B (zh) | 子应用生成方法、装置、计算机设备和存储介质 | |
CN100470466C (zh) | 要求事件的对象克隆 | |
CN102591643B (zh) | 选择性地启用应用的运行时编辑 | |
US10592211B2 (en) | Generation of application behaviors | |
US7665014B2 (en) | Method and apparatus for generating forms using form types | |
CN102682357A (zh) | 根据业务流程的描述自动创建业务应用 | |
JP2013518321A (ja) | パターンベースのユーザインターフェース | |
KR20200013915A (ko) | 애플리케이션의 개발을 지원하는 플랫폼의 동작 방법 및 플랫폼을 제공하는 서버 | |
CN106133697A (zh) | 具有分支和门控的便携式业务逻辑 | |
CN106663090A (zh) | 在编译期间将呈现元数据转换成浏览器可渲染格式 | |
CN1670715B (zh) | 在公共语言运行时语言中的资源地址支持 | |
CN114741071A (zh) | 一种应用构建方法及装置 | |
CN114048415A (zh) | 表单生成方法及装置、电子设备和计算机可读存储介质 | |
US10706225B2 (en) | Form management system and method | |
JP6795767B2 (ja) | 情報処理装置と、その処理方法及びプログラム | |
Schuler et al. | Rule-based generation of mobile user interfaces | |
KR101734306B1 (ko) | 멀티 프로그램 코드 자동 개발 시스템 |
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: 20100908 Termination date: 20141230 |
|
EXPY | Termination of patent right or utility model |