JP2016170507A - 情報処理装置、情報処理方法、画像処理システム、情報処理プログラム - Google Patents
情報処理装置、情報処理方法、画像処理システム、情報処理プログラム Download PDFInfo
- Publication number
- JP2016170507A JP2016170507A JP2015048425A JP2015048425A JP2016170507A JP 2016170507 A JP2016170507 A JP 2016170507A JP 2015048425 A JP2015048425 A JP 2015048425A JP 2015048425 A JP2015048425 A JP 2015048425A JP 2016170507 A JP2016170507 A JP 2016170507A
- Authority
- JP
- Japan
- Prior art keywords
- control
- layout
- screen
- information processing
- product
- 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
- Accessory Devices And Overall Control Thereof (AREA)
- Facsimiles In General (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
【課題】同じUI表示機能を有するコントロール間で当該コントロール識別情報を一致させ、UI画面の自動操作手順を機器間において共通化する。
【解決手段】
UI画面で表示するコントロールに係るUIレイアウト表334を生成するUIレイアウト部332と、生成したUIレイアウト表334に基づきコントロールを配置したUI画面を生成しかつ表示するUI画面表示部333を備えた情報処理装置であって、コントロールと当該コントロールに割り付けたUI番号を定義したUI割付テーブル37を備え、前記UIレイアウト部332は、前記UIレイアウト表334を生成するとき、前記UI割付テーブル37中に、生成するUIレイアウト表334中のコントロールと同じコントロールがあるとき、生成するUI画面のコントロールに対してUI割付テーブル37のコントロール番号を割り付ける。
【選択図】図18
【解決手段】
UI画面で表示するコントロールに係るUIレイアウト表334を生成するUIレイアウト部332と、生成したUIレイアウト表334に基づきコントロールを配置したUI画面を生成しかつ表示するUI画面表示部333を備えた情報処理装置であって、コントロールと当該コントロールに割り付けたUI番号を定義したUI割付テーブル37を備え、前記UIレイアウト部332は、前記UIレイアウト表334を生成するとき、前記UI割付テーブル37中に、生成するUIレイアウト表334中のコントロールと同じコントロールがあるとき、生成するUI画面のコントロールに対してUI割付テーブル37のコントロール番号を割り付ける。
【選択図】図18
Description
本発明は、情報処理装置、情報処理方法、画像処理システム、情報処理プログラムに関する。
ソフトウェアのUI(ユーザーインターフェース)画面として、ウィンドウを表示して、そのウィンドウ内にボタンなどのコントロールを配置する方法が広く用いられている。ウィンドウ内のコントロールに対して、多くの場合はマウスやキーボードなどの外部デバイスを用いて、コントロールに対する処理を行い、対象となるソフトウェアを操作する。
ソフトウェアのUI画面を通じて品質評価を実施する場合には、実際に評価者がデバイスを通じてソフトウェアを操作することが多い。そのデバイス操作により生じるソフトウェア的なイベントシーケンスを、対象となるコントロールのコントロールID番号を指定して、ソフトウェア処理で実現する。これにより、ソフトウェアのUI画面操作シーケンスを予めスクリプトとして記述しておき、そのスクリプトによりUI画面操作を自動実行することが既に知られている。
ソフトウェアのUI画面を通じて品質評価を実施する場合には、実際に評価者がデバイスを通じてソフトウェアを操作することが多い。そのデバイス操作により生じるソフトウェア的なイベントシーケンスを、対象となるコントロールのコントロールID番号を指定して、ソフトウェア処理で実現する。これにより、ソフトウェアのUI画面操作シーケンスを予めスクリプトとして記述しておき、そのスクリプトによりUI画面操作を自動実行することが既に知られている。
UI画面の自動操作は、操作手順をテキスト形式のスクリプトとして作成されることが多い。このスクリプトの作成には品質の確保まで考慮すると無視できない工数(コスト)が発生する。そのため、一度作成したスクリプトが繰り返し使用できなければ、スクリプト作成の利点が得られない。
ある場合には、スクリプトは、同一のソフトウェアのバージョンアップに伴う自動テストに用いられることがある。また他の場合には、スクリプトはデバイスドライバのように、シリーズ(同一機能を共有する製品群)化された製品のドライバ設定画面で共通に使用できる自動テストで使用することもできる。
ある場合には、スクリプトは、同一のソフトウェアのバージョンアップに伴う自動テストに用いられることがある。また他の場合には、スクリプトはデバイスドライバのように、シリーズ(同一機能を共有する製品群)化された製品のドライバ設定画面で共通に使用できる自動テストで使用することもできる。
UI画面操作の自動実行を実現しようとする人(ユーザー)は、操作対象となるソフトウェア機能に該当するコントロールのコントロールID番号を調べて、そのID番号情報に基づいて自動実行スクリプトを作成する。
このようにID番号情報に基づいて作成する自動実行スクリプトは、従来のように、UI画面のコントロールID番号を固定的に割り付けるタイプのソフトウェアでUI画面自動操作を行う場合は支障がない。しかし、ソフトウェアの実行時にUI画面を動的に生成して、それに対してコントロールID番号を割り付けるタイプのソフトウェアでは、実行時に同じ機能のコントロールに割り付けられるコントロールID番号が変わることが起きる。そのため、予め作成した自動実行スクリプトが期待通りに動作しなくなるという問題がある。
このようにID番号情報に基づいて作成する自動実行スクリプトは、従来のように、UI画面のコントロールID番号を固定的に割り付けるタイプのソフトウェアでUI画面自動操作を行う場合は支障がない。しかし、ソフトウェアの実行時にUI画面を動的に生成して、それに対してコントロールID番号を割り付けるタイプのソフトウェアでは、実行時に同じ機能のコントロールに割り付けられるコントロールID番号が変わることが起きる。そのため、予め作成した自動実行スクリプトが期待通りに動作しなくなるという問題がある。
なお、ここで「UI画面を動的に生成」することを説明すると共に、比較のために従来のUI画面の生成方法について説明する。
従来のUI画面の生成方法では、ソフトウェアの実行前にUI画面設計を完全形で定義しておき、実行時は予め定義されたコントロールの配置のまま、そのコントロール(オブジェクト)を表示するか非表示(隠す)か否かだけを制御している。
この方法では、例えばデバイスドライバが制御する機器の全く不要なコントロールも表示はしないが作成することになる。
従来のUI画面の生成方法では、ソフトウェアの実行前にUI画面設計を完全形で定義しておき、実行時は予め定義されたコントロールの配置のまま、そのコントロール(オブジェクト)を表示するか非表示(隠す)か否かだけを制御している。
この方法では、例えばデバイスドライバが制御する機器の全く不要なコントロールも表示はしないが作成することになる。
これに対し、「UI画面を動的に生成」する場合は、そのソフトウェアは予め既知の機能に関連する画面ごとのコントロールの一覧データは持っているものの、予めどのコントロールを生成するか、コントロールをどこに配置するか、各コントロールに何番のID番号を割り付けるかについては定義していない。代りに、対応している機能(コントロール)の一覧データや、そのソフトウェア(デバイスドライバなど)の仕様や状況に応じて、どの機能(コントロール)を使用するか定義されたデータを参照して、仕様や状況に応じてコントロール(オブジェクト)を生成・配置してUI画面を動的に生成・表示する。
ここで、特許文献1(特開2012−221093号公報)には、印刷ドライバーの変更を容易に行うため、印刷ドライバーが、UI定義データ(UIリソーススクリプト)に、画面へ表示するコントロール(オブジェクト)を複数定義して、機能定義データ(制御ファイル)にコントロールに対応付けられた動作やアイテムを定義しておく。その上で、UI画面上でこのコントロールが選択されたときに、コントロールに対応する動作を実行した表示画面を表示出力するようにした、名称を「印刷ドライバー及び印刷指令装置」とする発明が開示されている。
この発明ではソフトウェアのUI表示の変更を容易に行うことができる。しかし、動的にUI表示させる機能を付加した場合に、類似したUI表示機能を有するソフトウェア間でコントロールのID番号が一致しなくなるという問題は解消できていない。
本発明は、前記従来の問題を解決すべくなされたものであって、その目的は、コントロールを配置したUI画面を動的に生成する際に、同じUI表示機能を有するコントロール間で当該コントロールの識別情報を一致させることで、UI画面の自動操作手順を機器間において共通化することである。
本発明は、UI画面で表示するコントロールに係るUIレイアウトデータを生成するUIレイアウト部と、生成したUIレイアウトデータに基づきコントロールを配置したUI画面を生成しかつ表示するUI画面表示部を備えた情報処理装置であって、コントロールと当該コントロールに割り付けたコントロール識別情報を定義したUI割付テーブルを備え、前記UIレイアウト部は、前記UIレイアウトデータを生成するとき、前記UI割付テーブル中に、生成するUIレイアウトデータ中のコントロールと同じコントロールがあるとき、生成するUI画面のコントロールに対してUI割付テーブルのコントロール識別情報を割り付ける情報処理装置である。
本発明によれば、コントロールを配置したUI画面を動的に生成する際に、同じUI表示機能を有するコントロール間で当該コントロールの識別情報を一致させることで、UI画面の自動操作手順を機器間において共通化することができる。
本発明の実施形態について説明する前に、その前提となる従来技術について図1〜図16を参照して説明する。
PC(Personal Computer)のソフトウェアの中でも、デバイスドライバは、短期間で類似した機種やモデル向けに複数のソフトウェアが市場に投入されることが多い。
例えば、シリーズ製品では、多くの同一の機能を持ち、ソフトウェア表示画面も同一であることが多い。そこで、シリーズ製品として、ここでは印刷機能を持つMFP(多機能プリンタ)を例に採り、それに対応したプリンタドライバ(ソフトウェア)について、その印刷設定画面の表示を具体例として説明する。
なお、ここでは、具体例として、プリンタドライバを用いて説明を行うが、同じ特徴を持つソフトウェアであれば、プリンタドライバやデバイスドライバに限定されない。
PC(Personal Computer)のソフトウェアの中でも、デバイスドライバは、短期間で類似した機種やモデル向けに複数のソフトウェアが市場に投入されることが多い。
例えば、シリーズ製品では、多くの同一の機能を持ち、ソフトウェア表示画面も同一であることが多い。そこで、シリーズ製品として、ここでは印刷機能を持つMFP(多機能プリンタ)を例に採り、それに対応したプリンタドライバ(ソフトウェア)について、その印刷設定画面の表示を具体例として説明する。
なお、ここでは、具体例として、プリンタドライバを用いて説明を行うが、同じ特徴を持つソフトウェアであれば、プリンタドライバやデバイスドライバに限定されない。
図1は、本発明の前提技術に係るPC2とMFP3とを含むネットワーク構成1の一例を示す図である。
図1Aと図1Bは、プリンタドライバ(ソフトウェア)が動作するPC2と、印刷機能を持つMFP3との接続形態の代表的な例を示す。即ち、図1Aは、ネットワーク4を介してPC2とMFP3が接続されている例を、また図1Bは、USB(Universal Serial Bus)などの直結ケーブル5を介して接続されている例を示している。
図1Aと図1Bは、プリンタドライバ(ソフトウェア)が動作するPC2と、印刷機能を持つMFP3との接続形態の代表的な例を示す。即ち、図1Aは、ネットワーク4を介してPC2とMFP3が接続されている例を、また図1Bは、USB(Universal Serial Bus)などの直結ケーブル5を介して接続されている例を示している。
図2は、図1に示すPC2のハードウェア構成の一例を示す図である。
補助記憶装置14は、ハードディスクなどのデータ格納装置であり、ソフトウェア(プログラム)やデータがファイルシステムなどの形態で格納される。
演算処理装置16は、主記憶装置15のプログラムを読み込み、そのプログラムに応じて演算やデータ処理を行う。
記録媒体18は光ディスクなどが用いられる。ソフトウェアやデータは、補助記憶装置14やドライブ装置13を経由して記録媒体18からメモリー装置などの主記憶装置15に読み込む。
PC2のマンマシンインターフェースとして、キーボードやマウスなどの入力装置11、ディスプレイなどの出力装置12が接続される。
PC2は、印刷データを送信するために、インターフェース装置17によりネットワーク4や直結ケーブル5を介して外部のMFP3に接続されている。
これらの装置(図2における入力装置11からインターフェース装置17までの装置)はPC2内でバスBを介して相互に接続されている。
補助記憶装置14は、ハードディスクなどのデータ格納装置であり、ソフトウェア(プログラム)やデータがファイルシステムなどの形態で格納される。
演算処理装置16は、主記憶装置15のプログラムを読み込み、そのプログラムに応じて演算やデータ処理を行う。
記録媒体18は光ディスクなどが用いられる。ソフトウェアやデータは、補助記憶装置14やドライブ装置13を経由して記録媒体18からメモリー装置などの主記憶装置15に読み込む。
PC2のマンマシンインターフェースとして、キーボードやマウスなどの入力装置11、ディスプレイなどの出力装置12が接続される。
PC2は、印刷データを送信するために、インターフェース装置17によりネットワーク4や直結ケーブル5を介して外部のMFP3に接続されている。
これらの装置(図2における入力装置11からインターフェース装置17までの装置)はPC2内でバスBを介して相互に接続されている。
図3は、図1に示すPC2のソフトウェア構成の一例を示す図である。
PC2のソフトウェアは、アプリケーション21と、OS(Operating System)22と、プリンタドライバ23と、UI自動操作アプリケーション24と、を有している。ここで、アプリケーションは、文書作成、表計算、プレゼンテーション作成、画像編集などのアプリケーションである。
OS22は、アプリケーション21からMFP3に対する要求を受け付けると、プリンタドライバ23経由でMFP3を制御する。
UI自動操作アプリケーション24は、通常はユーザーがアプリケーション21に対して入力装置11を用いて実施する操作を、ユーザーに代わり実施するソフトウェアである。
PC2のソフトウェアは、アプリケーション21と、OS(Operating System)22と、プリンタドライバ23と、UI自動操作アプリケーション24と、を有している。ここで、アプリケーションは、文書作成、表計算、プレゼンテーション作成、画像編集などのアプリケーションである。
OS22は、アプリケーション21からMFP3に対する要求を受け付けると、プリンタドライバ23経由でMFP3を制御する。
UI自動操作アプリケーション24は、通常はユーザーがアプリケーション21に対して入力装置11を用いて実施する操作を、ユーザーに代わり実施するソフトウェアである。
プリンタドライバ23は、データ処理部31、デバイス制御データ32、UI制御部33、データ通信部34、機能定義データ35、UI定義データ36を有するように構成されている。
なお、図3に示すプリンタドライバ23の構成は、ここでの説明に不要な部分は省略してある。また、図3に示すプリンタドライバ23の構成は一例であって、複数のファイルに分かれていてもよい。なお、プリンタドライバ23を構成する機能定義データ35、UI定義データ36の詳細は後述する。
なお、図3に示すプリンタドライバ23の構成は、ここでの説明に不要な部分は省略してある。また、図3に示すプリンタドライバ23の構成は一例であって、複数のファイルに分かれていてもよい。なお、プリンタドライバ23を構成する機能定義データ35、UI定義データ36の詳細は後述する。
アプリケーション21で作成した文書や画像データなどをMFP3に印刷する場合、アプリケーション21からOS22を介してプリンタドライバ23を呼び出して印刷を実行する。ここで、印刷設定の確認や変更を行う場合は、まずはプリンタドライバ23のUI制御部33に印刷設定画面を表示させて、その表示画面でユーザーが操作することにより、印刷設定の変更ができる。なお、このようなユーザーが手作業で実施する操作を、UI自動操作アプリケーション24で代わりに実施させることもできる。
図4は、図3に示したPC2のソフトウェア構成のうち、UI制御部33の構成をより詳細に示した図である。
UI制御部33は、UIコア部331、UI画面表示部333、UIレイアウト部332及びUIレイアウト表334を有している。ここで、UI画面表示部333、UIレイアウト部332は、いずれもUI制御部(UIコア部331)のコンピュータにプログラム(情報処理プログラム)を読み取らせることで実現される機能実現手段である。
UIコア部331は、UI制御部33の主要な処理を受け持つ。UIレイアウト部332は、UIコア部331の指示を受けて、UI定義データ36と機能定義データ35を読み込み、どのような印刷設定画面を表示するかを表すUIレイアウト表334を作成する。UIレイアウト部332によるUIレイアウト表334の作成が終わると、UIコア部331は、UI画面表示部333に作成されたUIレイアウト表334に従いUI画面表示を行うよう指示する。ユーザーもしくはUI自動操作アプリケーション24による印刷設定が完了すると、UIコア部331はデバイス制御データ32に書き込む。
プリンタドライバ23は、アプリケーション21からOS22を介して印刷開始指示を受けて、印刷対象となるデータを受け取ると、デバイス制御データ32の設定内容に応じて印刷処理を実施する。
UI制御部33は、UIコア部331、UI画面表示部333、UIレイアウト部332及びUIレイアウト表334を有している。ここで、UI画面表示部333、UIレイアウト部332は、いずれもUI制御部(UIコア部331)のコンピュータにプログラム(情報処理プログラム)を読み取らせることで実現される機能実現手段である。
UIコア部331は、UI制御部33の主要な処理を受け持つ。UIレイアウト部332は、UIコア部331の指示を受けて、UI定義データ36と機能定義データ35を読み込み、どのような印刷設定画面を表示するかを表すUIレイアウト表334を作成する。UIレイアウト部332によるUIレイアウト表334の作成が終わると、UIコア部331は、UI画面表示部333に作成されたUIレイアウト表334に従いUI画面表示を行うよう指示する。ユーザーもしくはUI自動操作アプリケーション24による印刷設定が完了すると、UIコア部331はデバイス制御データ32に書き込む。
プリンタドライバ23は、アプリケーション21からOS22を介して印刷開始指示を受けて、印刷対象となるデータを受け取ると、デバイス制御データ32の設定内容に応じて印刷処理を実施する。
図5は、MFPの第1の製品(A)のプリンタドライバ23のUI画面表示部333の印刷設定ダイアログ画面の一例を示す図である。
UI画面表示部333の印刷設定画面(UI画面)には、図示のように、原稿サイズ、印刷用紙サイズ、部数、カラー、ステープル、ソートの各指示画面(コントロールが配置された画面)が表示される。
ユーザーは、この印刷設定画面において、印刷設定項目を指定して、OKボタン333aを操作することで印刷設定を行い、キャンセルボタン333bを押すことで、一旦指定した印刷項目をキャンセルして指定し直すことなどができる。
UI画面表示部333の印刷設定画面(UI画面)には、図示のように、原稿サイズ、印刷用紙サイズ、部数、カラー、ステープル、ソートの各指示画面(コントロールが配置された画面)が表示される。
ユーザーは、この印刷設定画面において、印刷設定項目を指定して、OKボタン333aを操作することで印刷設定を行い、キャンセルボタン333bを押すことで、一旦指定した印刷項目をキャンセルして指定し直すことなどができる。
以下、各コントロールを表示するUI画面の生成までの処理手順及びそれに用いる各データなどについて説明する。
まず、最も基本的なデータであるコントロール一覧を示したUI定義データについて説明する。
図6は、UI定義データ36(図4)の一例を示す図である。
UI定義データ36は、特定の製品には依存しないデータである。同一シリーズで対応する最大機能が変わらなければ共通に使用することができる。
図中、2行目と3行目「“ダイアログ”」、「“印刷設定”」は、このUI定義データが、印刷設定ダイアログ画面に表示される可能性があるコントロール一覧を示した定義ファイルであることを示している。
5行目「“原稿サイズ”」以降は、表示される可能性のあるコントロールとして、原稿サイズコンボボックス、印刷用紙サイズコンボボックス、部数スピンボックス、集約コンボボックス、カラーコンボボックス、ステープルコンボボックス、パンチコンボボックス、ソートコンボボックスがUI制御部33に対応していることを表す。
まず、最も基本的なデータであるコントロール一覧を示したUI定義データについて説明する。
図6は、UI定義データ36(図4)の一例を示す図である。
UI定義データ36は、特定の製品には依存しないデータである。同一シリーズで対応する最大機能が変わらなければ共通に使用することができる。
図中、2行目と3行目「“ダイアログ”」、「“印刷設定”」は、このUI定義データが、印刷設定ダイアログ画面に表示される可能性があるコントロール一覧を示した定義ファイルであることを示している。
5行目「“原稿サイズ”」以降は、表示される可能性のあるコントロールとして、原稿サイズコンボボックス、印刷用紙サイズコンボボックス、部数スピンボックス、集約コンボボックス、カラーコンボボックス、ステープルコンボボックス、パンチコンボボックス、ソートコンボボックスがUI制御部33に対応していることを表す。
UI制御部33は、UI定義データ36を読み込んで、印刷設定ダイアログを作成して、そのダイアログ内に自動的にコントロールを配置して、印刷設定ダイアログ画面を表示する制御を行う。
図6に示すUI定義データの1行目の“ベース”で指定された値(1000)は、コントロールのコントロールID番号を動的に割り付ける時の割り付け開始番号である。
図6に示すUI定義データの1行目の“ベース”で指定された値(1000)は、コントロールのコントロールID番号を動的に割り付ける時の割り付け開始番号である。
次に、製品に応じて各コントロールの機能定義を行う機能定義データについて説明する。
図7は、MFPの第1の製品(A)の機能定義データ35の一例を示す図である。
図6のUI定義データ36には、コントロールとして集約とパンチが存在するが、図7の機能定義データ35には存在しない。これは、この機能定義データ35は第1の製品(A)用であり、第1の製品(A)は集約とパンチに対応していないために、図5に示す集約とパンチのコントロールが存在しない印刷設定画面を表示するプリンタドライバ23(UI画面表示部333)を想定したからである。
機能定義データ35とUI制御部33を高機能化することにより、MFP3の状態や印刷設定内容に応じて、コントロールを表示したり或いはしなかったり、固定値としてユーザー操作ができないコントロールとしたりすることもできる。
図7は、MFPの第1の製品(A)の機能定義データ35の一例を示す図である。
図6のUI定義データ36には、コントロールとして集約とパンチが存在するが、図7の機能定義データ35には存在しない。これは、この機能定義データ35は第1の製品(A)用であり、第1の製品(A)は集約とパンチに対応していないために、図5に示す集約とパンチのコントロールが存在しない印刷設定画面を表示するプリンタドライバ23(UI画面表示部333)を想定したからである。
機能定義データ35とUI制御部33を高機能化することにより、MFP3の状態や印刷設定内容に応じて、コントロールを表示したり或いはしなかったり、固定値としてユーザー操作ができないコントロールとしたりすることもできる。
コントロールを生成してUI画面を動的に生成する際に、UI制御部33(UIレイアウト部)は、コントロールにID番号を割り付ける。即ち、ここでは、図6のUI定義データ36の1行目のベースの値“1000”から、“1001・・・”のようにコントロールを生成する順番に割り付ける。本例では、UI定義データ36の中で割り付ける番号の基準となる値を指定しているが、この値は他の方法で指定してもよい。
機能定義データ35は、コンボボックスに表示するアイテムを定義する、あるいはスピンボックスで指定できる値の範囲など、対応する製品に応じて各コントロールの機能定義を行うデータである。
機能定義データ35は、コンボボックスに表示するアイテムを定義する、あるいはスピンボックスで指定できる値の範囲など、対応する製品に応じて各コントロールの機能定義を行うデータである。
印刷設定情報であるデバイス制御データ32について説明する。
データ処理部31は、アプリケーション21からOS22を通じて印刷ドキュメントのデータを受け取ると、MFP3の印刷装置が印刷可能なデータ形式(印刷データ)に変換生成処理を実施する。デバイス制御データ32はその場合の印刷設定情報である。
図8は、デバイス制御データ32の一例を示す図である。
データ処理部31が生成した印刷データは、データ通信部34を介してMFP3に送信される。
デバイス制御データ32は、プリンタドライバ23がPC2に導入された初期状態では存在しないか、或いは対象製品用の機能定義データ35で指定されたデフォルト値が設定されている。
データ処理部31は、アプリケーション21からOS22を通じて印刷ドキュメントのデータを受け取ると、MFP3の印刷装置が印刷可能なデータ形式(印刷データ)に変換生成処理を実施する。デバイス制御データ32はその場合の印刷設定情報である。
図8は、デバイス制御データ32の一例を示す図である。
データ処理部31が生成した印刷データは、データ通信部34を介してMFP3に送信される。
デバイス制御データ32は、プリンタドライバ23がPC2に導入された初期状態では存在しないか、或いは対象製品用の機能定義データ35で指定されたデフォルト値が設定されている。
図9は、第1の製品(A)の印刷設定画面(図5)の各コントロールにID番号がどのように割り付けられるか、その一例を示す図である。
図9では、網掛けの噴出しとして、各コントロールに動的に割り付けられたID番号が付されている。但し、この部分はUI表示されているわけではない。
OKボタン333aとキャンセルボタン333bは、OS22で予約されたコントロールなので、ID番号の動的割り付けの対象とはならず固定の番号(ここでは、1、2)が割り付けられている。
図9では、網掛けの噴出しとして、各コントロールに動的に割り付けられたID番号が付されている。但し、この部分はUI表示されているわけではない。
OKボタン333aとキャンセルボタン333bは、OS22で予約されたコントロールなので、ID番号の動的割り付けの対象とはならず固定の番号(ここでは、1、2)が割り付けられている。
図10は、図6のUI定義データ36をUIレイアウト部332が読み込んで、その内容に従い、UIレイアウト表334を初期化した状態を示す図である。
フラグ(FLAG)は、対象製品の機能を定義した機能定義データ35を読み込んで、読み込んだUI定義データ36が対象製品に必要なコントロールとなるかどうかをマークするためのものである。対象製品のUI表示で必要なコントロールの場合は1がセットされ、初期化状態では0がセットされている。
名前には、UI定義データ36を読み込み初期化されると、名前の値がセットされる。
ID番号は、フラグが1のコントロールに対して、UIレイアウト部332がコントロール番号(本発明のコントロール識別情報に対応する)を割り付けてセットする番号である。初期状態では、すべてID番号割り付け前で0がセットされている。
タイプには、名前で指定された原稿サイズなどのコントロールのタイプ(種類)を、UI定義データ36に従いセットされる。
フラグ(FLAG)は、対象製品の機能を定義した機能定義データ35を読み込んで、読み込んだUI定義データ36が対象製品に必要なコントロールとなるかどうかをマークするためのものである。対象製品のUI表示で必要なコントロールの場合は1がセットされ、初期化状態では0がセットされている。
名前には、UI定義データ36を読み込み初期化されると、名前の値がセットされる。
ID番号は、フラグが1のコントロールに対して、UIレイアウト部332がコントロール番号(本発明のコントロール識別情報に対応する)を割り付けてセットする番号である。初期状態では、すべてID番号割り付け前で0がセットされている。
タイプには、名前で指定された原稿サイズなどのコントロールのタイプ(種類)を、UI定義データ36に従いセットされる。
同様に、幅にはUI定義データ36から読み込んだ値がセットされる。UI表示画面に表示した場合の対象のコントロールの表示幅(X座標方向、水平方向の幅)が指定される。なお、ここに示す例では、表示高さは、システムで使用されるフォントサイズからコントロールと一緒に表示されるラベルも含めて自動計算されるものと仮定して、UI定義データ36やUIレイアウト表334には挙げていない。
X座標、Y座標としては、各コントロールを印刷設定画面に表示する場合に動的にレイアウトした結果、左上を原点として水平方向、垂直方向の表示開始位置がセットされる。
X座標、Y座標としては、各コントロールを印刷設定画面に表示する場合に動的にレイアウトした結果、左上を原点として水平方向、垂直方向の表示開始位置がセットされる。
初期値には、印刷設定画面を表示する時の各コントロールが持つ最初の値がセットされる。
アイテムは、コントロールの種類によって意味が変わってくる。本例では、コンボボックスの場合にはコンボボックスの選択肢を列挙したものであり、スピンボックスでは最小値と最大値が列挙された値がセットされる。
アイテムは、コントロールの種類によって意味が変わってくる。本例では、コンボボックスの場合にはコンボボックスの選択肢を列挙したものであり、スピンボックスでは最小値と最大値が列挙された値がセットされる。
図11は、第1の製品(A)でUI画面を表示するために更新されたUIレイアウト表334の一例を示した図である。
即ち、図11は、第1の製品(A)において、図10に示す初期化されたUIレイアウト表334に対して、UIレイアウト部332が図7に示す第1の製品(A)の機能定義データ35を読み込んで処理を施し、第1の製品(A)の印刷設定のUI画面表示に必要な情報として、完成させた状態のUIレイアウト表334を示す。UI画面表示部333は、図11に示すUIレイアウト表334を読み込んで、図9に示すUI画面(印刷設定画面)を表示する。
即ち、図11は、第1の製品(A)において、図10に示す初期化されたUIレイアウト表334に対して、UIレイアウト部332が図7に示す第1の製品(A)の機能定義データ35を読み込んで処理を施し、第1の製品(A)の印刷設定のUI画面表示に必要な情報として、完成させた状態のUIレイアウト表334を示す。UI画面表示部333は、図11に示すUIレイアウト表334を読み込んで、図9に示すUI画面(印刷設定画面)を表示する。
第1の製品(A)で必要なコントロールだけフラグに1がセットされる。それらのコントロールに対して、ID番号がUI定義データ36のベースで指定された1000から順番に割り付けられている。
幅、X座標、Y座標には、それぞれ具体的な数値が書き込まれており、また、初期値、アイテムには具体的な内容が書き込まれている。
幅、X座標、Y座標には、それぞれ具体的な数値が書き込まれており、また、初期値、アイテムには具体的な内容が書き込まれている。
次に、プリンタドライバ23(UIレイアウト部332)において実行される、UI定義データ36に基づくUIレイアウト表334作成に関わる処理手順について説明する。なお、UIレイアウト表334は、本発明のUIレイアウトデータに対応する。
図12は、プリンタドライバ23(UIレイアウト部332)で実行される、図6(UI定義データ36)から図11(UIレイアウト表334作成)に関わる処理の手順を示すフロー図である。
まず、UIレイアウト部332は、図6の内容を持つUI定義データ36を読み込む(S101)。ここで、読み込んだUI定義データ36のベースで指定されている値(ここでは1000)を、ID番号を動的に割り付けるための開始番号とする(S102)。
図12は、プリンタドライバ23(UIレイアウト部332)で実行される、図6(UI定義データ36)から図11(UIレイアウト表334作成)に関わる処理の手順を示すフロー図である。
まず、UIレイアウト部332は、図6の内容を持つUI定義データ36を読み込む(S101)。ここで、読み込んだUI定義データ36のベースで指定されている値(ここでは1000)を、ID番号を動的に割り付けるための開始番号とする(S102)。
UIレイアウト部332は、ステップS101で読み込んだ内容を基に、図10の状態のUIレイアウト表334を作成(つまり、初期化)する(S103)。
次に、UIレイアウト部332は、図7の第1の製品(A)用の機能定義データ35を読み込む(S104)。
UIレイアウト部332は、読み込んだ機能定義データ35を元に、第1の製品(A)に存在するコントロールに対して、UIレイアウト表334のフラグに1をセットする(S105)。
UIレイアウト部332は、フラグに1がセットされたコントロールに、ID番号をベース値の1000から順番にセットする(割り振る)。つまり、ID番号を図11で示す値(1001、1002・・・)にセットする(S106)。
次に、UIレイアウト部332は、図7の第1の製品(A)用の機能定義データ35を読み込む(S104)。
UIレイアウト部332は、読み込んだ機能定義データ35を元に、第1の製品(A)に存在するコントロールに対して、UIレイアウト表334のフラグに1をセットする(S105)。
UIレイアウト部332は、フラグに1がセットされたコントロールに、ID番号をベース値の1000から順番にセットする(割り振る)。つまり、ID番号を図11で示す値(1001、1002・・・)にセットする(S106)。
プリンタドライバ23の作り方によっては、プリンタドライバ23がPC2に導入された直後は存在しない可能性もある。そこで、次に、デバイス制御データ32が存在する否かチェック(判定)する(S107)。存在する場合には(S107、YES)、ステップS108に進む。
ステップS108では、図8に示すデバイス制御データ(印刷設定情報)32を読み込み、UIレイアウト表の初期値に対応する値をセットし、次にステップS110に進む。なお、図8のデバイス制御データ32には、集約とパンチのデバイス制御データが例示されているが、第1の製品(A)においてはこの2つの項目は存在しない。
ステップS108では、図8に示すデバイス制御データ(印刷設定情報)32を読み込み、UIレイアウト表の初期値に対応する値をセットし、次にステップS110に進む。なお、図8のデバイス制御データ32には、集約とパンチのデバイス制御データが例示されているが、第1の製品(A)においてはこの2つの項目は存在しない。
ステップS107において、デバイス制御データ32が存在しない場合には(S107、NO)、図7に示す第1の製品(A)の機能定義データ35のデフォルトの値をUIレイアウト表334の初期値にセットする(S109)。初期値にセットしたUIレイアウト表334に対して、図7の第1の製品(A)の機能定義データ35のアイテムで指定されたコンボボックスの選択肢やスピンボックスの最小値最大値をUIレイアウト表334のアイテムにセットする(S110)。
次に、図11のUIレイアウト表334においてフラグが1になっているコントロール(即ち、この製品の印刷設定画面表示に必要なコントロール)に対して、動的なレイアウト処理を行い、X座標とY座標を決めてUIレイアウト表334にセットする(S111)。
最後に、UI画面表示部333は、図11に示す状態のUIレイアウト表334を読み込み、図9に示す印刷設定画面(UI画面)を表示して(S112)、この処理を終了する。
次に、図11のUIレイアウト表334においてフラグが1になっているコントロール(即ち、この製品の印刷設定画面表示に必要なコントロール)に対して、動的なレイアウト処理を行い、X座標とY座標を決めてUIレイアウト表334にセットする(S111)。
最後に、UI画面表示部333は、図11に示す状態のUIレイアウト表334を読み込み、図9に示す印刷設定画面(UI画面)を表示して(S112)、この処理を終了する。
図13は、図5(又は図9)に示す印刷設定画面に対して、ID番号でUI自動操作を実施するスクリプトの一例を示す図である。
このスクリプトでは、ID番号1000のコントロール、本例では原稿サイズ(size)に対してA3をセットし、ID番号1002のコントロール、本例では部数(no of prints)に10をセットし、ID番号1005のコントロール、本例では“ソート(sort)する”をセットして、最後に印刷設定ダイアログのOKボタン333aを押して(BUTTON DOWN)、印刷設定操作を自動的に実行することを表している。
このスクリプトでは、ID番号1000のコントロール、本例では原稿サイズ(size)に対してA3をセットし、ID番号1002のコントロール、本例では部数(no of prints)に10をセットし、ID番号1005のコントロール、本例では“ソート(sort)する”をセットして、最後に印刷設定ダイアログのOKボタン333aを押して(BUTTON DOWN)、印刷設定操作を自動的に実行することを表している。
このスクリプトを作成するためには、操作対象となるコントロールのID番号を予め知る必要がある。しかし、第1の製品(A)のプリンタドライバのソースコードとして、動的にコントロールのID番号が割り付けられるためのID番号定義データテーブルなどが存在するわけではない。そのため、予め各コントロールのID番号を知るのは容易ではない。
そこで、例えば、OS22の機能を用いて、即ち、UI画面表示されているコントロールのID番号を調べるユーティリティが存在する場合には、そのユーティリティを使用してID番号を調べることになる。同一製品の同一条件化において、同一の(ランダムではない)動的UI生成ロジックを用いている場合には、各コントロールに一定のID番号が割り付けられることになる。その結果、作成したUI自動操作スクリプトは有効な(正常に動作する)ものとなる。
そこで、例えば、OS22の機能を用いて、即ち、UI画面表示されているコントロールのID番号を調べるユーティリティが存在する場合には、そのユーティリティを使用してID番号を調べることになる。同一製品の同一条件化において、同一の(ランダムではない)動的UI生成ロジックを用いている場合には、各コントロールに一定のID番号が割り付けられることになる。その結果、作成したUI自動操作スクリプトは有効な(正常に動作する)ものとなる。
図14は、第2の製品(B)の印刷設定画面に関する機能定義データについて説明する図である。
図14の第2の製品(B)向けの機能定義データでは、図7で示した第1の製品(A)向けの機能定義データに対して、更に集約機能とパンチ機能が追加されている。その理由は、第2の製品(B)は、第1の製品(A)では対応していなかった集約とパンチ機能に対応しているためである。
図14の第2の製品(B)向けの機能定義データでは、図7で示した第1の製品(A)向けの機能定義データに対して、更に集約機能とパンチ機能が追加されている。その理由は、第2の製品(B)は、第1の製品(A)では対応していなかった集約とパンチ機能に対応しているためである。
図15は、第2の製品(B)で動的にUI表示するために更新されたUIレイアウト表334の一例を示す図である。
図15は、第2の製品(B)において、図10に示す初期化されたUIレイアウト表334に対して、図14の第2の製品(B)の機能定義データ35を読み込んで処理を施し、第2の製品(B)の印刷設定のUI画面表示に必要な情報として完成させた状態を示している。
UI画面表示部333は、図15に示すUIレイアウト表334を読み込んで、後述の図16に示す印刷設定画面を表示する。
第2の製品(B)に必要なコントロールに対して、UIレイアウト表334のフラグに1がセットされる。印刷設定画面では、後述するように、それらのコントロールに対して、UI定義データ36のベースで指定された1000から順番にID番号が割り付けられている。
図15は、第2の製品(B)において、図10に示す初期化されたUIレイアウト表334に対して、図14の第2の製品(B)の機能定義データ35を読み込んで処理を施し、第2の製品(B)の印刷設定のUI画面表示に必要な情報として完成させた状態を示している。
UI画面表示部333は、図15に示すUIレイアウト表334を読み込んで、後述の図16に示す印刷設定画面を表示する。
第2の製品(B)に必要なコントロールに対して、UIレイアウト表334のフラグに1がセットされる。印刷設定画面では、後述するように、それらのコントロールに対して、UI定義データ36のベースで指定された1000から順番にID番号が割り付けられている。
図16は、第2の製品(B)の印刷設定画面の各コントロールにID番号がどのように割り付けられているかを例示する図であり、図14の機能定義データに基づき表示された第2の製品(B)の印刷設定画面を示す図である。
図16の印刷設定画面では、図9に示したと同様に網掛けの噴出しで動的に割り付けられたID番号を示しているが、これらは実際のUI表示画面で表示されていない。
ただ、図13に示すUI自動操作スクリプトを、そのままこのUI画面に対して適用して実行しようとすると問題が生じる。その理由は、印刷設定画面内に存在するコントロールが増加したために、動的にコントロールのID番号を割り付けた結果、例えば、ソートコンボボックス(ソート)のID番号が1005ではなく1007になっており、図13に示すスクリプトをそのまま使用することができないためである。
以上が、本発明の前提技術についての説明である。
図16の印刷設定画面では、図9に示したと同様に網掛けの噴出しで動的に割り付けられたID番号を示しているが、これらは実際のUI表示画面で表示されていない。
ただ、図13に示すUI自動操作スクリプトを、そのままこのUI画面に対して適用して実行しようとすると問題が生じる。その理由は、印刷設定画面内に存在するコントロールが増加したために、動的にコントロールのID番号を割り付けた結果、例えば、ソートコンボボックス(ソート)のID番号が1005ではなく1007になっており、図13に示すスクリプトをそのまま使用することができないためである。
以上が、本発明の前提技術についての説明である。
次に、本発明の実施形態について説明する。
本実施形態では、コントロールを配置したUI画面(印刷設定画面)を動的に生成する際に、コントロールID番号を外部から指定するようにしている。その際、同一の名前を持つコントロールに対しては同じコントロールID番号を指定する。それによってコントロールID番号が共通のコントロールに対して、一度作成したスクリプトを繰り返し使用できるようにする。
図17は、本実施形態のPC2のソフトウェア構成の一例を示す図である。
図17のソフトウェア構成図では、図3に示すソフトウェア構成図に対して、UI割付テーブル37が追加されており、その他の点においては同じである。
本実施形態においては、UI割付テーブル37を備えたことにより、コントロールID番号を外部から指定すると、UI割付テーブル37に基づき指定したコントロールID番号を、当該コントロール番号に対応するコントロールに自動的に割り付け、UI画面に配置するコントロールを選択することができる。
本実施形態では、コントロールを配置したUI画面(印刷設定画面)を動的に生成する際に、コントロールID番号を外部から指定するようにしている。その際、同一の名前を持つコントロールに対しては同じコントロールID番号を指定する。それによってコントロールID番号が共通のコントロールに対して、一度作成したスクリプトを繰り返し使用できるようにする。
図17は、本実施形態のPC2のソフトウェア構成の一例を示す図である。
図17のソフトウェア構成図では、図3に示すソフトウェア構成図に対して、UI割付テーブル37が追加されており、その他の点においては同じである。
本実施形態においては、UI割付テーブル37を備えたことにより、コントロールID番号を外部から指定すると、UI割付テーブル37に基づき指定したコントロールID番号を、当該コントロール番号に対応するコントロールに自動的に割り付け、UI画面に配置するコントロールを選択することができる。
図18は、図17に示したPCのソフトウェア構成のうち、本実施形態に係る部分を詳細に示す図である。
図18に示すソフトウェア構成は、図4の示すソフトウェア構成に対して、UI割付テーブル37が追加されており、その他の点においては、既に説明した図4のソフトウェア構成と同様である。
図18に示すソフトウェア構成は、図4の示すソフトウェア構成に対して、UI割付テーブル37が追加されており、その他の点においては、既に説明した図4のソフトウェア構成と同様である。
図19は、第1の製品(A)のUI割付テーブル37の一例を示す図である。
プリンタドライバ23のUI制御部33は、外部から与えられたUI割付テーブル37のデータを読み取り、機能定義データ35とUI定義データ36に従い動的にID番号を割り付ける。その際に、同一の名前を持つコントロールが存在する場合には、UI割付テーブル37で指定されたID番号を使用する。
図19のUI割付テーブル37では、UI割付テーブル37のデータとして、“タイプ”として“コンボボックス”と“スピンボックス”別に、“名前”として“原稿サイズ”、“印刷用紙サイズ”、“部数”、“カラー”、“ステープル”、“ソート”が、それぞれ“番号(ID番号)”と共に挙げられている。
プリンタドライバ23のUI制御部33は、外部から与えられたUI割付テーブル37のデータを読み取り、機能定義データ35とUI定義データ36に従い動的にID番号を割り付ける。その際に、同一の名前を持つコントロールが存在する場合には、UI割付テーブル37で指定されたID番号を使用する。
図19のUI割付テーブル37では、UI割付テーブル37のデータとして、“タイプ”として“コンボボックス”と“スピンボックス”別に、“名前”として“原稿サイズ”、“印刷用紙サイズ”、“部数”、“カラー”、“ステープル”、“ソート”が、それぞれ“番号(ID番号)”と共に挙げられている。
図20は、第2の製品(B)の印刷設定画面の一例を示す図であり、後述する図23に示す処理(動的UI表示のための処理手順)の結果として表示される印刷設定画面である。
図20に示す印刷設定画面は、図9に示した印刷設定画面と同様に、網掛けの噴出しで動的に割り付けられたID番号を示しているが、これらは実際のUI表示画面で表示されていない。
ここでは、集約コンボボックスとパンチコンボボックス以外は、図19のUI割付テーブル37でID番号が指定している。本例では、図9の第1の製品(A)の印刷設定画面と同じID番号になるようにUI割付テーブル37が作成されている。その結果、集約コンボボックスとパンチコンボボックス以外は図9と同一のID番号が割り付けられている。他方、図19のUI割付テーブル37で指定されなかった集約コンボボックスとパンチコンボボックスに対しては、まだ使用されていないID番号として、それぞれ1006と1007が動的に割り付けられている。
この結果、図9に示す印刷設定画面を持つ製品用に作成された図13に示すUI自動操作スクリプトが、図20の印刷設定画面を持つ第2の製品(B)に対してもそのまま使用することができる。
図20に示す印刷設定画面は、図9に示した印刷設定画面と同様に、網掛けの噴出しで動的に割り付けられたID番号を示しているが、これらは実際のUI表示画面で表示されていない。
ここでは、集約コンボボックスとパンチコンボボックス以外は、図19のUI割付テーブル37でID番号が指定している。本例では、図9の第1の製品(A)の印刷設定画面と同じID番号になるようにUI割付テーブル37が作成されている。その結果、集約コンボボックスとパンチコンボボックス以外は図9と同一のID番号が割り付けられている。他方、図19のUI割付テーブル37で指定されなかった集約コンボボックスとパンチコンボボックスに対しては、まだ使用されていないID番号として、それぞれ1006と1007が動的に割り付けられている。
この結果、図9に示す印刷設定画面を持つ製品用に作成された図13に示すUI自動操作スクリプトが、図20の印刷設定画面を持つ第2の製品(B)に対してもそのまま使用することができる。
図21は、UI割付テーブル37に基づきID番号割り付け中のUIレイアウト表334の一例を示す図である。
プリンタドライバ23のUI制御部33は、外部から与えられたUI割付テーブル37のデータを読み取り、機能定義データ35とUI定義データ36に従いID番号を割り付ける。その際に、同一の名前を持つコントロールが存在する場合には、UI割付テーブル37で指定されたID番号を使用する。
図21のUIレイアウト表334では、フラグ、名前、ID番号、タイプ、幅の欄にはそれぞれ数値や名称等の項目が記入されているが、X座標、Y座標、初期値、アイテムの項目は未記入である。なお、ここでは“集約”と“パンチ”については、フラグは1であるものの未だID番号が割り付けられていない。
プリンタドライバ23のUI制御部33は、外部から与えられたUI割付テーブル37のデータを読み取り、機能定義データ35とUI定義データ36に従いID番号を割り付ける。その際に、同一の名前を持つコントロールが存在する場合には、UI割付テーブル37で指定されたID番号を使用する。
図21のUIレイアウト表334では、フラグ、名前、ID番号、タイプ、幅の欄にはそれぞれ数値や名称等の項目が記入されているが、X座標、Y座標、初期値、アイテムの項目は未記入である。なお、ここでは“集約”と“パンチ”については、フラグは1であるものの未だID番号が割り付けられていない。
図22は、UI割付テーブル37に基づきID番号割り付けされたUIレイアウト表334の一例を示す図である。
ここでは、全ての項目に内容が記入されかつ、“集約”、“パンチ”に対してID番号1006と1007が割り付けられている。
ここでは、全ての項目に内容が記入されかつ、“集約”、“パンチ”に対してID番号1006と1007が割り付けられている。
図23は、第2の製品(B)における動的UI表示のための処理手順の一例を示すフロー図である。
図23を参照して、第2の製品(B)における動的UI表示のための処理手順を説明する。
即ち、まず、UIレイアウト部332は、図6の内容を持つUI定義データ36を読み込む(S201)。UIレイアウト部332は、読み込んだ内容を元に、UIレイアウト表334を図10に示す状態に初期化(作成)する(S202)。次に、UIレイアウト部332は、図14の第2の製品(B)用の機能定義データ35を読み込む(S203)。
UIレイアウト部332は、読み込んだ機能定義データ35を基に、第2の製品(B)に存在するコントロールに対して、UIレイアウト表334のフラグに1をセットする(S204)。
図23を参照して、第2の製品(B)における動的UI表示のための処理手順を説明する。
即ち、まず、UIレイアウト部332は、図6の内容を持つUI定義データ36を読み込む(S201)。UIレイアウト部332は、読み込んだ内容を元に、UIレイアウト表334を図10に示す状態に初期化(作成)する(S202)。次に、UIレイアウト部332は、図14の第2の製品(B)用の機能定義データ35を読み込む(S203)。
UIレイアウト部332は、読み込んだ機能定義データ35を基に、第2の製品(B)に存在するコントロールに対して、UIレイアウト表334のフラグに1をセットする(S204)。
UIレイアウト部332は、図19に示す第1の製品(A)のUI割付テーブル37を読み込み、UIレイアウト表334の名前と一致するものがあれば、UI割付テーブル37の番号を、UIレイアウト表334のID番号にセットする(S205)。
また、この時点でUIレイアウト表334は図21の状態になっている(即ち、UIレイアウト表334には各名称毎に、フラグに1、ID番号には数値、幅欄には数値が記入されており、X、Y座標値、初期値、アイテムの欄には0が記入されている)。ここで、ID番号で既に使用されている最大値は1005なので、次に使用される番号としてベース番号は最大値+1で1006となる(S206)。
本例ではID番号未指定のコントロールとして、集約とパンチが存在するので、それぞれ順番に1006と1007をID番号として割り振る(又はセットする)(S207)。また、この時点のUIレイアウト表334に基づきUI割付テーブル37を書き出す(S208)。この時点のUIレイアウト表334の内容、即ち書き出しに必要な情報は図22のUIレイアウト表334と同じである。その結果、書き出したUI割付テーブル37の内容は後述の図26のUI割付テーブル37に示すものと同じになる。
また、この時点でUIレイアウト表334は図21の状態になっている(即ち、UIレイアウト表334には各名称毎に、フラグに1、ID番号には数値、幅欄には数値が記入されており、X、Y座標値、初期値、アイテムの欄には0が記入されている)。ここで、ID番号で既に使用されている最大値は1005なので、次に使用される番号としてベース番号は最大値+1で1006となる(S206)。
本例ではID番号未指定のコントロールとして、集約とパンチが存在するので、それぞれ順番に1006と1007をID番号として割り振る(又はセットする)(S207)。また、この時点のUIレイアウト表334に基づきUI割付テーブル37を書き出す(S208)。この時点のUIレイアウト表334の内容、即ち書き出しに必要な情報は図22のUIレイアウト表334と同じである。その結果、書き出したUI割付テーブル37の内容は後述の図26のUI割付テーブル37に示すものと同じになる。
プリンタドライバ23の作り方によっては、プリンタドライバ23がPC2に導入された直後は存在しない可能性もある。そこで、次に、デバイス制御データ32が存在するか否かチェックする(S209)。存在する場合には(S209、YES)、ステップS210に進む。
ステップS210では、図8に示すデバイス制御データ32を読み込み、UIレイアウト表334の初期値に対応する値をセットして、ステップ212に進む。
ステップS210では、図8に示すデバイス制御データ32を読み込み、UIレイアウト表334の初期値に対応する値をセットして、ステップ212に進む。
ステップS209において、デバイス制御データ32が存在しない場合には(S209、NO)、図14に示す第2の製品(B)の機能定義データ35のデフォルトの値をUIレイアウト表334の初期値にセットする(S211)。
初期値にセットしたUIレイアウト表334に対して、図14の第2の製品(B)の機能定義データ35のアイテムで指定されたコンボボックスの選択肢やスピンボックスの最小値最大値を、図22に示すUIレイアウト表334のアイテムにセットする(S212)。次に、UIレイアウト表334のフラグが1になっている本製品の印刷設定画面表示に必要なコントロールに対して、動的なレイアウト処理を行いX座標とY座標を決めてUIレイアウト表334にセットする(S213)。
UI画面表示部333は、図22の状態になっているUIレイアウト表334を読み込み、図20に示す印刷設定画面(UI画面)を表示して(S214)、この処理を終了する。
初期値にセットしたUIレイアウト表334に対して、図14の第2の製品(B)の機能定義データ35のアイテムで指定されたコンボボックスの選択肢やスピンボックスの最小値最大値を、図22に示すUIレイアウト表334のアイテムにセットする(S212)。次に、UIレイアウト表334のフラグが1になっている本製品の印刷設定画面表示に必要なコントロールに対して、動的なレイアウト処理を行いX座標とY座標を決めてUIレイアウト表334にセットする(S213)。
UI画面表示部333は、図22の状態になっているUIレイアウト表334を読み込み、図20に示す印刷設定画面(UI画面)を表示して(S214)、この処理を終了する。
図24は、第2の製品(B)に、さらに指定された別の第3の製品(C)から書き出されたUI割付テーブル37の一例を示す図である。なお、図24の内容は図19と同じである。
プリンタドライバ23のUI制御部33(UIレイアウト部332)は、外部から与えられたUI割付テーブル37のデータを読み取り、機能定義データ35とUI定義データ36に従い動的にID番号を割り付ける際に、同一の名前を持つコントロールが存在する場合には、UI割付テーブル37で指定されたID番号を使用する。
プリンタドライバ23のUI制御部33(UIレイアウト部332)は、外部から与えられたUI割付テーブル37のデータを読み取り、機能定義データ35とUI定義データ36に従い動的にID番号を割り付ける際に、同一の名前を持つコントロールが存在する場合には、UI割付テーブル37で指定されたID番号を使用する。
図25は、第2の製品(B)におけるUI画面表示処理の手順の一例を示すフロー図である。
第2の製品(B)におけるUI画面表示のための処理手順を、図25を参照して、説明する。
まず、UIレイアウト部332は、図6の内容を持つUI定義データ36を読み込む(S301)。ここで、UIレイアウト部332は、ステップS301で読み込んだ内容を元に、UIレイアウト表334を図10の状態に作成(初期化)する(S302)。
UIレイアウト部332は、図14の第2の製品(B)用の機能定義データ35を読み込む(S303)。次に、UIレイアウト部332は、読み込んだ機能定義データ35を元に、第2の製品(B)に存在するコントロールに対して、UIレイアウト表334のフラグに1をセットする(S304)。
第2の製品(B)におけるUI画面表示のための処理手順を、図25を参照して、説明する。
まず、UIレイアウト部332は、図6の内容を持つUI定義データ36を読み込む(S301)。ここで、UIレイアウト部332は、ステップS301で読み込んだ内容を元に、UIレイアウト表334を図10の状態に作成(初期化)する(S302)。
UIレイアウト部332は、図14の第2の製品(B)用の機能定義データ35を読み込む(S303)。次に、UIレイアウト部332は、読み込んだ機能定義データ35を元に、第2の製品(B)に存在するコントロールに対して、UIレイアウト表334のフラグに1をセットする(S304)。
ステップS305で、UIレイアウト部332は、図24に示す第3の製品(C)のUI割付テーブル37を読み込み、UIレイアウト表334の名前と一致するものがあり、ID番号がまだ割り付けられていないUI割付テーブル37の番号をID番号にセットする。本例では、第3の製品(C)は第1の製品(A)に存在しなかった集約とパンチ機能を持つ。したがって、第1の製品(A)と第3の製品(C)の機能を合わせると、第2の製品(B)が持つ機能が全部網羅される例となっている。したがって、この時点でUI割付テーブルのフラグとID番号は図22の状態と同じ内容になる。
次に、UIレイアウト部332は、他にUI割付テーブル37が存在しないかどうかをチェック(判別)する(S306)。本例では、他にUI割付テーブル37が存在しないので、ステップS307に進む。
この時点でUIレイアウト表334のID番号で使用されている最大値は1007なので、次に使用される番号としてベース番号は最大値+1の1008とする(S307)。
この時点でUIレイアウト表334のID番号で使用されている最大値は1007なので、次に使用される番号としてベース番号は最大値+1の1008とする(S307)。
次にフラグに1をセットしたコントロールでID番号が未指定のベース番号から順番にID番号を割り振る(S308)。但し、本例ではID番号未指定のコントロールはUIレイアウト表334に残っていないので、UIレイアウト表334のID番号を割り振られるコントロールは存在しない。この時点のUIレイアウト表334に基づきUI割付テーブル37を書き出す(S309)。この時点のUIレイアウト表334に内容は、書き出しに必要な情報は図22と同じである。その結果、書き出したUI割付テーブル37の内容は図26に示すものとなる。
プリンタドライバ23の作り方によっては、プリンタドライバ23がPC2に導入された直後は存在しない可能性もある。そこでUI制御部33(UIレイアウト部332)は、デバイス制御データ32が存在するかチェック(判別)する(S310)。存在する場合には(S310、YES)、ステップS311に進む。
プリンタドライバ23の作り方によっては、プリンタドライバ23がPC2に導入された直後は存在しない可能性もある。そこでUI制御部33(UIレイアウト部332)は、デバイス制御データ32が存在するかチェック(判別)する(S310)。存在する場合には(S310、YES)、ステップS311に進む。
ステップS311では、図8に示すデバイス制御データ32を読み込み、UIレイアウト表334の初期値に対応する値をセットしてステップS313に進む。
デバイス制御データ32が存在しない場合には(S310、NO)、ステップS312の処理に進み、図14に示す第2の製品(B)の機能定義データ35のデフォルトの値をUIレイアウト表334の初期値にセットする(S312)。
次に、図14に示す第2の製品(B)の機能定義データ35のアイテムで指定されたコンボボックスの選択肢やスピンボックスの最小値最大値をUIレイアウト表334のアイテムにセットする(S313)。
デバイス制御データ32が存在しない場合には(S310、NO)、ステップS312の処理に進み、図14に示す第2の製品(B)の機能定義データ35のデフォルトの値をUIレイアウト表334の初期値にセットする(S312)。
次に、図14に示す第2の製品(B)の機能定義データ35のアイテムで指定されたコンボボックスの選択肢やスピンボックスの最小値最大値をUIレイアウト表334のアイテムにセットする(S313)。
さらに、UIレイアウト表334のフラグが1になっているこの製品の印刷設定画面表示に必要なコントロールに対してレイアウト処理を行いX座標とY座標を決めてUIレイアウト表334にセットする(S314)。
UI画面表示部333は、図22に示す状態になっているUIレイアウト表334を読み込み、図20の印刷設定画面を表示して(S315)、この処理を終了する。
UI画面表示部333は、図22に示す状態になっているUIレイアウト表334を読み込み、図20の印刷設定画面を表示して(S315)、この処理を終了する。
図26は、第2の製品(B)のプリンタドライバ23から書き出されたUI割付テーブル37を示す図である。
図19に示されたUI割付テーブル37と対比すると、“コンボボックス”の“集約”と“パンチ”が付加されており、UI番号は、独立したものとなっている。UI割付テーブル37の機能などは既に説明したとおりである。
以上、本発明の実施形態について説明したが、本実施形態によれば、UI制御部(UIレイアウト部)がUI画面を動的に生成する機能を持つソフトウェアにおいて、動的生成を制御する情報をソフトウェアの外部からUI制御部(UIレイアウト部)に提供することにより、動的に生成する複数のソフトウェアで共通のコントロールのID番号を同一にすることができる。
図19に示されたUI割付テーブル37と対比すると、“コンボボックス”の“集約”と“パンチ”が付加されており、UI番号は、独立したものとなっている。UI割付テーブル37の機能などは既に説明したとおりである。
以上、本発明の実施形態について説明したが、本実施形態によれば、UI制御部(UIレイアウト部)がUI画面を動的に生成する機能を持つソフトウェアにおいて、動的生成を制御する情報をソフトウェアの外部からUI制御部(UIレイアウト部)に提供することにより、動的に生成する複数のソフトウェアで共通のコントロールのID番号を同一にすることができる。
1・・・ネットワーク構成、2・・・PC、3・・・MFP、11・・・入力装置、12・・・出力装置、13・・・ドライブ装置、14・・・補助記憶装置、15・・・主記憶装置、16・・・演算処理装置、17・・・インターフェース装置、18・・・記録媒体、23・・・プリンタドライバ、32・・・デバイス制御データ、33・・・UI制御部、35・・・機能定義データ、36・・・UI定義データ、37・・・UI割付テーブル、331・・・UIコア部、332・・・UIレイアウト部、333・・・UI画面表示部、334・・・UIレイアウト表。
Claims (7)
- UI画面で表示するコントロールに係るUIレイアウトデータを生成するUIレイアウト部と、
生成したUIレイアウトデータに基づきコントロールを配置したUI画面を生成しかつ表示するUI画面表示部を備えた情報処理装置であって、
コントロールと当該コントロールに割り付けたコントロール識別情報を定義したUI割付テーブルを備え、
前記UIレイアウト部は、前記UIレイアウトデータを生成するとき、前記UI割付テーブル中に、生成するUIレイアウトデータ中のコントロールと同じコントロールがあるとき、生成するUI画面のコントロールに対してUI割付テーブルのコントロール識別情報を割り付ける情報処理装置。 - 請求項1に記載された情報処理装置において、
前記UIレイアウト部は、前記UI割付テーブル中に、生成するUIレイアウトデータ中のコントロールと同じコントロールがないときは、前記生成するUIレイアウトデータ中のコントロールに対して、前記UI割付テーブル中のコントロール識別情報と異なる識別情報を割り付ける情報処理装置。 - 請求項1又は2に記載された情報処理装置において、
前記UI割付テーブルのコントロール識別情報を外部から指定する入力装置を備えた情報処理装置。 - 請求項1ないし3のいずれかに記載された情報処理装置において、
前記UIレイアウト部は、製品に依存しないコントロールの名前と前記UI画面中の配置を定義するUI定義データと、製品に応じて当該製品で使用するコントロールの機能を定義する機能定義データとに基づき、当該製品で使用するコントロールのUIレイアウトデータを作成する情報処理装置。 - 請求項1ないし4のいずれかに記載された情報処理装置と、前記UI画面においてなされる印刷設定に基づき印刷を行う画像形成装置とを有する画像処理システム。
- 請求項1ないし4のいずれかに記載された情報処理装置のコンピュータを、
前記UIレイアウト部及びUI画面表示部として機能させる情報処理プログラム。 - UI画面で表示するコントロールに係るUIレイアウトデータをUIレイアウト部で生成する工程と、
生成したUIレイアウトデータに基づき、UI画面表示部でコントロールを配置したUI画面を生成しかつ表示する工程と、を有する情報処理装置における情報処理方法であって、
コントロールと当該コントロールに割り付けたコントロール識別情報を定義したUI割付テーブルを用い、
前記UIレイアウトデータを生成するとき、前記UI割付テーブル中に、生成するUIレイアウトデータ中のコントロールと同じコントロールがあるとき、生成するUI画面のコントロールに対してUI割付テーブルのコントロール識別情報を割り付ける工程を有する情報処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015048425A JP2016170507A (ja) | 2015-03-11 | 2015-03-11 | 情報処理装置、情報処理方法、画像処理システム、情報処理プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015048425A JP2016170507A (ja) | 2015-03-11 | 2015-03-11 | 情報処理装置、情報処理方法、画像処理システム、情報処理プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016170507A true JP2016170507A (ja) | 2016-09-23 |
Family
ID=56983758
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015048425A Pending JP2016170507A (ja) | 2015-03-11 | 2015-03-11 | 情報処理装置、情報処理方法、画像処理システム、情報処理プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2016170507A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020075741A1 (ja) * | 2018-10-09 | 2020-04-16 | 日本技術貿易株式会社 | 産業財産権の手続報告システム |
-
2015
- 2015-03-11 JP JP2015048425A patent/JP2016170507A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020075741A1 (ja) * | 2018-10-09 | 2020-04-16 | 日本技術貿易株式会社 | 産業財産権の手続報告システム |
CN112840371A (zh) * | 2018-10-09 | 2021-05-25 | Ngb株式会社 | 工业产权的手续报告系统 |
JPWO2020075741A1 (ja) * | 2018-10-09 | 2021-09-02 | Ngb株式会社 | 産業財産権の手続報告システム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109213457B (zh) | 信息处理设备及控制信息处理设备的方法 | |
US9681018B2 (en) | Information processing device and non-transitory computer-readable medium storing instructions for print control | |
JP5924892B2 (ja) | 情報処理装置、情報処理方法、及びプログラム | |
US20080068655A1 (en) | Data processing apparatus and recording medium | |
CN104508622A (zh) | Epos打印 | |
US20080276165A1 (en) | Method and apparatus for image processing, and computer program product | |
US20180253561A1 (en) | Information processing apparatus, storage medium, and control method therefor | |
US20120140249A1 (en) | Information processing device, information processing method, and computer program product | |
JP4381891B2 (ja) | データファイル処理装置、データファイル処理方法、およびプログラム | |
JP6668868B2 (ja) | 情報処理装置及び情報処理プログラム | |
JP2006215725A (ja) | 印刷システムおよびプリンタ管理方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラム | |
JP2016170507A (ja) | 情報処理装置、情報処理方法、画像処理システム、情報処理プログラム | |
JP3634680B2 (ja) | 情報処理装置及びその制御方法及び記憶媒体 | |
US9384173B2 (en) | Information processing apparatus having page preview function, method of controlling the same, and storage medium | |
JP4802961B2 (ja) | 印刷システム、印刷制御装置およびプログラム | |
JP6004790B2 (ja) | 情報処理装置、その方法およびプログラム | |
US20150262043A1 (en) | Information processing apparatus, information processing method, and information processing system | |
JP6112407B2 (ja) | 設定制御プログラム及び設定制御方法並びに設定制御装置 | |
JP6250110B2 (ja) | 情報処理装置、その方法およびプログラム | |
US10191704B2 (en) | Information processing apparatus reading data created by render filter for image formation from storage area and saving the data in temporary storage area | |
JP2017130080A (ja) | 印刷制御プログラムおよび印刷制御装置 | |
CN105700833B (zh) | 印刷控制装置以及信息处理装置 | |
JP2012059106A (ja) | カスタマイズ装置、印刷システム、カスタマイズ方法およびカスタマイズプログラム | |
EP2348398A2 (en) | Image processing apparatus, control method, and program | |
JP2019086878A (ja) | 文書処理システム、文書処理装置、及び、文書処理プログラム |