動態地控制電子文檔中表單控件的沖突的制作方法
【專利摘要】由電子文檔中表單控件的移動導致的沖突可被動態地控制。可在計算機上顯示用戶界面,用戶界面包括用于操縱電子文檔中表單控件的設計表面。計算機可接收對電子文檔中的一個或多個表單控件的選擇。所選表單控件可在設計表面上從原始位置被移動。在與被移動的所選表單控件沖突時,設計表面上的非所選表單控件可被移至設計表面上的新位置。非所選表單控件在被移動之后可進一步與設計表面內的隱藏網格對齊。
【專利說明】動態地控制電子文檔中表單控件的沖突
[0001]背景
[0002]各種計算機軟件應用允許最終用戶用控件來創建表單和表格,這些控件可被用來以有組織的方式接收數據。例如,電子商務網站在創建訂單之前可利用基于web的應用表單來獲取顧客姓名和地址信息。盡管上述計算機軟件應用使用戶能夠創建表單,但這些應用無法提供足夠的針對頁面表面上的控件布局的可用性指導。例如,初始控件布局通常不被正確地對齊和/或以隨意方式分散在頁面表面上。此外,利用上述計算機軟件應用創建表格布局還提供了不良的用戶體驗,因為它們需要用戶通過拆分與合并表格單元來定義布局。本發明的各個實施例正是針對這些考慮事項及其他而做出的。
[0003]概述
[0004]提供本概述是為了以簡化的形式介紹將在以下詳細描述中進一步描述的一些概念。本概述并不旨在標識所要求保護的主題的關鍵特征或必要特征,也不旨在用于幫助確定所要求保護的主題的范圍。
[0005]提供了用于動態地控制電子文檔中表單控件的沖突的各實施例。可在計算機上顯示用戶界面,用戶界面包括用于操縱電子文檔中表單控件的設計表面。計算機可接收對電子文檔中一個或多個表單控件的選擇。所選表單控件可在設計表面上被移動。隨著所選表單控件在設計表面上被移動,設計表面上的非所選表單控件在與所選表單控件沖突時從其原始位置被移開。非所選表單控件在被移動之后可與設計表面內的隱藏網格對齊。
[0006]通過閱讀下面的詳細描述并參考相關聯的附圖,這些及其他特點和優點將變得顯而易見。可以理解,前述一般描述和以下【具體實施方式】均僅是例示性的,且不限制所要求保護的本發明。
【專利附圖】
【附圖說明】
[0007]圖1是根據一個實施例的示出用于動態地控制電子文檔中表單控件的沖突的例程的流程圖;
[0008]圖2是根據一個實施例的在對齊電子文檔中的表單控件時利用的隱藏網格的框圖;
[0009]圖3是根據一個實施例的示出確定網格位置以便移動電子文檔中的表單控件的過程的隱藏網格的框圖;
[0010]圖4A是根據一個實施例的示出表單控件在被移動之前的用戶界面設計表面的計算機屏幕顯示;
[0011]圖4B是根據一個實施例的示出所選表單控件與非所選表單控件沖突的用戶界面設計表面的計算機屏幕顯示;
[0012]圖4C是根據一個實施例的示出與非所選表單控件沖突之后對齊所選表單控件的用戶界面設計表面的計算機屏幕顯示;
[0013]圖5A是根據一個實施例的示出一個所選表單控件與非所選表單控件沖突的用戶界面設計表面的計算機屏幕顯示;[0014]圖5B是根據一個實施例的示出與非所選表單控件沖突之后對齊一個所選表單控件的用戶界面設計表面的計算機屏幕顯示;
[0015]圖6A是根據一個替換實施例的示出一個所選表單控件與非所選表單控件沖突的用戶界面設計表面的計算機屏幕顯示;
[0016]圖6B是根據一個替換實施例的示出與非所選表單控件沖突之后對齊一個所選表單控件的用戶界面設計表面的計算機屏幕顯示;
[0017]圖7是根據一個實施例的示出可用于動態地控制電子文檔中表單控件的沖突的計算環境的框圖。
[0018]詳細描述
[0019]提供了用于動態地控制電子文檔中表單控件的沖突的各實施例。可在計算機上顯示用戶界面,用戶界面包括用于操縱電子文檔中表單控件的設計表面。計算機可接收對電子文檔中一個或多個表單控件的選擇。所選表單控件可在設計表面上被移動。隨著所選表單控件在設計表面上被移動,設計表面上的非所選表單控件在與所選表單控件沖突時從其原始位置被移開。非所選表單控件可在被移動之后與設計表面內的隱藏網格對齊。
[0020]圖1是根據一個實施例的示出用于動態地控制電子文檔中表單控件的沖突的例程100的流程圖。當閱讀對在此呈現的例程的討論時,應當理解,本發明的各種實施例的邏輯操作被實現為(I)計算系統上運行的一系列計算機實現的動作或程序模塊,和/或(2)計算系統內的互連機器邏輯電路或電路模塊。這種實現是取決于實現本發明的計算系統的性能需求的選擇問題。因此,圖1中所例示的并且構成在此所描述的各實施例的邏輯操作被不同地稱為操作、結構性設備、動作或模塊。本領域技術人員將認識到,這些操作、結構設備、動作和模塊可用軟件、固件、專用數字邏輯、及其任意組合實現,而不背離如本文中闡述的權利要求內陳述的本發明精神和范圍。
[0021]例程100在操作105處開始,其中計算機上執行的表單應用顯示用戶界面,用戶界面包括用于操縱電子文檔中表單控件的設計表面。根據一個實施例,表單應用可包括可經由共享服務平臺在網頁中發布的用于創建表單和/或表格的軟件應用。說明性表單應用可包括來自華盛頓州雷蒙德市的微軟公司的OFFICE-ACCESS SERVICES平臺。然而,應當理解,根據這里描述的各實施例可以利用來自其他制造商的表單應用。這里描述的各實施例中可利用的說明性設計表面在圖4-6中示出,圖4-6將在下文中詳細描述。
[0022]例程100從操作105繼續到操作110,其中計算機上運行的表單接收對電子文檔中一個或多個表單控件的選擇。根據各實施例,這些表單控件可包括但不限于標簽、文本框、圖像控件、網頁控件以及組合框。例如,用戶可選擇鄰接“姓名”標簽和/或“姓名”文本框表單控件來在用戶界面設計表面上移動。應當理解,根據一個實施例,可在用戶界面設計表面上同時選擇并移動多個表單控件。
[0023]例程100從操作110繼續到操作115,其中計算機上運行的表單應用在電子文檔中在用戶界面設計表面上移動所選表單控件。應當理解,所選表單控件可響應于用戶輸入來移動。具體地,用戶可在表單應用中發起拖曳操作,從而導致所選表單控件在設計表面上被拖曳。根據各實施例,設計表面可進一步包括隱藏網格,隱藏網格對用戶不可見,并且隱藏網格包括用于一旦拖曳操作已完成就在設計表面上對齊所選表單控件的多個網格單元。如這里將更詳細討論的,隱藏網格還可被用于基于各網格單元的位置來對齊設計表面上的其他表單控件。示出在其中可合并隱藏網格和各網格單元的說明性圖示在圖2-3中示出,這將在下文中詳細描述。
[0024]例程100從操作115繼續到操作120,其中計算機上執行的表單應用將任何與跨設計表面所拖曳的所選表單控件沖突的非所選表單控件從所選表單控件移開(即,從其原始位置移開)同時維持與隱藏網格對齊。具體地,表單應用可被配置成將一個或多個非所選表單控件(一個或多個非所選表單控件正占據用戶希望放置所選表單控件的位置)“碰撞”到設計表面上的另一位置。應當理解,“經碰撞”的非所選表單控件的新位置可基于所選表單控件侵占非所選表單控件的方向來確定。侵占的方向可以是水平的或垂直的。例如,根據一個實施例,所選表單控件可水平地侵占非所選表單控件,使得非所選表單控件位于所選表單控件的上半部分。在該情況下,表單應用可被配置成在設計表面上向上移動或碰撞非所選表單控件。示出上述示例的說明性設計表面在圖5A-5B中示出,圖5A-5B將在下文中詳細描述。然而,應當理解,表單應用可被配置成在確定是否在設計表面上向上碰撞非所選表單控件時考慮設計表面上的空間可用性。例如,對于上述實施例,如果所選表單控件的水平侵占發生在設計表面頂部以致不存在可用空間來向上碰撞非所選表單控件,則表單應用可被配置成在設計表面上向下移動非所選表單控件。根據另一實施例,如果所選表單控件的水平侵占是使得非所選表單控件位于所選表單控件的下半部分,則表單應用可被配置成在設計表面上向下移動或碰撞非所選表單控件。示出上述示例的說明性設計表面在圖6A-6B中示出,圖6A-6B將在下文中詳細描述。根據另一實施例,如果被水平移動的所選表單控件與同該所選表單控件大小相同的非所選表單控件沖突,則表單應用可被配置成在設計表面上向下移動或碰撞該非所選表單控件。根據又一實施例,所選表單控件可垂直地侵占非所選表單控件。在該情況下,表單應用可被配置成在與垂直侵占方向對應的方向上移動或碰撞非所選表單控件。例如,如果當所選表單控件與非所選表單控件沖突時在設計表面上在向下方向上移動所選表單控件,則表單應用可被配置成在設計表面上在向上方向上移動或碰撞非所選表單控件。示出上述示例的說明性設計表面在圖4A-4C示出,圖4A-4C將下文中詳細描述。
[0025]例程100從操作120繼續到操作125,其中計算機上執行的表單應用可配置成在進一步移動所選表單控件之后將任何非所選表單控件返回到它們在設計表面上的原始位置。具體地,當一個或多個所選表單控件被移動時,“經碰撞”的非所選表單控件可被自動返回到它們的原始位置,使得這些“經碰撞”的非所選表單控件不再占據先前包含非所選表單控件的空間。從操作125,例程100隨后結束。
[0026]圖2是根據一個實施例的在對齊電子文檔中的表單控件時利用的隱藏網格200(下文中被稱為“網格200”)的框圖。網格200可包括“槽”210、220、230、240、250、260、270、280和290,這些槽使列215、225、235、245、255、265、275和285分開。對于網格200,表單控件可被放置在由列215、225、235、245、255、265、275和285定義的空間,并且由槽210,220,230、240、250、260、270、280定義的空間分開。應當理解,槽和列的組合防止表單控件彼此重疊且便于在設計表面上對齊表單控件。具體地,網格200可包括定義表單控件在設計表面上可被放置在哪里的結構。網格200可進一步使用以下位置和放置規則來定義:1.網格200在表單的左上部開始;2.在首個滿列之前存在左槽;3.在最后一個滿列之后存在右槽;
4.在網格頂部不存在槽;5.可不將表單控件放置在彼此之上;6.表單控件可在槽的右邊緣開始;6.表單控件可在槽的左邊緣結束;7.表單控件可跨越若干個槽/列。根據一個實施例,網格可包括固定數量的列,每一列具有列寬(以像素為單位),列寬是列高(以像素為單位)的兩倍。網格中每個槽也可具有槽寬(以像素為單位),槽寬大于槽高。作為非限制性示例,根據這里描述的各實施例所利用的說明性網格200可具有以下特征:列的數量=22 ;表單高=無限;列寬=30像素;列高=15像素;槽寬=15像素;槽高=10像素。
[0027]圖3是根據一個實施例的示出確定網格位置以便移動電子文檔中的表單控件的過程的隱藏網格300的框圖。隱藏網格300包括在其上放置所選表單控件302和非所選表單控件305-375的多個網格單元。隨著在隱藏網格300 (即,設計表面)上移動所選表單控件302,已編號的網格單元1-37可被用于定義網格單元的次序,在“碰撞”期間搜索這些網格單元來尋找移動非所選表單控件305-375的可用空間。
[0028]圖4A是根據一個實施例的示出表單控件在被移動之前的用戶界面設計表面405的計算機屏幕顯示。用戶界面設計表面405可包括圖像控件410和420、姓名標簽控件430、姓名文本框控件440、地址標簽控件450以及地址文本框控件460。
[0029]圖4B是根據一個實施例的示出所選表單控件與非所選表單控件沖突的用戶界面設計表面405的計算機屏幕顯示。例如,用戶可同時選擇姓名標簽控件430和姓名文本框控件440 (即,所選表單控件),并且在用戶界面設計表面405上在朝著地址標簽控件450和地址文本框控件460 (即,非所選表單控件)的垂直向下方向上拖曳它們,直到所選表單控件與非所選表單控件沖突(即,“碰撞”)。
[0030]圖4C是根據一個實施例的示出與非所選表單控件沖突之后對齊所選表單控件的用戶界面設計表面405的計算機屏幕顯示。如上面參考圖1的操作120所討論的,表單應用可被配置成在向上方向上移動地址標簽控件450和地址文本框控件460(即,非所選表單控件),使得姓名標簽控件430和姓名文本框控件440 (即,所選控件)可占據之前被非所選控件所占據的空間。此外,應當理解,即使在表單控件在用戶界面設計表面405上已被到處移動之后,表單控件針對彼此以及針對圖像控件410和412的對齊也被維護。
[0031]圖5A是根據一個實施例的示出一個所選表單控件與非所選表單控件沖突的用戶界面設計表面505的計算機屏幕顯示。用戶界面設計表面505可包括圖像控件510和520、姓名標簽控件530、姓名文本框控件540、地址標簽控件550以及地址文本框控件560。姓名文本框控件540 (即,所選表單控件)被示為水平地侵占姓名標簽控件530以致姓名標簽控件530 (即,非所選表單控件)位于所選表單控件的上半部分。例如,用戶可選擇姓名文本框控件540,并且在用戶界面設計表面505上水平地將其拖曳到左面,直到姓名文本框控件540以上述方式與姓名標簽控件530沖突或碰撞。
[0032]圖5B是根據一個替換實施例的示出與非所選表單控件沖突之后對齊一個所選表單控件的用戶界面設計表面505的計算機屏幕顯示。如上面參考圖1的操作120所討論的,表單應用可被配置成在用戶界面設計表面505上向上移動姓名標簽控件530,并且姓名文本框控件540隨后可被移至先前被姓名標簽控件530所占據的空間。
[0033]圖6A是根據一個替換實施例的示出一個所選表單控件與非所選表單控件沖突的用戶界面設計表面605的計算機屏幕顯示。用戶界面設計表面605可包括圖像控件610和620、姓名標簽控件630、姓名文本框控件640、地址標簽控件650以及地址文本框控件660。姓名文本框控件640 (即,所選表單控件)被示為水平地侵占姓名標簽控件630以致姓名標簽控件630 (即,非所選表單控件)位于所選表單控件的下半部分。例如,用戶可選擇姓名文本框控件640,并且在用戶界面設計表面605上水平地將其拖曳到左面,直到姓名文本框控件640以上述方式與姓名標簽控件630沖突或碰撞。
[0034]圖6B是根據一個替換實施例的示出與非所選表單控件沖突之后對齊一個所選表單控件的用戶界面設計表面605的計算機屏幕顯示。如上面參考圖1的操作120所討論的,表單應用可被配置成在用戶界面設計表面605上向下移動姓名標簽控件630,并且姓名文本框控件640隨后可被移至先前被姓名標簽控件630所占據的空間。
[0035]示例性操作環境
[0036]現在參看圖7,以下討論旨在提供對在其中可以實現各說明性實施例的合適計算環境的簡要一般描述。盡管將在結合在計算機上的操作系統上運行的程序模塊執行的程序模塊的一般上下文中描述各實施例,但本領域的技術人員將認識到,各實施例也可結合其它類型的計算系統和程序模塊實現。
[0037]—般而言,程序模塊包括執行特定任務或實現特定抽象數據類型的例程、程序、組件、數據結構和其它類型的結構。此外,本領域的技術人員可以理解,各實施例可以用多種計算機系統配置來實施,包括手持式設備、多處理器系統、基于微處理器或可編程消費者電子產品、小型機、大型機等。各實施例也可以在其中任務由通過通信網絡鏈接的遠程處理設備執行的分布式計算環境中實現。在分布式計算環境中,程序模塊可位于本地和遠程存儲器存儲設備兩者中。
[0038]圖7示出了計算機2,該計算機2包括通用臺式計算機、服務器、或能夠執行一個或多個應用程序的其它類型的計算機。計算機2包括至少一個中央處理單元8(“CPU”)、包括隨機存取存儲器18 (“RAM”)和只讀存儲器(“ROM”)20的系統存儲器12、以及將存儲器耦合至CPU8的系統總線10。在R0M20中存儲基本輸入/輸出系統,該系統包含有助于諸如在啟動期間在計算機內的各元件之間傳輸信息的基本例程。
[0039]計算機2還包括用于存儲操作系統32、表單應用72和電子文檔76的大容量存儲設備14,電子文檔76可包括由表單應用72創建的各表單。表單應用72可包括上面在圖1中所討論的表單應用,并且可被配置成動態地控制電子文檔中表單控件的沖突。根據各實施例,諸如來自華盛頓州雷德蒙市的微軟公司的WINDOWS操作系統等操作系統32可適用于控制聯網計算機的操作。大容量存儲設備14通過連接至總線10的大容量存儲控制器(未示出)連接至CPU8。大容量存儲設備14及其相關聯的計算機可讀介質為計算機2提供非易失性存儲。此處所使用的術語計算機可讀介質可包括計算機存儲介質。計算機存儲介質可包括以用于存儲諸如計算機可讀指令、數據結構、程序模塊、或其他數據等信息的任何方法或技術實現的易失性和非易失性、可移動和不可移動介質。計算機存儲介質可以包括,但不限于,RAM、ROM、電可擦除只讀存儲器(EEPR0M)、閃存或其它存儲器技術、CD-ROM、數字多功能盤(DVD)或其它光存儲、磁帶盒、磁帶、磁盤存儲或其它磁性存儲設備、或可用于存儲信息且可以由計算機2訪問的任何其它介質。任何這樣的計算機存儲介質都可以是計算機2的一部分。
[0040]此處所使用的術語“計算機可讀介質”還可包括通信介質。通信介質由諸如載波或其他傳輸機制等已調制數據信號中的計算機可讀指令、數據結構、程序模塊或其他數據來體現,并包括任何信息傳遞介質。術語“已調制數據信號”可以描述以對該信號中的信息進行編碼的方式設定或者改變其一個或多個特征的信號。作為示例而非限制,通信介質包括諸如有線網絡或直接線連接等有線介質,以及諸如聲學、射頻(RF)、紅外線和其他無線介質等無線介質。
[0041]根據各個實施例,計算機2可使用通過可包括例如局域網或廣域網(例如,因特網)的網絡4至遠程計算機的邏輯連接在聯網環境中操作。計算機2可以通過連接至總線16的網絡接口單元10來連接到網絡4。應當明白,網絡接口單元16也可用于連接至其它類型的網絡和遠程計算系統。計算機2還可包括用于接收和處理來自包括鍵盤、鼠標、筆、指示筆、手指、和/或其它裝置等多種輸入類型的輸入的輸入/輸出控制器22。類似地,輸入/輸出控制器22可以向顯示設備、打印機或其他類型的輸出設備提供輸出。另外,觸摸屏可以用作輸入和輸出機制。
[0042]盡管已結合各個例示性實施例描述了本發明,但本領域普通技術人員將理解,可在所附權利要求的范圍內對其作出許多修改。因此,并非旨在以任何方式將本發明的范圍限于以上的說明,而是應該完全參照所附權利要求書來確定。
【權利要求】
1.一種動態地控制電子文檔中表單控件的沖突的計算機實現的方法,包括: 由計算機顯示用戶界面,所述用戶界面包括用于操縱所述電子文檔中的所述表單控件的設計表面; 由計算機接收從所述電子文檔中的所述表單控件中對至少一個表單控件的選擇; 由計算機在所述設計表面上移動所選的至少一個表單控件;以及 當隨著所選的至少一個表單控件在所述設計表面上被移動,所選的至少一個表單控件與至少一個非所選表單控件沖突時,由計算機將所述至少一個非所選表單控件從所選的至少一個表單控件移開,所述至少一個非所選表單控件在被移動之后在所述設計表面內與隱藏網絡對齊。
2.如權利要求1所述的方法,其特征在于,還包括在所選的至少一個表單控件從原始位置被移動后,將所述至少一個非所選表單控件返回到所述設計表面上的所述原始位置。
3.如權利要求1所述的方法,其特征在于,由計算機接收從所述電子文檔中的所述表單控件中對至少一個表單控件的選擇包括:接收對標簽、文本框、圖像控件、網頁控件以及組合框中的至少一個的選擇。
4.如權利要求1所述的方法,其特征在于,由計算機接收從所述電子文檔中的所述表單控件中對至少一個表單控件的選擇包括:同時接收對多個所述表單控件的選擇。
5.如權利要求1所述的方法,其特征在于,由計算機在所述設計表面上移動所選的至少一個表單控件包括:在所述隱藏網格上拖曳所選的至少一個表單控件。
6.如權利要求1所述的方法,其特征在于,當隨著所選的至少一個表單控件在所述設計表面上被移動,所選的至少一個表單控件與至少一個非所選表單控件沖突時,由計算機將所述至少一個非所選表單控件從所選的至少一個表單控件移開包括:確定所選的至少一個表單控件水平地侵占所述至少一個非所選表單控件。
7.如權利要求6所述的方法,其特征在于,還包括: 當所述至少一個非所選表單控件位于水平地侵占所述至少一個非所選表單控件的至少一個所選表單控件的上半部分時,在所述設計表面上向上移動所述至少一個非所選表單控件; 當所述至少一個非所選表單控件位于水平地侵占所述至少一個非所選表單控件的至少一個所選表單控件的下半部分時,在所述設計表面上向下移動所述至少一個非所選表單控件;以及 當所述至少一個非所選表單控件與水平地侵占所述至少一個非所選表單控件的至少一個所選表單控件的大小相同時,在所述設計表面上向下移動所述至少一個非所選表單控件。
8.如權利要求7所述的方法,其特征在于,還包括: 當所述至少一個非所選表單控件位于水平地侵占所述至少一個非所選表單控件的至少一個所選表單控件的上半部分時,確定所述設計表面上缺少供向上移動的空間;以及 在所述設計表面上向下移動所述至少一個非所選表單控件。
9.如權利要求1所述的方法,其特征在于,當隨著所選的至少一個表單控件在所述設計表面上被移動,所選的至少一個表單控件與至少一個非所選表單控件沖突時,由計算機將所述至少一個非所選表單控件從所選的至少一個表單控件移開包括:確定所選的至少一個表單控件垂直地侵占所述至少一個非所選表單控件。
10.如權利要求9所述的方法,其特征在于,還包括在與所選的至少一個表單控件在所述設計表面上的垂直侵占方向相反的方向上移動至 少一個非所選表單控件。
【文檔編號】G06F3/0486GK103597436SQ201280027684
【公開日】2014年2月19日 申請日期:2012年6月1日 優先權日:2011年6月6日
【發明者】B·霍茲, S·I·雷瑟, J·曼德爾-伊亞伊亞, A·S·薩姆奈卡 申請人:微軟公司