(57)【特許請求の範囲】
【請求項１】
指令を与えるためのオブジェクトが１つまたは複数配置された画面を表示する表示処理を画像形成装置に実行させるための画面表示アプリケーションを生成するアプリケーション生成装置であって、
複数の予め用意されている、特定の処理を実行するように指令するための第一のオブジェクトのうちのいずれかの、前記画面への配置を受け付け、または、前記画面への、前記第一のオブジェクトとは異なる第二のオブジェクトの配置と当該第二のオブジェクトへ対応付けるべき、他の画面に配置されている第三のオブジェクトとを受け付ける、受付手段と、
前記受付手段による受付の結果に基づいて前記第一のオブジェクトおよび前記第二のオブジェクトの一方または両方が配置された画面を表示し、前記第一のオブジェクトが選択された場合に当該第一のオブジェクトに係る前記特定の処理を実行するように指令し、前記第二のオブジェクトが選択された場合に当該第二のオブジェクトの座標を通知するためのアプリケーションを、前記画面表示アプリケーションとして生成する、生成手段と、
前記生成手段によって生成された前記画面表示アプリケーションおよび前記画面における前記第二のオブジェクトの位置と前記第三のオブジェクトとの対応関係を示す対応関係データを出力する出力手段と、
を有することを特徴とするアプリケーション生成装置。
【請求項２】
前記他の画面は、前記画像形成装置に予め固定的にインストールされている第二のアプリケーションで使用される画面である、
請求項１に記載のアプリケーション生成装置。
【請求項３】
前記受付手段は、前記他の画面を表示し、当該他の画面に配置されているオブジェクトの中から選択されたものを前記第三のオブジェクトとして受け付ける、
請求項１または請求項２に記載のアプリケーション生成装置。
【請求項４】
前記受付手段は、前記他の画面に配置されているオブジェクトの一覧を階層構造の形態で表示し、当該一覧の中から選択されたものを前記第三のオブジェクトとして受け付ける、
請求項１または請求項２に記載のアプリケーション生成装置。
【請求項５】
前記受付手段は、同一の前記第一のオブジェクトの配置を複数回受け付けた場合および同一の前記第三のオブジェクトを複数回受け付けた場合に、前記画面へ重複するオブジェクトを配置しようとしていることを知らせるメッセージを表示する、
請求項１ないし請求項４のいずれかに記載のアプリケーション生成装置。
【請求項６】
前記特定の処理の処理名を示す処理名データを取得する取得手段と、
前記受付手段によって受け付けられて前記画面に配置されたオブジェクトが前記第一のオブジェクトであるか否かを前記処理名データに基づいて判別する判別手段と、
を有し、
前記生成手段は、前記判別手段の結果に基づいて前記画面表示アプリケーションを生成する、
請求項１ないし請求項５のいずれかに記載のアプリケーション生成装置。
【請求項７】
前記受付手段は、前記第二のオブジェクトへ対応付ける前記第三のオブジェクトを複数、当該複数の第三のオブジェクトの順番とともに受け付け、
前記出力手段は、前記対応関係データとして、前記順番をさらに示すデータを、出力する、
請求項１ないし請求項６のいずれかに記載のアプリケーション生成装置。
【請求項８】
前記生成手段は、前記第一のオブジェクトおよび前記第二のオブジェクトのうちの、前記第一のオブジェクトのみが配置された際に用いられる第一のテンプレート、前記第二のオブジェクトのみが配置された際に用いられる第二のテンプレート、および前記第一のオブジェクトおよび前記第二のオブジェクトの両方が配置された際に用いられる第三のテンプレートを有し、
前記受付手段によって前記第一のオブジェクトおよび前記第二のオブジェクトのうちの、前記第一のオブジェクトのみの配置が受け付けられた場合は前記第一のテンプレートを用いて前記画面表示アプリケーションを生成し、前記第二のオブジェクトのみの配置が受け付けられた場合は前記第二のテンプレートを用いて前記画面表示アプリケーションを生成し、前記第一のオブジェクトおよび前記第二のオブジェクトの両方の配置が受け付けられた場合は前記第三のテンプレートを用いて前記画面表示アプリケーションを生成する、
請求項１ないし請求項７のいずれかに記載のアプリケーション生成装置。
【請求項９】
指令を与えるためのオブジェクトが１つまたは複数配置された画面を表示する表示処理を画像形成装置に実行させるための画面表示アプリケーションを生成するアプリケーション生成方法であって、
複数の予め用意されている、特定の処理を実行するように指令するための第一のオブジェクトのうちのいずれかの、前記画面への配置を受け付け、または、前記画面への、前記第一のオブジェクトとは異なる第二のオブジェクトの配置と当該第二のオブジェクトへ対応付けるべき、他の画面に配置されている第三のオブジェクトとを受け付け、
受付けの結果に基づいて前記第一のオブジェクトおよび前記第二のオブジェクトの一方または両方が配置された画面を表示し、前記第一のオブジェクトが選択された場合に当該第一のオブジェクトに係る前記特定の処理を実行するように指令し、前記第二のオブジェクトが選択された場合に当該第二のオブジェクトの座標を通知するためのアプリケーションを、前記画面表示アプリケーションとして生成し、
生成した前記画面表示アプリケーションおよび前記画面における前記第二のオブジェクトの位置と前記第三のオブジェクトとの対応関係を示す対応関係データを出力する、
ことを特徴とするアプリケーション生成方法。
【請求項１０】
指令を与えるためのオブジェクトが１つまたは複数配置された画面を表示する表示処理を画像形成装置に実行させるための画面表示アプリケーションを生成するコンピュータに用いられるコンピュータプログラムであって、
前記コンピュータに、
複数の予め用意されている、特定の処理を実行するように指令するための第一のオブジェクトのうちのいずれかの、前記画面への配置を受け付け、または、前記画面への、前記第一のオブジェクトとは異なる第二のオブジェクトの配置と当該第二のオブジェクトへ対応付けるべき、他の画面に配置されている第三のオブジェクトとを受け付ける受付処理を実行させ、
受付けの結果に基づいて前記第一のオブジェクトおよび前記第二のオブジェクトの一方または両方が配置された画面を表示し、前記第一のオブジェクトが選択された場合に当該第一のオブジェクトに係る前記特定の処理を実行するように指令し、前記第二のオブジェクトが選択された場合に当該第二のオブジェクトの座標を通知するためのアプリケーションを、前記画面表示アプリケーションとして生成する生成処理を実行させ、
生成した前記画面表示アプリケーションおよび前記画面における前記第二のオブジェクトの位置と前記第三のオブジェクトとの対応関係を示す対応関係データを出力する出力処理を実行させる、
ことを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置のアプリケーションを生成する技術であって、特に、アプリケーションによって表示する画面のレイアウトの技術に関する。
【背景技術】
【０００２】
近年、コピー、スキャン、ファックス、またはドキュメント管理など様々な機能が備わった画像形成装置が普及している。このような画像形成装置は、「複合機」または「ＭＦＰ（Multi Function Peripherals）」と呼ばれることもある。
【０００３】
これらの機能を使用できるように、メーカは、アプリケーションを作成し、画像形成装置に予めインストールしている。このように、予め固定的にインストールされているアプリケーションは、「ネイティブアプリケーション」と呼ばれることがある。
【０００４】
さらに、画像形成装置にウェブブラウザが備えられるようになった。ウェブブラウザでウェブサーバへアクセスし、ウェブアプリケーションをウェブサーバに実行させることによって、様々なサービスを受けることができるようになった。
【０００５】
また、「ＩＷＳ（Internal Web Server）」というウェブサーバの機能を画像形成装置に設ける技術が、提案されている。画像形成装置のメーカ以外の企業またはユーザが、広く知られている言語（例えばＨＴＭＬ（Hypertext Markup Language）、ＪａｖａＳｃｒｉｐｔ（登録商標）、またはＰｙｔｈｏｎなど）を用いてウェブアプリケーションを作成して画像形成装置にインストールし、ＩＷＳに実行させることができる。ＩＷＳによって実行されるアプリケーションは、「ＩＷＳアプリケーション」と呼ばれることがある。また、ＩＷＳアプリケーションによって表示される画面は、「カスタム画面」または「カスタマイズ画面」と呼ばれることがある。
【０００６】
ＩＷＳのようなウェブサーバの機能を画像形成装置に設けることによって、画像形成装置の機能の拡張性を従来よりも容易に向上させることができる。
【０００７】
画像形成装置におけるウェブサーバの技術として、次のような技術が提案されている。画像形成装置は、表示手段と、ハイパーテキスト型の情報を前記表示手段に表示させるためのウェブブラウザと、ウェブブラウザ及び外部装置のウェブブラウザのいずれからもアクセス可能なハイパーテキスト型のデータ入出力モジュールを備える。データ入出力モジュールに対するアクセスが、内蔵のウェブブラウザを介してなされたものか、外部装置のウェブブラウザを介してなされたものかを判別し、判別結果に応じて、異なる表示用データを作成し、作成されたデータをウェブブラウザへ送信する。
【０００８】
さらに、カスタム画面をレイアウトするための、ＵＩ（User Interface）ビルダーまたはＧＵＩ（Graphical User Interface）などのツールが、普及している。このようなツールには、ＡＰＩ（Application Program Interface）関数に対応付けられているオブジェクト（例えば、キーを表わすボタン）が多数、予め用意されている。開発者は、これらのオブジェクトの中から必要なものを配置することによって、カスタム画面をレイアウトすることができる。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２０１１−１９７９６８号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかし、カスタム画面をレイアウトするための従来のツールによると、一部のＡＰＩ関数については、それに対応付けられているオブジェクトが用意されていないことがある。また、ＡＰＩ関数が用意されていない機能が画像形成装置に備わっていることもある。
【００１１】
したがって、従来のツールによると、必要な機能を使用するためのカスタム画面を作成することができないことが、ある。
【００１２】
本発明は、このような問題点に鑑み、必要な機能を使用するためのカスタム画面を開発者が従来よりも容易にレイアウトできるようにすることを、目的とする。
【課題を解決するための手段】
【００１３】
本発明の一形態に係るアプリケーション生成装置は、指令を与えるためのオブジェクトが１つまたは複数配置された画面を表示する表示処理を画像形成装置に実行させるためのアプリケーションを生成するアプリケーション生成装置であって、複数の予め用意されている、特定の処理を実行するように指令するための第一のオブジェクトのうちのいずれかの、前記画面への配置を受け付け、または、前記画面への、前記第一のオブジェクトとは異なる第二のオブジェクトの配置と当該第二のオブジェクトへ対応付けるべき、他の画面に配置されている第三のオブジェクトとを受け付ける、受付手段と、前記受付手段によって受け付けられた通りに前記第一のオブジェクトおよび前記第二のオブジェクトの一方または両方が配置された画面を表示し、前記第一のオブジェクトが選択された場合に当該第一のオブジェクトに係る前記特定の処理を実行するように指令し、前記第二のオブジェクトが選択された場合に当該第二のオブジェクトの座標を通知するためのアプリケーションを、前記アプリケーションとして生成する、生成手段と、前記生成手段によって生成された前記アプリケーションおよび前記画面における前記第二のオブジェクトの位置と前記第三のオブジェクトとの対応関係を示す対応関係データを出力する出力手段と、を有する。
【００１４】
好ましくは、前記他の画面は、前記画像形成装置に予め固定的にインストールされている第二のアプリケーションで使用される画面である。
【００１５】
または、前記受付手段は、前記他の画面を表示し、当該他の画面に配置されているオブジェクトの中から選択されたものを前記第三のオブジェクトとして受け付ける。または、前記他の画面に配置されているオブジェクトの一覧を階層構造の形態で表示し、当該一覧の中から選択されたものを前記第三のオブジェクトとして受け付けてもよい。
【発明の効果】
【００１６】
本発明によると、必要な機能を使用するためのカスタム画面を開発者が従来よりも容易にレイアウトすることができる。
【図面の簡単な説明】
【００１７】
【図１】画像処理システムの全体的な構成の例を示す図である。
【図２】画像形成装置のハードウェア構成の例を示す図である。
【図３】操作パネルの例を示す図である。
【図４】画像形成装置のプラットフォームの例を示す図である。
【図５】端末装置のハードウェア構成の例を示す図である。
【図６】ＭＦＰコントロールプラットフォームおよびＩＷＳアプリケーションプラットフォームそれぞれの機能的構成の例を示す図である。
【図７】定義データの例を示す図である。
【図８】座標変換テーブルの例を示す図である。
【図９】端末装置の機能的構成の例を示す図である。
【図１０】ワンタッチ画面の例を示す図である。
【図１１】レイアウト用画面の例を示す図である。
【図１２】関数呼出オブジェクトの配置の方法の例を示す図である。
【図１３】ネイティブ対応オブジェクトの配置の方法の例を示す図である。
【図１４】コピー指令画面の例を示す図である。
【図１５】属性データの例を示す図である。
【図１６】ＩＷＳアプリケーションの３つのタイプの例を示す図である。
【図１７】ＩＷＳアプリケーションの３つのタイプそれぞれの処理の流れの例を示す図である。
【図１８】ＩＷＳアプリケーションの生成の全体的な処理の流れを説明するためのフローチャートである。
【図１９】座標変換テーブルの変形例の例を示す図である。
【図２０】オブジェクトの一覧の変形例を示す図である。
【発明を実施するための形態】
【００１８】
図１は、画像処理システム３の全体的な構成の例を示す図である。図２は、画像形成装置１のハードウェア構成の例を示す図である。図３は、操作パネル１０ｅの例を示す図である。図４は、画像形成装置１のプラットフォームの例を示す図である。図５は、端末装置２０のハードウェア構成の例を示す図である。
【００１９】
図１に示すように、画像処理システム３は、画像形成装置１、端末装置２０、サーバ装置２１、および通信回線２９などによって構成される。
【００２０】
画像形成装置１は、通信回線２９を介して端末装置２０およびサーバ装置２１と通信することができる。通信回線２９として、ＬＡＮ（Local Area Network）回線、インターネット、公衆回線、または専用線などが用いられる。
【００２１】
画像形成装置１は、コピー、ＰＣプリント、ファックス、スキャン、およびボックスなどのサービスを提供する機能を集約した装置である。「ＭＦＰ（Multi Function Peripherals）」または「複合機」などと呼ばれることがある。
【００２２】
ＰＣプリントのサービスは、端末装置２０から受信した画像データに基づいて画像を用紙に印刷するサービスである。「ネットワークプリンティング」または「ネットワークプリント」などと呼ばれることもある。
【００２３】
ボックスのサービスは、ユーザごとに「ボックス」または「パーソナルボックス」などと呼ばれる記憶領域を与えておき、各ユーザが自分の記憶領域によって画像データなどを保存し管理するためのサービスである。ボックスは、パーソナルコンピュータにおける「フォルダ」または「ディレクトリ」に相当する。
【００２４】
スキャンのサービスは、用紙に記されている画像を読み取って画像データを生成し、記録媒体に保存しまたは他の装置へ送信するサービスである。
【００２５】
画像形成装置１は、図２に示すように、ＣＰＵ（Central Processing Unit）１０ａ、ＲＡＭ（Random Access Memory）１０ｂ、ＲＯＭ（Read Only Memory）１０ｃ、補助記憶装置１０ｄ、操作パネル１０ｅ、ＮＩＣ（Network Interface Card）１０ｆ、モデム１０ｇ、スキャンユニット１０ｈ、入力画像処理部１０ｉ、出力画像処理部１０ｊ、およびプリントユニット１０ｋなどによって構成される。
【００２６】
操作パネル１０ｅは、ユーザインタフェースであって、図３に示すように、タッチパネルディスプレイ１０ｅ１および操作キーパネル１０ｅ２などによって構成される。
【００２７】
タッチパネルディスプレイ１０ｅ１は、ユーザに対するメッセージを示す画面、ユーザがコマンドまたは情報を入力するための画面、およびＣＰＵ１０ａが実行した処理の結果を示す画面などを表示する。また、タッチパネルディスプレイ１０ｅ１は、タッチされた位置を示す信号をＣＰＵ１０ａへ送る。
【００２８】
操作キーパネル１０ｅ２は、いわゆるハードウェアキーボードであって、テンキー、スタートキー、ストップキー、およびファンクションキーなどによって構成される。
【００２９】
ＮＩＣ１０ｆは、ＴＣＰ／ＩＰ（Transmission Control Protocol/Internet Protocol）などのプロトコルで他の装置との通信を行う。
【００３０】
モデム１０ｇは、ファクシミリ端末との間でＧ３などのプロトコルで画像データをやり取りする。
【００３１】
スキャンユニット１０ｈは、プラテンガラスの上にセットされたシートに記されている画像を読み取って画像データを生成する。
【００３２】
入力画像処理部１０ｉは、スキャンユニット１０ｈなどによって入力された画像に対して、傾き補正、汚れの除去、または天地補正などの処理を施す。
【００３３】
出力画像処理部１０ｊは、プリントユニット１０ｋによって出力する画像に対して解像度の調整またはモノクロ画像への変換などの処理を施す。
【００３４】
プリントユニット１０ｋは、スキャンユニット１０ｈによって読み取られた画像のほか、ＮＩＣ１０ｆまたはモデム１０ｇによって他の装置から受信した画像を用紙に印刷する。画像は、入力画像処理部１０ｉまたは出力画像処理部１０ｊによって適宜、処理が施されたものである。
【００３５】
ＲＯＭ１０ｃまたは補助記憶装置１０ｄには、画像形成装置１の全体的な管理または基本的な処理を行ったりユーザインタフェースを提供したりするソフトウェアとして、図４に示すオペレーティングシステム１０１およびＭＦＰコントロールプラットフォーム１０２がインストールされている。オペレーティングシステム１０１またはＭＦＰコントロールプラットフォーム１０２の機能をアプリケーションに提供するために、ネイティブアプリケーショプラットフォーム１０３が用意されている。
【００３６】
さらに、補助記憶装置１０ｄには、コピー、スキャン、およびボックスなど上述のサービスを提供するためのアプリケーションのほかウェブブラウザなどがインストールされている。これらのアプリケーションは、ネイティブアプリケーショプラットフォーム１０３を介して動作する。
【００３７】
また、補助記憶装置１０ｄには、ＩＷＳ（Internal Web Server）用のソフトウェアであるＩＷＳアプリケーションプラットフォーム１０５がインストールされている。
【００３８】
さらに、補助記憶装置１０ｄには、ワンタッチコピー、簡易設定コピー、ワンタッチスキャン、および簡易設定スキャンなどがインストールされている。
【００３９】
これらのアプリケーションは、上述のサービスを簡易的に提供するためのアプリケーションである。
【００４０】
例えば、ワンタッチコピーアプリケーションによると、ユーザは、画面の中央に配置されている、キーを表わすボタンを押すだけで、ジョブの指令を与えることができる。しかし、予め決められた条件の通りにしかコピーのジョブを行わせることができない。または、簡易設定コピーによると、ユーザは、特定の一部の項目の条件のみを画面を介して設定し、コピーのジョブを画像形成装置１に実行させることができる。
【００４１】
ユーザは、これらのアプリケーションを、ウェブブラウザを介して使用することができる。また、これらのアプリケーションは、ＩＷＳアプリケーションプラットフォーム１０５によって実行され、それによって得られた結果が適宜、ウェブブラウザを介してユーザへ提供される。
【００４２】
このように、アプリケーションには、ネイティブアプリケーショプラットフォーム１０３を介して実行されるものもあれば、ＩＷＳアプリケーションプラットフォーム１０５を介して実行されるものもある。
【００４３】
以下、これらのアプリケーションを区別するために、ネイティブアプリケーショプラットフォーム１０３を介して実行されるアプリケーションを「ネイティブアプリケーション４０」と記載する。一方、ＩＷＳアプリケーションプラットフォーム１０５を介して実行されるアプリケーションを「ＩＷＳアプリケーション４７」と記載する。また、ウェブブラウザを「ウェブブラウザ４０Ａ」と記載する。ウェブブラウザ４０Ａは、ネイティブアプリケーション４０の１つである。
【００４４】
サーバ装置２１は、ＦＴＰ（File Transfer Protocol）などのプロトコルによって他の装置へファイルを提供したり他の装置から受信したファイルを管理したりする。
【００４５】
端末装置２０は、画像形成装置１の上述のサービスを遠隔的に使用するためのクライアントである。また、端末装置２０は、ＩＷＳアプリケーション４７を生成するためにも使用される。端末装置２０として、パーソナルコンピュータ、スマートフォン、またはタブレットコンピュータなどが用いられる。以下、ノート型のパーソナルコンピュータが端末装置２０として用いられる場合を例に説明する。
【００４６】
端末装置２０は、図５に示すように、ＣＰＵ２０ａ、ＲＡＭ２０ｂ、ＲＯＭ２０ｃ、補助記憶装置２０ｄ、液晶ディスプレイ２０ｅ、ＮＩＣ２０ｆ、キーボード２０ｇ、およびポインティングデバイス２０ｈなどによって構成される。
【００４７】
液晶ディスプレイ２０ｅには、印刷の対象であるドキュメントおよび印刷の指令のための画面などが表示される。
【００４８】
ＮＩＣ２０ｆは、画像形成装置１などとＴＣＰ／ＩＰなどのプロトコルによって通信する。
【００４９】
キーボード２０ｇおよびポインティングデバイス２０ｈは、ユーザが情報およびコマンドなどを入力するために用いられる。
【００５０】
ＲＯＭ２０ｃまたは補助記憶装置２０ｄには、オペレーティングシステム、種々のアプリケーション、および画像形成装置１のドライバなどが記憶されている。さらに、アプリケーション生成プログラム２０Ｐが記憶されている。
【００５１】
アプリケーション生成プログラム２０Ｐは、ＩＷＳアプリケーション４７を生成するためのプログラムである。
【００５２】
これらのプログラムは、必要に応じてＲＡＭ２０ｂにロードされ、ＣＰＵ２０ａによって実行される。補助記憶装置２０ｄとして、ハードディスクまたはＳＳＤなどが用いられる。
【００５３】
アプリケーション生成プログラム２０Ｐには、ＧＵＩ（Graphical User Interface）の画面を設計するための機能として、統括ＵＩ（User Interface）ビルダー、ＵＩビルダー、またはＧＵＩビルダーなどの公知のツールの機能および拡張された機能を備えている。
【００５４】
これにより、開発者は、ＩＷＳアプリケーション４７の生成の作業の際に、上述のワンタッチコピーの画面または簡易設定コピーの画面などのような、ボタンなどのオブジェクト（「コントロール」と呼ばれることもある。）を操作するだけで特定の条件を指定しジョブを実行させるための画面を、従来よりも容易に作成することができる。以下、この仕組みについて、説明する。
【００５５】
〔プラットフォーム〕
図６は、ＭＦＰコントロールプラットフォーム１０２およびＩＷＳアプリケーションプラットフォーム１０５それぞれの機能的構成の例を示す図である。図７は、定義データ５Ａの例を示す図である。図８は、座標変換テーブル５Ｃの例を示す図である。
【００５６】
まず、ＩＷＳアプリケーション４７が動作するプラットフォームについて、説明する。ここでは、特に、ＩＷＳアプリケーション４７の画面に関する処理について、説明する。
【００５７】
図６に示すように、ＭＦＰコントロールプラットフォーム１０２は、通信部１２１、動作指示部１２２、タッチ座標受付部１２３、および座標変換部１２４などを備える。
【００５８】
ＩＷＳアプリケーションプラットフォーム１０５は、定義データ記憶部１５１、ファンクション受付部１５２、タッチ座標受付部１５３、定義データ送信部１５４、アプリケーション起動部１５５、および通信部１５６などを備える。
【００５９】
ＭＦＰコントロールプラットフォーム１０２の通信部１２１は、Ｃｏｍｍｏｎ  ＡＰＩ（Application Program Interface）であって、オペレーティングシステム１０１の機能をＩＷＳアプリケーションプラットフォーム１０５へ提供する。
【００６０】
具体的には、オペレーティングシステム１０１の汎用的な機能ごとに、その機能を実現するための手続を定めたＡＰＩ関数が通信部１２１に用意（定義）されている。そして、通信部１２１は、ＩＷＳアプリケーションプラットフォーム１０５からＡＰＩ関数の識別子（以下、「関数名」と記載する。）の指定を受け付ける。
【００６１】
すると、動作指示部１２２は、そのＡＰＩ関数に定められる手続が実行されるように各部（オペレーティングシステム１０１または各ハードウェアなど）へ指示を与える。
【００６２】
そして、通信部１２１は、手続の実行の結果を適宜、ＩＷＳアプリケーションプラットフォーム１０５へ返す。
【００６３】
ただし、オペレーティングシステム１０１の機能の一部には、ＡＰＩ関数が定義されていない。
【００６４】
ＩＷＳアプリケーションプラットフォーム１０５において、定義データ記憶部１５１には、図７のように、ＭＦＰコントロールプラットフォーム１０２に用意されている上述のＡＰＩ関数ごとに定義データ５Ａが記憶されている。
【００６５】
定義データ５Ａには、次の情報が示されている。「関数名」は、その定義データ５Ａに対応するＡＰＩ関数の関数名である。「オブジェクト識別子」は、そのＡＰＩ関数をコールするためのオブジェクトの識別子（ＩＤ）である。オブジェクトは、一般に、「コントロール」と呼ばれることもある。以下、ＡＰＩ関数をコールするためのオブジェクトを「関数呼出オブジェクト」と記載する。本実施形態では、関数呼出オブジェクトとして、キーを表わすボタンが用いられる。
【００６６】
関数呼出オブジェクトは、ＩＷＳアプリケーション４７の画面に配置され、ユーザがＡＰＩ関数を呼び出すために用いられる。配置の作業は、ＩＷＳアプリケーション４７の開発者によって行われる。この際に、アプリケーション生成プログラム２０Ｐが使用される。ＩＷＳアプリケーション４７の生成については、後述する。
【００６７】
ＩＷＳアプリケーション４７の画面において、関数呼出オブジェクトがタッチされるなどして選択されると、各部によって次のように処理が行われる。
【００６８】
選択された関数呼出オブジェクトに対応するＡＰＩ関数の関数名がＩＷＳアプリケーション４７からＩＷＳアプリケーションプラットフォーム１０５へ通知される。
【００６９】
ＩＷＳアプリケーションプラットフォーム１０５において、ファンクション受付部１５２は、ＩＷＳアプリケーション４７から通知された関数名を受け付ける。
【００７０】
通信部１５６は、ＩＷＳのＡＰＩであって、ＭＦＰコントロールプラットフォーム１０２との間で情報をやり取りする。
【００７１】
ファンクション受付部１５２は、ＩＷＳアプリケーション４７から通知された関数名を受け付ける。
【００７２】
すると、通信部１５６は、その関数名をＭＦＰコントロールプラットフォーム１０２に対して指定することによって、その関数名のＡＰＩ関数を呼び出す。
【００７３】
そして、ＭＦＰコントロールプラットフォーム１０２において、通信部１２１が関数名を指定されると、上述の通り、動作指示部１２２は、その関数名のＡＰＩ関数に定められる手続が実行されるように各部へ指示を与える。通信部１２１は、手続の実行の結果を適宜、ＩＷＳアプリケーションプラットフォーム１０５へ返す。
【００７４】
ＩＷＳアプリケーション４７の開発者は、関数呼出オブジェクト以外のオブジェクトとして、ネイティブ対応オブジェクトをＩＷＳアプリケーション４７の画面に配置することができる。
【００７５】
ネイティブ対応オブジェクトは、ネイティブアプリケーション４０の画面に配置されているオブジェクトと同等の役割を果たすオブジェクトである。以下、ネイティブ対応オブジェクトとして、キーを表わすボタンが用いられる場合を例に説明する。ネイティブ対応オブジェクトの配置の仕方については、後述する。
【００７６】
ネイティブ対応オブジェクトがタッチされると、各部によって次のように処理が行われる。
【００７７】
タッチされた位置の座標がＩＷＳアプリケーション４７からＩＷＳアプリケーションプラットフォーム１０５へ通知される。
【００７８】
ＩＷＳアプリケーションプラットフォーム１０５において、タッチ座標受付部１５３は、ＩＷＳアプリケーション４７から通知された座標を受け付ける。すると、通信部１５６は、その座標をＭＦＰコントロールプラットフォーム１０２へ通知する。
【００７９】
ＭＦＰコントロールプラットフォーム１０２において、タッチ座標受付部１２３は、ＩＷＳアプリケーションプラットフォーム１０５から通知された座標を受け付ける。
【００８０】
すると、座標変換部１２４は、通知された座標に対応する、ネイティブアプリケーション４０の画面におけるオブジェクトの中心の座標に変換する。この際に、図８に示す、そのＩＷＳアプリケーション４７の座標変換テーブル５Ｃが次のように用いられる。
【００８１】
座標変換部１２４は、座標変換テーブル５Ｃに格納されているレコードごとに、開始座標および終了座標を結ぶ線分を対角線として有する矩形の領域を算出する。算出した領域の中から、通知された座標が属する領域を検索する。そして、通知された座標を、見つかった領域に係るレコードに示される中心座標に変換する。
【００８２】
なお、座標変換テーブル５Ｃは、後述するように、ＩＷＳアプリケーション４７が生成されたときに、ＩＷＳアプリケーション４７とともにインストールされる。
【００８３】
動作指示部１２２は、そのレコードに示される画面番号の画面の、座標変換部１２４によって求められた座標（中心座標）の位置がタッチされた場合と同様に動作するように、各部（オペレーティングシステム１０１または各ハードウェアなど）へ指示を与える。つまり、動作指示部１２２は、その座標に対応する、その画面の中のオブジェクトがタッチされたものとして、そのオブジェクトに対応する処理が実行されるように各部へ指示を与える。
【００８４】
〔ＩＷＳアプリケーション４７の生成〕
図９は、端末装置２０の機能的構成の例を示す図である。図１０は、ワンタッチ画面６Ａの例を示す図である。図１１は、レイアウト用画面６Ｂの例を示す図である。図１２は、関数呼出オブジェクトの配置の方法の例を示す図である。図１３は、ネイティブ対応オブジェクトの配置の方法の例を示す図である。図１４は、コピー指令画面６Ｃの例を示す図である。図１５は、属性データ５Ｂの例を示す図である。図１６は、ＩＷＳアプリケーション４７の３つのタイプの例を示す図である。
【００８５】
開発者は、アプリケーション生成プログラム２０ＰによってＩＷＳアプリケーション４７を生成することができる。
【００８６】
アプリケーション生成プログラム２０Ｐを実行することによって、端末装置２０には、図９に示す画面レイアウト部２０１、定義データ取得部２０２、定義有無判別部２０３、座標変換テーブル生成部２０４、タイプ判別部２０５、アプリケーション生成部２０６、およびアプリケーション転送部２０７などが実現される。画面レイアウト部２０１ないしアプリケーション転送部２０７は、統括ＵＩビルダーを拡張したものである。
【００８７】
以下、ＩＷＳアプリケーション４７として、コピー、スキャン、およびファックス送信の各ジョブのいずれか１つを選択的に図１０のワンタッチ画面６Ａからユーザがワンタッチで指令することができるワンタッチアプリケーション４７Ａを生成する場合を例に、図９の各部の処理を説明する。
【００８８】
画面レイアウト部２０１は、ワンタッチ画面６Ａをレイアウトするための処理を次のように実行する。
【００８９】
開発者が所定のコマンドを入力すると、画面レイアウト部２０１は、図１１のようなレイアウト用画面６Ｂを液晶ディスプレイ２０ｅに表示させる。
【００９０】
ここで、開発者は、関数呼出オブジェクト、ネイティブ対応オブジェクト、ロゴ、および壁紙などを任意にレイアウト用画面６Ｂの中のレイアウト領域６Ｂ１へ配置することによって、ワンタッチ画面６Ａをレイアウトする。
【００９１】
関数呼出オブジェクトを配置する場合は、開発者は、関数呼出ボタン６Ｂ２をクリックする。
【００９２】
すると、画面レイアウト部２０１は、関数呼出オブジェクトの一覧が配置された第一のダイアログボックスをレイアウト用画面６Ｂの上に表示させる。一覧には、関数呼出オブジェクトのオブジェクト識別子、および、関数呼出オブジェクトを選択することによって実現される処理の説明などが示される。
【００９３】
ここで、開発者は、配置したい関数呼出オブジェクトを第一のダイアログボックスの中から選択する。
【００９４】
すると、画面レイアウト部２０１は、第一のダイアログボックスを閉じ、図１２（Ａ）のように、選択された関数呼出オブジェクトをレイアウト領域６Ｂ１に配置する。
【００９５】
そして、開発者は、適宜、図１２（Ｂ）のように、配置された関数呼出オブジェクトの位置をドラッグするなどして調整し、その関数呼出オブジェクトに名前を与える。
【００９６】
すると、画面レイアウト部２０１は、ワンタッチ画面６Ａにおける、この関数呼出オブジェクトの識別子（キー番号）を発行する。そして、この関数呼出オブジェクトへ、発行したキー番号、調整後の位置の左上の座標（以下、「開始座標」と記載する。）および右下の座標（以下、「終了座標」と記載する。）、この関数呼出オブジェクトのオブジェクト識別子、ならびに与えられた名前を対応付ける。
【００９７】
ネイティブ対応オブジェクトを配置する場合は、開発者は、ネイティブボタン６Ｂ３をクリックする。
【００９８】
すると、画面レイアウト部２０１は、ネイティブアプリケーション４０ごとの画面の一覧が配置された第二のダイアログボックスをレイアウト用画面６Ｂの上に表示させる。
【００９９】
開発者は、一覧の中から、このネイティブ対応オブジェクトに対して与えたい機能を有するオブジェクトが配置されているネイティブアプリケーション４０を選択する。
【０１００】
すると、画面レイアウト部２０１は、選択されたネイティブアプリケーション４０の画面を液晶ディスプレイ２０ｅに表示させる。例えば、コピーのアプリケーションが選択された場合は、図１４のようなコピー指令画面６Ｃを表示させる。
【０１０１】
開発者は、コピー指令画面６Ｃの中から、このネイティブ対応オブジェクトに対して与えたい機能を有するオブジェクトを選択する。
【０１０２】
すると、画面レイアウト部２０１は、第二のダイアログボックスを閉じ、ネイティブ対応オブジェクトを図１３（Ａ）のようにレイアウト領域６Ｂ１に配置する。
【０１０３】
開発者は、適宜、図１３（Ｂ）のように、配置されたネイティブ対応オブジェクトの位置をドラッグするなどして調整し、このネイティブ対応オブジェクトの名前を与える。
【０１０４】
すると、画面レイアウト部２０１は、このネイティブ対応オブジェクトのキー番号を発行する。そして、このネイティブ対応オブジェクトへ、発行したキー番号、選択されたネイティブアプリケーション４０の画面の識別子（画面番号）、選択されたオブジェクトの中心の座標（以下、「中心座標」と記載する。）、このネイティブ対応オブジェクトの調整後の位置の開始座標および終了座標、ならびに与えられた名前を対応付ける。
【０１０５】
また、ロゴまたは壁紙などの画像を配置する場合は、開発者は、画像ボタン６Ｂ４をクリックする。
【０１０６】
すると、画面レイアウト部２０１は、配置する画像のファイルを指定するための第三のダイアログボックスをレイアウト用画面６Ｂの上に表示させる。開発者は、そのファイルを第三のダイアログボックスに指定する。
【０１０７】
画面レイアウト部２０１は、第三のダイアログボックスを閉じ、指定されたファイルに基づいて、画像をレイアウト領域６Ｂ１に配置する。そして、開発者は、画像の位置を適宜、調整する。
【０１０８】
上述の操作を開発者が適宜行い、操作に応じて上述の処理を画面レイアウト部２０１が行うことによって、関数呼出オブジェクト、ネイティブ対応オブジェクト、および画像がレイアウト領域６Ｂ１へ配置される。開発者は、配置が完了したら、完了ボタン６Ｂ５をクリックする。
【０１０９】
このようにレイアウト領域６Ｂ１へのオブジェクトの配置を行うことによって、ワンタッチ画面６Ａのレイアウトが完了する。また、画面レイアウト部２０１の処理によって、図１５に示すような、レイアウト領域６Ｂ１に配置された関数呼出オブジェクトおよびネイティブ対応オブジェクトそれぞれの属性データ５Ｂが得られる。
【０１１０】
なお、画面レイアウト部２０１は、ネイティブ対応オブジェクトへ与えたい（対応付けたい）機能を有するオブジェクトを開発者に選択させるために、コピー指令画面６Ｃ以外にも、予め画像形成装置１に用意されているすべての画面のうちのいずれかを適宜、液晶ディスプレイ２０ｅに表示させることができる。
【０１１１】
定義データ取得部２０２および定義有無判別部２０３は、処理などを指定するためのオブジェクト（本実施形態では、キーを表わすボタン）がワンタッチ画面６Ａが配置されるごとに、そのオブジェクトに対応するＡＰＩ関数があるか否かを判別する処理を、次のように行う。
【０１１２】
定義データ取得部２０２は、そのオブジェクトの属性データ５Ｂにオブジェクト識別子が示される場合に、そのオブジェクト識別子を画像形成装置１へ通知することによって、定義データを要求する。
【０１１３】
画像形成装置１において、ＩＷＳアプリケーションプラットフォーム１０５の定義データ送信部１５４は、端末装置２０から通知されたオブジェクト識別子を示す定義データ５Ａを定義データ記憶部１５１の中から検索する。そして、その定義データ５Ａが見つかったら、その定義データ５Ａを端末装置２０へ送信する。
【０１１４】
そして、定義データ取得部２０２は、画像形成装置１から定義データ５Ａを受け付ける。このようにして、ワンタッチ画面６Ａに配置されたオブジェクトの定義データ５Ａが取得される。
【０１１５】
定義有無判別部２０３は、定義データ取得部２０２によって定義データ５Ａが取得された場合は、ワンタッチ画面６Ａに配置されたオブジェクトにＡＰＩ関数があると判別する。取得されなかった場合は、ＡＰＩ関数がないと判別する。
【０１１６】
上述の処理によると、結果的に、ワンタッチ画面６Ａに配置されたオブジェクトが関数呼出オブジェクトであれば、ＡＰＩ関数が定義されていると判別され、ネイティブ対応オブジェクトであれば、定義されていないと判別される。
【０１１７】
座標変換テーブル生成部２０４は、図８のような座標変換テーブル５Ｃを次のように生成する。
【０１１８】
座標変換テーブル生成部２０４は、ＡＰＩ関数が定義されていないと定義有無判別部２０３によって判別されたオブジェクト（つまり、ネイティブ対応オブジェクト）それぞれの属性データ５Ｂ（図１５参照）を画面レイアウト部２０１から取得する。
【０１１９】
そして、座標変換テーブル生成部２０４は、取得した属性データ５Ｂそれぞれから、開始座標、終了座標、画面番号、および中心座標を抽出して纏める。これにより、座標変換テーブル５Ｃが生成される。
【０１２０】
座標変換テーブル５Ｃは、前に説明した通り、画像形成装置１がワンタッチ画面６Ａにおけるオブジェクト座標を、それに対応する、ネイティブアプリケーション４０の画面における座標に変換するために用いられる。
【０１２１】
タイプ判別部２０５は、ワンタッチアプリケーション４７Ａのタイプを次のように判別する。
【０１２２】
ワンタッチ画面６Ａに配置された、処理などを指定するためのオブジェクト（本実施形態では、キーを表わすボタン）にすべてＡＰＩ関数が定義されている場合は、タイプ判別部２０５は、ワンタッチアプリケーション４７Ａが第一のタイプであると、判別する。１つもＡＰＩ関数が定義されていない場合は、第二のタイプであると、判別する。ＡＰＩ関数が定義されているものおよび定義されていないものが混在する場合は、第三のタイプであると判別する。
【０１２３】
アプリケーション生成部２０６は、タイプ判別部２０５によって判別されたタイプに応じて、ワンタッチアプリケーション４７Ａを次のように生成する。
【０１２４】
第一のタイプであると判別された場合は、アプリケーション生成部２０６は、図１６（Ａ）に示すような、画面制御部４７１、タッチ座標受信部４７２、座標変換部４７４、およびファンクション通知部４７５などによって構成されるアプリケーションをワンタッチアプリケーション４７Ａとして生成する。
【０１２５】
第二のタイプであると判別された場合は、アプリケーション生成部２０６は、図１６（Ｂ）に示すような、画面制御部４７１、タッチ座標受信部４７２、およびタッチ座標通知部４７６などによって構成されるアプリケーションをワンタッチアプリケーション４７Ａとして生成する。
【０１２６】
第三のタイプであると判別された場合は、アプリケーション生成部２０６は、図１６（Ｃ）に示すような、画面制御部４７１、タッチ座標受信部４７２、キー属性判別部４７３、座標変換部４７４、ファンクション通知部４７５、およびタッチ座標通知部４７６などによって構成されるアプリケーションをワンタッチアプリケーション４７Ａとして生成する。
【０１２７】
アプリケーション生成部２０６は、３つのタイプそれぞれに対して予め用意したテンプレートを書き換えることによって、ワンタッチアプリケーション４７Ａを生成する。画面制御部４７１ないしタッチ座標通知部４７６それぞれの処理は、次の通りである。
【０１２８】
画面制御部４７１は、ウェブブラウザ４０Ａにワンタッチ画面６Ａを表示させるための処理を行う。具体的には、ワンタッチ画面６Ａを表示するためのファイルを生成しまたは準備し、ウェブブラウザ４０Ａへ提供する。ファイルは、ＨＴＭＬ（Hypertext Markup Language）またはＪａｖａＳｃｒｉｐｔなどによって記述される。また、ワンタッチ画面６Ａにロゴまたは壁紙などの画像が配置されている場合は、その画像の画像ファイルも、ウェブブラウザ４０Ａへ提供する。
【０１２９】
アプリケーション生成部２０６は、ワンタッチ画面６Ａのレイアウトのデータとして、画面レイアウト部２０１によって得られた属性データ５Ｂ（図１５参照）が用いられるように、テンプレートに記述されるコードのうちの画面のレイアウトを定義するコードを書き換える。書換えは、第一のタイプ、第二のタイプ、および第三のタイプいずれの場合にも、行われる。
【０１３０】
タッチ座標受信部４７２は、タッチパネルディスプレイ１０ｅ１の、ユーザがタッチした位置を示す座標（以下、「タッチ座標」と記載する。）を受け付ける。
【０１３１】
キー属性判別部４７３は、タッチ座標受信部４７２によってタッチ座標が受け付けられると、ワンタッチ画面６Ａの、このタッチ座標に配置されているオブジェクト（以下、「タッチオブジェクト」と記載する。）の属性を次のように判別する。
【０１３２】
キー属性判別部４７３は、属性データ５Ｂごとに、それに示される開始座標および終了座標を結ぶ線分を対角線として有する矩形の領域を算出する。算出した領域の中から、このタッチ座標が属する領域を検索する。
【０１３３】
そして、見つかった領域に係る属性データ５Ｂに画面番号および中心座標が示される場合は、キー属性判別部４７３は、タッチオブジェクトがネイティブ対応オブジェクトであると、判別する。一方、示されない場合は、タッチオブジェクトが関数呼出オブジェクトであると、判別する。
【０１３４】
アプリケーション生成部２０６は、上述の判別のためのデータとして属性データ５Ｂが用いられるように、テンプレートに記述されるコードのうちの判別に係るコードを書き換える。書換えは、第三のタイプの場合にのみ、行われる。
【０１３５】
座標変換部４７４は、タッチ座標を、定義データ取得部２０２によって取得された定義データ５Ａに示されるＡＰＩ関数の関数名に変換する。ただし、第三のタイプにおいては、タッチオブジェクトが関数呼出オブジェクトであるとキー属性判別部４７３によって判別された場合にのみ、変換する。
【０１３６】
アプリケーション生成部２０６は、上述の変換のためのデータとして属性データ５Ｂが用いられるように、テンプレートに記述されるコードのうちの変換に係るコードを書き換える。書換えは、第一のタイプの場合および第三のタイプの場合に、行われる。
【０１３７】
ファンクション通知部４７５は、座標変換部４７４の処理によって得られた関数名をＩＷＳアプリケーションプラットフォーム１０５へ通知する。
【０１３８】
タッチ座標通知部４７６は、タッチ座標をＩＷＳアプリケーションプラットフォーム１０５へ通知する。ただし、第三のタイプにおいては、タッチオブジェクトがネイティブ対応オブジェクトであるとキー属性判別部４７３によって判別された場合にのみ、通知する。
【０１３９】
図９に戻って、アプリケーション転送部２０７は、座標変換テーブル生成部２０４によって座標変換テーブル５Ｃが生成され、アプリケーション生成部２０６によってワンタッチアプリケーション４７Ａが生成されると、座標変換テーブル５Ｃおよびワンタッチアプリケーション４７Ａを画像形成装置１へ転送する。
【０１４０】
なお、座標変換テーブル５Ｃは、例えば、ＸＭＬ（Extensible Markup Language）またはＣＳＶ（Comma Separated Value）などのフォーマットのファイルとして転送される。また、ワンタッチアプリケーション４７Ａは、ソースコードを記述したテキストファイルとして転送される。または、ソースコードをコンパイルして得られる、オブジェクトコードのファイルとして転送される。
【０１４１】
画像形成装置１において、ワンタッチアプリケーション４７Ａおよび座標変換テーブル５Ｃは、互いに対応付けられて、補助記憶装置１０ｄの所定の記憶領域にインストールされる。
【０１４２】
〔各タイプのＩＷＳアプリケーション４７の実行〕
図１７は、ＩＷＳアプリケーション４７の３つのタイプそれぞれの処理の流れの例を示す図である。
【０１４３】
次に、第一のタイプ、第二のタイプ、および第三のタイプそれぞれのＩＷＳアプリケーション４７による、ユーザの操作の受付の処理について、図１７を参照しながら説明する。
【０１４４】
ＩＷＳアプリケーション４７が第一のタイプである場合は、図１７（Ａ）に示すように、タッチ座標受信部４７２がタッチ座標（例えば、（Ｘｔ，Ｙｔ））を受け付けると（＃８０１）、座標変換部４７４は、タッチ座標をＡＰＩ関数の関数名に変換する（＃８０２）。そして、ファンクション通知部４７５は、その関数名をＩＷＳアプリケーションプラットフォーム１０５へ通知する（＃８０３）。
【０１４５】
ＩＷＳアプリケーション４７が第二のタイプである場合は、図１７（Ｂ）に示すように、タッチ座標受信部４７２がタッチ座標を受け付けると（＃８２１）、タッチ座標通知部４７６は、タッチ座標をＩＷＳアプリケーションプラットフォーム１０５へ通知する（＃８２２）。
【０１４６】
ＩＷＳアプリケーション４７が第三のタイプである場合は、図１７（Ｃ）に示すように、タッチ座標受信部４７２がタッチ座標を受け付けると（＃８３１）、キー属性判別部４７３は、タッチ座標に配置されているオブジェクトすなわちタッチオブジェクトの属性を判別する（＃８３２）。
【０１４７】
タッチオブジェクトが関数呼出オブジェクトであると判別された場合は、座標変換部４７４は、タッチ座標をＡＰＩ関数の関数名に変換する（＃８３３）。そして、ファンクション通知部４７５は、その関数名をＩＷＳアプリケーションプラットフォーム１０５へ通知する（＃８３４）。
【０１４８】
一方、タッチオブジェクトがネイティブ対応オブジェクトであると判別された場合は、タッチ座標通知部４７６は、タッチ座標をＩＷＳアプリケーションプラットフォーム１０５へ通知する（＃８３５）。
【０１４９】
図１８は、ＩＷＳアプリケーション４７の生成の全体的な処理の流れを説明するためのフローチャートである。
【０１５０】
次に、端末装置２０がＩＷＳアプリケーション４７を生成する際の全体的な処理の流れを、図１８のフローチャートを参照しながら説明する。
【０１５１】
端末装置２０は、アプリケーション生成プログラム２０Ｐに基づいて、図１８に示す手順で処理を実行する。
【０１５２】
端末装置２０は、所定のコマンドが入力されると、レイアウト用画面６Ｂ（図１１参照）を表示する（＃７０１）。
【０１５３】
開発者がレイアウト領域６Ｂ１、関数呼出ボタン６Ｂ２、ネイティブボタン６Ｂ３、画像ボタン６Ｂ４、第一のダイアログボックス、第二のダイアログボックス、または第三のダイアログボックスを操作すると、端末装置２０は、生成しているＩＷＳアプリケーション４７の画面へのオブジェクトの配置に関する指定を受け付ける（＃７０２）。
【０１５４】
キーを表わすボタンなど所定の種類のオブジェクトが配置された場合に、端末装置２０は、そのオブジェクトに対応する定義データ５Ａの取得を試みる（＃７０３）。そして、取得できた場合は、そのオブジェクトに対応するＡＰＩ関数があると判別し、取得できなかった場合はＡＰＩ関数がないと判別する（＃７０４）。
【０１５５】
そのオブジェクトにＡＰＩ関数がないと判別した場合は（＃７０５でＮｏ）、端末装置２０は、そのオブジェクトの開始座標および終了座標とステップ＃７０２で指定された、ネイティブアプリケーション４０の画面のオブジェクトの中心座標とを示すデータ（レコード）を生成し（＃７０６）、座標変換テーブル５Ｃ（図８参照）へ追加する（＃７０７）。
【０１５６】
端末装置２０は、完了ボタン６Ｂ５がクリックされるまで、適宜、ステップ＃７０２〜＃７０７の処理を実行する。なお、ステップ＃７０３〜＃７０７の処理を、完了ボタン６Ｂ５がクリックされた後、一括して実行してもよい。
【０１５７】
完了ボタン６Ｂ５がクリックされたら（＃７０８でＹｅｓ）、端末装置２０は、このＩＷＳアプリケーション４７のタイプを判別する（＃７０９）。
【０１５８】
このＩＷＳアプリケーション４７が第一のタイプである場合は（＃７１０でＹｅｓ）、端末装置２０は、第一のタイプのテンプレートを、ステップ＃７０２〜＃７０４における処理の結果に応じて書き換えることによって、このＩＷＳアプリケーション４７を生成し（＃７１１）、画像形成装置１へ送信する（＃７１２）。
【０１５９】
このＩＷＳアプリケーション４７が第二のタイプである場合は（＃７１０でＮｏ、＃７１３でＹｅｓ）、端末装置２０は、第二のタイプのテンプレートを、ステップ＃７０２〜＃７０４における処理の結果に応じて書き換えることによって、このＩＷＳアプリケーション４７を生成する（＃７１４）。そして、このＩＷＳアプリケーション４７およびステップ＃７０６〜＃７０７で生成した座標変換テーブル５Ｃを画像形成装置１へ送信する（＃７１５、＃７１６）。
【０１６０】
このＩＷＳアプリケーション４７が第三のタイプである場合は（＃７１３でＮｏ）、端末装置２０は、第三のタイプのテンプレートを、ステップ＃７０２〜＃７０４における処理の結果に応じて書き換えることによって、このＩＷＳアプリケーション４７を生成する（＃７１７）。そして、このＩＷＳアプリケーション４７およびステップ＃７０６〜＃７０７で生成した座標変換テーブル５Ｃを画像形成装置１へ送信する（＃７１８、＃７１９）。
【０１６１】
本実施形態によると、開発者は、例えばワンタッチ画面６Ａを、オブジェクトの種類を気にすることなくレイアウトすることができる。このように、本実施形態によると、必要な機能を使用するためのカスタム画面を開発者が従来よりも容易にレイアウトすることができる。
【０１６２】
図１９は、座標変換テーブル５Ｃの変形例の例を示す図である。図２０は、オブジェクトの一覧の変形例を示す図である。
【０１６３】
開発者がレイアウト用画面６Ｂ（図１１参照）のレイアウト領域６Ｂ１へ同一の関数呼出オブジェクトを複数、配置してしまうことがある。特に、レイアウトの作業を一旦中断し、その後、再開した際に、そのように配置してしまうことが起こりやすい。
【０１６４】
そこで、画面レイアウト部２０１は、開発者が第一のダイアログボックス（関数呼出オブジェクトの一覧が配置されたダイアログボックス）の中から既にレイアウト領域６Ｂ１へ配置した関数呼出オブジェクトを選択した場合に、既にその関数呼出オブジェクトが配置されていることを警告するメッセージを表示してもよい。
【０１６５】
そして、画面レイアウト部２０１は、重複して配置することを開発者が指令した場合は、その関数呼出オブジェクトをレイアウト領域６Ｂ１へ配置し、キャンセルを指令した場合は、配置を中止すればよい。
【０１６６】
また、同等の役割を有するネイティブ対応オブジェクトを複数、開発者がレイアウト領域６Ｂ１へ配置してしまうことも、ある。
【０１６７】
そこで、画面レイアウト部２０１は、開発者がコピー指令画面６Ｃ（図１４参照）の中から、既に指定したオブジェクトを指定した場合に、既にそのオブジェクトに対応するネイティブ対応オブジェクトが配置されていることを警告するメッセージを表示してもよい。
【０１６８】
そして、画面レイアウト部２０１は、重複して配置することを開発者が指令した場合は、そのネイティブ対応オブジェクトをレイアウト領域６Ｂ１へ配置し、キャンセルを指令した場合は、配置を中止すればよい。
【０１６９】
本実施形態では、ネイティブ対応オブジェクトへ、コピー指令画面６Ｃに配置されているオブジェクトを１つだけ対応付けたが、複数のオブジェクトを対応付けることができるようにしてもよい。この場合は、端末装置２０の各部は、次のように処理を行えばよい。
【０１７０】
開発者は、コピー指令画面６Ｃの中から複数のオブジェクトをクリックして指定する。コピー指令画面６Ｃのオブジェクトだけでなく、さらに他の画面のオブジェクトを指定してもよい。
【０１７１】
すると、画面レイアウト部２０１は、指定された順に、複数のオブジェクトを受け付ける。
【０１７２】
そして、座標変換テーブル生成部２０４は、図１９のように、指定された順に画面番号および中心座標を示すレコードを有する座標変換テーブル５Ｃを生成する。
【０１７３】
また、ＭＦＰコントロールプラットフォーム１０２の動作指示部１２２（図６参照）は、タッチ座標受付部１２３によって受け付けられた座標に対応するレコードに、画面番号および中心座標の組合せが複数示される場合は、その画面番号の画面の中のその中心座標が、そのレコードに示される順にタッチされたものとして処理が実行されるように各部へ指示を与える。
【０１７４】
本実施形態では、キーを表わすボタンとして矩形のボタンを用いたが、他の形であってもよい。例えば、真円または楕円であってもよい。ボタンの領域を、ボタンが矩形の場合は、開始座標（左上の頂点の座標）および終了座標（右下の頂点の座標）によって特定したが、真円の場合は、中心の座標および半径によって特定すればよい。楕円の場合は、中心の座標、焦点の座標、長軸の長さ、および短軸の長さによって特定すればよい。
【０１７５】
第一のダイアログボックスに配置する、関数呼出オブジェクトの一覧を、生成するＩＷＳアプリケーション４７を適用する画像形成装置の機種に応じて変更するようにしてもよい。同様に、ネイティブ対応オブジェクトに対して与えたい機能を有するオブジェクトをが配置された画面（例えば、図１４のコピー指令画面６Ｃ）として、生成するＩＷＳアプリケーション４７を適用する画像形成装置の機種のものを表示するようにしてもよい。
【０１７６】
そして、アプリケーション転送部２０７は、生成したＩＷＳアプリケーション４７および座標変換テーブル５Ｃを、画像処理システム３に設けられている、そのＩＷＳアプリケーション４７に対応している機種すべての画像形成装置へ配信すればよい。対応していない機種の画像形成装置へは、配信しないようにすればよい。
【０１７７】
本実施形態では、端末装置２０は、ネイティブアプリケーション４０の画面（例えば、コピー指令画面６Ｃ）のオブジェクト３０を開発者に指定させるために、その画面を表示したが、図２０のように、画面を構成するオブジェクトを階層構造で表示してもよい。
【０１７８】
その他、画像処理システム３、画像形成装置１、端末装置２０の全体または各部の構成、処理の内容、処理の順序、データの構成などは、本発明の趣旨に沿って適宜変更することができる。
【符号の説明】
【０１７９】
１  画像形成装置
２０  端末装置（
２０１  画面レイアウト部（受付手段）
２０２  定義データ取得部（取得手段）
２０３  定義有無判別部（判別手段）
２０６  アプリケーション生成部（生成手段）
２０７  アプリケーション転送部（出力手段）
４７Ａ  ワンタッチアプリケーション（アプリケーション）
５Ａ  定義データ（処理名データ）
５Ｃ  座標変換テーブル（対応関係データ）
６Ａ  ワンタッチ画面（画面）
６Ｃ  コピー指令画面（他の画面）
【図１】
0006607082.tif 000002
【図２】
0006607082.tif 000003
【図３】
0006607082.tif 000004
【図４】
0006607082.tif 000005
【図５】
0006607082.tif 000006
【図６】
0006607082.tif 000007
【図７】
0006607082.tif 000008
【図８】
0006607082.tif 000009
【図９】
0006607082.tif 000010
【図１０】
0006607082.tif 000011
【図１１】
0006607082.tif 000012
【図１２】
0006607082.tif 000013
【図１３】
0006607082.tif 000014
【図１４】
0006607082.tif 000015
【図１５】
0006607082.tif 000016
【図１６】
0006607082.tif 000017
【図１７】
0006607082.tif 000018
【図１８】
0006607082.tif 000019
【図１９】
0006607082.tif 000020
【図２０】
0006607082.tif 000021