平移和缩放控件
背景
项目管理应用程序是允许用户管理与项目相关联的任务的计算机应用程序。项目管理应用程序允许用户为项目定义任务、为任务的完成创建进度表、为每一任务计划时间和预算、分配完成任务所需的资源、指定项目目标和里程碑、以及以其他方式执行并管理项目。项目管理应用程序存储任务和进度表数据,并按标准格式向用户显示项目进度表。
例如,项目管理应用程序可以使用甘特图以图形方式在时间标尺上标绘任务以指示每一任务的开始和完成日期来显示包含任务信息的项目进度表。甘特图通常在显示屏幕的左侧示出任务列表,在显示屏幕的右侧示出柱状图。柱状图以图形方式在用户定义的时间标尺上示出任务信息从而可以检查和比较详细的任务信息。然而,随着进度表中的任务的数量增加,甘特图可能只能足够详细地显示有用的项目进度表的子集,这使得查看特定任务如何适合到更大的总体项目进度表中变得困难。
为了提供项目进度表的这一高级概览,项目管理应用程序可以结合甘特图或其他进度表数据来显示项目进度表时间线。时间线通过在视觉上沿从项目的开始直到完成的时间标尺来表示进度表以提供项目进度表的概述。时间线还可以显示关于项目的关键时间信息,包括阶段和里程碑。然而,即使有了项目进度表时间线提供的高级概览,用户可能仍然无法将甘特图中显示的任务的当前范围与时间线中显示的总体项目进度表进行相关。
此处所做出的本发明正是对于这些和其他考虑事项而提出的。
概述
此处描述了用于结合用于在项目管理应用程序中导航项目进度表数据的时间线来提供平移和缩放控件的技术。沿着时间线显示平移和缩放控件,并且按照与项目管理应用程序当前显示的项目进度表数据的时间段或范围相对应的位置和大小来显示平移和缩放控件。这允许用户看见当前显示的数据如何在时间上适合到总体项目进度表中。另外,用户可以沿着时间线移动平移和缩放控件并调整大小来选择要在项目管理应用程序中显示项目进度表数据的不同时间段。
根据此处呈现的各方面,当项目管理应用程序检测到时间线的显示时,项目管理应用程序确定所显示的任何项目进度表数据的范围。项目管理应用程序随后在时间线的附近,按照反映所显示的数据的范围的、相对于时间线的位置和大小来显示平移和缩放控件。在一方面,平移和缩放控件被配置成允许用户沿着时间线移动控件并调整控件的大小。在检测到平移和缩放控件的移动或大小调整后,项目管理应用程序确定平移和缩放控件相对于时间线的新的位置和/或新的大小所表示的时间段,并且改变所显示的项目进度表数据的范围来匹配该时间段。
应当理解,上述主题可被实现为计算机控制的装置、计算机进程、计算系统或诸如计算机可读介质等制品。通过阅读下面的详细描述并审阅相关联的附图,这些及各种其他特征将变得显而易见。
提供本概述是为了以简化的形式介绍将在以下详细描述中进一步描述的一些概念。本概述并不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在将本概述用来限制所要求保护的主题的范围。此外,所要求保护的主题不限于解决在本发明的任一部分中提及的任何或所有缺点的实现。
附图简述
图1是示出能够实现本文所呈现的实施例的各方面的计算系统的说明性计算机硬件和软件体系结构的框图;
图2A-2C是示出根据此处描述的各实施例的用于结合项目进度表时间线来显示平移和缩放控件的示例性用户界面的屏幕图;
图3是示出根据此处描述的各实施例的用于结合项目进度表时间线来显示平移和缩放控件的其他示例性用户界面的屏幕图;以及
图4A-4B示出如此处描述的各实施例所提供的用于结合用于导航项目进度表数据的时间线来提供平移和缩放控件的一种方法的流程图。
详细描述
以下详细描述涉及用于结合用于在项目管理应用程序中导航项目进度表数据的时间线的显示来提供平移和缩放控件的技术。尽管在结合计算机系统上的操作系统的执行而执行的应用程序的一般上下文中呈现了此处描述的主题,但是本领域技术人员将认识到,其他实现可以结合其他类型的程序模块来执行。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、组件、数据结构和其他类型的结构。此外,本领域技术人员将明白,可以利用其他计算机系统配置来实施此处描述的主题,这些计算机系统配置包括手持式设备、多处理器系统、基于微处理器的或可编程消费电子产品、小型计算机、大型计算机等等。
在下面的详细描述中,将对附图进行参考,附图构成本发明的一部分,并作为说明示出了各具体实施例或示例。现在参考附图,其中全部数个附图中相同的标号表示相同的元素,将描述用于结合项目进度表时间线的显示来提供平移和缩放控件的计算系统和方法的各方面。
现在转向图1,将提供关于本文呈现的各实施例所提供的说明性操作环境和若干软件组件的细节。具体地,图1示出能够执行此处描述的用于结合项目进度表时间线的显示来提供平移和缩放控件的软件组件的计算机100的说明性计算机体系结构。如图1所示的计算机体系结构示出了常规台式计算机、膝上型计算机或服务器计算机,并且可以用来执行这里呈现的软件组件的任何方面。
图1所示的计算机体系结构包括中央处理单元102(CPU)、包括随机存取存储器(RAM)106和只读存储器(ROM)108的系统存储器104、以及将存储器耦合至CPU 102的系统总线110。基本输入/输出系统被存储在ROM 108中,该系统包含帮助诸如在启动期间在计算机100中的元件之间传递信息的基本例程。计算机100还包括用于存储操作系统114、应用程序和其他程序模块的大容量存储设备112,这将在本文中更为详尽地描述。
大容量存储设备112通过连接至总线110的大容量存储控制器(未示出)连接到CPU 102。大容量存储设备112及其相关联的计算机可读介质为计算机100提供非易失性存储。虽然对这里包含的计算机可读介质的描述引用了诸如硬盘或CD-ROM驱动器之类的大容量存储设备,但是本领域的技术人员应该明白,计算机可读介质可以是可由计算机100访问的任何可用计算机存储介质。
作为示例而非限制,计算机可读介质可以包括以用于存储诸如计算机可读指令、数据结构、程序模块之类的信息或其他数据的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。例如,计算机可读介质包括但不限于,RAM、ROM、EPROM、EEPROM、闪存或其他固态存储器技术,CD-ROM、数字多功能盘(DVD)、HD-DVD、蓝光、或其他光学存储,磁带盒、磁带、磁盘存储或其他磁存储设备,或可以用来存储所需信息并可由计算机100访问的任何其他介质。
根据各实施例,计算机100可以使用通过诸如网络116之类的网络到远程计算机的逻辑连接来在联网环境中操作。计算机100可以通过连接至总线110的网络接口单元118来连接到网络116。应当理解,网络接口单元118还可以被用来连接到其他类型的网络和远程计算机系统。计算机100还可以包括用于接收和处理来自许多其他设备的输入的输入/输出控制器120,这些设备包括如键盘122、鼠标124或电子笔之类的用户输入设备。类似地,输入/输出控制器可以向显示器126、打印机或其他类型的输出设备提供输出。
如前简述的那样,多个程序模块和数据文件可以存储在计算机100的大容量存储设备112和RAM 106内,包括适于控制联网的台式计算机、膝上型计算机或服务器计算机的操作的操作系统114。大容量存储设备112和RAM 106还可以存储一个或多个程序模块。具体地,大容量存储设备112和RAM 106可以存储提供此处呈现的用于结合项目进度表时间线的显示来提供平移和缩放控件的功能的项目管理应用程序128,这将在以下详细地描述。根据各实施例,项目管理应用程序128包括来自华盛顿州雷蒙德市微软公司的MICROSOFT PROJECT项目管理应用程序。然而,应该理解,此处呈现的各实施例可以与来自其他厂商的项目管理应用软件一起使用,这些应用软件包括但不限于,来自宾夕法尼亚州巴拉辛维德市的PRIMAVERA系统公司的PRIMAVERA 6.0(P6TM)软件、来自华盛顿州西雅图市的OMNI开发有限公司的OMNIPLAN软件、以及来自德克萨斯州奥斯丁市的ARTEMIS国际解决方案有限公司的ARTEMIS软件。大容量存储设备112和RAM 106还可存储其他类型的程序模块或数据。
还可以理解,虽然此处提供的各实施例被描述为作为传统的客户机应用程序在计算机100上执行,但是它们还可以使用客户机-服务器模型来实现,诸如在服务器计算机上执行的并且由在客户机计算机100上执行的web浏览器应用程序通过公共因特网或通过专用内联网访问的基于web的应用程序。
图2A-2C示出可以由项目管理应用程序128生成来结合项目进度表时间线显示平移和缩放控件的示例性用户界面(UI)200。具体地,图2A中示出的UI 200包括项目管理应用程序128所呈现的窗口202。窗口202显示包含关于项目进度表中的任务的数量的任务信息的项目进度表数据204。可以理解,项目管理应用程序128所提供的显示还可以在无窗口操作模式中示出,诸如全屏显示模式。
项目进度表数据204包括以图形形式在时间标尺上标绘任务来指示每一任务的开始和完成日期的甘特图。在一个实施例中,窗口202中显示的甘特图的时间范围206可以只包括总体项目进度表的一部分。甘特图中的数据的显示范围206可以由项目管理应用程序128基于显示任务数据所需的必要细节来确定,或者范围206可以由项目管理应用程序128的用户设置以显示所需项目进度表的部分。在其他实施例中,甘特图的范围206可以包括整个项目进度表。
窗口202还包括项目管理应用程序128所呈现的、提供项目进度表的高级概览的项目进度表时间线208。在一个实施例中,时间线208与从项目进度表的开始延伸到项目进度表的结束的时间标尺一起在窗口202中水平地显示。例如,图2A中示出的时间线208描绘了从2008年3月17日延伸到2008年7月27日的项目进度表。项目管理应用程序128还可沿着时间线208显示任务分组、里程碑、或其他进度表数据,诸如图2A中示出的五个任务分组或“阶段”。可以理解,项目进度表时间线208可以由项目管理应用程序128以提供项目进度表的高级概览的任意数量的方式来呈现。
根据各实施例,当窗口202中显示的甘特图或其他项目进度表数据204的范围206仅包括总体项目进度表的一部分时,项目管理应用程序128在时间线208附近呈现平移和缩放控件210。在一个实施例中,平移和缩放控件210被呈现为时间线208上的水平条。项目管理应用程序128按照与项目进度表数据204的范围206相对应的、沿着时间线208的位置和相对于时间线208的大小来显示平移和缩放控件210。平移和缩放控件210可以包括线212A、212B或从水平条的任一端延伸到时间线208上来清楚地示出时间线208中平移和缩放控件210涵盖的部分218的其他UI组件。另外,平移和缩放控件210还可包括在水平条的一端处显示的开始日期214以及在水平条的另一端处显示的结束日期216,进一步指示了时间线208中被平移和缩放控件210涵盖的部分218所表示的时间段。
例如,如图2A所示,项目管理应用程序128可以在如上所述的位置按照如上所述的大小在时间线208上呈现平移和缩放控件210来涵盖时间线208的与从2008年4月24日到2008年6月5日的时间段相对应的部分218。该时间段大致匹配窗口202中项目管理应用程序128所呈现的甘特图的范围206。虽然平移和缩放控件210在此处提供的说明中被描绘为置于项目进度表时间线208之上的水平条,但可以理解,对于本领域普通技术人员而言平移和缩放控件210的许多形式上和位置上的变形都将是显而易见的,并且本申请旨在覆盖超出图2A-2C和3中示出的任何这样的变形。
在其他实施例中,项目管理应用程序128还更改项目进度表时间线208的显示属性来将时间线208中被平移和缩放控件210涵盖的部分218与时间线208的其余部分进行区分。例如,如图2A所示,时间线208中被平移和缩放控件210涵盖的部分218可以用实线来呈现,而时间线中落在部分218之外的其余部分可以用虚线来呈现。应该理解,本领域普通技术人员可以想象更改时间线208的显示属性的许多方法,包括改变时间线的不同部分的颜色、阴影、或透明度来将项目进度表时间线208中被平移和缩放控件210涵盖的部分218与时间线208中控件210之外的部分进行区分。
根据此处公开的各实施例,平移和缩放控件210被配置成允许项目管理应用程序128的用户移动控件210并调整控件210的大小。这允许用户改变当前在窗口202中显示的项目进度表数据204的范围206。图2B示出在UI 200上用户沿着项目进度表时间线208移动平移和缩放控件210的效果。在一个实施例中,用户可以如上所述地使用附连到计算机100的鼠标124来移动平移和缩放控件210。用户可以使用鼠标124来将鼠标光标220放置在平移和缩放控件210上,并且同时按住鼠标124上的按键沿着项目进度表时间线208水平地拖拽控件210。以这种方式移动平移和缩放控件210改变了时间线208中被控件210涵盖的部分218。项目管理应用程序128进而将改变在窗口202中显示的项目进度表数据204的范围206来匹配与时间线208中被平移和缩放控件210涵盖的部分218相对应的时间段。
例如,如图2B所示,用户可以沿着项目进度表时间线208将平移和缩放控件210拖拽到一个位置从而使得它涵盖与从2008年5月26日到2008年7月14日的时间段相对应的部分218。随着沿着时间线208来拖拽平移和缩放控件210,项目管理应用程序128可以更改时间线208的显示属性来反映平移和缩放控件210所涵盖的新的部分218。另外,项目管理应用程序128可以更新开始日期214和结束日期216来反映与时间线208中当前被平移和缩放控件210涵盖的部分218相对应的时间段。
一旦平移和缩放控件210的移动完成,项目管理应用程序128更新甘特图或在窗口202中显示的其他项目进度表数据204的范围206来匹配时间线208中被控件210涵盖的新的部分218。可以理解,项目管理应用程序128可以在沿着时间线208移动控件210时、在控件210的移动完成之后、或者这两者的某种组合来动态地更新平移和缩放控件210的显示以及甘特图的范围206来反映平移和缩放控件210的新的位置。
类似地,图2C示出在UI 200上用户相对于项目进度表时间线208来调整平移和缩放控件210的大小的效果。用户可以使用鼠标124来将鼠标光标220放置在平移和缩放控件210的任一端上或者在平移和缩放控件210的两端下延伸的线212A、212B上。在将鼠标光标220放置在该位置之后,项目管理应用程序128可以改变所显示的光标220的类型来指示要调整平移和缩放控件210的大小。
用户随后可以使用鼠标124来拖拽平移和缩放控件210的所选端,拓宽或缩减控件210来涵盖时间线208的更大或更小的部分218。一旦调整了平移和缩放控件210的大小,项目管理应用程序128将改变在窗口202中显示的项目进度表数据204的范围206来匹配与时间线208中被平移和缩放控件210涵盖的部分218相对应的时间段。
例如,如图2C所示,用户可以向内拖拽平移和缩放控件210的一端处的线212B,从而相对于项目进度表时间线208来改变控件210的大小,使得控件210涵盖与2008年5月26日到2008年6月9日的时间段相对应的部分218。项目管理应用程序128可以相应地更新开始日期214、结束日期216以及时间线208的显示属性。另外,项目管理应用程序128改变甘特图或在窗口202中显示的其他项目进度表数据204的范围206来匹配新的时间段。虽然此处提供的各示例描述了用户使用鼠标124来移动平移和缩放控件210并调整大小,但是可以理解,用户可以利用任何输入设备来移动平移和缩放控件210并调整大小,这些输入设备包括但不限于,鼠标124、键盘122、跟踪球、触摸垫、指示笔、触摸屏或可以直接连接到计算机100或者经由网络116远程连接的其他输入设备。
在其他实施例中,此处描述的平移和缩放控件210和项目进度表时间线208可以结合图2A-2C中示出的甘特图视图之外的项目进度表数据的其他视图来呈现。例如,图3示出项目管理应用程序128所呈现的UI 300,包括结合窗口302中的项目进度表数据304的考勤卡视图来使用的项目进度表时间线208和平移和缩放控件210。正如以上参考甘特图所描述的,考勤卡视图中显示的项目进度表数据304的范围306与平移和缩放控件210相对于时间线208的位置和大小相对应。还可以理解,所描述的平移和缩放控件210和项目进度表时间线208可以结合沿着时间标尺显示数据的项目进度表数据的任何图形或表格视图来呈现。
现在参考图4A-4B,将提供关于此处呈现的各实施例的附加细节。具体地,图4A-4B是示出一种用于结合用于在项目管理应用程序中导航项目进度表数据的时间线的显示来提供平移和缩放控件的方法的流程图。应理解,此处所述的逻辑操作被实现为(1)一系列计算机实现的动作或运行于计算系统上的程序模块,和/或(2)计算系统内的互连的机器逻辑电路或电路模块。取决于计算系统的性能及其他要求,可以选择不同的实现。因此,此处描述的逻辑操作被不同地称为状态操作、结构设备、动作或模块。这些操作、结构设备、动作和模块可以用软件、固件、专用数字逻辑以及其任何组合来实现。还应该明白,可以执行比附图中示出并在此处描述的操作更多或更少的操作。这些操作还可以按与此处所描述的不同的次序来执行。
例程400在操作402处开始,在那里项目管理应用程序128检测到项目进度表时间线208结合应用程序所呈现的项目进度表数据204来显示。只要项目管理应用程序128显示了甘特图、考勤卡视图、或其他项目进度表数据204,这就会发生。时间线208还可以响应于项目管理应用程序128的用户从应用程序UI选择“查看时间线”或类似的控件来显示。如果项目管理应用程序128检测到项目进度表时间线208的显示,则例程400从操作402行进至操作404,在那里项目管理应用程序128确定所显示的项目进度表数据204的范围206。根据各实施例,该范围206就是当前显示的项目进度表数据204所覆盖的时间段。
例程400从操作404行进至操作406,在那里项目管理应用程序128在时间线208附件显示平移和缩放控件210。如上参考图2A所描述的,平移和缩放控件210沿着时间线208、按照与如在操作404中所确定的所显示的数据的范围206相对应的位置和大小来显示。根据一个实施例,如果所显示的数据的范围206包括整个项目进度表,则项目管理应用程序128不显示平移和缩放控件210。在这种情况下,如果改变数据的范围206从而使得它不再包括整个项目进度表,则项目管理应用程序128随后可以呈现平移和缩放控件210。例如,如果用户利用项目管理应用程序128的UI中的控件来手动地更改所显示的数据的范围206,则项目管理应用程序128将沿着时间线208呈现平移和缩放控件210来与所修改的范围206对应。
如上所述,根据各实施例,平移和缩放控件210被配置成允许项目管理应用程序128的用户移动控件210并调整控件210的大小。在操作408处,如果项目管理应用程序128检测到用户已经沿着时间线208移动了平移和缩放控件210,则例程400行进至操作410,在那里项目管理应用程序128确定与时间线208中被在其新的位置处的控件210涵盖的部分218相对应的时间段。这可以通过将所显示的平移和缩放控件210的相对大小和位置与项目进度表时间线208的大小和位置进行比较,并且将该比较应用于时间线显示所表示的总体项目进度表的数据范围来实现。可以理解,项目管理应用程序128可以利用现有技术中任意数量的已知方法来确定与时间线208中被平移和缩放控件210涵盖的部分218相对应的时间段。
例程400从操作410行进至操作412,在那里项目管理应用程序128改变项目进度表数据204的范围206以包括在操作410中确定的新的时间段内的数据。项目管理应用程序128还更新开始日期214、结束日期216、时间线208的显示属性、以及为项目进度表数据显示的时间标尺来反映新的时间段,如以上参考图2B所描述的。例程400从操作412返回至操作408,在那里项目管理应用程序128等待用户对平移和缩放控件210作出任何其他移动或大小调整。
类似地,如果项目管理应用程序128在操作414处检测到用户相对于时间线208调整了平移和缩放控件210的大小,则例程400行进至操作416,在那里项目管理应用程序128确定平移和缩放控件210的新的大小是否涵盖整个项目进度表时间线208。根据一个实施例,如果用户调整平移和缩放控件210的大小从而使得它涵盖整个时间线208,则例程从操作416行进至操作418,在那里项目管理应用程序128从显示屏幕中移除平移和缩放控件210。例程400从操作416行进至操作420,在那里项目管理应用程序128将所显示的项目进度表数据204的范围206改变为整个项目进度表。例程400随后返回到操作402,在那里项目管理应用程序128等待用户改变所显示的数据的范围206,如以上参考操作406所描述的。
然而,在操作416处,如果经调整大小的平移和缩放控件210未涵盖整个时间线208,则例程400行进至操作422,在那里项目管理应用程序128确定与时间线208中被按其新的大小的平移和缩放控件210涵盖的部分218相对应的时间段,如以上参考操作410所描述的。例程随后行进至操作424,在那里项目管理应用程序128改变所显示的项目进度表数据204的范围206以包括在操作420中确定的新的时间段内的数据,如图2C所示。
本领域技术人员可以理解,当新的时间段中包括的数据的范围206与前一所显示的范围发生显著的变化时,可能需要更改项目管理应用程序128所显示的项目进度表数据204的细节水平。例如,如图2B-2C所示,在将平移和缩放控件210的大小相对于时间线208调整为显著地小于前一显示的大小时,项目管理应用程序128可以将所显示的数据的时间标尺所反映的细节水平从周细节改变为日细节。例程400从操作422返回至操作408,在那里项目管理应用程序128等待用户对平移和缩放控件210作出任何其他移动或大小调整。
基于上述内容,应该理解,此处提供了用于结合用于在项目管理应用程序中导航项目进度表数据的时间线来提供平移和缩放控件的技术。虽然以计算机结构特征、方法动作、以及计算机可读介质专用的语言描述了本文呈现的主题,但是应该理解,在所附权利要求书中所限定的本发明不一定仅限于本文描述的具体特征、动作、或介质。相反,这些具体特征、动作和介质是作为实现权利要求的示例形式来公开的。
上述主题仅作为说明提供,并且不应被解释为限制。可对此处所述的主题作出各种修改和改变,而不必遵循所示和所述的示例实施例和应用,且不背离所附权利要求书中所述的本发明的真正精神和范围。