JP2009037531A - 情報処理装置及びgui画面更新方法 - Google Patents
情報処理装置及びgui画面更新方法 Download PDFInfo
- Publication number
- JP2009037531A JP2009037531A JP2007203103A JP2007203103A JP2009037531A JP 2009037531 A JP2009037531 A JP 2009037531A JP 2007203103 A JP2007203103 A JP 2007203103A JP 2007203103 A JP2007203103 A JP 2007203103A JP 2009037531 A JP2009037531 A JP 2009037531A
- Authority
- JP
- Japan
- Prior art keywords
- input
- dependency
- gui component
- information
- output gui
- 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.)
- Pending
Links
Images
Landscapes
- User Interface Of Digital Computer (AREA)
- Stored Programmes (AREA)
Abstract
【課題】プログラムを変更、又は拡張することなく、設定ファイルを書き換えるだけで、入出力GUI部品間の依存関係を含む詳細なアプリケーションのカスタマイズを可能とすることを目的とする。
【解決手段】依存属性定義ファイルを読み込み、入出力GUI部品間の依存関係情報を生成する依存属性定義ファイル解析手段と、入出力GUI部品に入力された値が、入出力GUI部品に係る依存関係情報に記述されている値制約情報の範囲内にあるか否かを判定し、値が値制約情報の範囲内にないと判定した場合、入出力GUI部品の表示属性値と、他の入出力GUI部品の表示属性値と、レイアウト情報と、を変更する依存関係解決手段と、依存関係解決手段において変更された、入出力GUI部品の表示属性値と、レイアウト情報と、に基づいて、GUI画面を更新する表示管理手段と、を有することによって課題を解決する。
【選択図】図2
【解決手段】依存属性定義ファイルを読み込み、入出力GUI部品間の依存関係情報を生成する依存属性定義ファイル解析手段と、入出力GUI部品に入力された値が、入出力GUI部品に係る依存関係情報に記述されている値制約情報の範囲内にあるか否かを判定し、値が値制約情報の範囲内にないと判定した場合、入出力GUI部品の表示属性値と、他の入出力GUI部品の表示属性値と、レイアウト情報と、を変更する依存関係解決手段と、依存関係解決手段において変更された、入出力GUI部品の表示属性値と、レイアウト情報と、に基づいて、GUI画面を更新する表示管理手段と、を有することによって課題を解決する。
【選択図】図2
Description
本発明は、情報処理装置及びGUI画面更新方法に関する。
近年、ソフトウェア開発においては、ソフトの部品化(コンポーネント化)による機能単位での開発のための取り組みがなされ、部品単位でのソフトウェア開発によるシステムの保守性向上や、部品の再利用による開発生産性向上が目指されている。
その中でもGUI画面においては、ユーザの運用に依存する部分が大きく、仕様変更の細かい分野にわたるユーザの要求に対し、ソフトウェアベンダーはそれぞれ個別対応する必要があった。
これに対し、GUIコンポーネント開発においては、ウィンドウ、テキストフィールド、ボタン等の入出力GUI部品配置情報等の画面デザインと、入出力GUI部品の表示や制御を行うプログラム部分とを分離する。そして、プログラム部分の変更なしに、独立した設定ファイルの変更等によって、GUI画面の表示を効率よくカスタマイズするための技術が提案されている。
例えば、JSF(Java(登録商標) Server Faces)では、Webページ遷移のための記述を外部設定ファイルに記述することに成功している。これにより、例えば、表示内容を十分了解済みの画面に関しては、画面遷移過程において表示省略させること等の実現が可能であり、ユーザレベルにおいて画面遷移制御を容易にカスタマイズ定義できるようになっている。
一方、入出力GUI部品の依存関係が、タブコントロール間にまたがったときの関連性を明示する技術として、特許文献1がある。特許文献1の技術では、カレントタブコントロール内部に存在する入出力GUI部品に入力された値が、カレントタブコントロールと兄弟関係にあるタブコントロール内部の入出力GUI部品値と依存関係を持つ場合を前提としている。特許文献1の技術では、依存関係に基づき、入出力GUI部品値として許容されない値が発見された場合、兄弟関係にあるタブコントロールのキャプション文字列隣に存在するアイコンイメージ即ち、ビットマップを変更する。以上の制御により、依存関係のある入出力GUI部品が、入出力GUI部品構成上、同時期に表示不可能な場合においても、依存関係のある入出力GUI部品の存在告知を補助している。
しかしながら、JSFでは、画面遷移関係を外部ファイルに定義することに成功しているが、画面構成要素である個々の入出力GUI部品に関する定義には触れていない。例えば、入出力GUI部品間において一方の入力値が他方入力値を制限するようなレベルの関係定義ができない。
一方、特許文献1記載の技術では、JSFの当該課題を解決している。ところが、この技術では、入出力GUI部品間の依存関係がプログラム内部にハードコードされているため、ユーザレベルにおける依存関係の定義が困難であった。また、入出力GUI部品間依存関係の前提として、タブコントロール間における場合しか想定していないため、例えば、モーダルダイアログ間に同様関係があった場合の解決方法は提示されていない。
本発明はこのような問題点に鑑みなされたもので、プログラムを変更、又は拡張することなく、設定ファイルを書き換えるだけで、入出力GUI部品間の依存関係を含む詳細なアプリケーションのカスタマイズを可能とすることを目的とする。
そこで、本発明は、入出力GUI部品へ設定することができる依存属性が記述されている依存属性定義ファイルを読み込み、入出力GUI部品間の依存関係情報を生成する依存属性定義ファイル解析手段と、入出力GUI部品に入力された値が、前記入出力GUI部品に係る前記依存関係情報に記述されている値制約情報の範囲内にあるか否かを判定し、前記値が前記値制約情報の範囲内にないと判定した場合、前記入出力GUI部品の表示属性値と、前記依存関係情報に記述されている前記入出力GUI部品に関係する他の入出力GUI部品の表示属性値と、前記入出力GUI部品を含むGUI画面のレイアウトに関する情報が記述されているレイアウト情報と、を変更する依存関係解決手段と、前記依存関係解決手段において変更された、入出力GUI部品の表示属性値と、前記レイアウト情報と、に基づいて、前記GUI画面を更新する表示管理手段と、を有することを特徴とする。
また、本発明は、GUI画面更新方法及びプログラムとしてもよい。
本発明によれば、プログラムを変更、又は拡張することなく、設定ファイルを書き換えるだけで、入出力GUI部品間の依存関係を含む詳細なアプリケーションのカスタマイズを可能とすることができる。
以下、本発明の実施形態について図面に基づいて説明する。
図1は、情報処理装置(又はコンピュータ)のハードウェア構成の一例を示す図である。図1に示されるように情報処理装置は、情報処理装置全体を制御するCPU11を有する。CPU11が、記憶装置13に記憶されている、プログラムに基づき処理を行うことによって、後述する各機能、又はフローチャートを実現する。
CPU11には、バス10を介して、入力装置12、記憶装置13及び表示装置14が接続されている。記憶装置13は、例えば、ROM、RAM、ハードディスク装置等からなり、前述したプログラム以外に、プログラムに基づく処理で用いられる情報や、データ(例えば、ファイル、テーブル)等を記憶する。表示装置14は、GUI画面等を表示するディスプレイ等である。入力装置12は、情報処理装置にデータを入力するキーボード及び/又はマウス等で構成される。
図2は、情報処理装置の機能構成等の一例を示す図である。
依存属性定義ファイル101は、入出力GUI部品104へ設定することが可能な依存属性が、任意の数、記述されている。依存属性とは、例えば、初期入力上下限値(値制約情報)や、入出力GUI部品間の依存関係を設定する連動式等である。なお、依存属性定義ファイル101の一例は、後述する図5に示す。また、連動式の一例は、後述する図6に示す。
依存属性定義ファイル101は、入出力GUI部品104へ設定することが可能な依存属性が、任意の数、記述されている。依存属性とは、例えば、初期入力上下限値(値制約情報)や、入出力GUI部品間の依存関係を設定する連動式等である。なお、依存属性定義ファイル101の一例は、後述する図5に示す。また、連動式の一例は、後述する図6に示す。
依存属性定義ファイル解釈部102は、依存属性定義ファイル101を読み込み、依存属性定義ファイル101を解釈(又は解析)し、入出力GUI部品間の依存関係情報103を生成する(依存属性定義ファイル解析)。
依存関係情報103は、依存属性定義ファイル解釈部102によって生成される。依存関係情報103には、依存属性情報と、入出力GUI部品間の依存関係を示す依存関係テーブルと、が含まれる。なお、依存属性情報の一例は、後述する図7に示す。また、依存関係テーブルの一例は、後述する図8に示す。
依存関係情報103は、依存属性定義ファイル解釈部102によって生成される。依存関係情報103には、依存属性情報と、入出力GUI部品間の依存関係を示す依存関係テーブルと、が含まれる。なお、依存属性情報の一例は、後述する図7に示す。また、依存関係テーブルの一例は、後述する図8に示す。
入出力GUI部品104は、プログラムレベルで概観等、制御可能な入出力GUI部品の実体である。依存属性定義ファイル解釈部102、又は依存関係解決部106は、入出力GUI部品104に、依存属性定義ファイル101で定義されている依存関係情報や、入力上下限値等を設定することができる。また、入出力GUI部品104には、入出力GUI部品間の相互関係も定義(又は設定)されている。相互関係とは、例えば入出力GUI部品間の親子関係等である。
表示管理部105は、入出力GUI部品104に設定されている属性値や値を評価し、入出力GUI部品の表示を変更する。また、表示管理部105は、ウィンドウレイアウト情報107の設定値を評価し、ウィンドウ毎の表示位置を変更する。
依存関係解決部106は、入出力GUI部品104からのフォーカスアウト等の入力の確定を検知して、依存関係情報103を基に、フォーカスアウトされた入出力GUI部品と依存関係を持つ入出力GUI部品の入力上下限値等を変更する。また、依存関係解決部106は、依存関係を持つ入出力GUI部品間のウィンドウ関係を分析し、ウィンドウレイアウト情報107を作成、又は変更する。
ウィンドウレイアウト情報107は、ウィンドウ間の相互位置関係の決定のために必要な情報要素で構成される。情報要素の一例としては、例えば、レイアウト方法、レイアウト対象ウィンドウID(識別情報)等の情報である。
図3は、画面表示要求がなされたときの動作を説明するためのフローチャートである。
まず、画面表示要求が発行されると、ステップS202において、依存属性定義ファイル解釈部102は、依存属性定義ファイル101を読み込み、依存属性定義ファイル101に基づき、依存関係情報103を生成する。なお、ステップS202における依存関係情報の生成処理に関しては、後述する図4等を用いて詳細に説明する。
まず、画面表示要求が発行されると、ステップS202において、依存属性定義ファイル解釈部102は、依存属性定義ファイル101を読み込み、依存属性定義ファイル101に基づき、依存関係情報103を生成する。なお、ステップS202における依存関係情報の生成処理に関しては、後述する図4等を用いて詳細に説明する。
続いて、ステップS203において、依存関係解決部106は、依存関係情報103に基づき、入出力GUI部品104を初期化する。なお、ステップS203の入出力GUI部品の初期化処理に関しては、後述する図9等を用いて詳細に説明する。
ステップS204において、依存関係解決部106及び表示管理部105は、GUI画面表示の更新を行い、図3に示す処理を終了する。なお、ステップS204のGUI画面の画面更新処理に関しては、後述する図13、図14等を用いて詳細に説明する。
図4は、図3の依存関係情報の生成処理(ステップS202)の、詳細を説明するためのフローチャートである。
依存関係情報の生成処理が呼び出されると図4に示す処理が開始され、ステップS302において、依存属性定義ファイル解釈部102は、依存属性定義ファイル101を読み込む。ここで、上述したように、依存属性定義ファイル101には1つ以上の依存属性が記述されている。
依存関係情報の生成処理が呼び出されると図4に示す処理が開始され、ステップS302において、依存属性定義ファイル解釈部102は、依存属性定義ファイル101を読み込む。ここで、上述したように、依存属性定義ファイル101には1つ以上の依存属性が記述されている。
ステップS303において、依存属性定義ファイル解釈部102は、ステップS302で読み込んだ依存属性定義ファイル101の依存属性(依存属性エントリ)を一つずつ順に以降の処理対象とする。全ての依存属性に関してこの処理が終了した場合、依存属性定義ファイル解釈部102は、図4に示す処理を終了する。
ステップS304において、依存属性定義ファイル解釈部102は、依存属性のID値を取得する。
ステップS305において、依存属性定義ファイル解釈部102は、依存属性の初期入力上限値を取得する。
ステップS305において、依存属性定義ファイル解釈部102は、依存属性の初期入力上限値を取得する。
ステップS306において、依存属性定義ファイル解釈部102は、依存属性の初期入力下限値を取得する。
ステップS307において、依存属性定義ファイル解釈部102は、依存属性の初期入力デフォルト値を取得する。
ステップS307において、依存属性定義ファイル解釈部102は、依存属性の初期入力デフォルト値を取得する。
ステップS308において、依存属性定義ファイル解釈部102は、依存属性の連動式を取得する。連動式には、設定された入出力GUI部品の属性値を更新する条件式が記述されている。条件式を記述することで、ユーザは、例えば、入出力GUI部品に設定された入力上下限値を変更することができる。また、ユーザが条件式にIDを含めることで、例えば、依存属性定義ファイル解釈部102、又は依存関係解決部106は、対象の依存属性情報が設定された入出力GUI部品の値を参照することができる。
ステップS309において、依存属性定義ファイル解釈部102は、ステップS304からステップS308までで取得した依存属性が設定された依存属性情報を生成し、リストへ追加する。
ステップS310において、依存属性定義ファイル解釈部102は、ステップS308で取得した連動式を解釈して、依存関係を持つ入出力GUI部品のIDを連動式から特定する。ここで、依存関係とは、依存元に変更があれば依存先に影響が出る、ということである。ここでは、依存元はステップS310で特定されるIDを持つ入出力GUI部品であり、依存先はステップS304で取得されるIDを持つ入出力GUI部品である。
ステップS311において、依存属性定義ファイル解釈部102は、依存元IDがあるか否かを判定する。つまり、依存属性定義ファイル解釈部102は、ステップS310で特定した依存元のID(依存元ID)全てに対して以下に示す処理を実行する。依存属性定義ファイル解釈部102は、依存元IDがあると判定すると、ステップS312に進み、依存元IDがないと判定すると、ステップS315に進む。
ステップS312において、依存属性定義ファイル解釈部102は、依存関係テーブルの依存元として既に依存元IDが登録されているかをどうかの判定を行う。依存属性定義ファイル解釈部102は、登録されていると判定した場合、ステップS313に進み、登録されていないと判定した場合、ステップS314へ進む。
ステップS313において、依存属性定義ファイル解釈部102は、ステップS312の結果、登録されていると判定したエントリの依存先として、ステップS304で取得したIDを依存先IDとして依存関係テーブルに追加する。
一方、ステップS314において、依存属性定義ファイル解釈部102は、依存関係テーブルにエントリを追加し、依存元として依存元ID、依存先としてステップS304で取得したIDを追加する。
また、ステップS315において、依存属性定義ファイル解釈部102は、ステップS302で読み込んだ依存属性定義ファイル101の依存属性エントリのうち、次のエントリを読み込み、そのエントリをステップS303における処理対象とする。
また、ステップS315において、依存属性定義ファイル解釈部102は、ステップS302で読み込んだ依存属性定義ファイル101の依存属性エントリのうち、次のエントリを読み込み、そのエントリをステップS303における処理対象とする。
図5は、依存属性定義ファイル101の一例を示す図である。
420、430は、依存属性であり、入出力GUI部品1つに対し1つの依存属性が設定される。
420、430は、依存属性であり、入出力GUI部品1つに対し1つの依存属性が設定される。
421、431は、依存属性を識別するためのIDである。
422、432は、それぞれ依存属性420、430が設定された入出力GUI部品の初期入力上限値である。
423、433は、それぞれ依存属性420、430が設定された入出力GUI部品の初期入力下限値である。
422、432は、それぞれ依存属性420、430が設定された入出力GUI部品の初期入力上限値である。
423、433は、それぞれ依存属性420、430が設定された入出力GUI部品の初期入力下限値である。
424、434は、それぞれ依存属性420、430が設定された入出力GUI部品の初期デフォルト値である。
425、435は、それぞれ依存属性420、430が設定された入出力GUI部品の連動式である。連動式435はIDがID_Aである依存属性、又は依存属性情報に関連付けられた入出力GUI部品の値が2000より大きいなら依存属性430が関連付けられた入出力GUI部品の入力最大値を1とし、それ以外は入力最大値を200とすることを示している。
425、435は、それぞれ依存属性420、430が設定された入出力GUI部品の連動式である。連動式435はIDがID_Aである依存属性、又は依存属性情報に関連付けられた入出力GUI部品の値が2000より大きいなら依存属性430が関連付けられた入出力GUI部品の入力最大値を1とし、それ以外は入力最大値を200とすることを示している。
図6は、連動式の一例を示す図である。
510は、図6で示される連動式の関数名である。関数名によって、入出力GUI部品の属性値の内、どの値が変更されるかが表される。
520は、連動式の式である。連動式は、関数名510と、式520と、で構成される。
510は、図6で示される連動式の関数名である。関数名によって、入出力GUI部品の属性値の内、どの値が変更されるかが表される。
520は、連動式の式である。連動式は、関数名510と、式520と、で構成される。
521は、ステップS310で特定される依存元の入出力GUI部品のIDである。
関数名には例えば、式の評価結果を入出力GUI部品の入力上限値とする「max」や、式の評価結果を入出力GUI部品の入力下限値をとする「min」等がある。図6では、関数名510が「max」であるため、式520の評価結果を、設定された入出力GUI部品(521で示されるidの入出力GUI部品)の入力上限値に変更することを示している。
関数名には例えば、式の評価結果を入出力GUI部品の入力上限値とする「max」や、式の評価結果を入出力GUI部品の入力下限値をとする「min」等がある。図6では、関数名510が「max」であるため、式520の評価結果を、設定された入出力GUI部品(521で示されるidの入出力GUI部品)の入力上限値に変更することを示している。
また、式には、演算子として、「+」「*」等の算術演算子や、「=」「>」等の関係演算子、「&」「|」等の論理演算子、三項演算子のような条件演算子が用いられ、依存属性定義ファイル解釈部102等によって解釈される。また、式には、オペランドとして、数値リテラルや、依存元の入出力GUI部品のID521が用いられ、依存属性定義ファイル解釈部102等によって解釈される。
図7は、依存属性情報の一例を示す図である。
610は、依存属性定義ファイル解釈部102が、依存属性420を、ステップS304からステップS309まで処理した結果、生成した依存属性情報である。
610は、依存属性定義ファイル解釈部102が、依存属性420を、ステップS304からステップS309まで処理した結果、生成した依存属性情報である。
620は、依存属性定義ファイル解釈部102が、依存属性430を、ステップS304からステップS309まで処理した結果、生成した依存属性情報である。
ここで、図5に示す依存属性定義ファイル101から図7に示す依存属性情報を生成する処理を、図4のフローチャートに沿って説明する。但し、依存属性情報の生成に関わらないため、ステップS310からステップS315までの処理については説明を省略する。
ここで、図5に示す依存属性定義ファイル101から図7に示す依存属性情報を生成する処理を、図4のフローチャートに沿って説明する。但し、依存属性情報の生成に関わらないため、ステップS310からステップS315までの処理については説明を省略する。
ステップS302において、依存属性定義ファイル解釈部102は、図5に示す依存属性定義ファイル410を読み込む。
ステップS303において、依存属性定義ファイル解釈部102は、処理対象を依存属性420若しくは依存属性430であるとして、ステップS304からステップS315までの処理を繰り返す。
ステップS303において、依存属性定義ファイル解釈部102は、処理対象を依存属性420若しくは依存属性430であるとして、ステップS304からステップS315までの処理を繰り返す。
まず、依存属性定義ファイル解釈部102は、処理対象を依存属性420であるとして、ステップS304からステップS308までの処理で、ID421、初期入力上限値422、初期入力下限値423、初期入力デフォルト値424、連動式425を取得する。
続いて、依存属性定義ファイル解釈部102は、ステップS309において、依存属性420に関してステップS404からステップS408までの処理で取得した各情報(値)を611〜615として含む、依存属性情報610を生成し、リストに追加する。同様に、依存属性定義ファイル解釈部102は、依存属性430を処理対象とし、ステップS304からステップS308までの処理で取得した各情報(値)を621〜625として含む、依存属性情報620を生成し、リストに追加する。
続いて、依存属性定義ファイル解釈部102は、ステップS309において、依存属性420に関してステップS404からステップS408までの処理で取得した各情報(値)を611〜615として含む、依存属性情報610を生成し、リストに追加する。同様に、依存属性定義ファイル解釈部102は、依存属性430を処理対象とし、ステップS304からステップS308までの処理で取得した各情報(値)を621〜625として含む、依存属性情報620を生成し、リストに追加する。
図8は、依存関係テーブルの一例を示す図である。
710は、IDがID_Aである入出力GUI部品に変更があれば、IDがID_Bである入出力GUI部品に影響があるということを表している。つまり、依存関係テーブルには、入出力GUI部品間(より具体的にはIDがID_Aである入出力GUI部品と、IDがID_Bである入出力GUI部品と)の依存関係に関する情報が設定(又は記憶)されている。
710は、IDがID_Aである入出力GUI部品に変更があれば、IDがID_Bである入出力GUI部品に影響があるということを表している。つまり、依存関係テーブルには、入出力GUI部品間(より具体的にはIDがID_Aである入出力GUI部品と、IDがID_Bである入出力GUI部品と)の依存関係に関する情報が設定(又は記憶)されている。
ここで、図5に示す依存属性定義ファイル101から図8に示す依存関係テーブルを生成する処理を、図4のフローチャートに沿って説明する。但し、ステップS304からステップS309までの処理は、上述した図7における解説と同様であるため、説明を省略する。
ステップS302において、依存属性定義ファイル解釈部102は、図5に示す依存属性定義ファイル410を読み込む。
ステップS303において、依存属性定義ファイル解釈部102は、処理対象を依存属性420若しくは依存属性430であるとして、ステップS304からステップS315までの処理を繰り返す。
ステップS303において、依存属性定義ファイル解釈部102は、処理対象を依存属性420若しくは依存属性430であるとして、ステップS304からステップS315までの処理を繰り返す。
まず、依存属性定義ファイル解釈部102は、処理対象を依存属性420であるとして、ステップS310で連動式425から依存元IDを特定する。連動式425では依存元IDが指定されていないため、依存属性定義ファイル解釈部102は、ステップS311からステップS314までの処理を行わず、ステップS303に戻る。
次に、依存属性定義ファイル解釈部102は、処理対象を依存属性430であるとして、ステップS310で連動式435から依存元ID521を特定する。
ステップS311において、依存属性定義ファイル解釈部102は、依存元IDがID_Aであるとして、以下の処理を実行する。
ステップS311において、依存属性定義ファイル解釈部102は、依存元IDがID_Aであるとして、以下の処理を実行する。
ステップS312において、依存属性定義ファイル解釈部102は、依存関係テーブルの依存元としてID_Aが登録されていない場合、ステップS314へ進む。
ステップS314において、依存属性定義ファイル解釈部102は、依存関係テーブルのエントリを追加し、依存元として依存元IDであるID_Aを設定する、また依存先として依存先IDにID_Bを追加する。
ステップS314において、依存属性定義ファイル解釈部102は、依存関係テーブルのエントリを追加し、依存元として依存元IDであるID_Aを設定する、また依存先として依存先IDにID_Bを追加する。
図9は、図3のフローチャートに示される入出力GUI部品初期化処理(ステップS103)の、詳細な処理を説明するためのフローチャートである。
入出力GUI部品の初期化処理が呼び出されると、ステップS802において、依存属性定義ファイル解釈部102は、入出力GUI部品104を読み込む。
入出力GUI部品の初期化処理が呼び出されると、ステップS802において、依存属性定義ファイル解釈部102は、入出力GUI部品104を読み込む。
ステップS803において、依存属性定義ファイル解釈部102は、ステップS802で読み込んだ全ての入出力GUI部品について、一つずつ順に以降の処理対象とする。全入出力GUI部品に関してこの処理が終了した場合、依存属性定義ファイル解釈部102は、図9に示す処理を終了する。
ステップS804において、依存属性定義ファイル解釈部102は、依存関係情報生成処理(ステップS202)で生成された全ての依存属性情報エントリについて、一つずつ順に以降の処理対象とする。全エントリに関してこの処理が終了した場合、依存属性定義ファイル解釈部102は、ステップS810へ進む。
ステップS804において、依存属性定義ファイル解釈部102は、依存関係情報生成処理(ステップS202)で生成された全ての依存属性情報エントリについて、一つずつ順に以降の処理対象とする。全エントリに関してこの処理が終了した場合、依存属性定義ファイル解釈部102は、ステップS810へ進む。
ステップS805において、依存属性定義ファイル解釈部102は、依存属性情報のIDと入出力GUI部品のIDとが一致するか否かを判定する。なお、入出力GUI部品はIDを属性値として持つ。依存属性定義ファイル解釈部102は、一致すると判定した場合、ステップS806に進み、一致しないと判定した場合、S804へ進む。
ステップS806において、依存属性定義ファイル解釈部102は、依存属性情報の初期入力上限値を入出力GUI部品の上限値に設定する。
ステップS807において、依存属性定義ファイル解釈部102は、依存属性情報の初期入力下限値を入出力GUI部品の下限値に設定する。
ステップS807において、依存属性定義ファイル解釈部102は、依存属性情報の初期入力下限値を入出力GUI部品の下限値に設定する。
ステップS808において、依存属性定義ファイル解釈部102は、依存属性情報の初期入力デフォルト値を入出力GUI部品のデフォルト値に設定する。
ステップS809において、依存属性定義ファイル解釈部102は、依存属性情報の初期入力デフォルト値を入出力GUI部品の値に設定する。
ステップS809において、依存属性定義ファイル解釈部102は、依存属性情報の初期入力デフォルト値を入出力GUI部品の値に設定する。
ステップS810において、依存属性定義ファイル解釈部102は、ステップS802にて読み込んだ入出力GUI部品のうち、次の入出力GUI部品を処理対象として読み込む。読み込まれたGUI部品は、ステップS803以降の処理対象となる。
図10の910、920は、テキストフィールドの入出力GUI部品を表している。
911には、IDが設定され、依存属性定義ファイル101のIDと対応関係を持つ。
912には、入出力GUI部品の値が設定される。
913には、入出力GUI部品の入力上限値が設定される。
914には、入出力GUI部品の入力下限値が設定される。
915には、入出力GUI部品の入力デフォルト値が設定される。
911には、IDが設定され、依存属性定義ファイル101のIDと対応関係を持つ。
912には、入出力GUI部品の値が設定される。
913には、入出力GUI部品の入力上限値が設定される。
914には、入出力GUI部品の入力下限値が設定される。
915には、入出力GUI部品の入力デフォルト値が設定される。
図10の930は、入出力GUI部品間のウィンドウ関係テーブルである。
931は、GUIIDとしてID_WINAをもつウィンドウは、GUIIDとしてID_PANAというパネルを子として持つことを示している。
932は、GUIIDとしてID_PANAをもつパネルは、GUIIDとしてID_Aというテキストフィールドを子として持つことを示している。
931は、GUIIDとしてID_WINAをもつウィンドウは、GUIIDとしてID_PANAというパネルを子として持つことを示している。
932は、GUIIDとしてID_PANAをもつパネルは、GUIIDとしてID_Aというテキストフィールドを子として持つことを示している。
933は、GUIIDとしてID_WINAをもつウィンドウは、GUIIDとしてID_WINBというウィンドウを子として持つことを示している。更に、933は、ID_WINBというウィンドウは、ID_WINAというウィンドウからモーダレス制御(親ウィンドウから、操作に関する一切の制御を受けない制御)されていることを示している。
934は、GUIIDとしてID_WINBをもつウィンドウは、GUIIDとしてID_PANBというパネルを子として持つことを示している。
935は、GUIIDとしてID_PANBをもつパネルは、GUIIDとしてID_Bというテキストフィールドを子として持つことを示している。
935は、GUIIDとしてID_PANBをもつパネルは、GUIIDとしてID_Bというテキストフィールドを子として持つことを示している。
図10の940は、ID_WINAで示されるGUI部品である画面(ウィンドウ)のイメージ図である。
941は、ID_PANAで示されるGUI部品であるパネルのイメージである。
942は、ID_Aで示されるGUI部品であるテキストフィールドのイメージである。
941は、ID_PANAで示されるGUI部品であるパネルのイメージである。
942は、ID_Aで示されるGUI部品であるテキストフィールドのイメージである。
図10の950は、ID_WINBで示されるGUI部品である画面(ウィンドウ)のイメージ図である。
951は、ID_PANBで示されるGUI部品であるパネルのイメージである。
952は、ID_Bで示されるGUI部品であるテキストフィールドのイメージである。
951は、ID_PANBで示されるGUI部品であるパネルのイメージである。
952は、ID_Bで示されるGUI部品であるテキストフィールドのイメージである。
図11の1010、1020は、テキストフィールドの入出力GUI部品である。
1011は、IDとして、ID_Aが設定されていることを示している。1021は、IDとして、ID_Bが設定されていることを示している。
1011は、IDとして、ID_Aが設定されていることを示している。1021は、IDとして、ID_Bが設定されていることを示している。
1012は、入出力GUI部品1010の値として1000が設定されていることを示している。
1013は、入出力GUI部品1010の入力上限値として10000が設定されていることを示している。
1014は、入出力GUI部品1010の入力下限値として−10が設定されていることを示している。
1015は、入出力GUI部品1010の入力デフォルト値として1000が設定されていることを示している。
1013は、入出力GUI部品1010の入力上限値として10000が設定されていることを示している。
1014は、入出力GUI部品1010の入力下限値として−10が設定されていることを示している。
1015は、入出力GUI部品1010の入力デフォルト値として1000が設定されていることを示している。
図11の1042と1052とは、図11の1010と1020を画面に表示したとのイメージである。
ここで入出力GUI部品104が図10の910及び920、依存関係情報103の依存属性情報が図7の610及び620であるとして、入出力GUI部品104を初期化する処理を、図9のフローチャートに沿って説明する。
ステップS802において、依存属性定義ファイル解釈部102は、図10の910及び920が示す入出力GUI部品104を読み込む。
ステップS803において、依存属性定義ファイル解釈部102は、入出力GUI部品910、920について、ステップS804からステップS810までの処理を2回繰り返す。
ステップS803において、依存属性定義ファイル解釈部102は、入出力GUI部品910、920について、ステップS804からステップS810までの処理を2回繰り返す。
ステップS804において、依存属性定義ファイル解釈部102は、依存属性情報610、620について、ステップS805からステップS809までの処理を2回繰り返す。
まず、入出力GUI部品910、依存属性情報610の場合、依存属性定義ファイル解釈部102は、ステップS805において、ID611とID911とは一致するので、ステップS806〜S808の処理を実行する。その結果、913から915までのそれぞれが、1013から1015までのように設定される。続いて、ステップS809において、依存属性定義ファイル解釈部102は、値912を値1012のように設定する。
まず、入出力GUI部品910、依存属性情報610の場合、依存属性定義ファイル解釈部102は、ステップS805において、ID611とID911とは一致するので、ステップS806〜S808の処理を実行する。その結果、913から915までのそれぞれが、1013から1015までのように設定される。続いて、ステップS809において、依存属性定義ファイル解釈部102は、値912を値1012のように設定する。
次に、入出力GUI部品910、依存属性情報620の場合、依存属性定義ファイル解釈部102は、ステップS805において、ID611とID921とは一致しないので、ステップS806〜S809の処理は実行しない。
入出力GUI部品920の場合も同様に、依存属性定義ファイル解釈部102は、ステップS804を実行し、入出力GUI部品920、依存属性情報620のとき、依存属性情報620の情報を、入出力GUI部品1020のように設定する。
入出力GUI部品920の場合も同様に、依存属性定義ファイル解釈部102は、ステップS804を実行し、入出力GUI部品920、依存属性情報620のとき、依存属性情報620の情報を、入出力GUI部品1020のように設定する。
このように、図10の910と920とで示される入出力GUI部品は、図11の1010と1020とで示される入出力GUI部品のように、図7の依存属性情報610、620を反映して初期化される。テキストフィールド1042には、図11の入出力GUI部品1010に設定されている値1012に対応して、1000という表示がなされる。テキストフィールド1052には、同様に図11の入出力GUI部品1020に設定されている値に対応して、0という表示がなされる。
図12の1110は、ウィンドウレイアウト情報107が保持する、ウィンドウレイアウト情報の一例である。
1111には、ウィンドウのレイアウト方法が設定される。設定値としては、free、cascade、tile、等を設定することができる。
1112には、1111で設定されたレイアウト方法での制御対象となるGUIIDが設定される。
1113には、1112でリストアップされたGUIIDのうち、アクティブにすべき(最前面に表示すべき)ウィンドウのGUIIDが設定される。
1111には、ウィンドウのレイアウト方法が設定される。設定値としては、free、cascade、tile、等を設定することができる。
1112には、1111で設定されたレイアウト方法での制御対象となるGUIIDが設定される。
1113には、1112でリストアップされたGUIIDのうち、アクティブにすべき(最前面に表示すべき)ウィンドウのGUIIDが設定される。
図13及び図14は、図3のフローチャートに示されるGUI画面の画面更新処理(ステップS204)の、詳細な処理を説明するためのフローチャートである。
GUI画面の更新処理が呼び出されると、ステップS1202において、依存属性定義ファイル解釈部102は、全ての入出力GUI部品を読み込み、一つずつ順に以降の処理対象とする。
GUI画面の更新処理が呼び出されると、ステップS1202において、依存属性定義ファイル解釈部102は、全ての入出力GUI部品を読み込み、一つずつ順に以降の処理対象とする。
ステップS1203において、依存属性定義ファイル解釈部102は、処理対象のGUI部品の存在を確認する。依存属性定義ファイル解釈部102は、処理対象のGUI部品が存在すると判定すると、ステップS1204に進み、処理対象のGUI部品が存在しないと判定すると、ステップS1212へ進む。
ステップS1204において、依存属性定義ファイル解釈部102は、入出力GUI部品に設定されている値を取得する。
ステップS1205において、依存属性定義ファイル解釈部102は、入出力GUI部品の入力上限値を取得する。
ステップS1205において、依存属性定義ファイル解釈部102は、入出力GUI部品の入力上限値を取得する。
ステップS1206において、依存属性定義ファイル解釈部102は、入出力GUI部品の入力下限値を取得する。
ステップS1207において、依存属性定義ファイル解釈部102は、取得した入出力GUI部品の値が、入力上限値以下、入力下限値以上の範囲内にあるか否かの判定を行う。依存属性定義ファイル解釈部102は、範囲内にあると判定した場合、ステップS1217へ進み、範囲外にあると判定した場合、ステップS1208へ進む。
ステップS1207において、依存属性定義ファイル解釈部102は、取得した入出力GUI部品の値が、入力上限値以下、入力下限値以上の範囲内にあるか否かの判定を行う。依存属性定義ファイル解釈部102は、範囲内にあると判定した場合、ステップS1217へ進み、範囲外にあると判定した場合、ステップS1208へ進む。
ステップS1208において、依存属性定義ファイル解釈部102は、入出力GUI部品の表示(表示属性、又は表示属性値)を変更する。例えば、入出力GUI部品がテキストフィールドならば、依存属性定義ファイル解釈部102は、以下の3つの処理を行う。
(1)テキストフィールドのボーダー色を赤色にする。
(2)テキストフィールドへフォーカスを移動する。
(3)テキストフィールドに設定されている入力上限値、入力下限値を解釈して、有効入力範囲をツールチップ表示する。
(1)テキストフィールドのボーダー色を赤色にする。
(2)テキストフィールドへフォーカスを移動する。
(3)テキストフィールドに設定されている入力上限値、入力下限値を解釈して、有効入力範囲をツールチップ表示する。
一方、ステップS1217において、依存属性定義ファイル解釈部102は、ステップS1202で読み込んだGUI部品のうち、次のGUI部品を処理対象のGUI部品とする。続いて、依存属性定義ファイル解釈部102は、ステップS1203に進む。
ステップS1209において、依存属性定義ファイル解釈部102は、処理対象のGUI部品を親処理対象のGUI部品とする。
ステップS1209において、依存属性定義ファイル解釈部102は、処理対象のGUI部品を親処理対象のGUI部品とする。
ステップS1210において、依存属性定義ファイル解釈部102は、GUIウィンドウ関係テーブル930を用いて、親処理対象のGUI部品の親GUI部品IDを取得する。依存属性定義ファイル解釈部102は、親GUI部品IDが存在していた場合は、ステップS1211へ進み、存在していなかった場合は、ステップS1217へ進む。
ステップS1211において、依存属性定義ファイル解釈部102は、親GUI部品の表示(表示属性)を変更する。例えば、親GUI部品がウィンドウならば、依存属性定義ファイル解釈部102は、タイトル文字列を赤色かつ太字にする。
ステップS1218において、依存属性定義ファイル解釈部102は、親GUI部品のIDを次の親処理対象のGUI部品IDとする。
ステップS1218において、依存属性定義ファイル解釈部102は、親GUI部品のIDを次の親処理対象のGUI部品IDとする。
ステップS1212において、依存属性定義ファイル解釈部102は、フォーカスアウト等により入力値を確定したGUI部品を処理対象のGUI部品とする。
ステップS1213において、依存属性定義ファイル解釈部102は、処理対象のGUI部品が存在し、かつ、ステップS1208で表示属性を変更したGUI部品が一つ以上あった場合、ステップS1214へ進む。それ以外の場合、依存属性定義ファイル解釈部102は、ステップS1301へ進む。
ステップS1213において、依存属性定義ファイル解釈部102は、処理対象のGUI部品が存在し、かつ、ステップS1208で表示属性を変更したGUI部品が一つ以上あった場合、ステップS1214へ進む。それ以外の場合、依存属性定義ファイル解釈部102は、ステップS1301へ進む。
ステップS1214において、依存属性定義ファイル解釈部102は、処理対象のGUI部品の表示(表示属性)を変更する。依存属性定義ファイル解釈部102は、例えば、テキストフィールドのボーダー色を黄色にする。
ステップS1215において、依存属性定義ファイル解釈部102は、GUIウィンドウ関係テーブル930を用いて、入出力GUI部品の親GUI部品のIDを取得する。依存属性定義ファイル解釈部102は、入出力GUI部品の親GUI部品のIDが存在していた場合は、ステップS1216へ進み、存在していなかった場合は、ステップS1301へ進む。
ステップS1215において、依存属性定義ファイル解釈部102は、GUIウィンドウ関係テーブル930を用いて、入出力GUI部品の親GUI部品のIDを取得する。依存属性定義ファイル解釈部102は、入出力GUI部品の親GUI部品のIDが存在していた場合は、ステップS1216へ進み、存在していなかった場合は、ステップS1301へ進む。
ステップS1216において、依存属性定義ファイル解釈部102は、親GUI部品の表示(表示属性)を変更する。依存属性定義ファイル解釈部102は、例えば、親GUI部品がウィンドウならば、タイトル文字列を黄色、かつ太字にする。
ステップS1219において、依存属性定義ファイル解釈部102は、親GUI部品のIDを次の処理対象のGUI部品のIDとする。
ステップS1219において、依存属性定義ファイル解釈部102は、親GUI部品のIDを次の処理対象のGUI部品のIDとする。
ステップS1301において、依存属性定義ファイル解釈部102は、ウィンドウレイアウト情報1110より、レイアウト対象GUIIDを全て取得する。
ステップS1302において、依存属性定義ファイル解釈部102は、ウィンドウレイアウト情報1110より、レイアウト方法を取得する。
ステップS1302において、依存属性定義ファイル解釈部102は、ウィンドウレイアウト情報1110より、レイアウト方法を取得する。
ステップS1303において、依存属性定義ファイル解釈部102は、ステップS1302で取得したレイアウト方法がfreeの場合は、ステップS1305へ進み、free以外の場合は、ステップS1304へ進む。
ステップS1304において、依存属性定義ファイル解釈部102は、ステップS1301で取得したレイアウト対象GUIIDの全てに対して、ステップS1302で取得したレイアウト方法に基づき、ウィンドウレイアウトの変更を行う。
ステップS1304において、依存属性定義ファイル解釈部102は、ステップS1301で取得したレイアウト対象GUIIDの全てに対して、ステップS1302で取得したレイアウト方法に基づき、ウィンドウレイアウトの変更を行う。
ステップS1305において、依存属性定義ファイル解釈部102は、ウィンドウレイアウト情報1110より、アクティブウィンドウGUIIDを取得する。
ステップS1306において、依存属性定義ファイル解釈部102は、ステップS1305で取得したアクティブウィンドウGUIIDに対してウィンドウアクティブ化の処理を行う。
ステップS1306において、依存属性定義ファイル解釈部102は、ステップS1305で取得したアクティブウィンドウGUIIDに対してウィンドウアクティブ化の処理を行う。
以上の制御処理によって、依存関係を有する全てのGUI部品と、その親GUI部品とに設定された表示属性通りのイメージがGUI画面上にて確認可能となる。
図15、図16、図17は、図3のフローチャートを実行した後に、ユーザによる入力装置12の操作等によって、入出力GUI部品からフォーカスアウト等、入力を確定したときのフローチャートである。
図15は、連動式の実行により、GUI部品の属性値を変更する処理の一例を示したフローチャートである。
図16は、依存元GUI部品と全依存先GUI部品とのウィンドウレイアウト方法を決定する処理の一例を示したフローチャートである。この処理では、依存元GUI部品及び全依存先GUI部品に関して、各々のGUI部品としての親子関係及び任意の2つの部品間関係を辿ることにより、依存元GUI部品と全依存先GUI部品とのウィンドウレイアウト方法を決定する。
図16は、依存元GUI部品と全依存先GUI部品とのウィンドウレイアウト方法を決定する処理の一例を示したフローチャートである。この処理では、依存元GUI部品及び全依存先GUI部品に関して、各々のGUI部品としての親子関係及び任意の2つの部品間関係を辿ることにより、依存元GUI部品と全依存先GUI部品とのウィンドウレイアウト方法を決定する。
本実施形態においては、依存元GUI部品と、依存先GUI部品の全てとに関して、
(1)親部品よりモーダル制御を受けているGUI部品が一つでも存在すれば、タイル(tile)表示
(2)依存元GUI部品、依存先GUI部品全てが一つのタブコントロール下にあれば、タブ(tab)表示
(3)依存先GUI部品が一つであれば、フリー(free)、つまりウィンドウのレイアウト変更をしない、表示
(4)依存先GUI部品が二つ以上存在すれば、カスケード(cascade)表示
とする。
(1)親部品よりモーダル制御を受けているGUI部品が一つでも存在すれば、タイル(tile)表示
(2)依存元GUI部品、依存先GUI部品全てが一つのタブコントロール下にあれば、タブ(tab)表示
(3)依存先GUI部品が一つであれば、フリー(free)、つまりウィンドウのレイアウト変更をしない、表示
(4)依存先GUI部品が二つ以上存在すれば、カスケード(cascade)表示
とする。
このウィンドウレイアウト決定方法は、必ずしもこの方法が要求されるわけでなく、別の方法によるものでもよい。例えば、依存元GUI部品、依存先GUI部品の全てが一つのタブコントロール下にあれば、タブ表示、それ以外の場合は常にタイル表示等としてもよい。
図17は、ウィンドウレイアウト方法、ウィンドウレイアウト対象となるGUI部品及びアクティブなGUI部品を決定し、GUI画面の表示を行う処理の一例を示したフローチャートである。
入出力GUI部品からフォーカスアウトすると、ステップS1402において、依存関係解決部106は、フォーカスアウトした入出力GUI部品からIDを取得する。
入出力GUI部品からフォーカスアウトすると、ステップS1402において、依存関係解決部106は、フォーカスアウトした入出力GUI部品からIDを取得する。
ステップS1403において、依存関係解決部106は、ステップS1402で取得したIDを依存元IDとして、図8の依存関係テーブルから依存先IDを全て取得し、そのうちの先頭要素を処理対象IDとする。
ステップS1404において、依存関係解決部106は、処理対象IDの存在確認を行う。依存関係解決部106は、処理対象IDが存在していれば、ステップS1405に進み、存在していなければ、ステップS1501へ進む。
ステップS1404において、依存関係解決部106は、処理対象IDの存在確認を行う。依存関係解決部106は、処理対象IDが存在していれば、ステップS1405に進み、存在していなければ、ステップS1501へ進む。
ステップS1405において、依存関係解決部106は、入出力GUI部品の連動式を取得する。より具体的に説明すると、依存関係解決部106は、依存関係情報の生成処理(ステップS202)で生成した依存属性情報について、処理対象IDと等しいIDを持つ依存属性情報の連動式を取得する。
ステップS1406において、依存関係解決部106は、連動式の実行に必要なパラメータを取得する。より具体的に説明すると、依存関係解決部106は、取得した連動式に含まれる、図6の依存元のID521を特定し、その入出力GUI部品の値を取得する。
ステップS1407において、依存関係解決部106は、連動式を実行し、実行結果に従い、入出力GUI部品の属性値を変更(又は更新)する。
ステップS1408において、依存関係解決部106は、ステップS1403で取得した依存先IDのうち、次の依存先IDを処理対象IDとする。続いて、依存関係解決部106は、ステップS1404へ進む。
ステップS1408において、依存関係解決部106は、ステップS1403で取得した依存先IDのうち、次の依存先IDを処理対象IDとする。続いて、依存関係解決部106は、ステップS1404へ進む。
依存先IDが設定された全ての入出力GUI部品について処理の繰り返し終えると、依存関係解決部106は、ステップS1501へ進む。
ステップS1501において、依存関係解決部106は、依存元IDと全ての依存先IDとを含むリストを作成する。また、依存関係解決部106は、ここで作成したリストのうち、先頭要素を比較元GUIIDとする。また、依存関係解決部106は、比較元GUIIDの次要素を比較先GUIIDとする。
ステップS1502において、依存関係解決部106は、比較元GUIIDの取得可否を確認し、取得できていれば、ステップS1503に進み、取得できていなれば、ステップS1610に進む。
ステップS1503において、依存関係解決部106は、比較元GUIIDの親IDを、図10のGUIウィンドウ関係テーブル930より取得する。
ステップS1503において、依存関係解決部106は、比較元GUIIDの親IDを、図10のGUIウィンドウ関係テーブル930より取得する。
ステップS1504において、依存関係解決部106は、比較元GUIIDの親IDの取得可否を確認し、取得できていれば、ステップS1505に進み、取得できていなければ、ステップS1513に進む。
ステップS1505において、依存関係解決部106は、取得した比較元GUIIDの親IDに基づいて、入出力GUI部品間GUIウィンドウ関係テーブル930より、動作制御情報を取得する。
ステップS1505において、依存関係解決部106は、取得した比較元GUIIDの親IDに基づいて、入出力GUI部品間GUIウィンドウ関係テーブル930より、動作制御情報を取得する。
ステップS1506において、依存関係解決部106は、S1505で取得した動作制御情報が、modalか否かの判定を行う。依存関係解決部106は、modalでない場合、ステップS1507に進み、modalの場合、ステップS1609に進む。
ステップS1507において、依存関係解決部106は、比較先GUIIDの存在可否を確認し、存在していれば、ステップS1508に進み、存在していなければ、ステップS1514に進む。
ステップS1507において、依存関係解決部106は、比較先GUIIDの存在可否を確認し、存在していれば、ステップS1508に進み、存在していなければ、ステップS1514に進む。
ステップS1508において、依存関係解決部106は、比較先GUIIDの親IDを、930入出力GUI部品間ウィンドウ関係テーブルより取得する。
ステップS1509において、依存関係解決部106は、比較先GUIIDの親IDの取得可否を確認し、取得できていれば、ステップS1510に進み、取得できていなければ、ステップS1515に進む。
ステップS1509において、依存関係解決部106は、比較先GUIIDの親IDの取得可否を確認し、取得できていれば、ステップS1510に進み、取得できていなければ、ステップS1515に進む。
ステップS1510において、依存関係解決部106は、比較先GUIIDの親IDに基づいて、入出力GUI部品間GUIウィンドウ関係テーブル930より、動作制御情報を取得する。
ステップS1511において、依存関係解決部106は、ステップS1510で取得した動作制御情報が、modalか否かの判定を行う。依存関係解決部106は、modalでない場合、ステップS1512に進み、modalの場合、ステップS1609に進む。
ステップS1511において、依存関係解決部106は、ステップS1510で取得した動作制御情報が、modalか否かの判定を行う。依存関係解決部106は、modalでない場合、ステップS1512に進み、modalの場合、ステップS1609に進む。
ステップS1512において、依存関係解決部106は、S1503で取得した比較元GUIの親IDと、S1508で取得した比較先GUIの親IDとの値を比較する。依存関係解決部106は、一致した場合、ステップS1601に進み、一致しなかった場合、ステップS1516に進む。
ステップS1513において、依存関係解決部106は、比較元GUIIDの親子関係上の最下位子孫を、入出力GUI部品間GUIウィンドウ関係テーブル930より取得する。そして、依存関係解決部106は、取得したIDを新しく比較元GUIIDとする。また、比較先GUIIDに関して、依存関係解決部106は、ステップS1501で作成したリストの次の要素を、新しく比較先GUIIDとする。
ステップS1513において、依存関係解決部106は、比較元GUIIDの親子関係上の最下位子孫を、入出力GUI部品間GUIウィンドウ関係テーブル930より取得する。そして、依存関係解決部106は、取得したIDを新しく比較元GUIIDとする。また、比較先GUIIDに関して、依存関係解決部106は、ステップS1501で作成したリストの次の要素を、新しく比較先GUIIDとする。
ステップS1514において、依存関係解決部106は、比較元GUIIDに関して、ステップS1501で作成したリスト上の次の要素を、新しく比較元GUIIDとする。また、依存関係解決部106は、比較先GUIIDに関して、ステップS1501で作成したリスト上の次の要素を、新しく比較先GUIIDとする。
ステップS1515において、依存関係解決部106は、比較元GUIIDの親IDを、入出力GUI部品間GUIウィンドウ関係テーブル930より取得する。依存関係解決部106は、取得したGUIIDを新しく比較元GUIIDとする。また、依存関係解決部106は、比較先GUIIDの親子関係上の最下位子孫を、入出力GUI部品間GUIウィンドウ関係テーブル930より取得する。依存関係解決部106は、取得したGUIIDを新しく比較先GUIIDとする。
ステップS1516において、依存関係解決部106は、比較先GUIIDの親IDを、入出力GUI部品間GUIウィンドウ関係テーブル930より取得する。依存関係解決部106は、取得したIDを新しく比較先GUIIDとする。
ステップS1601において、依存関係解決部106は、ステップS1505で取得済みの比較元の動作制御情報及びステップS1510で取得済みの比較先の動作制御情報、の両者を比較する。依存関係解決部106は、比較の結果、両方ともtabの場合、ステップS1602へ進み、そうでない場合は、ステップS1603へ進む。
ステップS1602において、依存関係解決部106は、図12のウィンドウレイアウト情報のレイアウト方法が、図17のフローチャートに係る処理で既に設定済みか否かを確認する。依存関係解決部106は、既に設定済みであると判定すると、ステップS1604に進み、設定済みではないと判定すると、ステップS1605に進む。
同様に、ステップS1603において、依存関係解決部106は、図12のウィンドウレイアウト情報のレイアウト方法が、図17のフローチャートに係る処理で既に更新済みか否かを確認する。依存関係解決部106は、既に更新済みであると判定すると、ステップS1607に進み、更新済みではないと判定すると、ステップS1608に進む。
ステップS1604において、依存関係解決部106は、ステップS1503で取得した比較元の親ID若しくはステップS1508で取得した比較先の親IDが、先行して実行したステップS1606で保存済みのtab親IDと一致するか否かの確認を行う。もし、仮にステップS1606が先行して実行されていない場合は、不一致の判定結果となる。依存関係解決部106は、一致すると判定すると、ステップS1605に進み、一致しないと判定すると、ステップS1607に進む。
ステップS1605において、依存関係解決部106は、図12のウィンドウレイアウト情報内の、レイアウト方法を、tabに設定する。
ステップS1606において、依存関係解決部106は、ステップS1503で取得した比較元の親ID、若しくはステップS1508で取得した比較先の親IDを共通のtab親IDとして入出力GUI部品間GUIウィンドウ関係テーブル930に保存する。
ステップS1606において、依存関係解決部106は、ステップS1503で取得した比較元の親ID、若しくはステップS1508で取得した比較先の親IDを共通のtab親IDとして入出力GUI部品間GUIウィンドウ関係テーブル930に保存する。
ステップS1607において、依存関係解決部106は、図12のウィンドウレイアウト情報内の、レイアウト方法を、cascadeに設定する。
ステップS1608において、依存関係解決部106は、図12のウィンドウレイアウト情報内の、レイアウト方法を、freeに設定する。
ステップS1608において、依存関係解決部106は、図12のウィンドウレイアウト情報内の、レイアウト方法を、freeに設定する。
ステップS1609において、依存関係解決部106は、図12のウィンドウレイアウト情報内の、レイアウト方法を、tileに設定する。
ステップS1610において、依存関係解決部106は、図12のウィンドウレイアウト情報内の、レイアウト対象GUIID1112に、ステップS1501で作成したリスト中の全GUI部品の親IDを設定する。
ステップS1610において、依存関係解決部106は、図12のウィンドウレイアウト情報内の、レイアウト対象GUIID1112に、ステップS1501で作成したリスト中の全GUI部品の親IDを設定する。
本実施形態での親IDの決定方法は、ウィンドウレイアウト方法に依存している。ウィンドウレイアウト方法がfree、cascade、tileの何れかの場合は、依存元GUI部品、依存先GUI部品、各々の親IDを、GUIウィンドウ関係テーブル930より親方向に順に辿り、ウィンドウタイプGUIであった場合、そのGUI部品のIDを親IDとする。ここでは、依存元GUI部品、依存先GUI部品、各々の親IDを、GUIウィンドウ関係テーブル930より親方向に順に辿り、ID_WIN形式で始まるIDを持つGUI部品が判明したとき、ウィンドウタイプGUIであったと判断する。一方、レイアウト方法1731がtabの場合は、依存元GUI部品、依存先GUI部品、各々の親IDを、GUIウィンドウ関係テーブル930より親方向に順に辿り、動作制御情報がtabに設定されているエントリ内の親IDを親IDとする。
ステップS1611において、依存関係解決部106は、図12のウィンドウレイアウト情報内の、アクティブウィンドウGUIIDに、ステップS1501で作成したリスト中の依存先IDのうち、先頭要素を設定する。
ステップS1612において、依存関係解決部106は、図13で表したGUI画面の更新処理を実行する。実行し終えると、依存関係解決部106は、図15、図16、図17に示す処理を終了する。
図18は、図11の1010と、1020とで表される入出力GUI部品がユーザからの入力を受け付けて、ユーザが入力を確定したときの、入出力GUI部品と、画面表示とを説明するための図である。
1710、1720は、テキストフィールドの入出力GUI部品を示している。
1712、1722は、入出力GUI部品の値が設定されている。1712は、入出力GUI部品1710で表されるテキストフィールドの値は2010であることを示している。同様に、1722は、入出力GUI部品1720で表されるテキストフィールドの値は100であることを示している。
1712、1722は、入出力GUI部品の値が設定されている。1712は、入出力GUI部品1710で表されるテキストフィールドの値は2010であることを示している。同様に、1722は、入出力GUI部品1720で表されるテキストフィールドの値は100であることを示している。
1713、1723は、入出力GUI部品の入力上限値が設定されている。1713は、入出力GUI部品1710で表されるテキストフィールドの入力上限値は10000であることを示している。同様に、1723は、入出力GUI部品1720で表されるテキストフィールドの入力上限値は1であることを示している。
1714、1724は、入出力GUI部品の入力下限値が設定されている。1714は、入出力GUI部品1710で表されるテキストフィールドの下限値は−10であることを示している。同様に、1724は、入出力GUI部品1720で表されるテキストフィールドの入力下限値は−100であることを示している。
1715、1725は、入出力GUI部品の入力デフォルト値が設定されている。1715は、入出力GUI部品1710で表されるテキストフィールドの入力デフォルト値は1000であることを示している。同様に、1725は、入出力GUI部品1720で表されるテキストフィールドの入力デフォルト値は0であることを示している。
1711、1721は、入出力GUI部品のIDが設定されており、1711は、入出力GUI部品1710で表されるテキストフィールドには、IDがID_Aである依存属性情報が関連付けられていることを示している。同様に、1721は、入出力GUI部品1720で表されるテキストフィールドには、IDがID_Bである依存属性情報が関連付けられていることを示している。
1740は、入出力GUI部品1710を内包するウィンドウの画面イメージである。テキストフィールドのボーダー色が黄色になっていることを示している。
1750は、入出力GUI部品1720を内包するウィンドウの画面イメージである。入力補助としてテキストフィールドのボーダー色が赤色になっていることを示している。
1750は、入出力GUI部品1720を内包するウィンドウの画面イメージである。入力補助としてテキストフィールドのボーダー色が赤色になっていることを示している。
1753は、テキストフィールド1752のツールチップ表示である。入力補助としてテキストフィールドに設定されている入力上限値、入力下限値、有効入力範囲がツールチップ表示されていることを示している。
入出力GUI部品104が図11の1710、1720、依存属性情報が図7の依存属性情報610、620、依存関係テーブルが図8の依存関係テーブル710、ウィンドウ及び入出力GUI部品イメージが図18の1740、1750の場合を想定する。まず、テキストフィールド1752においてユーザから100を入力される。続けて、テキストフィールド1742においてユーザから2010を入力され、テキストフィールド1742からフォーカスアウトされることで、値が確定したときの処理を、図15、図16、図17のフローチャートに沿って説明する。
ステップS1402において、依存関係解決部106は、テキストフィールド1742の入出力GUI部品である1710から、ID1711を取得する。
ステップS1403において、依存関係解決部106は、図8の依存関係テーブルから依存元IDからID1711の値であるID_Aを検索し、対応する依存先IDであるID_Bを取得する。
ステップS1403において、依存関係解決部106は、図8の依存関係テーブルから依存元IDからID1711の値であるID_Aを検索し、対応する依存先IDであるID_Bを取得する。
ステップS1404において、依存関係解決部106は、処理対象IDとしてID_Bが存在するため、ステップS1405へ進む。
ステップS1405において、依存関係解決部106は、入出力GUI部品1720に関連付けられた依存属性430から連動式435を取得する。
ステップS1405において、依存関係解決部106は、入出力GUI部品1720に関連付けられた依存属性430から連動式435を取得する。
ステップS1406において、依存関係解決部106は、ステップS1408で取得した連動式435に含まれる入出力GUI部品のIDである、ID_Aが設定されている入出力GUI部品を特定する。そして、依存関係解決部106は、特定した入出力GUI部品1710から、値(value)1712に設定されている2010を取得する。
ステップS1407において、依存関係解決部106は、連動式435を実行する。連動式435の実行により、入出力GUI部品1720の入力上限値1723が1に変更される。
ステップS1408において、依存関係解決部106は、図8の依存関係テーブルにおいて、依存先IDであるID_Bの次の要素が存在しないため、処理対象IDとして空を設定する。
ステップS1408において、依存関係解決部106は、図8の依存関係テーブルにおいて、依存先IDであるID_Bの次の要素が存在しないため、処理対象IDとして空を設定する。
ステップS1404において、依存関係解決部106は、処理対象IDが空であることを確認し、ステップS1501へ進む。
ステップS1501において、依存関係解決部106は、依存関係テーブル710より、依存元IDと、全依存先IDと、から構成されるリストを作成する。以下、依存関係解決部106は、このリストより順に2つのID(GUIID)を取得し、各々の親IDの値を比較する処理を繰り返す。まず、最初に、依存関係解決部106は、比較元としID_Aを、比較先としてID_Bを選択する。
ステップS1501において、依存関係解決部106は、依存関係テーブル710より、依存元IDと、全依存先IDと、から構成されるリストを作成する。以下、依存関係解決部106は、このリストより順に2つのID(GUIID)を取得し、各々の親IDの値を比較する処理を繰り返す。まず、最初に、依存関係解決部106は、比較元としID_Aを、比較先としてID_Bを選択する。
ステップS1502において、依存関係解決部106は、比較元GUIIDとしてID_Aを確認する。
ステップS1503において、依存関係解決部106は、ID_Aの親IDを取得するために、GUIウィンドウ関係テーブル930を参照して、子の列よりID_Aとして該当するエントリを検索する。その結果、依存関係解決部106は、エントリ932が該当するため、親IDとしてID_PANAを取得する。
ステップS1503において、依存関係解決部106は、ID_Aの親IDを取得するために、GUIウィンドウ関係テーブル930を参照して、子の列よりID_Aとして該当するエントリを検索する。その結果、依存関係解決部106は、エントリ932が該当するため、親IDとしてID_PANAを取得する。
ステップS1504において、依存関係解決部106は、親IDとしてID_PANAが取得できたため、ステップS1505に進む。
ステップS1505において、依存関係解決部106は、エントリ932の動作制御情報を取得する。
ステップS1505において、依存関係解決部106は、エントリ932の動作制御情報を取得する。
ステップS1506において、依存関係解決部106は、動作制御情報が−であったため、ステップS1507に進む。
ステップS1507において、依存関係解決部106は、比較先GUIIDとしてID_Bを確認する。
ステップS1507において、依存関係解決部106は、比較先GUIIDとしてID_Bを確認する。
ステップS1508において、依存関係解決部106は、ID_Bの親IDを取得するために、GUIウィンドウ関係テーブル930を参照して、子の列よりID_Bとして該当するエントリを検索する。その結果、依存関係解決部106は、エントリ935が該当したため、親IDとしてID_PANBを取得する。
ステップS1509において、依存関係解決部106は、親IDとしてID_PANBが取得できたため、ステップS1510に進む。
ステップS1510において、依存関係解決部106は、エントリ935の動作制御情報を取得する。
ステップS1510において、依存関係解決部106は、エントリ935の動作制御情報を取得する。
ステップS1511において、依存関係解決部106は、動作制御情報が−であったため、ステップS1512に進む。
ステップS1512において、依存関係解決部106は、ステップS1503で取得した比較元親ID、即ちID_PANAとステップS1508で取得した比較先親ID、即ちID_PANBとを比較する。ここで、異なるため、依存関係解決部106は、ステップS1516に進む。
ステップS1512において、依存関係解決部106は、ステップS1503で取得した比較元親ID、即ちID_PANAとステップS1508で取得した比較先親ID、即ちID_PANBとを比較する。ここで、異なるため、依存関係解決部106は、ステップS1516に進む。
ステップS1516において、依存関係解決部106は、ID_PANBを、比較先GUIIDとして設定する。
ステップS1508において、依存関係解決部106は、ID_PANBの親IDを取得するために、GUIウィンドウ関係テーブル930を参照して、子の列よりID_PANBとして該当するエントリを検索する。その結果、依存関係解決部106は、エントリ934が該当したため、親IDとしてID_WINBを取得する。
ステップS1508において、依存関係解決部106は、ID_PANBの親IDを取得するために、GUIウィンドウ関係テーブル930を参照して、子の列よりID_PANBとして該当するエントリを検索する。その結果、依存関係解決部106は、エントリ934が該当したため、親IDとしてID_WINBを取得する。
ステップS1509において、依存関係解決部106は、親IDとしてID_WINBが取得できたため、ステップS1510に進む。
ステップS1510において、依存関係解決部106は、エントリ934の動作制御情報を取得する。
ステップS1510において、依存関係解決部106は、エントリ934の動作制御情報を取得する。
ステップS1511において、依存関係解決部106は、動作制御情報が−であったため、ステップS1512に進む。
ステップS1512において、依存関係解決部106は、ステップS1503で取得した比較元親ID、即ちID_PANAと、ステップS1508で取得した比較先親ID、即ちID_WINBと、を比較する。ここで、異なるため、依存関係解決部106は、ステップS1516に進む。
ステップS1512において、依存関係解決部106は、ステップS1503で取得した比較元親ID、即ちID_PANAと、ステップS1508で取得した比較先親ID、即ちID_WINBと、を比較する。ここで、異なるため、依存関係解決部106は、ステップS1516に進む。
ステップS1516において、依存関係解決部106は、ID_WINBを、比較先GUIIDとして設定する。
ステップS1508において、依存関係解決部106は、ID_WINBの親IDを取得するために、GUIウィンドウ関係テーブル930を参照して、子の列よりID_WINBとして該当するエントリを検索する。その結果、依存関係解決部106は、エントリ933が該当したため、親IDとしてID_WINAを取得する。
ステップS1508において、依存関係解決部106は、ID_WINBの親IDを取得するために、GUIウィンドウ関係テーブル930を参照して、子の列よりID_WINBとして該当するエントリを検索する。その結果、依存関係解決部106は、エントリ933が該当したため、親IDとしてID_WINAを取得する。
ステップS1509において、依存関係解決部106は、親IDとしてID_WINAが取得できたため、ステップS1510に進む。
ステップS1510において、依存関係解決部106は、エントリ933の動作制御情報を取得する。
ステップS1510において、依存関係解決部106は、エントリ933の動作制御情報を取得する。
ステップS1511において、依存関係解決部106は、動作制御情報がmodelessであったため、ステップS1512に進む。
ステップS1512において、依存関係解決部106は、ステップS1503で取得した比較元親ID、即ちID_PANAと、ステップS1508で取得した比較先親ID、即ちID_WINAと、を比較する。一致しないため、ステップS1516に進む。
ステップS1512において、依存関係解決部106は、ステップS1503で取得した比較元親ID、即ちID_PANAと、ステップS1508で取得した比較先親ID、即ちID_WINAと、を比較する。一致しないため、ステップS1516に進む。
ステップS1516において、依存関係解決部106は、ID_WINAを、比較先GUIIDとして設定する。
ステップS1508において、依存関係解決部106は、ID_WINAの親IDを取得するために、GUIウィンドウ関係テーブル930を参照して、子の列よりID_WINAとして該当するエントリを検索する。その結果、エントリが存在しないため、依存関係解決部106は、ステップS1515に進む。
ステップS1508において、依存関係解決部106は、ID_WINAの親IDを取得するために、GUIウィンドウ関係テーブル930を参照して、子の列よりID_WINAとして該当するエントリを検索する。その結果、エントリが存在しないため、依存関係解決部106は、ステップS1515に進む。
ステップS1515にて、依存関係解決部106は、ID_PANAを比較元GUIIDとする。また、ID_WINAの(ID_WINB系列の)最下位子孫である、ID_Bを比較先GUIIDとする。
以降、依存関係解決部106は、ステップS1503からステップS1511までの処理を同様に繰り返す。
以降、依存関係解決部106は、ステップS1503からステップS1511までの処理を同様に繰り返す。
同様に繰り返した結果ステップS1512において依存関係解決部106は、ステップS1503で取得した比較元親ID、即ちID_WINAとステップS1508で取得した比較先親ID、即ちID_WINAとが一致するため、ステップS1601に進む。
ステップS1601において、依存関係解決部106は、ステップS1505で最後に取得した動作制御情報、即ち−931、ステップS1510で最後に取得した動作制御情報、即ちmodeless933、共にtabでないため、ステップS1603へ進む。
ステップS1601において、依存関係解決部106は、ステップS1505で最後に取得した動作制御情報、即ち−931、ステップS1510で最後に取得した動作制御情報、即ちmodeless933、共にtabでないため、ステップS1603へ進む。
ステップS1603において、依存関係解決部106は、図18のウィンドウレイアウト情報1730のうち、レイアウト方法1731が、今回のステップS1401から始まる制御処理の間に更新されたか否かを確認する。更新されていないため、依存関係解決部106は、ステップS1608へ進む。
ステップS1608において依存関係解決部106は、ウィンドウレイアウト情報1730のレイアウト方法1731にfreeを設定する。続けて、依存関係解決部106は、ステップS1513へ進む。
ステップS1513において、依存関係解決部106は、ID_WINAの(ID_WINA系列の)最下位子孫である、ID_Aを比較元GUIIDとする。また、依存関係解決部106は、ステップS1501で作成したリストのうち、比較先GUIIDであるID_Bの次要素が存在しないため、比較先GUIIDとして空を設定する。
ステップS1513において、依存関係解決部106は、ID_WINAの(ID_WINA系列の)最下位子孫である、ID_Aを比較元GUIIDとする。また、依存関係解決部106は、ステップS1501で作成したリストのうち、比較先GUIIDであるID_Bの次要素が存在しないため、比較先GUIIDとして空を設定する。
ステップS1503において、依存関係解決部106は、ID_Aの親IDを取得するために、GUIウィンドウ関係テーブル930を参照して、子の列よりID_Aとして該当するエントリを検索する。その結果、依存関係解決部106は、エントリ932が該当したため、親IDとしてID_PANAを取得する。
ステップS1504において、依存関係解決部106は、親IDとしてID_PANAが取得できたため、ステップS1505に進む。
ステップS1505において、依存関係解決部106は、エントリ932の動作制御情報を取得する。
ステップS1505において、依存関係解決部106は、エントリ932の動作制御情報を取得する。
ステップS1506において、依存関係解決部106は、動作制御情報が−であったため、ステップS1507に進む。
ステップS1507において、依存関係解決部106は、比較先GUIIDが空のため、ステップS1514へ進む。
ステップS1507において、依存関係解決部106は、比較先GUIIDが空のため、ステップS1514へ進む。
ステップS1514において、依存関係解決部106は、ステップS1501で作成したリストのうち、比較元GUIIDであるID_Aの次要素としてID_Bを比較元GUIIDに設定する。また、依存関係解決部106は、比較元GUIIDであるID_Bの次要素が存在しないため、比較先GUIIDとして空を設定する。
ステップS1502において、依存関係解決部106は、比較元としてID_Bを確認する。
ステップS1503において、依存関係解決部106は、ID_Bの親IDを取得するために、GUIウィンドウ関係テーブル930を参照して、子の列よりID_Bとして該当するエントリを検索する。その結果、依存関係解決部106は、エントリ935が該当したため、親IDとしてID_PANBを取得する。
ステップS1503において、依存関係解決部106は、ID_Bの親IDを取得するために、GUIウィンドウ関係テーブル930を参照して、子の列よりID_Bとして該当するエントリを検索する。その結果、依存関係解決部106は、エントリ935が該当したため、親IDとしてID_PANBを取得する。
ステップS1504において、依存関係解決部106は、親IDとしてID_PANBが取得できたため、ステップS1505に進む。
ステップS1505において、依存関係解決部106は、エントリ935の動作制御情報を取得する。
ステップS1505において、依存関係解決部106は、エントリ935の動作制御情報を取得する。
ステップS1506において、依存関係解決部106は、動作制御情報が−であったため、ステップS1507に進む。
ステップS1507において、依存関係解決部106は、比較先GUIIDが空のため、ステップS1514へ進む。
ステップS1507において、依存関係解決部106は、比較先GUIIDが空のため、ステップS1514へ進む。
ステップS1514において、依存関係解決部106は、ステップS1501で作成したリストのうち、比較元GUIIDであるID_Bの次要素が存在しないため、比較元GUIIDとして、空を設定する。また、依存関係解決部106は、比較元GUIIDが既に空要素であるため、比較先GUIIDも空を設定する。
ステップS1502において、依存関係解決部106は、比較元として空が設定されているため、ステップS1610へ進む。
ステップS1502において、依存関係解決部106は、比較元として空が設定されているため、ステップS1610へ進む。
ステップS1610において、依存関係解決部106は、ステップS1501で作成した依存元IDと依存先IDとの親IDを取得する。レイアウト方法1731の設定値がfreeのため、依存関係解決部106は、以下の方法により親IDを決定する。ID_Aに関しては、依存関係解決部106は、GUIウィンドウ関係テーブル930を参照することにより、ID_Aの親であるID_PANAを取得する。これは、ウィンドウタイプでないため、依存関係解決部106は、続けてGUIウィンドウ関係テーブル930を参照することにより、ID_PANAの親であるID_WINAを取得する。これは、ウィンドウタイプのため、依存関係解決部106は、ID_WINAをステップS1610での設定対象GUIIDとする。同様にして、依存関係解決部106は、ID_Bの親として、ID_WINBを取得し、ステップS1610での設定対象GUIIDとする。依存関係解決部106は、以上の処理により確定した、ID_WINAと、ID_WINBと、をウィンドウレイアウト情報1730のレイアウト対象GUIID1732として設定する。
ステップS1611において、依存関係解決部106は、ステップS1501で作成したリストのうち、依存先IDとして最も先頭にあるGUIIDの親ID、即ちID_WINBをアクティブウィンドウGUIID1733として設定する。
ステップS1612において、依存関係解決部106は、GUI画面の更新処理を実行されるが、以下、図13を使用して解説を行う。
ステップS1202において、依存関係解決部106は、入出力GUI部品、即ち1710と1720とを読み込む。
ステップS1202において、依存関係解決部106は、入出力GUI部品、即ち1710と1720とを読み込む。
ステップS1203において、依存関係解決部106は、読み込んだ入出力GUI部品を一つずつ、以降の処理対象とする。
最初に、依存関係解決部106は、処理対象を入出力GUI部品1710とする。
ステップS1204において、依存関係解決部106は、入出力GUI部品1710に設定されている値、即ち1712の"2010"を取得する。
最初に、依存関係解決部106は、処理対象を入出力GUI部品1710とする。
ステップS1204において、依存関係解決部106は、入出力GUI部品1710に設定されている値、即ち1712の"2010"を取得する。
ステップS1205において、依存関係解決部106は、入出力GUI部品1710に設定されている入力上限値、即ち1713の"10000"を取得する。
ステップS1206において、依存関係解決部106は、入出力GUI部品1710に設定されている入力下限値、即ち1714の"−10"を取得する。
ステップS1206において、依存関係解決部106は、入出力GUI部品1710に設定されている入力下限値、即ち1714の"−10"を取得する。
ステップS1207で、依存関係解決部106は、ステップS1204で取得した値"2010"が、ステップS1205で取得した値"10000"以下であり、また、ステップS1206で取得した値"−10"以上であるか確認する。この範囲内のため、依存関係解決部106は、ステップS1217に進む。
ステップS1217において、依存関係解決部106は、次の入出力GUI部品として、処理対象を入出力GUI部品1720とする。
ステップS1217において、依存関係解決部106は、次の入出力GUI部品として、処理対象を入出力GUI部品1720とする。
ステップS1204において、依存関係解決部106は、入出力GUI部品1720に設定されている値、即ち1722の"100"を取得する。
ステップS1205において、依存関係解決部106は、入出力GUI部品1720に設定されている入力上限値、即ち1723の"1"を取得する。
ステップS1205において、依存関係解決部106は、入出力GUI部品1720に設定されている入力上限値、即ち1723の"1"を取得する。
ステップS1206において、依存関係解決部106は、入出力GUI部品1720に設定されている入力下限値、即ち1724の"−100"を取得する。
ステップS1207において、依存関係解決部106は、ステップS1204で取得した値"100"が、ステップS1205で取得した値"1"以下であり、また、ステップS1206で取得した値"−100"以上であるか確認する。この範囲内でないため、依存関係解決部106は、ステップS1208に進む。
ステップS1207において、依存関係解決部106は、ステップS1204で取得した値"100"が、ステップS1205で取得した値"1"以下であり、また、ステップS1206で取得した値"−100"以上であるか確認する。この範囲内でないため、依存関係解決部106は、ステップS1208に進む。
ステップS1208において、依存関係解決部106は、テキストフィールドのボーダー色を赤色にする。フォーカスを得ると、依存関係解決部106は、設定されている入力上限値1723、入力下限値1724、入力デフォルト値1725をツールチップ1753として表示するよう表示属性を変更する。
ステップS1209において、依存関係解決部106は、処理対象GUI部品である入出力GUI部品1720を親処理対象GUI部品として設定する。
ステップS1209において、依存関係解決部106は、処理対象GUI部品である入出力GUI部品1720を親処理対象GUI部品として設定する。
ステップS1210において、依存関係解決部106は、入出力GUI部品1720の親IDを取得するために、ID_Bに基づき、GUIウィンドウ関係テーブル930を参照した結果、ID_PANBを得る。
ステップS1211において、依存関係解決部106は、ID_PANBは、ウィンドウではないため、表示属性を更新しない。
ステップS1211において、依存関係解決部106は、ID_PANBは、ウィンドウではないため、表示属性を更新しない。
ステップS1218において、依存関係解決部106は、ID_PANBを親処理対象GUI部品IDとする。
ステップS1210において、依存関係解決部106は、ID_PANBの親IDを取得するために、GUIウィンドウ関係テーブル930を参照した結果、ID_WINBを得る。
ステップS1210において、依存関係解決部106は、ID_PANBの親IDを取得するために、GUIウィンドウ関係テーブル930を参照した結果、ID_WINBを得る。
ステップS1211において、依存関係解決部106は、ID_WINBの表示属性を更新する。依存関係解決部106は、例えば、ウィンドウタイトル色を赤色、かつ太文字に変更する。
ステップS1218において、依存関係解決部106は、ID_WINBを親処理対象GUI部品IDとする。
ステップS1218において、依存関係解決部106は、ID_WINBを親処理対象GUI部品IDとする。
ステップS1210で、ID_WINBの親IDを取得するために、GUIウィンドウ関係テーブル930を参照した結果、ID_WINAを得る。
ステップS1211において、依存関係解決部106は、ID_WINAの表示属性を更新する。依存関係解決部106は、例えば、ウィンドウタイトル色を赤色、かつ太文字に変更する。
ステップS1211において、依存関係解決部106は、ID_WINAの表示属性を更新する。依存関係解決部106は、例えば、ウィンドウタイトル色を赤色、かつ太文字に変更する。
ステップS1218において、依存関係解決部106は、ID_WINAを親処理対象GUI部品IDとする。
ステップS1210において、依存関係解決部106は、ID_WINAの親IDを取得するために、GUIウィンドウ関係テーブル930を参照するが、存在しないため、ステップS1217へ進む。
ステップS1210において、依存関係解決部106は、ID_WINAの親IDを取得するために、GUIウィンドウ関係テーブル930を参照するが、存在しないため、ステップS1217へ進む。
ステップS1217において、依存関係解決部106は、入出力GUI部品1720の次の入出力GUI部品が存在しないため、処理対象IDに空を設定する。
ステップS1203において、依存関係解決部106は、次の処理対象IDが存在しないため、ステップS1212へ進む。
ステップS1203において、依存関係解決部106は、次の処理対象IDが存在しないため、ステップS1212へ進む。
ステップS1212において、依存関係解決部106は、フォーカスアウト等により入力値が確定した入出力GUI部品は入出力GUI部品1710であったため、これを処理対象GUI部品とする。
ステップS1213において、依存関係解決部106は、処理対象GUI部品が存在し、かつ、ステップS1208で表示属性を変更した入出力GUI部品として、入出力GUI部品1720が存在しているため、ステップS1214へ進む。
ステップS1213において、依存関係解決部106は、処理対象GUI部品が存在し、かつ、ステップS1208で表示属性を変更した入出力GUI部品として、入出力GUI部品1720が存在しているため、ステップS1214へ進む。
ステップS1214において、依存関係解決部106は、例えば、入出力GUI部品1710のテキストフィールドのボーダー色を黄色にする。
ステップS1215において、依存関係解決部106は、ID_Aの親IDを取得するために、GUIウィンドウ関係テーブル930を参照した結果、ID_PANAを得る。 ステップS1216において、依存関係解決部106は、ウィンドウではないため、ID_PANAの表示属性は更新しない。
ステップS1215において、依存関係解決部106は、ID_Aの親IDを取得するために、GUIウィンドウ関係テーブル930を参照した結果、ID_PANAを得る。 ステップS1216において、依存関係解決部106は、ウィンドウではないため、ID_PANAの表示属性は更新しない。
ステップS1219において、依存関係解決部106は、ID_PANAを処理対象GUI部品とする。
ステップS1215において、依存関係解決部106は、ID_PANAの親IDを取得するために、GUIウィンドウ関係テーブル930を参照した結果、ID_WINAを得る。
ステップS1215において、依存関係解決部106は、ID_PANAの親IDを取得するために、GUIウィンドウ関係テーブル930を参照した結果、ID_WINAを得る。
ステップS1216において、依存関係解決部106は、ID_WINAの表示属性を更新する。依存関係解決部106は、例えば、ウィンドウタイトル色を黄色、かつ太文字に変更する。
ステップS1219において、依存関係解決部106は、ID_WINAを処理対象GUI部品とする。
ステップS1219において、依存関係解決部106は、ID_WINAを処理対象GUI部品とする。
ステップS1215において、依存関係解決部106は、ID_WINAの親IDを取得するために、GUIウィンドウ関係テーブル930を参照した結果、親が存在しないため、ステップS1301へ進む。
ステップS1301において、依存関係解決部106は、 レイアウト対象GUIID1732、即ち、ID_WINAと、ID_WINBと、を読み込み、レイアウト対象として設定する。
ステップS1301において、依存関係解決部106は、 レイアウト対象GUIID1732、即ち、ID_WINAと、ID_WINBと、を読み込み、レイアウト対象として設定する。
ステップS1302において、依存関係解決部106は、レイアウト方法1731、即ち、freeを読み込む。
ステップS1303において、依存関係解決部106は、ステップS1302で読み込んだレイアウト方法がfreeのため、ステップS1305に進む。
ステップS1303において、依存関係解決部106は、ステップS1302で読み込んだレイアウト方法がfreeのため、ステップS1305に進む。
ステップS1305において、依存関係解決部106は、アクティブウィンドウGUIID1733、即ち、ID_WINBを読み込む。
ステップS1306において、依存関係解決部106は、ステップS1305で読み込んだアクティブウィンドウのGUIID、即ち、ID_WINBに対して、ウィンドウアクティブ化を行う。
ステップS1306において、依存関係解決部106は、ステップS1305で読み込んだアクティブウィンドウのGUIID、即ち、ID_WINBに対して、ウィンドウアクティブ化を行う。
図19は、図11の1010と1020とで表される入出力GUI部品がユーザからの入力を受け付けて、入力を確定したときの、入出力GUI部品及び画面表示を説明するための図である。
図19の1810及び1820は、入出力GUI部品であり、図10の910及び920と同一である。
図19の1810及び1820は、入出力GUI部品であり、図10の910及び920と同一である。
図19の1830は、ウィンドウ関係テーブルである。図10ではGUIウィンドウ関係テーブル930中のID_WINAとID_WINBとの関係がmodelessであったのに対し、図19ではウィンドウ関係情報1830中のID_WINAとID_WINBとの関係がmodalである点が異なる。
ここで、入出力GUI部品104として図11の1010及び1020、依存属性情報が図7、依存関係テーブルが図8であるとして、入出力GUI部品及び画面表示が図11の1040及び1050であった場合を想定する。まず、テキストフィールド1052にユーザから100が入力される。続けて、テキストフィールド1042にユーザから2010が入力され、テキストフィールド1042からフォーカスアウトされることで、値が確定したときの動作フローを、図15、図16、図17のフローチャートに沿って説明する。
ステップS1401からステップS1510までの処理は、図15及び図16の場合の説明と同様である。
ステップS1511において、依存関係解決部106は、その直前のステップS1510にて取得した値がmodalだったため、ステップS1609に進む。
ステップS1609において、依存関係解決部106は、ウィンドウレイアウト情報1840中のレイアウト方法1841にtileを設定する。
ステップS1609において、依存関係解決部106は、ウィンドウレイアウト情報1840中のレイアウト方法1841にtileを設定する。
以降、ステップS1610からステップS1612までの処理は、図19の場合の説明と同様である。
図19の1840は、ウィンドウレイアウト情報である。ウィンドウレイアウト情報1730との違いは、レイアウト方法1731がfreeであったのに対し、一方、図19のウィンドウレイアウト情報1840中のレイアウト方法1841は、tileとなっている。
図19の1840は、ウィンドウレイアウト情報である。ウィンドウレイアウト情報1730との違いは、レイアウト方法1731がfreeであったのに対し、一方、図19のウィンドウレイアウト情報1840中のレイアウト方法1841は、tileとなっている。
図19の1850及び1860は、図15、図16、図17のフローチャートの処理の終了後の、ウィンドウイメージである。ID_WINAを有するウィンドウ1850と、ID_WINBを有するウィンドウ1860との2つは、タイル表示制御されていることがわかる。
図20の1910及び1920は、入出力GUI部品であり、図10の910及び920と同一である。
図20の1930は、ウィンドウ関係情報である。図10との違いは、図10のウィンドウ関係情報1930中のID_PANAは、親であるID_CONAよりtab制御を受けており、また、ID_PANBは、親であるID_CONAよりtab制御を受けていることである。
図20の1930は、ウィンドウ関係情報である。図10との違いは、図10のウィンドウ関係情報1930中のID_PANAは、親であるID_CONAよりtab制御を受けており、また、ID_PANBは、親であるID_CONAよりtab制御を受けていることである。
図20の1940は、入出力GUI部品1910及び1920を画面表示した時のイメージ図である。
図21は、1910及び1920で表される入出力GUI部品がユーザからの入力を受け付けて、入力が確定したときの、入出力GUI部品及び画面表示を説明するための図である。
ここで、入出力GUI部品104として図11の1010と1020、依存属性情報が図7、依存関係テーブルが図8であるとして、入出力GUI部品及び画面表示が図21の2050であるとする。まず、テキストフィールド1052にユーザから100が入力される。続けて、テキストフィールド1042にユーザから2010が入力され、テキストフィールド1042からフォーカスアウトされることで、値が確定したときの動作フローを、図15、図16、図17のフローチャートに沿って説明する。
ここで、入出力GUI部品104として図11の1010と1020、依存属性情報が図7、依存関係テーブルが図8であるとして、入出力GUI部品及び画面表示が図21の2050であるとする。まず、テキストフィールド1052にユーザから100が入力される。続けて、テキストフィールド1042にユーザから2010が入力され、テキストフィールド1042からフォーカスアウトされることで、値が確定したときの動作フローを、図15、図16、図17のフローチャートに沿って説明する。
ステップS1401からステップS1511までの処理は、図15及び図16の場合の説明と同様である。
ステップS1512において、依存関係解決部106は、比較元がID_PANA、比較先がID_PANBだったとき、両者の親GUI部品は共にID_CONAのため、ステップS1601へ進む。
ステップS1512において、依存関係解決部106は、比較元がID_PANA、比較先がID_PANBだったとき、両者の親GUI部品は共にID_CONAのため、ステップS1601へ進む。
ステップS1601において、依存関係解決部106は、ステップS1505で最後に取得した動作制御情報、即ちtab1931、ステップS1510で最後に取得した動作制御情報、即ちtab1933、共にtabであるため、ステップS1602へ進む。
ステップS1602において、依存関係解決部106は、ウィンドウレイアウト情報2040のうち、レイアウト方法2041が、今回のステップS1401から始まる処理の間に更新されたか否かを確認する。更新されていないため、依存関係解決部106は、ステップS1605へ進む。
ステップS1602において、依存関係解決部106は、ウィンドウレイアウト情報2040のうち、レイアウト方法2041が、今回のステップS1401から始まる処理の間に更新されたか否かを確認する。更新されていないため、依存関係解決部106は、ステップS1605へ進む。
ステップS1605において、依存関係解決部106は、ウィンドウレイアウト情報2040のレイアウト方法2041にtabを設定する。
ステップS1606において、依存関係解決部106は、比較元、比較先の共通の親であるID_CONAを、tab親IDとして保存する。
ステップS1606において、依存関係解決部106は、比較元、比較先の共通の親であるID_CONAを、tab親IDとして保存する。
ステップS1513において、依存関係解決部106は、ID_PANAの最下位子孫である、ID_Aを比較元GUIIDとする。また、依存関係解決部106は、ステップS1501において作成したリストのうち、比較先GUIIDであるID_Bの次要素が存在しないため、比較先GUIIDとして空を設定する。
ステップS1503において、依存関係解決部106は、ID_Aの親IDを取得するために、GUIウィンドウ関係テーブル2030を参照して、子の列よりID_Aとして該当するエントリを検索する。その結果、依存関係解決部106は、エントリ2032が該当したため、親IDとしてID_PANAを取得する。
ステップS1503において、依存関係解決部106は、ID_Aの親IDを取得するために、GUIウィンドウ関係テーブル2030を参照して、子の列よりID_Aとして該当するエントリを検索する。その結果、依存関係解決部106は、エントリ2032が該当したため、親IDとしてID_PANAを取得する。
ステップS1504において、依存関係解決部106は、親IDとしてID_PANAが取得できたため、ステップS1505に進む。
ステップS1505において、依存関係解決部106は、エントリ2032の動作制御情報を取得する。
ステップS1505において、依存関係解決部106は、エントリ2032の動作制御情報を取得する。
ステップS1506において、依存関係解決部106は、動作制御情報が−であったため、ステップS1507に進む。
ステップS1507において、依存関係解決部106は、比較先GUIIDが空のため、ステップS1514へ進む。
ステップS1507において、依存関係解決部106は、比較先GUIIDが空のため、ステップS1514へ進む。
ステップS1514において、依存関係解決部106は、ステップS1501において作成したリストのうち、比較元GUIIDであるID_Aの次要素としてID_Bを比較元GUIIDに設定する。また、依存関係解決部106は、比較元GUIIDであるID_Bの次要素が存在しないため、比較先GUIIDとして空を設定する。
ステップS1502において、依存関係解決部106は、比較元GUIIDとしてID_Bを確認する。
ステップS1502において、依存関係解決部106は、比較元GUIIDとしてID_Bを確認する。
ステップS1503において、依存関係解決部106は、ID_Bの親IDを取得するために、GUIウィンドウ関係テーブル2030を参照して、子の列よりID_Bとして該当するエントリを検索する。その結果、依存関係解決部106は、エントリ2034が該当したため、親IDとしてID_PANBを取得する。
ステップS1504において、依存関係解決部106は、親IDとしてID_PANBが取得できたため、ステップS1505に進む。
ステップS1504において、依存関係解決部106は、親IDとしてID_PANBが取得できたため、ステップS1505に進む。
ステップS1505において、依存関係解決部106は、エントリ2034の動作制御情報を取得する。
ステップS1506において、依存関係解決部106は、動作制御情報が−であったため、ステップS1507に進む。
ステップS1506において、依存関係解決部106は、動作制御情報が−であったため、ステップS1507に進む。
ステップS1507において、依存関係解決部106は、比較先GUIIDが空のため、ステップS1514へ進む。
ステップS1514において、依存関係解決部106は、ステップS1501で作成したリストのうち、比較元GUIIDであるID_Bの次要素が存在しないため、比較元GUIIDとして、空を設定する。また、依存関係解決部106は、比較元GUIIDが既に空要素であるため、比較先GUIIDも空を設定する。
ステップS1514において、依存関係解決部106は、ステップS1501で作成したリストのうち、比較元GUIIDであるID_Bの次要素が存在しないため、比較元GUIIDとして、空を設定する。また、依存関係解決部106は、比較元GUIIDが既に空要素であるため、比較先GUIIDも空を設定する。
ステップS1502において、依存関係解決部106は、比較元として空が設定されているため、ステップS1610へ進む。
ステップS1610において、依存関係解決部106は、ステップS1501で作成した依存元IDと依存先IDとの親IDを取得する。依存関係解決部106は、レイアウト方法1731の設定値がtabのため、以下の方法により親IDを決定する。
ステップS1610において、依存関係解決部106は、ステップS1501で作成した依存元IDと依存先IDとの親IDを取得する。依存関係解決部106は、レイアウト方法1731の設定値がtabのため、以下の方法により親IDを決定する。
依存関係解決部106は、ID_Aに関しては、GUIウィンドウ関係テーブル930を参照することにより、ID_Aの親であるID_PANAを取得する。このエントリは、動作制御情報が未定義のため、依存関係解決部106は、続けてGUIウィンドウ関係テーブル930を参照することにより、ID_PANAの親であるID_CONAを取得する。このエントリは動作制御情報がtabのため、依存関係解決部106は、ID_PANAをステップS1610での設定対象GUIIDとする。同様にして、依存関係解決部106は、ID_Bの親として、ID_PANBを取得し、ステップS1610での追加設定対象GUIIDとする。
以上、依存関係解決部106は、処理により確定した、ID_PANAと、ID_PANBと、をウィンドウレイアウト情報2040のうち、レイアウト対象GUIID2042として設定する。
ステップS1611において、依存関係解決部106は、ステップS1501で作成したリストのうち、依存先IDとして最も先頭にあるGUIIDの親ID、即ち、ID_PANBを、アクティブウィンドウGUIID2043として設定する。
ステップS1611において、依存関係解決部106は、ステップS1501で作成したリストのうち、依存先IDとして最も先頭にあるGUIIDの親ID、即ち、ID_PANBを、アクティブウィンドウGUIID2043として設定する。
以降、ステップS1612の処理は、図19の場合の説明と同様である。
結果として、ウィンドウイメージとして図21の2050が表示される。
ID_PANAを有するパネル2051と、ID_PANBを有するパネル2052の2つは、共にタブコントロール表示制御されていることがわかる。
結果として、ウィンドウイメージとして図21の2050が表示される。
ID_PANAを有するパネル2051と、ID_PANBを有するパネル2052の2つは、共にタブコントロール表示制御されていることがわかる。
また、入力値として依存関係を持つID_AとID_Bとの互いの親、即ち、ID_PANAである2051とID_PANBである2052のタイトル文字が色変化、及び強調表示されている。そのため、ユーザは、同一タブコントロール内の別パネル間で依存関係があったことがわかる。
このように本実施形態によれば、システムに対する画面要求時に依存属性定義ファイル101を読み込んで動作させるようにしている。よって、入出力GUI部品104のプログラムを変更及び拡張することなく、対象GUIアプリケーションの依存属性定義ファイル101を書き換えるだけで、入出力GUI部品間の依存関係を含む詳細なアプリカスタマイズが可能となる。
また、依存属性定義ファイル101の編集をユーザが行うことで、ユーザの運用に合わせた形で、詳細なアプリカスタマイズが可能である。また、アプリケーションを提供するベンダーもユーザより依頼されたカスタマイズを、低コストで簡易に実現することができる。
また、依存属性定義ファイル101の編集をユーザが行うことで、ユーザの運用に合わせた形で、詳細なアプリカスタマイズが可能である。また、アプリケーションを提供するベンダーもユーザより依頼されたカスタマイズを、低コストで簡易に実現することができる。
(その他の実施形態)
また、本発明の目的は、以下のようにすることによって達成される。即ち、上述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体(又は記録媒体)を、システム或いは装置に供給する。そして、そのシステム或いは装置の中央演算処理手段(CPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行する。この場合、記憶媒体から読み出されたプログラムコード自体が上述した実施形態の機能を実現することになり、そのプログラムコードを記録した記憶媒体は本発明を構成することになる。
また、本発明の目的は、以下のようにすることによって達成される。即ち、上述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体(又は記録媒体)を、システム或いは装置に供給する。そして、そのシステム或いは装置の中央演算処理手段(CPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行する。この場合、記憶媒体から読み出されたプログラムコード自体が上述した実施形態の機能を実現することになり、そのプログラムコードを記録した記憶媒体は本発明を構成することになる。
また、システム或いは装置の前記中央演算処理手段が読み出したプログラムコードを実行することにより、そのプログラムコードの指示に基づき、システム或いは装置上で稼働しているオペレーティングシステム(OS)等が実際の処理の一部又は全部を行う。その処理によって上述した実施形態の機能が実現される場合も含まれる。
更に、記憶媒体から読み出されたプログラムコードが、前記システム或いは装置に挿入された機能拡張カードや、接続された機能拡張ユニットに備わるメモリに書込まれたとする。その後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPU等が実際の処理の一部又は全部を行い、その処理によって上述した実施形態の機能が実現される場合も含まれる。
本発明を前記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
以上、上述した実施形態によれば、プログラムを変更、又は拡張することなく、設定ファイルを書き換えるだけで、入出力GUI部品間の依存関係を含む詳細なアプリケーションのカスタマイズを可能とすることができる。
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
101 依存属性定義ファイル
102 依存属性定義ファイル解釈部
103 依存関係情報
104 入出力GUI部品
105 表示管理部
106 依存関係解決部
107 ウィンドウレイアウト情報
102 依存属性定義ファイル解釈部
103 依存関係情報
104 入出力GUI部品
105 表示管理部
106 依存関係解決部
107 ウィンドウレイアウト情報
Claims (7)
- 入出力GUI部品へ設定することができる依存属性が記述されている依存属性定義ファイルを読み込み、入出力GUI部品間の依存関係情報を生成する依存属性定義ファイル解析手段と、
入出力GUI部品に入力された値が、前記入出力GUI部品に係る前記依存関係情報に記述されている値制約情報の範囲内にあるか否かを判定し、前記値が前記値制約情報の範囲内にないと判定した場合、前記入出力GUI部品の表示属性値と、前記依存関係情報に記述されている前記入出力GUI部品に関係する他の入出力GUI部品の表示属性値と、前記入出力GUI部品を含むGUI画面のレイアウトに関する情報が記述されているレイアウト情報と、を変更する依存関係解決手段と、
前記依存関係解決手段において変更された、入出力GUI部品の表示属性値と、前記レイアウト情報と、に基づいて、前記GUI画面を更新する表示管理手段と、
を有することを特徴とする情報処理装置。 - 前記依存関係解決手段は、入出力GUI部品からのフォーカスアウトが検知されると、前記入出力GUI部品に係る前記依存関係情報に基づき、前記レイアウト情報を変更することを特徴とする請求項1に記載の情報処理装置。
- 前記依存関係解決手段は、入出力GUI部品からのフォーカスアウトが検知されると、前記入出力GUI部品に係る前記依存関係情報に基づき、前記レイアウト情報にレイアウト方法、レイアウト対象のウィンドウを識別する識別情報、前記GUI画面の最前面に表示するウィンドウを識別する識別情報、を設定することを特徴とする請求項1に記載の情報処理装置。
- 情報処理装置におけるGUI画面更新方法であって、
入出力GUI部品へ設定することができる依存属性が記述されている依存属性定義ファイルを読み込み、入出力GUI部品間の依存関係情報を生成する依存属性定義ファイル解析ステップと、
入出力GUI部品に入力された値が、前記入出力GUI部品に係る前記依存関係情報に記述されている値制約情報の範囲内にあるか否かを判定し、前記値が前記値制約情報の範囲内にないと判定した場合、前記入出力GUI部品の表示属性値と、前記依存関係情報に記述されている前記入出力GUI部品に関係する他の入出力GUI部品の表示属性値と、前記入出力GUI部品を含むGUI画面のレイアウトに関する情報が記述されているレイアウト情報と、を変更する依存関係解決ステップと、
前記依存関係解決ステップにおいて変更された、入出力GUI部品の表示属性値と、前記レイアウト情報と、に基づいて、前記GUI画面を更新する表示管理ステップと、
を有することを特徴とするGUI画面更新方法。 - 前記依存関係解決ステップでは、入出力GUI部品からのフォーカスアウトが検知されると、前記入出力GUI部品に係る前記依存関係情報に基づき、前記レイアウト情報を変更することを特徴とする請求項4に記載のGUI画面更新方法。
- 前記依存関係解決ステップでは、入出力GUI部品からのフォーカスアウトが検知されると、前記入出力GUI部品に係る前記依存関係情報に基づき、前記レイアウト情報にレイアウト方法、レイアウト対象のウィンドウを識別する識別情報、前記GUI画面の最前面に表示するウィンドウを識別する識別情報、を設定することを特徴とする請求項4に記載のGUI画面更新方法。
- コンピュータを、
入出力GUI部品へ設定することができる依存属性が記述されている依存属性定義ファイルを読み込み、入出力GUI部品間の依存関係情報を生成する依存属性定義ファイル解析手段と、
入出力GUI部品に入力された値が、前記入出力GUI部品に係る前記依存関係情報に記述されている値制約情報の範囲内にあるか否かを判定し、前記値が前記値制約情報の範囲内にないと判定した場合、前記入出力GUI部品の表示属性値と、前記依存関係情報に記述されている前記入出力GUI部品に関係する他の入出力GUI部品の表示属性値と、前記入出力GUI部品を含むGUI画面のレイアウトに関する情報が記述されているレイアウト情報と、を変更する依存関係解決手段と、
前記依存関係解決手段において変更された、入出力GUI部品の表示属性値と、前記レイアウト情報と、に基づいて、前記GUI画面を更新する表示管理手段と、
して機能させることを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007203103A JP2009037531A (ja) | 2007-08-03 | 2007-08-03 | 情報処理装置及びgui画面更新方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007203103A JP2009037531A (ja) | 2007-08-03 | 2007-08-03 | 情報処理装置及びgui画面更新方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009037531A true JP2009037531A (ja) | 2009-02-19 |
Family
ID=40439357
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007203103A Pending JP2009037531A (ja) | 2007-08-03 | 2007-08-03 | 情報処理装置及びgui画面更新方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009037531A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6075908B2 (ja) * | 2014-07-04 | 2017-02-08 | 三菱電機株式会社 | 位置決め制御装置の同期制御設定方法、プログラム及び位置決め制御装置の制御設定装置 |
US10466656B2 (en) | 2015-07-30 | 2019-11-05 | Hitachi, Ltd. | Operation automation apparatus and method, and storage medium |
CN111443912A (zh) * | 2020-03-25 | 2020-07-24 | 平安医疗健康管理股份有限公司 | 基于组件的页面渲染方法、装置、计算机设备和存储介质 |
-
2007
- 2007-08-03 JP JP2007203103A patent/JP2009037531A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6075908B2 (ja) * | 2014-07-04 | 2017-02-08 | 三菱電機株式会社 | 位置決め制御装置の同期制御設定方法、プログラム及び位置決め制御装置の制御設定装置 |
US10466656B2 (en) | 2015-07-30 | 2019-11-05 | Hitachi, Ltd. | Operation automation apparatus and method, and storage medium |
CN111443912A (zh) * | 2020-03-25 | 2020-07-24 | 平安医疗健康管理股份有限公司 | 基于组件的页面渲染方法、装置、计算机设备和存储介质 |
CN111443912B (zh) * | 2020-03-25 | 2023-06-30 | 深圳平安医疗健康科技服务有限公司 | 基于组件的页面渲染方法、装置、计算机设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7490298B2 (en) | Creating documentation screenshots on demand | |
JP4861611B2 (ja) | モジュール型Webアプリケーションを作成するためのフレームワーク | |
US8018398B1 (en) | Automatic configuration of multiple monitor systems | |
Sridevi | User interface design | |
JP2006302242A (ja) | コントロールパネル機能との検索可能なタスクベースのインターフェイス | |
JP4893108B2 (ja) | 情報処理装置及び情報処理方法、並びにコンピュータ・プログラム | |
US7600199B2 (en) | Task-based interface with underlying extensible framework | |
US20080301661A1 (en) | Indication of new features in a software user interface | |
JP2009037531A (ja) | 情報処理装置及びgui画面更新方法 | |
JP5867540B2 (ja) | プログラム生成装置、プログラム生成装置の制御方法、およびプログラム | |
KR102618331B1 (ko) | 스크린 자동 생성 방법 및 이를 위한 장치 | |
JP2009157580A (ja) | Hmi開発支援装置、hmi開発支援方法およびhmi開発支援プログラム | |
JP2008191993A (ja) | Gui部品表示装置及びgui部品表示方法 | |
WO2007035229A1 (en) | Method for automatically defining icons | |
JP3294691B2 (ja) | オブジェクト指向システム構築方法 | |
JP6577392B2 (ja) | プログラム開発支援装置、プログラム開発支援方法及びプログラム開発支援装置で実行することが可能なコンピュータプログラム | |
JP2011008352A (ja) | 文書処理装置、文書処理方法、及びプログラム | |
JP7421137B2 (ja) | 情報処理装置、情報処理方法およびプログラム | |
JP2009157847A (ja) | プログラム開発装置、プログラム開発プログラム | |
JP2017182572A (ja) | データ処理装置、情報処理装置、データ処理装置のデータ処理方法、情報処理装置のデータ処理方法、及びプログラム | |
JP2024076013A (ja) | 情報処理システム、情報処理システムの制御方法、及びプログラム | |
JP2024076011A (ja) | 情報処理システム、情報処理システムの制御方法、及びプログラム | |
JP2024076010A (ja) | 情報処理システム、情報処理システムの制御方法、及びプログラム | |
JP2024076005A (ja) | 情報処理システム、情報処理システムの制御方法、及びプログラム | |
JP2024075981A (ja) | 情報処理システム、情報処理システムの制御方法、及びプログラム |