(57)【要約】【課題】  表示器に表示させる画面の内容を編集する際の負荷を軽減する。【解決手段】  表示器に表示させる画面の内容を規定する画面データを生成する場合に、画面の構造としてその画面内における複数の基準位置の配置を定義する構造定義情報と、その画面内に配置する表示要素の内容を定義する要素定義情報と、上記表示要素を上記各基準位置に配置するための配置規則を定義する配置定義情報とを参照して、上記配置定義情報に基づき、上記要素定義情報によって定義される表示要素を、上記配置定義情報により定義される規則に従って（Ｓ３５〜Ｓ３９）、上記構造定義情報によって定義される画面内の各基準位置に配置する（Ｓ４１〜Ｓ４５）ことにより、上記表示器に表示させる画面の内容を規定する画面データを生成するようにした。【選択図】        図１２
2008234082.tif 000002
【特許請求の範囲】
【請求項１】
表示器に表示させる画面の内容を規定する画面データを生成する画面データ生成装置であって、
前記画面の構造として該画面内における複数の基準位置の配置を定義する構造定義情報を取得する手段と、
前記画面内に配置する表示要素の内容を定義する要素定義情報を取得する手段と、
前記表示要素を前記各基準位置に配置するための配置規則を定義する配置定義情報を取得する手段と、
前記配置定義情報に基づき、前記要素定義情報によって定義される表示要素を、前記配置定義情報により定義される規則に従って、前記構造定義情報によって定義される画面内の各基準位置に配置することにより、前記表示器に表示させる画面の内容を規定する画面データを生成する画面データ生成手段とを設けたことを特徴とする画面データ生成装置。
【請求項２】
請求項１に記載の画面データ生成装置であって、
前記構造定義情報が、前記複数の基準位置の各々について優先順位の情報を含んでおり、
前記配置定義情報が、前記表示要素を前記基準位置に配置する順序の情報を含んでおり、
前記画面データ生成手段が、前記配置定義情報が示す表示要素を、前記配置定義情報が示す順序で、優先順位の高い基準位置から順に配置していく手段であることを特徴とする画面データ生成装置。
【請求項３】
請求項１又は２に記載の画面データ生成装置であって、
前記各基準位置が、マトリクス状に配置されており、
前記構造定義情報が、前記各基準位置の前記マトリクス中での位置を示す行番号と列番号の情報を含むことを特徴とする画面データ生成装置。
【請求項４】
請求項１乃至３のいずれか一項に記載の画面データ生成装置であって、
前記配置定義情報が、前記基準位置に配置すべき表示要素について、配置有無を指定可能な形式であり、
前記画面データ生成手段が、配置有りの指定がなされている表示要素についてのみ、前記基準位置への配置を行う手段であることを特徴とする画面データ生成装置。
【請求項５】
請求項１乃至４のいずれか一項に記載の画面データ生成装置であって、
前記構造定義情報又は前記配置定義情報が、ページの切り替えが可能であることを示す表示要素であるページ要素の配置を示すページ要素情報を含んでおり、
前記画面データ生成手段が、前記配置情報に従って前記基準位置に配置すべき表示要素を、前記構造定義情報に定義された基準位置に全て配置できた場合には、前記ページ要素を配置しない画面データを生成し、前記配置情報に従って前記基準位置に配置すべき表示要素を、前記構造定義情報に定義された基準位置に配置しきれなかった場合には、前記ページ要素を前記ページ要素情報に従って配置した画面データを生成する手段であることを特徴とする画面データ生成装置。
【請求項６】
請求項１乃至４のいずれか一項に記載の画面データ生成装置であって、
前記配置定義情報が、前記基準位置に配置すべき表示要素について、特定の前記基準位置への固定を指定可能な形式であり、
前記画面データ生成手段が、前記基準位置に配置すべき表示要素のうち、前記固定が指定された表示要素については、該指定に従って前記特定の基準位置に配置する手段を有することを特徴とする画面データ生成装置。
【請求項７】
請求項３に記載の画面データ生成装置であって、
前記配置定義情報が、複数の表示要素のグループ化を指定可能な形式であり、
前記画面データ生成手段が、グループ化が指定された複数の表示要素をそれぞれ、前記マトリクス状に配置された基準位置のうち、同一行かつ連続した列の基準位置に配置する手段を有することを特徴とする画面データ生成装置。
【請求項８】
請求項１乃至７のいずれか一項に記載の画面データ生成装置と、
画面を表示する表示手段と、
前記画面データ生成装置が生成した画面データに基づいて前記表示手段に画面を表示させる表示制御手段を有することを特徴とする画像処理装置。
【請求項９】
表示器に表示させる画面の内容を規定する画面データを生成する画面データ生成方法であって、
コンピュータが、
前記画面の構造として該画面内における複数の基準位置の配置を定義する構造定義情報と、
前記画面内に配置する表示要素の内容を定義する要素定義情報と、
前記表示要素を前記各基準位置に配置するための配置規則を定義する配置定義情報とを参照して、
前記配置定義情報に基づき、前記要素定義情報によって定義される表示要素を、前記配置定義情報により定義される規則に従って、前記構造定義情報によって定義される画面内の各基準位置に配置することにより、前記表示器に表示させる画面の内容を規定する画面データを生成する画面データ生成手順を実行することを特徴とする画面データ生成方法。
【請求項１０】
請求項９に記載の画面データ生成方法であって、
前記構造定義情報が、前記複数の基準位置の各々について優先順位の情報を含んでおり、
前記配置定義情報が、前記表示要素を前記基準位置に配置する順序の情報を含んでおり、
前記画面データ生成手順が、前記配置定義情報が示す表示要素を、前記配置定義情報が示す順序で、優先順位の高い基準位置から順に配置していく手順であることを特徴とする画面データ生成方法。
【請求項１１】
請求項９又は１０に記載の画面データ生成方法であって、
前記各基準位置が、マトリクス状に配置されており、
前記構造定義情報が、前記各基準位置の前記マトリクス中での位置を示す行番号と列番号の情報を含むことを特徴とする画面データ生成方法。
【請求項１２】
コンピュータを、
表示器に表示させる画面の構造として該画面内における複数の基準位置の配置を定義する構造定義情報を取得する手段と、
前記画面内に配置する表示要素の内容を定義する要素定義情報を取得する手段と、
前記表示要素を前記各基準位置に配置するための配置規則を定義する配置定義情報を取得する手段と、
前記配置定義情報に基づき、前記要素定義情報によって定義される表示要素を、前記配置定義情報により定義される規則に従って、前記構造定義情報によって定義される画面内の各基準位置に配置することにより、前記表示器に表示させる画面の内容を規定する画面データを生成する画面データ生成手段として機能させるためのプログラムを格納した、コンピュータにより読み取り可能な記録媒体。
【請求項１３】
請求項１２に記載の記録媒体であって、
前記構造定義情報が、前記複数の基準位置の各々について優先順位の情報を含んでおり、
前記配置定義情報が、前記表示要素を前記基準位置に配置する順序の情報を含んでおり、
前記画面データ生成手段が、前記配置定義情報が示す表示要素を、前記配置定義情報が示す順序で、優先順位の高い基準位置から順に配置していく手段であることを特徴とする記録媒体。
【請求項１４】
請求項１２又は１３に記載の記録媒体であって、
前記各基準位置が、マトリクス状に配置されており、
前記構造定義情報が、前記各基準位置の前記マトリクス中での位置を示す行番号と列番号の情報を含むことを特徴とする記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、表示器に表示させる画面の内容を規定する画面データを生成する画面データ生成装置、このような画面データ生成装置を備えた画像処理装置、上記のような画面データを生成する画面データ生成方法、およびコンピュータを上記のような画面データ生成装置として機能させるためのプログラムを記録した記録媒体に関する。
【背景技術】
【０００２】
従来から、表示器にＧＵＩ（グラフィカル・ユーザ・インタフェース）の画面を表示させ、そのＧＵＩにおいて、種々のデータの表示や操作の受付を行うことが知られている。
そして、ＧＵＩの設計は、ユーザからの操作を受け付けるためのボタンや、設定内容を表示するための文字表示枠等の、種々の部品を画面上に配置して行うことができる。また、近年では、メーカーが提供するＧＵＩをそのまま使用するのではなく、ユーザが自身の用途に合ったＧＵＩを作成する、カスタマイズに関する要望が多く出ている。
【０００３】
このようなＧＵＩのカスタマイズに関する技術としては、例えば特許文献１及び特許文献２に記載のものが知られている。
特許文献１には、パネルカスタマイズモードを選択することにより、液晶表示器に表示させている表示画面中の機能キーにつき、表示／非表示，位置，サイズ等を変更することができる画像形成装置が記載されている。
【特許文献１】特開２００５−４５３７０号公報
【０００４】
特許文献２には、ユーザが持つＩＤカードに、そのユーザ用のＧＵＩ画面のデータを記憶させておき、ユーザがそのＩＤカードによりＭＦＰ（Multi Function Printer）にログインした場合に、ＭＦＰが、そのＩＤカード中の画面データを用いて、そのユーザ用のＧＵＩを表示することが記載されている。また、ＩＤカードにＧＵＩ画面データ生成用のスクリプトを記憶させておき、そのスクリプトに基づいて自動生成した画面データに基づいてＧＵＩを表示することも記載されている。
【特許文献２】特開２００６−３４５２５６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に記載の技術により表示画面のカスタマイズを行う場合、キーを並べ替えたり、一部のキーを非表示にして残りのキーを詰めて表示するような、多数のキーに影響を及ぼす改変を行おうとすると、その多数のキーについて位置やサイズを１つ１つ指定しなければならず、編集操作が面倒であるという問題があった。また、画面が複数ある場合でも、画面毎にカスタマイズを行わねばならず、この点でも編集操作が面倒であるという問題があった。
このような問題は、ＧＵＩ以外の表示画面を編集しようとする場合にも、同様に生じるものである。また、特許文献２にも、このような問題を解決する具体的な手法については特に記載されていない。
【０００６】
この発明は、このような問題を解決し、表示器に表示させる画面の内容を編集する際の負荷を軽減することを目的とする。
【課題を解決するための手段】
【０００７】
この発明の画像送信装置は、上記の目的を達成するため、表示器に表示させる画面の内容を規定する画面データを生成する画面データ生成装置において、上記画面の構造としてその画面内における複数の基準位置の配置を定義する構造定義情報を取得する手段と、上記画面内に配置する表示要素の内容を定義する要素定義情報を取得する手段と、上記表示要素を上記各基準位置に配置するための配置規則を定義する配置定義情報を取得する手段と、上記配置定義情報に基づき、上記要素定義情報によって定義される表示要素を、上記配置定義情報により定義される規則に従って、上記構造定義情報によって定義される画面内の各基準位置に配置することにより、上記表示器に表示させる画面の内容を規定する画面データを生成する画面データ生成手段とを設けたものである。
【０００８】
このような画面データ生成装置において、上記構造定義情報に、上記複数の基準位置の各々について優先順位の情報を含ませ、上記配置定義情報に、上記表示要素を上記基準位置に配置する順序の情報を含ませ、上記画面データ生成手段を、上記配置定義情報が示す表示要素を、上記配置定義情報が示す順序で、優先順位の高い基準位置から順に配置していく手段とするとよい。
【０００９】
さらに、上記各基準位置を、マトリクス状に配置されたものとし、上記構造定義情報に、上記各基準位置の上記マトリクス中での位置を示す行番号と列番号の情報を含めるとよい。
さらに、上記配置定義情報を、上記基準位置に配置すべき表示要素について、配置有無を指定可能な形式とし、上記画面データ生成手段を、配置有りの指定がなされている表示要素についてのみ、上記基準位置への配置を行う手段とするとよい。
【００１０】
さらに、上記構造定義情報又は上記配置定義情報を、ページの切り替えが可能であることを示す表示要素であるページ要素の配置を示すページ要素情報を含むものとし、上記画面データ生成手段を、上記配置情報に従って上記基準位置に配置すべき表示要素を、上記構造定義情報に定義された基準位置に全て配置できた場合には、上記ページ要素を配置しない画面データを生成し、上記配置情報に従って上記基準位置に配置すべき表示要素を、上記構造定義情報に定義された基準位置に配置しきれなかった場合には、上記ページ要素を上記ページ要素情報に従って配置した画面データを生成する手段とするとよい。
【００１１】
また、上記配置定義情報を、上記基準位置に配置すべき表示要素について、特定の上記基準位置への固定を指定可能な形式とし、上記画面データ生成手段に、上記基準位置に配置すべき表示要素のうち、上記固定が指定された表示要素については、その指定に従って上記特定の基準位置に配置する手段を設けるとよい。
また、上記配置定義情報を、複数の表示要素のグループ化を指定可能な形式とし、上記画面データ生成手段に、グループ化が指定された複数の表示要素をそれぞれ、上記マトリクス状に配置された基準位置のうち、同一行かつ連続した列の基準位置に配置する手段を設けるとよい。
【００１２】
また、この発明の画像処理装置は、上記のいずれか一項に記載の画面データ生成装置と、画面を表示する表示手段と、上記画面データ生成装置が生成した画面データに基づいて上記表示手段に画面を表示させる表示制御手段を有する画像処理装置である。
【００１３】
また、この発明の画像データ生成方法は、表示器に表示させる画面の内容を規定する画面データを生成する画面データ生成方法において、コンピュータに、上記画面の構造としてその画面内における複数の基準位置の配置を定義する構造定義情報と、上記画面内に配置する表示要素の内容を定義する要素定義情報と、上記表示要素を上記各基準位置に配置するための配置規則を定義する配置定義情報とを参照して、上記配置定義情報に基づき、上記要素定義情報によって定義される表示要素を、上記配置定義情報により定義される規則に従って、上記構造定義情報によって定義される画面内の各基準位置に配置することにより、上記表示器に表示させる画面の内容を規定する画面データを生成する画面データ生成手順を実行させるものである。
【００１４】
このような画面データ生成方法において、上記構造定義情報を、上記複数の基準位置の各々について優先順位の情報を含むものとし、上記配置定義情報を、上記表示要素を上記基準位置に配置する順序の情報を含むものとし、上記画面データ生成手順を、上記配置定義情報が示す表示要素を、上記配置定義情報が示す順序で、優先順位の高い基準位置から順に配置していく手順とするとよい。
さらに、上記各基準位置を、マトリクス状に配置されたものとし、上記構造定義情報に、上記各基準位置の上記マトリクス中での位置を示す行番号と列番号の情報を含めるとよい。
【００１５】
また、この発明の記録媒体は、コンピュータを、表示器に表示させる画面の構造としてその画面内における複数の基準位置の配置を定義する構造定義情報を取得する手段と、上記画面内に配置する表示要素の内容を定義する要素定義情報を取得する手段と、上記表示要素を上記各基準位置に配置するための配置規則を定義する配置定義情報を取得する手段と、上記配置定義情報に基づき、上記要素定義情報によって定義される表示要素を、上記配置定義情報により定義される規則に従って、上記構造定義情報によって定義される画面内の各基準位置に配置することにより、上記表示器に表示させる画面の内容を規定する画面データを生成する画面データ生成手段として機能させるためのプログラムを格納した、コンピュータにより読み取り可能な記録媒体である。
【００１６】
このような記録媒体において、上記構造定義情報を、上記複数の基準位置の各々について優先順位の情報を含むものとし、上記配置定義情報を、上記表示要素を上記基準位置に配置する順序の情報を含むものとし、上記画面データ生成手段を、上記配置定義情報が示す表示要素を、上記配置定義情報が示す順序で、優先順位の高い基準位置から順に配置していく手段とするとよい。
さらに、上記各基準位置を、マトリクス状に配置されたものとし、上記構造定義情報に、上記各基準位置の上記マトリクス中での位置を示す行番号と列番号の情報を含めるとよい。
【発明の効果】
【００１７】
以上のようなこの発明の画面データ生成装置、画像処理装置又は画面データ生成方法によれば、表示器に表示させる画面の内容を編集する際の負荷を軽減することができる。
また、この発明の記録媒体によれば、コンピュータに、そのコンピュータを上記の画面データ生成装置として機能させるためのプログラムを読み出させて実行させ、同様な効果を得ることができる。
【発明を実施するための最良の形態】
【００１８】
以下、この発明を実施するための最良の形態を図面に基づいて具体的に説明する。
〔第１の実施形態：図１乃至図１８〕
まず、図１に、この発明の第１の実施形態である画像処理装置のハードウェア構成を示す。
この図に示すように、この画像処理装置１０は、ＣＰＵ１１，ＲＯＭ１２，ＲＡＭ１３，ＮＶＲＡＭ１４，パネルＩ／Ｆ（インタフェース）１５，エンジンＩ／Ｆ１６，通信Ｉ／Ｆ１７を備え、これらがシステムバス２０により接続されている。また、操作パネル１８をパネルＩ／Ｆ１５に接続して、エンジン部１９をエンジンＩ／Ｆ１６に接続してそれぞれ設けている。
【００１９】
そして、このうちＣＰＵ１１は、画像処理装置１０全体を制御する制御手段であり、ＲＯＭ１２やＮＶＲＡＭ１４に記録された種々のプログラムを実行することにより、その制御機能を実現する。また、表示器に表示させる画面の内容を規定する画面データを生成する画面データ生成装置としての機能も実現する。
ＲＯＭ１２は、不揮発性の記憶手段であり、ＣＰＵ１１が実行するプログラムや、固定的なパラメータ等を記憶する。
【００２０】
ＲＡＭ１３は、一時的に使用するデータを記憶したり、ＣＰＵ１１のワークメモリとして使用したりする記憶手段である。
ＮＶＲＡＭ１４は、ＣＰＵ１１が実行するプログラムのうち書き換えが必要なものや、装置の電源がＯＦＦされた後でも保持しておく必要があるパラメータの値を記憶する、書き換え可能な不揮発性記憶手段である。
【００２１】
パネルＩ／Ｆ１５は、操作パネル１８をシステムバス２０に接続し、ＣＰＵ１１から制御できるようにするためのインタフェースである。
そして、操作パネル１８は、グラフィカルな画面を表示可能な表示手段である液晶ディスプレイ（ＬＣＤ）を備え、また、発光ダイオード（ＬＥＤ）等による表示部及び、種々のキーやボタン及びＬＣＤに積層したタッチパネル等による操作部も備える。そして、ＬＣＤには、ＧＵＩ（グラフィカル・ユーザ・インタフェース）として後述する種々のデータにより規定される画面を表示し、その画面においてユーザの操作を受け付けることができる。
【００２２】
エンジンＩ／Ｆ１６は、エンジン部１９をシステムバス２０に接続し、ＣＰＵ１１から制御できるようにするためのインタフェースである。
エンジン部１９は、画像の読み取りや印刷出力等を行うためのスキャナエンジン及びプリントエンジンを備える画像処理手段である。操作パネル１８においてなされたユーザの操作や、通信Ｉ／Ｆ１７を介して外部装置から受信したコマンドに従い、ＣＰＵ１１がエンジン部１９を制御することにより、エンジン部１９に、画像の読み取り，印刷，コピー，送信等の動作を実行させることができる。
【００２３】
通信Ｉ／Ｆ１７は、画像処理装置１０を何らかの通信経路を介して他の装置と通信可能にするためのインタフェースであり、例えば、ＬＡＮ（ローカルエリアネットワーク）等のネットワークに接続してイーサネット（登録商標）方式の通信を行うためのネットワークインタフェースとすることができる。そして、この通信Ｉ／Ｆ１７を介して通信可能なＰＣ（パーソナルコンピュータ）等の外部装置から、画像処理装置１０にアクセスしてその動作を指示したり、設定を変更したりすることもできる。
【００２４】
以上のような画像処理装置１０において、特徴的な点は、操作パネル１８に表示させる画面の内容を規定するデータの形式及び、そのデータに基づいて表示用の画面データを生成する手法である。そこで、次にこの点について説明する。
【００２５】
まず、図２に、操作パネル１８に表示させる画面の例を示す。
この図に示す読み取り設定画面１００は、画像処理装置１０による画像読み取り動作に関する設定を受け付けるための種々のＧＵＩ画面のうちの１つである。そして、この画面は、上側のタイトル部１００ａ及び下側のメイン表示部１００ｂからなる背景に、以下の各表示部品を配置して形成している。
【００２６】
まず、タイトル部１００ａには、画面タイトルメッセージ１０１と、閉じるボタン１０２を配置している。また、メイン表示部１００ｂには、ページめくりボタン１０３，１０４，不定形設定ボタン１１１ａ，解像度設定ボタン１１２ａ，原稿種類設定ボタン１１３ａ，原稿サイズ設定ボタン１１４ａ，片面設定ボタン１１５ａ，両面設定ボタン１１６ａを配置している。また、各ボタン１１２ａ〜１１５ａについては、対応するタイトルメッセージ１１２ｂ〜１１５ｂも配置している。
【００２７】
そして、各ボタン１１２ａ〜１１５ａと、対応するタイトルメッセージ１１２ｂ〜１１５ｂとで、後述する表示要素を構成し、これらを符号１１２〜１１５で示す。不定形設定ボタン１１１ａと両面設定ボタン１１６ａは、それぞれ単独で１つの表示要素を構成する。これらの表示要素は符号１１１，１１６で示す。
【００２８】
図２に示した各表示部品は、メッセージ，ボタン，プルダウンボタンの３種類に大別でき、種類毎に外見が規定されている。例えば、メッセージであれば、テキストのみ表示、ボタンであれば、ボタン形状のグラフィックの上にキャプションテキストを表示、プルダウンボタンであれば、下向き三角のキャプションを有するボタンの横に設けた枠に現在選択されている選択肢を示すテキストを表示、等である。
【００２９】
また、これらの各表示部品には、何らかのプログラムを関連付けておくことができる。そして、表示部品と対応する位置へのタッチ等によりその表示部品に対する操作された場合に、ＣＰＵ１１にその関連付けたプログラムを実行させ、画面の表示内容変更、他の画面への移行、設定の変更、ジョブの実行等の処理を行わせることができる。そして、このことにより、ＧＵＩへの操作と、画像処理装置１０の動作とを関連付けることができる。もちろん、なんの動作とも関連付けられない表示部品があってもよい。また、ここで説明した種類以外の表示部品も当然考えられる。
【００３０】
図３乃至図５に、このような、画面上の表示部品への操作に応じた動作の例を示す。
図３に示すのは、プルダウンボタンに関する動作である。
プルダウンボタンがタッチ操作された場合には、この図に示すように、対応する項目に設定可能な値をリスト表示し、その中から設定する値をユーザに選択させる動作を行うことが考えられる。図２に示した表示部品の中では、解像度設定ボタン１１２ａ，原稿種類設定ボタン１１３ａ，原稿サイズ設定ボタン１１４ａに、このような動作を関連付けている。
【００３１】
図４に示すのは、ボタンに関する動作である。
コマンドボタンがタッチ操作された場合には、この図に示すように、対応する項目についてより詳細な設定を受け付けるための別の画面を操作パネル１８に表示させることが考えられる。図２に示した表示部品の中では、不定形設定ボタン１１１ａに、このような動作を関連付けている。
【００３２】
図５に示すのは、ボタンに関する動作の別の例である。
この図に示す例は、２つのボタンを、１つの項目の値を択一的に選択するためのラジオボタンとして用いる場合の例である。
この場合、２つのボタンのいずれかを、対応する値が選択されていることを示す押下状態の表示（図ではハッチングで示した）とし、残りを、対応する値が選択されていないことを示す表示とする。
【００３３】
また、選択されていないボタンがタッチ操作された場合には、それまで選択されていたボタンの押下状態を解除し、操作されたボタンを押下状態とする表示変更を行う。このように、複数の表示部品の組について、１つの動作を関連付けることも可能である。
図２に示した表示部品の中では、片面設定ボタン１１５ａ及び両面設定ボタン１１６ａに、このような動作を関連付けている。
【００３４】
もちろん、ここに例示したもの以外の動作を表示部品と関連付けてもよい。
例えば、閉じるボタン１０２には、読み取り設定画面１００を閉じて前の画面に戻る動作を対応付けている。また、ページめくりボタン１０３，１０４には、読み取り設定画面１００に表示すべき後述する表示要素が１画面内に表示しきれない場合に、表示を前のページや次のページに移行させ、表示しきれなかった表示要素を表示させる動作を対応付けている。
【００３５】
ところで、画像処理装置１０においては、以上の読み取り設定画面１００を始めとする種々の画面の内容を規定するデータとして、構造定義情報，配置定義情報，要素定義情報の３種類のデータを用意し、これらのデータに基づいて、表示用の画面データを生成するようにしている。以下に、これらのデータの内容及び用途について説明する。
【００３６】
まず、図６に、構造定義情報の例を、図７に、その構造定義情報により規定される画面の構造をそれぞれ示す。
図６に示す構造定義情報は、画面内における複数の基準位置の配置と、画面内に固定的に配置する表示部品とを定義し、画面の構造を定めるデータである。そして、図６には、図２に示した画面の表示に用いるデータを、例として記載している。
【００３７】
そして、このデータは、ＸＭＬ（Extensible Markup Language）形式で記載されたものであり、図では、基準位置及び固定的な表示部品に関する情報を記載する要素のみを示し、その他の部分は図示を省略している。なお、基準位置とは、後述する表示要素を画面中に配置する際に基準として用いる位置のことである。
【００３８】
図６に示した部分のデータのうち、style要素２２０が、基準位置の配置を示すデータである。style要素２２０は、子要素としてwidget要素を含み、１つのwidget要素が、１つの基準位置の情報を示す。
このwidget要素は、まず、position属性の値により、基準位置として、矩形の表示領域を規定している。図では、表示領域の具体的な規定形式は示していないが、例えば、特定の１つ（例えば左上）の頂点の座標及び領域のサイズ、あるいは対角線上に位置する２頂点の座標等により、規定することができる。ここで指定するのは、構造定義情報により規定する画面中での絶対座標である。
【００３９】
ここでは、style要素２２０の子要素である６つのwidget要素により、図７に破線で示すような、２行３列のマトリクス状に配列した表示領域１２１〜１２６を規定している。そして、各表示領域のマトリクス中での位置を示すため、各widget要素に、行番号を示すrow属性と、列番号を示すcolumn属性の値を記載している。なお、行番号が、図で垂直方向の位置を示す値であり、列番号が、図で水平方向の位置を示す値である。
【００４０】
またここでは、各widget要素が示す表示領域に、widget要素の記載順に優先順位を与えている。そして、表示要素を各表示領域に配置する際、優先順位の高い順に表示要素を配置する。また、図６の例では、表示要素の配置は、１行１列目から始めて、左から右まで１行分の各列に表示要素を配置してから、次の行の各列にも同様に表示要素を配置する、という手順で行うとする。従って、初めに１行目の１列目から３列目の表示領域を示すwidget要素を記載し、その後で２行目の１列目から３列目の表示領域を示すwidget要素を記載している。
【００４１】
また、style要素２２０のsource属性には、各widget要素により規定される表示領域に表示要素を配置する際に参照する配置定義情報を特定する値を記載している。この値は、例えば配置定義情報のファイル名として記載することができる。図２に符号１１１〜１１６で示した表示要素は、この配置定義情報に従って表示領域１２１〜１２６に配置される。
【００４２】
また、図６に示した要素のうち、message要素２０１，button要素２０２，pagebutton要素２０３，２０４は、それぞれ１つの表示部品の配置を示す情報であり、それぞれ、図７に示す画面タイトルメッセージ１０１，閉じるボタン１０２，ページめくりボタン１０３，１０４の配置を示すものである。
【００４３】
各要素２０１〜２０４は、その要素を記述するタグの種類により、メッセージやボタン等の部品の種類を示している。また、position属性の値により、画面中で部品を配置する位置を、構造定義情報により規定する画面中での絶対座標により示している。また、label属性の値により、部品に表示するキャプションテキストの内容を示している。また、各要素において、その他の属性を記載可能とし、例えば、その要素が示す表示部品が操作された場合に起動すべきプログラムを示す情報を、タグ内に記載できるようにしてもよい。
【００４４】
これらの各要素が示す表示部品は、基本的に、style要素２２０により規定される表示領域への表示要素の配置内容に関わらず、画面中に配置する表示部品である。しかし、ページの切り替えが可能であることを示すページ要素については、配置定義情報に従って表示領域に配置すべき表示要素を、表示領域に配置しきれなかった場合にのみ配置し、そうでない場合には配置しない。表示要素を全て表示領域に配置できた場合には、１ページの画面内に全ての表示要素の表示が可能であり、ページ切り替えの必要がないためである。
【００４５】
また、画像処理装置１０においては、ＣＰＵ１１が構造定義情報を処理する際に、タグの種類によって、どの部品がページ要素であり、どの部品がページ要素でないかを判別できるようにしている。図６に示した範囲では、pagebutton要素２０３，２０４が、このページ要素の配置を示すページ要素情報である。
【００４６】
次に、図８及び図９に、要素定義情報の例を示す。
これらの図に示す要素定義情報は、構造定義情報により定義される画面内の表示領域に配置する表示要素の内容を定義するデータである。
そして、要素定義情報も、図７に示した画面定義情報と同様、ＸＭＬ形式のデータであり、画面定義情報で用いるものと同じ、message，button等のタグにより、表示要素の内容を、表示領域に配置すべき表示部品の種類と位置及びキャプションテキスト等として定義している。図では、表示部品に関する情報を記載する要素のみを示し、その他の部分は図示を省略している。
なお、要素定義情報に含まれる各要素において、position属性の値は、配置先の表示領域の内部での座標を示す。従って、この座標は、画面全体から見れば、表示領域に応じた所定の座標を基準とする相対座標ということになる。
【００４７】
図８に示すのは、図２に示した不定形設定要素１１１を示すデータである。この場合、表示領域内に配置する表示部品は、「不定形設定」のキャプションテキストを有する不定形設定ボタン１１１ａの１つのみであるから、要素定義情報には、このボタンを示すbutton要素１つを記載している。
【００４８】
図９に示すのは、図２に示した原稿サイズ設定要素１１４を示すデータである。この場合、表示領域内に、タイトルメッセージ１１４ｂと原稿サイズ設定ボタン１１４ａの２つの表示部品を配置する。そこで、要素定義情報に、これらの表示部品を示すmessage要素とpulldownbutton要素の２つを記載している。このように、１つの表示要素が複数の表示部品によって構成されていてもよい。
【００４９】
なお、pulldownbuttonタグは、図７に示した例では用いていないが、図３を用いて説明したプルダウンボタンを示すタグである。また、pulldownbutton要素のnum属性の値は、プルダウンメニューの選択肢のうち何番目の選択肢が選択されているかを示し、その選択肢となる文字列を、プルダウンボタンのキャプションテキストとして用いる。選択肢の内容については、pulldownbutton要素の属性として記載したり、子要素として記載したりすることが考えられるが、ここでは図示を省略している。
【００５０】
次に、図１０に、配置定義情報の例を示す。
図１０に示す配置定義情報は、要素定義情報によって定義される表示要素を、構造定義によって定義される画面内の表示領域に配置するための配置規則を定義するデータである。そして、図１０にも、図２に示した画面の表示に用いるデータを、例として記載している。また、要素定義情報も、図７に示した画面定義情報と同様、ＸＭＬ形式のデータであり、図では、配置規則の定義を記載する要素のみを示し、その他の部分は図示を省略している。
【００５１】
図１０に示した部分のデータのうち、function要素が、画面定義情報において１つのstyle要素によって定義される表示領域（図７の例では６つある）に配置すべき表示要素を示す要素である。そして、function要素の子要素である各element要素が、１つの表示要素に関する配置規則の情報を含む要素である。なお、element要素の数は、配置先の表示領域の数によらず任意である。
【００５２】
そして、各element要素において、source属性３０１に、表示領域に配置する表示要素の内容を規定する要素定義情報を特定する値を記載している。この値は、例えば要素定義情報のファイル名として記載することができる。また、画像処理装置１０においては、表示要素の配置は、先頭に記載されたelement要素により指定されるものから順に行うようにしており、element要素の記載順が、表示要素を表示領域に配置する順序を示すことになる。
【００５３】
また、element要素のlayout属性３０２には、そのelement要素が示す表示要素の配置有無を示す設定を記載している。この値が「true」であれば、配置有りであり、element要素が示す表示要素を表示領域に配置するが、「false」であれば、配置無しであり、配置を行わない。そして、このことにより空く表示領域には、後の表示要素を詰めて配置する。
【００５４】
従って、例えば使わないボタンを示す表示要素に配置無しを設定しておけば、不要なボタンを画面に表示させず、画面を簡素化して操作しやすいものにすることができる。また、属性を１つ変更する以外の変更をせずに、他の操作子を詰めて表示させることができるので、画面に無駄な空白を作らず、必要なボタンのみをコンパクトに纏めて配置した画面の編集を、容易に行うことができる。また、element要素自体は残したまま表示要素を画面から取り除くことができるため、再度表示させる変更も、element要素の値を変更するだけで、容易に行うことができる。
【００５５】
また、element要素のfixed属性３０３には、そのelement要素が示す表示要素の固定有無を示す設定を記載している。この値が「true」であれば、固定有りであり、element要素が示す表示要素を必ず特定の表示領域に配置するが、「false」であれば、固定無しであり、element要素が示す表示要素は、どの表示領域に配置してもよい。
なお、固定有り場合に表示要素を配置すべき表示領域は、ここでは、element要素の記載順によって指定される配置順序と等しい優先順位の表示領域としている。例えば、３番目に記載されたelement要素が示す表示要素は、固定有りであれば、常に３番目の表示領域に配置する。
【００５６】
固定有りは、設定する表示要素よりも前の表示要素において配置無しが設定されている場合に意味のある設定である。上述のように、配置無しの表示要素があると、後の表示要素をその分詰めて配置するため、表示要素の配置位置が変わってしまう。しかし、この場合でも、固定有りを設定した表示要素については、常に同じ位置に配置することができる。
従って、例えば位置が変わると操作がしづらい等の理由により位置を変えたくないボタンがある場合、そのボタンに固定有りを設定すれば、他のボタンの位置を詰めて表示する場合でも、特定のボタンだけ常に同じ位置に表示させ、操作のし易さと、配置有無設定の利点とを、両立させることができる。
なお、固定有りを設定する場合に、配置する表示領域を任意に指定できるようにすることも考えられる。
【００５７】
次に、以上説明してきた構造定義情報，要素定義情報及び配置定義情報を用いて操作パネル１８の表示器に画面を表示させるためのデータを生成する処理について説明する。以下のフローチャートに示す処理は、この発明の画像データ生成方法の実施形態に係る処理である。
【００５８】
まず、図１１に、画像処理装置１０が表示器に画面を表示させる場合にＣＰＵ１１が実行する処理のフローチャートを示す。
ＣＰＵ１１は、ユーザの操作や外部からのコマンドの受信等により、表示器に何らかの画面を表示させる必要が生じると、図１１のフローチャートに示す処理を開始する。
そして、まずステップＳ１１で、表示すべき画面の構造を定義する構造定義情報を読み込み、ＸＭＬの構造を解析して、構造定義情報中にどんな要素がいくつどんな位置関係で存在するかを把握する。
【００５９】
次に、ステップＳ１２で、所定の背景画像の画像データ（グラフィックデータ）を取得し、ＲＡＭ１３の所定のメモリエリアに記憶させる。図６の例には示していないが、画面毎にサイズや背景が異なるのであれば、構造定義情報において、サイズや背景を指定しておけばよい。その後、ステップＳ１３で、構造定義情報から、１番目の表示部品を示す要素を取得する。
【００６０】
そして、ステップＳ１４で、取得した要素が、配置定義情報を参照すべき表示部品を示す要素、すなわちstyle要素であるか否か判断する。
ここでstyle要素でなければ、ステップＳ１５に進み、取得した要素が示す表示部品の画像を、画面中の、その要素のposition属性が示す位置に描画する。これは、例えばmessage要素やbutton要素を取得した場合の処理である。なお、各表示部品と対応する画像のデータは、図６乃至図１０に示したデータとは別に、ＮＶＲＡＭ１４等に記憶させておく。また、この描画は、ステップＳ１２で取得した画像データ上に行う。
【００６１】
一方、ステップＳ１４でstyle要素であれば、ステップＳ１６で配置定義情報に従った画面構築処理を行う。ここでの処理には、ステップＳ１３で取得したstyle要素の内容も用いる。
そして、ステップＳ１５又はＳ１６の後は、ステップＳ１７に進み、構造定義情報の解析を完了したか否か、すなわち構造定義情報中で表示部品を定義する全ての要素に関する描画が完了したか否か判断する。そして、完了していなければ、ステップＳ１８で次の表示部品を示す要素を取得し、ステップＳ１４に戻って処理を繰り返す。完了していれば、ステップＳ１９に進む。ここまでの処理で、背景画像データに必要な表示部品を書き込んだ、表示すべき画面の画像データを生成することができる。
【００６２】
その後、ステップＳ１９では、ステップＳ１６の配置定義情報に従った画面構築処理で、構造定義情報により定義された表示領域に配置しきれなかった表示要素があるか否か判断する。この判断は、例えば単純には、配置すべき表示要素の数（layout属性が「true」であるelement要素の数）と、表示領域の数（style要素の子要素であるwidget要素の数）とを比較して行えばよい。しかし、何らかの理由により一部の表示領域に表示要素を配置できなかった場合には、表示要素の数が表示領域の数以下であっても、全ての表示要素を配置しきれないこともあり得る。
【００６３】
そして、ステップＳ１９でＹＥＳであれば、表示しようとする画面ではページの切り換えが必要であるので、改ページに関する表示部品を、生成した画面に残しておく（Ｓ２０）。この場合、特に処理は必要ないが、ステップＳ２１との対比のためにこのステップを記載した。
【００６４】
一方、ステップＳ１９でＮＯであれば、表示しようとする画面にページの切り替えは必要ないため、改ページに関する表示部品を、生成した画面から削除する（Ｓ２１）。この場合、生成した画面データのうち、改ページに関する表示部品の部分を、背景色で塗りつぶせばよい。
そして、いずれの場合も、ステップＳ２２に進み、ここまでの処理で生成した画像データに従って操作パネル１８の表示器に画面を表示させ、処理を終了する。
【００６５】
以上の処理のうちステップＳ２１までで生成される画像データが、表示器に表示させる画面の内容を規定する画面データであり、ここまでの処理において、ＣＰＵ１１は画面データ生成手段として機能する。また、ステップＳ２２の処理において、ＣＰＵ１１は表示制御手段として機能する。ただし、まだ詳しく説明していないステップＳ１６の処理にも、特徴的な部分がある。
【００６６】
次に、図１２に、図１１のステップＳ１６に示した、配置定義情報に従った画面構築処理のフローチャートを示す。
この処理では、まずステップＳ３１で、構造定義情報においてstyle要素のsource属性で指定された配置定義情報を読み込み、ＸＭＬの構造を解析する。そして、ステップＳ３２で、取得要素数ｎ及び配置済み要素数ｐをクリアする。このｎは、配置定義情報に記載された何番目のelement要素に関する配置を実行中であるかを示す変数であり、ｐは、style要素により定義される配置位置のうち、何番目の配置位置まで表示要素の配置が完了したかを示す変数である。
【００６７】
その後、ステップＳ３３で、配置定義情報の解析が完了したか否か、すなわち全てのelement要素に関する処理（退避も含む）を行ったか否か判断する。この判断は、取得要素数ｎの値が配置定義情報に含まれるelement要素の数に達したか否かにより行うことができる。
【００６８】
通常、始めはステップＳ３３の判断がＮＯになるため、ステップＳ３４に進む。そして、まだ表示要素を配置していない配置位置があるか否か判断する。この判断は、配置済み要素数ｐの値が構造定義情報のstyle要素の子要素であるwidget要素の数に達したか否かにより行うことができる。
【００６９】
そして、通常、始めはステップＳ３４の判断がＹＥＳになるため、ステップＳ３５に進み、配置定義情報から次の表示要素の情報、すなわちｎ＋１番目のelement要素を取得して処理対象とし、これに伴ってステップＳ３６で取得要素数ｎをインクリメントする（１増加させる）。
【００７０】
その後、ステップＳ３７で、処理対象のelement要素は配置有りか否か、すなわちlayout属性の値が「true」か否か判断する。ここでＮＯであれば、処理対象のelement要素が示す表示要素は表示領域に配置しないため、この時点でステップＳ３３に戻る。すなわち、今回処理対象としたelement要素に関する処理は中止し、まだ処理対象としていないelement要素が残っていれば、次のelement要素について同様な処理を行う。
【００７１】
また、ステップＳ３７でＹＥＳであれば、ステップＳ３８に進み、処理対象のelement要素は固定有りか否か、すなわちfixed属性の値が「true」か否か判断する。ここでＮＯであれば、配置位置に制限がないため、処理対象のelement要素が示す表示要素をｐ＋１番目の表示領域に配置すべく、ステップＳ４１以下に進む。
【００７２】
ステップＳ３８でＹＥＳであれば、ステップＳ３９に進み、次の配置先は処理対象のelement要素の順番に応じた位置であるか否か判断する。現在処理中のelement要素はｎ番目のものであり、固定有りの場合、このelement要素が示す表示要素はｎ番目の表示領域に配置すべきである一方、次の配置先はｐ＋１番目の表示領域なので、ｎ＝ｐ＋１であれば、ステップＳ３９の判断がＹＥＳになる。そして、この場合も、直ちに表示要素の配置を行ってよいことがわかるため、ステップＳ３８でＮＯの場合と同様、ステップＳ４１以下に進む。
【００７３】
ステップＳ３９でＮＯの場合には、処理対象のelement要素と対応する表示要素を後で適当な表示領域に配置すべく、ステップＳ４０で処理対象のelement要素をｎの値と共に所定のバッファに退避させて、ステップＳ３３に戻る。
一方、ステップＳ４１では、処理対象のelement要素のsource属性で指定された要素定義情報を読み込んでＸＭＬの構造を解析し、ステップＳ４２で、その要素定義情報に従った描画処理を行う。
【００７４】
ここで、図１３に、この要素定義情報に従った描画処理のフローチャートを示す。
図に示す通り、この処理は、ステップＳ５１，Ｓ５４で、要素定義情報から１つずつ表示部品を示す要素を取得し、ステップＳ５２で、その要素が示す表示部品の画像を、画面中の、画面定義情報において定義されるｐ＋１番目の表示領域に描画する。全ての表示部品に係る描画が完了し、要素定義情報の解析が完了すると、ステップＳ５３の判断がＹＥＳになり、元の処理に戻る。
【００７５】
なお、ステップＳ５２での描画処理は、図１１のステップＳ１２で取得した画像データ上に行い、表示部品を配置する位置は、widget要素のposition属性が示す表示領域の位置を基準にした、処理中の要素のposition属性が示す相対位置である。
以上の図１３に示した処理により、ＣＰＵ１１は、要素定義情報の示す表示要素を、ｐ＋１番目の表示領域に配置することができる。
【００７６】
図１２の説明に戻る。
ステップＳ４２で以上の要素定義情報に従った描画処理を行った後、処理はステップＳ４３に進み、処理対象のelement要素を配置済みとすると共に、ステップＳ４４で配置済み要素数ｐをインクリメントする。そして、このインクリメントにより、退避しておいたelement要素につき、ｎ＝ｐ＋１の条件を満たすものができた可能性があるため、次のステップＳ４５で、退避した表示要素に関する割り込み処理を実行する。
【００７７】
ここで、図１４に、この退避した表示要素に関する割り込み処理のフローチャートを示す。
この処理においては、ＣＰＵ１１は、まずステップＳ６１で、退避中のelement要素があるか否か判断し、もしなければ、以降の処理を行う必要はないため、直ちに元の処理に戻る。しかし、あれば、ステップＳ６２以下の処理に進む。
【００７８】
ステップＳ６２では、ステップＳ３４の場合と同様にまだ表示要素を配置していない配置位置があるか否か判断する。ここでＹＥＳであった場合、ステップＳ６３で、退避してあるelement要素のうち、対応するｎの値が最も小さいものを処理対象とする。ｐの値は１ずつ増加させていくため、ｎ＝ｐ＋１の条件を満たすelement要素があるとすれば、対応するｎの値が最も小さいものであるからである。
【００７９】
そして、ステップＳ６４で、図１２のステップＳ３９の場合と同様に、次の配置先は処理対象のelement要素の順番に応じた位置であるか否か判断する。ここでの判断には、ステップＳ４０で退避しておいたｎの値を用いることができる。また、ｐの値は、処理時点の値を用いる。
【００８０】
ステップＳ６４でＹＥＳの場合、現時点で、処理対象のelement要素が示す表示要素をｐ＋１番目の表示領域に配置してよいことがわかるため、ステップＳ６５乃至Ｓ６８で、図１２のステップＳ４１乃至Ｓ４４と同様な処理を行い、処理対象のelement要素が示す表示要素をｐ＋１番目の表示領域に配置する。また、ステップＳ６７では、配置の済んだelement要素を退避用バッファから削除する処理も行う。
そして、ステップＳ６８でｐをインクリメントしたことにより、退避しておいた他のelement要素につき、ｎ＝ｐ＋１の条件を満たすものができた可能性があるため、ステップＳ６１に戻って処理を繰り返す。
【００８１】
ステップＳ６２でＮＯの場合には、もはや表示要素を配置する場所がないことがわかり、ステップＳ６４でＮＯの場合には、退避したelement要素であって現時点で配置処理を行えるelement要素がないことがわかるため、これらの場合には元の処理に戻る。
以上の図１４に示した処理により、ＣＰＵ１１は、固定有りが設定された要素定義情報の示す表示要素を、他の表示要素の配置位置によらず、固定先の特定の表示領域に配置することができる。
【００８２】
再度図１２の説明に戻る。
ステップＳ４５で以上の退避した表示要素に関する割り込み処理を行った後は、ステップＳ３３に戻り、配置定義情報の解析が完了するか、配置位置がなくなるまで、配置定義情報に含まれる各element要素を順次処理対象として、ステップＳ３３乃至Ｓ４６の処理を繰り返す。
【００８３】
また、ステップＳ３４で、もう表示要素を配置できる表示領域がなくなった場合、未処理のelement要素や退避中のelement要素が残っていても、もはやそれらを画面に配置することができないため、そのまま元の図１１の処理に戻る。
また、ステップＳ３３で配置定義情報の解析が完了していた場合には、ステップＳ４６に進む。そして、ここで退避中のelement要素があるか否か判断し、なければ、全てのelement要素が示す表示要素の配置が終了したと判断して、元の図１１の処理に戻る。
【００８４】
一方、ステップＳ４６で退避中のelement要素があった場合、配置すべき表示要素の数が少なく、退避中のelement要素に係る表示要素を配置すべき位置より前の表示領域がまだ埋まっていないと考えられる。そこで、ステップＳ４７でｐを１インクリメントし、表示領域を１つ飛ばして次の表示領域につき、配置の検討対象とする。
【００８５】
そして、ステップＳ４８で、ステップＳ３４の場合と同様にまだ表示要素を配置していない配置位置があるか否か判断する。ただし、ステップＳ４７でのインクリメントにより配置を飛ばした表示領域は、表示要素を配置したものと取り扱う。ｐの値を基準にステップＳ４８の判断を行えば、この取り扱いは自動的に考慮される。
【００８６】
そして、ステップＳ４８でＹＥＳであった場合、ステップＳ４５に進み、退避中のelement要素に係る配置の可否を検討する。その後、退避中のelement要素に係る表示要素の配置を全て終えるか、配置位置がなくなるまで、ステップＳ４５乃至Ｓ４８の処理を繰り返す。いずれかの条件が満たされると、ステップＳ４６又はステップＳ４８の判断がＮＯになるため、元の図１１の処理に戻る。
【００８７】
以上の図１２に示した処理により、ＣＰＵ１１は、配置定義情報に基づき、要素定義情報によって定義される表示要素を、配置定義情報において、element要素の記載順や、各要素のfixed属性及びlayout属性の値によって定義される規則に従って、構造定義情報によって定義される画面内の各表示領域に配置することができる。
なお、図１１のステップＳ１９の判断は、図１２の処理から図１１の処理に戻る際に、未配置のelement要素が残っていたか否かを基準に行うことができる。
【００８８】
次に、図１５乃至図１８に、配置定義情報の例及び、その配置定義情報を用いて以上説明した処理に従って表示される表示画面の例を示す。
図１５に示す配置定義情報は、図１０に示した配置定義情報に対し、図２に示した解像度設定要素１１２の配置を示す２番目のelement要素と、図２に示した画面では次のページに配置されるカラー設定要素の配置を示す７番目のelement要素につき、layout属性の値を「false」とする変更を行ったものである。
【００８９】
図１６に示すのは、構造定義情報及び要素定義情報は、図２の画面の表示の際と同じものを用い、配置定義情報のみ、図１５に示したものに変えた場合の、読み取り設定画面の表示内容である。
この画面でも、画面の全体的な構成や、画面中でボタン等が配置される位置は図２の場合と同様である。しかし、解像度設定要素１１２には配置無しが設定されているため、この表示要素を構成する解像度設定ボタン１１２ａ及びそのタイトルメッセージ１１２ｂは表示せず、その分、後ろのボタンを詰めて表示している。またこれに伴って、カラー設定要素を表示するスペースができたが、この表示要素にも配置無しが設定されているため、表示は行わない。さらに、配置すべき表示要素の数が５になり、これらを１ページ内に全て配置できたため、ページ要素の表示も行っていない。
【００９０】
また、図１７に示す配置定義情報は、図１５に示した配置定義情報に対し、原稿種類設定要素１１３の配置を示す３番目のelement要素のfixed属性を「true」とする変更を行ったものである。
図１８に示すのは、構造定義情報及び要素定義情報は、図２の画面の表示の際と同じものを用い、配置定義情報のみ図１７に示したものに変えた場合の、読み取り設定画面の表示内容である。
【００９１】
この場合には、原稿種類設定要素１１３には固定有りが設定されているため、解像度設定要素１１２を表示しなくても、原稿種類設定要素１１３の位置は移動させない。すなわち、原稿種類設定要素１１３は、図７に示した３番目の表示領域である表示領域１２３に配置する。そして、解像度設定要素１１２を非表示にしたことにより空いたスペースには、後ろの原稿サイズ設定要素１１４を詰めて表示する。片面設定要素１１５及び両面設定ボタン（要素）１１６も、前に詰めて表示する。
【００９２】
以上説明してきたような画像処理装置１０によれば、このように、配置定義情報を用いて、画面内における複数の基準位置への表示要素の配置規則を規定するようにしたことにより、画面の基本的な構造を変えずに、ボタン等の部品の配置を所定の枠内で変更するような編集を、配置定義情報にわずかな変更を加えるだけで行うことができる。従って、画面の内容を編集する際のユーザ側の操作や内容把握等の負荷を軽減できる。
【００９３】
また、１つの表示要素を構成する表示部品間の位置関係は、常に一定に保つことができるため、「ある項目の設定用のボタン」と「そのボタンの説明文」といった、ユーザにとって意味のある単位の表示部品を集めて表示要素を定めておけば、表示要素の配置位置を変えたとしても、ボタンと説明文が全く異なる位置に表示されて、画面の表示内容がユーザにとって意味不明となる、というような事態を防止できる。
なお、画面の基本的な構造を変えたい場合には、構造定義情報を編集すればよい。また、配置する１つの表示要素内で、表示部品の追加や変更、機能の変更等を行いたい場合には、要素定義情報を編集すればよい。
【００９４】
また、表示領域の優先順位と、表示要素を表示領域に配置する順序を定め、配置すべき表示要素を、その順序で優先順位の高い基準位置から順に配置していくことにより、ユーザが途中の表示要素を削除した場合でも、特にその他の設定を変更することなく、後の表示要素を詰めて画面に表示させることができる。従って、多数の表示要素の表示位置を１つ１つ変更するような面倒な操作をしなくても、表示する画面に無駄な空白が生じてページ数が嵩み、余分なページめくり操作が必要になったり、空白を意識するためにＧＵＩの操作性が低下したりする不具合を防止できる。
また、表示領域をマトリクス状に配置すると共に、構造定義情報に、表示領域のマトリクス中での位置を示す情報を含めておけば、各表示領域の位置関係を直感的に把握し易くすることができる。
【００９５】
〔第２の実施形態：図１９乃至図２３〕
次に、この発明の第２の実施形態の画像処理装置について説明する。
この画像処理装置は、配置定義情報の内容が第１の実施形態の画像処理装置１０と異なり、また、これに伴って、配置定義情報に従った画面構築処理が第１の実施形態の場合と異なるのみであるので、これらの相違点を中心に説明する。また、この説明において、第１の実施形態で説明したものと同じ構成要素については、第１の実施形態と同じ符号を用いる。画像処理装置については、第１の実施形態のものと区別できるよう、符号１０′を用いる。
【００９６】
まず、図１９に、画像処理装置１０′で用いる配置定義情報の例を示す。
画像処理装置１０′においても、配置定義情報において、function要素の子要素である各element要素が、画面定義情報によって定義される表示領域に配置する１つの表示要素に関する配置規則の情報を含む要素であることは、画像処理装置１０の場合と同様である。
【００９７】
しかしながら、画像処理装置１０′においては、function要素の子要素として、element要素に加えて、group要素４０１も記載することができる。このgroup要素４０１は、表示要素のグループ化を指定する要素であり、group要素の子要素には、グループ化する複数のelement要素（この例ではelement要素４１２，４１３の２つ）を記載する。また、group要素のmax属性の値は、グループに属する表示要素の数である。
そして、このようにグループ化された各表示要素は、図７に示したようにマトリクス状に配列された表示領域に配置する際、必ず同一行かつ連続した列の表示領域に配置する。group要素４０１は、このような配置規則を規定するデータである。
【００９８】
表示要素の中には、例えば、図２に示した片面設定要素１１５と両面設定要素１１６のように、複数の表示要素により１つのまとまった動作を実現するものがあるが、このような表示要素をグループ化しておけば、表示要素を詰めて配置する場合でも、必ず隣り合った位置に配置できる。従って、画面の表示内容をカスタマイズする場合に、表示要素の位置関係を特に意識しなくても、画面の内容を、直感的に内容が理解し易く、かつ操作し易いものにすることができる。
【００９９】
element要素の書式は、function要素の子要素として記載する場合と、group要素の子要素として記載する場合とで共通である。なお、この実施形態では、表示要素に表示有無及び固定有無を指定する機能は設けていないため、element要素に、layout属性とfixed属性は記載していない。これらの属性の値を記載することは妨げられないが、以下に説明する処理において、その値は参照されない。
【０１００】
次に、図２０に、画像処理装置１０′のＣＰＵ１１が実行する、配置定義情報に従った画面構築処理のフローチャートを示す。
画像形成装置１０′においても、ＣＰＵ１１は、表示器に何らかの画面を表示させる必要が生じると、図１１のフローチャートに示した処理により、画面データを生成して表示を行う。しかし、ステップＳ１６の配置定義情報に従った画面構築処理の内容は、図２０のフローチャートに示すものである。
【０１０１】
この処理では、まずステップＳ７１で、構造定義情報においてstyle要素のsource属性で指定された配置定義情報を読み込み、ＸＭＬの構造を解析する。そして、ステップＳ７２で、図１２の処理で説明した配置済み要素数ｐをクリアする。
その後、ステップＳ７３で、配置定義情報の解析が完了したか否か、すなわち全てのelement要素及びgroup要素に関する処理（退避も含む）を行ったか否か判断する。配置定義情報にどのような要素が含まれるかは、ステップＳ７１での解析により、把握できる。
【０１０２】
通常、始めはステップＳ７３の判断がＮＯになるため、ステップＳ７４に進む。そして、図１２のステップＳ３４の場合と同様、まだ表示要素を配置していない配置位置があるか否か判断する。
そして、通常、始めはステップＳ７４の判断がＹＥＳになるため、ステップＳ７５に進み、配置定義情報から次の表示要素の情報を取得して処理対象とする。ここで処理対象となり得るのは、element要素又はgroup要素である。
【０１０３】
その後、ステップＳ７６で、処理対象の要素がgroup要素であるか否か判断し、group要素であればステップＳ７７に進む。
ステップＳ７７では、そのgroup要素が示すグループ内の要素数が、マトリクス状に配列された表示領域のうち、次に表示要素を配置するｐ＋１番目の表示領域が属する行の残り列数以下か否か判断する。グループ内の要素数については、group要素の子要素であるelement要素の数を数えてもよいし、group要素のmax属性の値を用いても良い。
【０１０４】
そして、ステップＳ７７でＹＥＳであれば、グループ内の全ての表示要素を、ｐ＋１番目の表示領域が属する行の連続した列に位置する表示領域に配置できることがわかる。このため、この場合には、ステップＳ７８に進み、グループ表示要素配置処理を行う。また、ステップＳ７７でＮＯであれば、その時点で配置を行うと、グループ内の全ての表示要素を同一行の連続した列に位置する表示領域に配置できないため、後で配置を行うべく、ステップＳ７９で処理対象のgroup要素を所定のバッファに退避させる。
【０１０５】
ステップＳ７８又はステップＳ７９の後は、ステップＳ７３に戻って処理を繰り返す。すなわち、まだ処理対象としていないelement要素又はgroup要素が残っていれば、次の要素を処理対象として同様な処理を行う。
【０１０６】
また、ステップＳ７６でＮＯの場合には、処理対象の要素はelement要素であるので、ステップＳ８０乃至Ｓ８３にて、図１２のステップＳ４１乃至Ｓ４４の場合と同様な、そのelement要素が示す表示要素をｐ＋１番目の表示領域に配置する処理を行う。そして、ステップＳ８３のインクリメントにより、ｐ＋１番目の表示領域の位置が行の末尾から次の行の先頭に移動して、退避しておいたgroup要素の中に配置が可能になったものがある可能性があるため、ステップＳ８４で退避したグループに関する割り込み処理を行う。
その後、ステップＳ７３に戻って処理を繰り返す。
【０１０７】
ここで、図２１に、図２０のステップＳ７８で実行する、グループ表示要素配置処理のフローチャートを示す。
図に示す通り、この処理は、ステップＳ９１，Ｓ９７で、処理対象のgroup要素に含まれる表示要素を示すelement要素を１つずつ取得し、ステップＳ９２乃至Ｓ９５で、図１２のステップＳ４１乃至Ｓ４４と同様な、そのelement要素が示す表示要素をｐ＋１番目の表示領域に配置する処理を行う。ステップＳ９３で実行するのは、図１３に示した、要素定義情報に従った描画処理である。そして、グループ内の全ての表示要素の配置（描画）が完了すると、ステップＳ９６の判断がＮＯになり、ステップＳ９８で、処理対象のgroup要素を配置済みとした上で、元の処理に戻る。
【０１０８】
この処理により、１グループ分の表示要素を、マトリクス中の同一行かつ連続した列の表示領域に配置することができる。なお、図２１の処理を行う場合、このような配置が可能なだけの未配置の表示領域が残っていることは既に確認済みなので、図２１に示す処理中に、表示領域の有無を確認する処理は設けなくてよい。
【０１０９】
次に、図２２に、図２０のステップＳ８４で実行する、退避したグループに関する割り込み処理のフローチャートを示す。
この処理においては、ＣＰＵ１１は、まずステップＳ１０１で、退避中のgroup要素があるか否か判断し、もしなければ、以降の処理を行う必要はないため、直ちに元の処理に戻る。しかし、あれば、ステップＳ１０２以下の処理に進む。
【０１１０】
ステップＳ１０２では、図２０のステップＳ７４の場合と同様に、まだ表示要素を配置していない配置位置があるか否か判断する。ここでＹＥＳであった場合、ステップＳ１０３で、退避してあるgroup要素のうち、最先に退避したものを処理対象とする。
そして、ステップＳ１０４で、図２０のステップＳ７７の場合と同様、そのgroup要素が示すグループ内の要素数が、次に表示要素を配置するｐ＋１番目の表示領域が属する行の残り列数以下か否か判断する。そして、ＹＥＳであれば、ステップＳ１０５で図２１に示したグループ表示要素配置処理を実行して、そのgroup要素が示すグループの表示要素を表示領域に配置し、ステップＳ１０６で、処理対象のgroup要素を退避バッファから削除する。その後、次のグループの表示要素も続けて配置できる可能性があるため、ステップＳ１０１に戻って処理を繰り返す。
【０１１１】
ステップＳ１０４でＮＯの場合には、退避してあるgroup要素に関する配置はまだできないため、そのまま元の処理に戻る。なお、この場合、グループ間の前後関係を維持するため、他のgroup要素に関する配置の検討は行わない。
この処理により、退避しておいたgroup要素について、１グループ分の表示要素を、マトリクス中の同一行かつ連続した列の表示領域に配置することができるようになった時点で、このような配置を行うことができる。
【０１１２】
図２０の説明に戻る。
図２０の処理は、ステップＳ８４の後、ステップＳ７３に戻り、配置定義情報の解析が完了するか、配置位置がなくなるまで、配置定義情報に含まれる各element要素及び各group要素を順次処理対象として、ステップＳ７３乃至Ｓ８４の処理を繰り返す。
また、ステップＳ７４で、もう表示要素を配置できる表示領域がなくなった場合、未処理の要素や退避中の要素が残っていても、もはやそれらに係る表示要素を画面に配置することができないため、そのまま元の図１１の処理に戻る。
【０１１３】
また、ステップＳ７３で配置定義情報の解析が完了していた場合、ステップＳ８５に進む。そして、ここで退避中のgroup要素があるか否か判断し、なければ、全てのelement要素及びgroup要素が示す表示要素の配置が終了したと判断して、元の図１１の処理に戻る。
【０１１４】
一方、ステップＳ８５で退避中のgroup要素があった場合、ｐを増加させて、配置を検討する表示領域の位置がマトリクスの次の行に移動すれば、まだそのgroup要素が示すグループの表示要素を配置できる可能性がある。
そこで、ステップＳ８６でｐを１インクリメントし、ステップＳ８７で、図１２のステップＳ４８の場合と同様に配置位置があるか否か判断し、あれば、ステップＳ８４で、退避中のgroup要素に係る配置の可否を検討する。そして、退避中のgroup要素に係る表示要素の配置を全て終えるか、配置位置がなくなるまで、ステップＳ８４乃至Ｓ８７の処理を繰り返す。いずれかの条件が満たされると、ステップＳ８５又はステップＳ８７の判断がＮＯになるため、元の図１１の処理に戻る。
【０１１５】
以上の図２０に示した処理により、ＣＰＵ１１は、配置定義情報に基づき、要素定義情報によって定義される表示要素を、配置定義情報において、element要素の記載順及びgroup要素が示すグループ化の状態によって定義された規則に従って、構造定義情報によって定義される画面内の各表示領域に配置することができる。
なお、図１１のステップＳ１９の判断は、図２０の処理から図１１の処理に戻る際に、未配置のelement要素又はgroup要素が残っていたか否かを基準に行うことができる。
【０１１６】
次に、図２３乃至図２５に、画像処理装置１０′で用いる配置定義情報の例及び、その配置定義情報を用い、以上説明した処理に従って表示される表示画面の例を示す。
図２３に示すのは、構造定義情報及び要素定義情報は、図２の画面の表示の際と同じものを用い、配置定義情報として、図１９に示したものを用いた場合の、読み取り設定画面の表示内容である。図１９に示した配置定義情報において、element要素４１２，４１３，４１５，４１６はそれぞれ、図２３の解像度設定要素１１２，原稿種類設定要素１１３，片面設定要素１１５，両面設定要素１１６の配置を示すものである。
【０１１７】
そして、図２３に示す画面でも、画面の全体的な構成や、画面中でボタン等が配置される位置は図２の場合と同様である。そして、グループ化が設定されていない解像度設定要素１１２及び原稿種類設定要素１１３は、１番目の表示領域から順に配置される。しかし、次の片面設定要素１１５と両面設定要素１１６については、グループ化が指定されている。そして、これらを続けて３番目と４番目の表示領域（図７の表示領域１２３，１２４）に配置するとすると、異なる行の表示領域に配置することになってしまい、グループの配置条件を満たさない。そこで、片面設定要素１１５と両面設定要素１１６は、２行目の先頭から配置を始め、２列の隣接した表示領域（図７の表示領域１２４，１２５）に配置している。従って、これらの表示要素に含まれるボタンが、隣接する位置に配置され、ラジオボタンとして使用し易い状態にすることができる。
【０１１８】
また、図２４に示す配置定義情報は、図１９に示した配置定義情報から、element要素４１３を削除したものである。
図２５に示すのは、構造定義情報及び要素定義情報は、図２の画面の表示の際と同じものを用い、配置定義情報のみ、図２５に示したものに変えた場合の、読み取り設定画面の表示内容である。
【０１１９】
この場合には、グループ化されていない解像度設定要素１１２を１番目の表示領域に配置した後、同じ行の残りの列に、片面設定要素１１５と両面設定要素１１６を続けて配置することができるため、このような配置となる。この場合でも、グループ化が設定された表示要素に含まれるボタンが、隣接する位置に配置され、ラジオボタンとして使用し易い状態にすることができる。
【０１２０】
以上のような配置は、配置定義情報に何ら具体的な配置先を記載しなくても、ＣＰＵ１１が、配置定義情報に含まれるグループ化の設定と、構造定義情報に含まれる行番号や列番号を参照して、自動的に行うことができる。従って、ユーザは、隣接して配置させたい表示要素について、配置定義情報にグループ化の設定を記載しておくだけで、他の表示要素との位置関係を意識しなくても、隣接した配置が実現できる。
なお、グループ化した表示要素は、表示要素を表示領域に配置し切れず、配置が複数ページに亘るような場合であっても、ページを跨いで配置されることはないので、１画面内で、必ずグループ内の全ての表示要素の状態を参照できる状態にすることができる。
【０１２１】
〔変形例〕
以上で図面を用いた実施形態の説明を終了するが、以上説明してきた各実施形態において、装置の構成、具体的な処理内容、表示する画面の内容や用途、データの形式等が、具体的に説明したものに限られないことは、もちろんである。
例えば、配置有無の設定、固定有無の設定、グループ化の設定、ページ要素の自動消去等の機能を設けることは必須ではないし、一部の機能についてのみ設けてもよい。また、上述した構造定義情報，配置定義情報，要素定義情報を始めとする各種のデータの記載形式は、ＸＭＬ形式には限られない。
【０１２２】
また、上述した実施形態では、構造定義情報により、マトリクス状に配置された表示領域を定義する例について説明したが、表示領域は、任意の位置に、任意の順序で、任意のサイズのものを配置することができる。例えば、図２に示した画面タイトルメッセージ１０１や閉じるボタン、ページめくりボタン１０３，１０４等の位置にも表示領域を設け、これらの部品も、配置定義情報に従って表示要素として配置できるようにすることも考えられる。
【０１２３】
また、表示要素を表示領域に配置する際、表示領域からはみ出す部分は描画しない等して、必ず表示領域内に収まるようにしてもよいし、表示領域の境界は気にせず、はみ出しを許可してもよい。
さらに、構造定義情報により定義する基準位置を、領域ではなく、単に表示要素を配置する際の相対位置の規準となる位置座標として定義するようにしてもよい。この場合、表示要素に含まれる表示部品をある位置を基準とした相対位置に配置することを、その表示要素をその基準とした位置に配置した、と考えることができる。
【０１２４】
また、上述した実施形態においては、図１１のステップＳ１７までの処理で、表示部品の描画を行って画面の画像データを生成していたが、この時点では、画面の内容を規定する画面データとして、画面に配置する表示部品とその絶対座標を示す画面データを生成しておくに留めてもよい。そしてその後、必要に応じてページ要素の削除等を行った後、画面データに従った描画を行って、表示用の画像データを生成してもよい。
【０１２５】
また、この画面データあるいは描画後の画像データを、外部の装置に出力し、または記録媒体に保存しておき、他の装置に、出力又は保存した画面データや画像データに従った画面を表示させることができるようにしてもよい。この場合、画像処理装置１０は、ユーザが作成した又はメーカーが提供した構造定義情報、要素定義情報、配置定義情報に基づいて、単に画面の内容を規定する画面データを生成する装置として機能することになる。
この機能のみでも、画面編集時の操作性向上という効果は得ることができる。
【０１２６】
また、この発明の適用対象が、プリンタ，ＦＡＸ装置，コピー機，スキャナ，デジタル複合機等の画像処理装置に限られないことはもちろんである。そして、この発明は、ネットワーク家電，自動販売機，医療機器，電源装置，空調システム，ガス・水道・電気等の計量システム，自動車，航空機，汎用コンピュータ等の任意の電子装置について、その装置の備える表示器に表示させる画面の内容を規定する画面データを生成する手段として、実現できる。画面の用途についても、もちろんＧＵＩに限られることはなく、単に情報を提示する画面に適用してもよい。
【０１２７】
また、この発明の記録媒体は、コンピュータにハードウェアを制御させて上述したような画面データ生成装置として機能させるためのプログラムを記録した記録媒体である。このような記録媒体からこのプログラムをＲＡＭに読み出させてＣＰＵに実行させることにより、上述した実施形態や変形例と同様の効果を得ることができる。また、このようなプログラムを、記録媒体の配布によらず、ダウンロード等により提供することも可能である。
また、以上述べてきた構成及び変形例は、矛盾しない範囲で適宜組み合わせて適用することも可能である。
【産業上の利用可能性】
【０１２８】
以上説明してきたように、この発明の画面データ生成装置、画像処理装置又は画面データ生成方法によれば、表示器に表示させる画面の内容を編集する際の負荷を軽減することができる。
従って、この発明を適用することにより、表示器に表示させる画面を容易にカスタマイズ可能な電子装置を提供することができる。
【図面の簡単な説明】
【０１２９】
【図１】この発明の第１の実施形態である画像処理装置のハードウェア構成を示すブロック図である。
【図２】図１に示した操作パネルに表示させる画面の例を示す図である。
【図３】図２に示した画面に配置するプルダウンボタンの動作の例を示す図である。
【図４】同じくボタンの動作の例を示す図である。
【図５】その別の例を示す図である。
【０１３０】
【図６】図２に示した画面のデータを生成する際に用いる構造定義情報の例を示す図である。
【図７】図６に示した構造定義情報により規定される画面の構造を示す図である。
【図８】図２に示した画面のデータを生成する際に用いる要素定義情報の例を示す図である。
【図９】その別の例を示す図である。
【図１０】図２に示した画面のデータを生成する際に用いる配置定義情報の例を示す図である。
【０１３１】
【図１１】図１に示した画像処理装置が表示器に画面を表示させる場合にＣＰＵが実行する処理のフローチャートである。
【図１２】図１１のステップＳ１６に示した、配置定義情報に従った画面構築処理のフローチャートである。
【図１３】図１２のステップＳ４２等に示した、要素定義情報に従った描画処理のフローチャートである。
【図１４】図１２のステップＳ４５に示した、退避した表示要素に関する割り込み処理のフローチャートである。
【図１５】図１０に示したものとは異なる配置定義情報の例を示す図である。
【０１３２】
【図１６】図１５に示した配置定義情報を用いて生成した画面の例を示す図である。
【図１７】配置定義情報のさらに別の例を示す図である。
【図１８】図１７に示した配置定義情報を用いて生成した画面の例を示す図である。
【図１９】この発明の第２の実施形態の画像処理装置が用いる配置定義情報の例を示す図である。
【図２０】この発明の第２の実施形態の画像処理装置が実行する、配置定義情報に従った画面構築処理のフローチャートである。
【０１３３】
【図２１】図２０のステップＳ７８等に示した、グループ表示要素配置処理のフローチャートである。
【図２２】図２０のステップＳ８４に示した、退避したグループに関する割り込み処理のフローチャートである。
【図２３】図１９に示した配置定義情報を用いて生成した画面の例を示す図である。
【図２４】図１９に示したものとは異なる配置定義情報の例を示す図である。
【図２５】図２４に示した配置定義情報を用いて生成した画面の例を示す図である。
【符号の説明】
【０１３４】
１０：画像処理装置、１１：ＣＰＵ、１２：ＲＯＭ、１３：ＲＡＭ、１４：ＮＶＲＡＭ、
１５：パネルＩ／Ｆ、１６：エンジンＩ／Ｆ、１７：通信Ｉ／Ｆ、１８：操作パネル、
１９：エンジン部、１００：読み取り設定画面、１１１：不定形設定要素、
１１２：解像度設定要素、１１３：原稿種類設定要素、１１４：原稿サイズ設定要素、
１１５：片面設定要素、１１６：両面設定要素、１２１〜１２６：表示領域
【図１】
2008234082.tif 000003
【図２】
2008234082.tif 000004
【図３】
2008234082.tif 000005
【図４】
2008234082.tif 000006
【図５】
2008234082.tif 000007
【図６】
2008234082.tif 000008
【図７】
2008234082.tif 000009
【図８】
2008234082.tif 000010
【図９】
2008234082.tif 000011
【図１０】
2008234082.tif 000012
【図１１】
2008234082.tif 000013
【図１２】
2008234082.tif 000014
【図１３】
2008234082.tif 000015
【図１４】
2008234082.tif 000016
【図１５】
2008234082.tif 000017
【図１６】
2008234082.tif 000018
【図１７】
2008234082.tif 000019
【図１８】
2008234082.tif 000020
【図１９】
2008234082.tif 000021
【図２０】
2008234082.tif 000022
【図２１】
2008234082.tif 000023
【図２２】
2008234082.tif 000024
【図２３】
2008234082.tif 000025
【図２４】
2008234082.tif 000026
【図２５】
2008234082.tif 000027