TWI517020B - 判斷控制項狀態的方法 - Google Patents
判斷控制項狀態的方法 Download PDFInfo
- Publication number
- TWI517020B TWI517020B TW102146410A TW102146410A TWI517020B TW I517020 B TWI517020 B TW I517020B TW 102146410 A TW102146410 A TW 102146410A TW 102146410 A TW102146410 A TW 102146410A TW I517020 B TWI517020 B TW I517020B
- Authority
- TW
- Taiwan
- Prior art keywords
- state
- control item
- control
- item
- determiner
- Prior art date
Links
Description
本發明是有關於一種判斷控制項狀態的方法,且特別是有關於一種在介面資料或程式狀態改變時觸發控制項狀態判斷之判斷控制項狀態的方法。
豐富的介面元素被應用在微軟視窗作業系統(Microsoft Windows)的表單以及智慧移動終端設備的應用介面上。其中,大部分的介面元素被使用作為控制項(Control)。在操作的過程中,控制項的狀態常需被改變,以方便在介面上進行操作和使用。
最常見的控制項狀態改變是對功能表項(menu item)和工具欄按鈕(toolbar button)是否啟用的控制。在介面操作過程中,功能表項和工具欄按鈕是否啟用由多種因素决定,例如:是否具備許可權、使用場景以及某些業務邏輯需要、程式運行的內部邏輯等等。舉例來說,當企業資源規劃(Enterprise Resource Planning,ERP)單據未保存時,審核功能表項之控制項便不會啟用,使得用戶無法點擊。
傳統的控制項狀態控制方式是在控制項操作代碼中添加判斷邏輯和控制邏輯,並由控制項的操作事件觸發判斷。例如在保存按鈕點擊事件發生後,判斷單據狀態為已保存,可以進行審核操作,進而將審核功能表項設置為啟用。
因此,如何在减少控制項設計的複雜度的前提之下,更即時的更新控制項的狀態,亦成為當前相關領域亟需改進的目標。
因此,本發明之一態樣是在提供一種判斷控制項狀態的方法,用以在控制項之介面資料或程式狀態有改變時,觸發對應之控制項狀態判斷器進行控制項狀態之判斷。判斷控制項狀態的方法包含以下步驟:透過一電子裝置之一顯示元件,提供一應用介面。其中,應用介面包含至少一控制項,且控制項對應至少一介面資料或程式狀態。持續監控介面資料或程式狀態是否改變。在監控到介面資料或程式狀態有改變時,觸發控制項對應之至少一控制項狀態判斷器,藉此使控制項狀態判斷器判斷控制項狀態。根據控制項狀態判斷器之一判斷結果,更新顯示元件上所顯示之控制項之狀態。
應用本發明具有下列優點:使用狀態判斷器定義控制項狀態判斷的邏輯,而不是分別在各個控制項的操作邏輯中控制,使系統更易於維
護和擴展。
一個控制項可以對應多個狀態判斷器,一個狀態判斷器也可應用於多個控制項,每個狀態判斷器的職責單一、邏輯互相分離,易於重複使用。
可以使用配置定義控制項結構,使用脚本定義控制項狀態的判斷邏輯,降低了開發門檻,提升了開發效率。
不僅可以使用脚本,對於複雜業務邏輯,可編寫代碼定義控制項狀態判斷器,擴大了本方法的適用範圍,提高了可擴展性和靈活性。在運行時由後台流程統一管理控制項狀態判斷器,不會造成介面回應遲緩,使用戶操作體驗更順暢。
100‧‧‧判斷控制項狀態的方法
110-150‧‧‧步驟
第1圖為依照本發明一實施例的一種判斷控制項狀態的方法之流程圖。
以下將以圖式及詳細說明本發明之精神,任何所屬技術領域中具有通常知識者在瞭解本發明之較佳實施例後,當可由本發明所教示之技術加以改變及修飾,其並不脫離本發明之精神與範圍。
請參照第1圖,其係依照本發明一實施例的一種判斷控制項狀態的方法之流程圖。在判斷控制項狀態的方法
中,在介面資料或程式狀態有改變時,觸發對應之控制項狀態判斷器進行控制項狀態之判斷。判斷控制項狀態的方法可經由電腦程式來進行實作。電腦程式可儲存於一電腦可讀取記錄媒體中,而使電腦讀取此記錄媒體後執行此判斷控制項狀態的方法。電腦可讀取記錄媒體可為唯讀記憶體、快閃記憶體、軟碟、硬碟、光碟、隨身碟、磁帶、可由網路存取之資料庫或熟悉此技藝者可輕易思及具有相同功能之電腦可讀取記錄媒體。
判斷控制項狀態的方法100包含以下步驟:在步驟110中,透過一電子裝置之一顯示元件,提供一應用介面。其中,應用介面包含至少一控制項,且控制項對應至少一介面資料或程式狀態。電子裝置可為電腦、伺服器、智慧移動終端設備或其他類型具有顯示元件之電子裝置。應用介面可為作業系統之表單上之功能表項(menu item)、工具欄按鈕(toolbar button)或其他類型具有控制項之應用介面。
在步驟120中,持續監控控制項對應之介面資料或程式狀態是否改變。
在監控到介面資料或程式狀態有改變時,觸發控制項對應之至少一控制項狀態判斷器(步驟130),藉此使對應之控制項狀態判斷器判斷控制項之狀態(步驟140)。
在步驟150中,根據控制項狀態判斷器之一判斷結果,更新顯示元件上所顯示之控制項之狀態。控制項狀態為控制項之啟用狀態或可見狀態。
在本發明之一些實施例中,控制項可以對應多個不同之控制項狀態判斷器。因此,觸發控制項對應之控制項狀態判斷器(步驟130)之一實施例可包含以下步驟:在控制項對應之控制項狀態判斷器之數量為多個時,根據控制項狀態判斷器之一遍歷順序,依序觸發各個控制項狀態判斷器進行判斷。在控制項狀態判斷器的其中之一判斷控制項為不啟用或不可見時,即刻更新顯示元件上所顯示之控制項之啟用狀態或可見狀態並停止觸發其餘控制項狀態判斷器。如此一來,可在遍歷順序中優先順序較高之控制項狀態判斷器判斷不可啟用或不可見時,即停止觸發其餘控制項狀態判斷器,應而可節省電子裝置之運算能力。
在本發明之一些實施例中,控制項對應之至少一控制項狀態判斷器可選自數個控制項狀態判斷器。控制項狀態判斷器中定義了在介面資料或程式狀態滿足一條件時,更新控制項狀態的邏輯。控制項狀態判斷器按照類別可分為許可權狀態判斷器、脚本狀態判斷器或其他類型之控制項狀態判斷器。不同控制項狀態判斷器之判斷邏輯互相分離。其中,控制項對應之數個控制項狀態判斷器包含一許可權狀態判斷器時,可將許可權狀態判斷器設為遍歷順序中之最高優先順序。也就是說,一旦許可權狀態判斷器判斷控制項為不啟用或不可見時,即刻更新顯示元件上所顯示之控制項之啟用狀態或可見狀態並停止觸發其餘控制項狀態判斷器。
在本發明之一些實施例中,可在透過顯示元件,提
供應用介面之控制項(步驟110)時,將控制項對應之控制項狀態判斷器載入電子裝置之一記憶體。在有多個控制項對應到相同之控制項狀態判斷器時,可用電子裝置之記憶體中所載入的同一控制項狀態判斷器,負責多個控制項之狀態判斷,而不是創建多份狀態判斷器,因而可節省載入所需之記憶體空間,避免多份相同狀態判斷器帶來的運算能力浪費。
在本發明之一些實施例中,判斷控制項狀態的方法100更可包含以下步驟:於應用介面創建控制項。自數個控制項狀態判斷器選擇控制項對應之控制項狀態判斷器。將控制項與其對應之控制項狀態判斷器綁定。於是,在綁定後,即可繼續執行步驟110至步驟150。
在本發明之另一些實施例中,判斷控制項狀態的方法100更可包含以下步驟:在一配置中定義控制項的結構。根據控制項結構中之一控制項對應的一脚本內容,自動創建一脚本類型的控制項狀態判斷器,並將該控制項狀態判斷器與至少一控制項綁定,此一脚本內容即控制項狀態判斷器之判斷控制項狀態之邏輯。換言之,可將控制項狀態判斷器對應之脚本內容,嵌入至控制項結構中,作為控制項狀態判斷器綁定之依據。其中,可使用可擴展標記語言(Extensible Markup Language,XML)或其他結構化之程式語言,定義控制項之控制項結構。
在本發明之又一些實施例中,電子裝置藉由後臺流程管理控制項狀態判斷器,且電子裝置藉由主流程於顯示
元件,提供應用介面。如此一來,電子裝置的使用者不會感受到顯示元件上應用介面之操作有任何的遲緩,同時亦可使得控制項狀態改變更即時。
此外,控制項狀態判斷器之判斷邏輯獨立於控制項操作邏輯之外。如此一來,在控制項狀態判斷器執行判斷的同時,不會影響到控制項之操作。
應用本發明具有下列優點。
使用狀態判斷器定義控制項狀態判斷的邏輯,而不是分別在各個控制項的操作邏輯中控制,使系統更易於維護和擴展。
一個控制項可以對應多個控制項狀態判斷器,一個狀態判斷器也可應用於多個控制項,每個狀態判斷器的職責單一、邏輯互相分離,易於複用。
可以使用配置定義控制項結構,使用脚本定義控制項狀態的判斷邏輯,降低了開發門檻,提升了開發效率。
不僅可以使用脚本,對於複雜業務邏輯,可編寫代碼定義控制項狀態判斷器,擴大了本裝置的適用範圍,提高了可擴展性和靈活性。
在運行時由後臺流程統一管理控制項狀態判斷器,不會造成介面回應遲緩,使用戶操作體驗更順暢。
雖然本發明已以實施方式揭露如上,然其並非用以限定本發明任何熟習此技藝者,在不脫離本發明之精神和範圍內,當可作各種之更動與潤飾。因此,本發明之保護範圍當視後附之申請專利範圍所界定者為準。
100‧‧‧判斷控制項狀態的方法
110-150‧‧‧步驟
Claims (10)
- 一種判斷控制項狀態的方法,包含:透過一電子裝置之一顯示元件,該顯示元件提供一應用介面,該應用介面包含至少一控制項,且該至少一控制項對應至少一介面資料或程式狀態;持續監控該至少一介面資料或程式狀態是否改變;在監控到該至少一介面資料或程式狀態有改變時,觸發該至少一控制項對應之至少一控制項狀態判斷器,藉此使該至少一控制項狀態判斷器判斷該至少一控制項之狀態;以及根據該至少一控制項狀態判斷器之一判斷結果,更新該顯示元件上所顯示之該至少一狀態。
- 如請求項第1項所述之判斷控制項狀態的方法,其中觸發該至少一控制項對應之該至少一控制項狀態判斷器之步驟包含:在該至少一控制項對應之該至少一控制項狀態判斷器之數量為複數個時,根據該些控制項狀態判斷器之一遍歷順序(traversal sequence),依序觸發該些控制項狀態判斷器進行判斷;以及在該些控制項狀態判斷器的其中之一判斷該至少一控制項之該狀態為一特定狀態時,更新該顯示元件上所顯示之該至少一控制項之狀態並停止觸發其餘控制項狀態判斷器。
- 如請求項第2項所述之判斷控制項狀態的方法,其中該特定狀態為不啟用或不可見。
- 如請求項第2項所述之判斷控制項狀態的方法,其中該一遍歷順序指按照該些控制項狀態判斷器的優先順序從高到低。
- 如請求項第1項所述之判斷控制項狀態的方法,其中該至少一控制項狀態判斷器之判斷邏輯獨立於控制項操作邏輯之外。
- 如請求項第1項所述之判斷控制項狀態的方法,其中該至少一控制項狀態為控制項之啟用狀態或可見狀態。
- 如請求項第1項所述之判斷控制項狀態的方法,更包含:於該應用介面創建該至少一控制項;自複數個控制項狀態判斷器選擇該至少一控制項對應之該至少一控制項狀態判斷器;以及將該至少一控制項與該至少一控制項狀態判斷器綁定。
- 如請求項第1項所述之判斷控制項狀態的方法,更包含:在一配置中定義一控制項結構;根據該控制項結構中之至少一控制項對應的一脚本內容,自動創建一控制項狀態判斷器;以及將該一控制項狀態判斷器與該至少一控制項綁定。
- 如請求項第1項所述之判斷控制項狀態的方法,其 中該電子裝置藉由一後臺流程管理該至少一控制項狀態判斷器,且該電子裝置藉由主流程於該顯示元件,提供該應用介面。
- 如請求項第1項所述之判斷控制項狀態的方法,其中該至少一控制項為一功能表項(menu item)或一工具欄按鈕(toolbar button)。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210593531.7A CN103914288B (zh) | 2012-12-31 | 2012-12-31 | 判断控件状态的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201426494A TW201426494A (zh) | 2014-07-01 |
TWI517020B true TWI517020B (zh) | 2016-01-11 |
Family
ID=51039995
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW102146410A TWI517020B (zh) | 2012-12-31 | 2013-12-16 | 判斷控制項狀態的方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN103914288B (zh) |
TW (1) | TWI517020B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106897081A (zh) * | 2015-12-18 | 2017-06-27 | 中兴通讯股份有限公司 | 应用的引导方法及装置、终端 |
CN107515821B (zh) * | 2016-06-17 | 2021-08-31 | 百度在线网络技术(北京)有限公司 | 控件测试方法和装置 |
CN106484409A (zh) * | 2016-09-28 | 2017-03-08 | 乐视控股(北京)有限公司 | 一种页面控件管理方法及装置 |
CN108228207B (zh) * | 2016-12-22 | 2021-06-04 | 珠海金山办公软件有限公司 | 控件状态更新方法及装置 |
CN107092507B (zh) * | 2017-04-18 | 2020-12-18 | 杭州云永网络科技有限公司 | 应用程序的换肤方法、装置及系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1538627A1 (en) * | 2003-12-04 | 2005-06-08 | Deutsche Thomson-Brandt Gmbh | Method for generating an interactive menu |
CN100507842C (zh) * | 2007-03-23 | 2009-07-01 | 北京中星微电子有限公司 | 控制界面上控件之间关系的方法、装置及控件显示系统 |
US20090251311A1 (en) * | 2008-04-06 | 2009-10-08 | Smith Patrick W | Systems And Methods For Cooperative Stimulus Control |
-
2012
- 2012-12-31 CN CN201210593531.7A patent/CN103914288B/zh active Active
-
2013
- 2013-12-16 TW TW102146410A patent/TWI517020B/zh active
Also Published As
Publication number | Publication date |
---|---|
TW201426494A (zh) | 2014-07-01 |
CN103914288A (zh) | 2014-07-09 |
CN103914288B (zh) | 2017-06-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI517020B (zh) | 判斷控制項狀態的方法 | |
US10067790B2 (en) | Method and apparatus for displaying information to a user and the user optimizing running of the processes | |
US9454351B2 (en) | Continuous deployment system for software development | |
WO2017101663A1 (zh) | 应用的引导方法及装置、终端 | |
US20080209390A1 (en) | Pluggable model elements | |
US9286142B2 (en) | Methods and systems for supporting a rendering API using a runtime environment | |
US20130132963A1 (en) | Superseding of Recovery Actions Based on Aggregation of Requests for Automated Sequencing and Cancellation | |
US9558014B2 (en) | System, method and apparatus for transparently enabling software applications with adaptive user interfaces | |
US9268875B2 (en) | Extensible content focus mode | |
JP2013218361A (ja) | 情報処理装置、その方法及びプログラム | |
US20130159689A1 (en) | Method and apparatus for initializing embedded device | |
US7950014B2 (en) | Detecting the ready state of a user interface element | |
EP1924927A4 (en) | DECLARATED DEFINED CONTROL OPTIONS | |
US20130145382A1 (en) | Computing device and function module management method | |
US8949782B2 (en) | Enhanced timelines in application development environments | |
US20150324209A1 (en) | Operating System Switching Method and Dual-Operating System Electronic Device Using the Same | |
JP2017045217A (ja) | ログ管理装置、ログ管理方法、およびログ管理プログラム | |
WO2018086479A1 (zh) | 触摸屏工作模式切换实现方法、触摸屏装置和头戴式设备 | |
JP2012123726A (ja) | シミュレーション装置及びシミュレーションプログラム | |
US20130067474A1 (en) | Language independent application object | |
JP7023807B2 (ja) | 管理システム、情報処理装置、設定管理方法、およびプログラム | |
US9268560B2 (en) | Displaying dependent files for computer code in a tabbed-application user interface | |
US20150149752A1 (en) | Server and control method thereof | |
US10691421B2 (en) | Embedded designer framework and embedded designer implementation | |
US20100088622A1 (en) | Method of Relocating and Displaying Notification Icon on a Computer System and Related Device |