(57)【特許請求の範囲】
【請求項１】
表示装置を備え、複数の機能を有するアプリが複数インストール可能な画像処理装置であって、
アプリ画面及び／又は機能画面の表示と、アプリ間及び前記アプリが有する機能間の画面遷移と、を制御するアプリ制御手段と、
当該装置の各搭載アプリの構成機能を示す構成機能情報を含むアプリ情報を所定の記憶領域に保持するアプリ情報保持手段と、
を有し、
前記アプリ制御手段は、
前記アプリから取得した前記アプリ画面を定義する画面定義情報に、画面遷移先となるアプリに関する定義情報が含まれていた場合、画面遷移先アプリが有する機能を選択する表示部品が所定位置に配置されたアプリ画面を、
当該装置の起動画面を表示する際に、
前記アプリ情報に基づき、当該装置の搭載アプリに対して、アプリ画面生成を要求し、搭載アプリから、各アプリのアプリ画面を取得し、前記所定の記憶領域に保持し、
異なるアプリのアプリ画面へと画面遷移を行う場合、保持された前記アプリ画面を取得し、
前記アプリのアプリ画面として前記表示装置に表示し、
異なるアプリの機能画面へと画面遷移を行う場合、前記アプリに対して機能画面生成を要求し、前記アプリから取得した前記機能画面を前記表示装置に表示し、
表示画面からユーザ操作を受け付けた場合、受け付けたイベント種別の判定結果に基づき、前記画面遷移先アプリが有する機能を特定し、前記画面遷移先アプリの機能画面を前記表示装置に表示し、画面遷移することを特徴とする画像処理装置。
【請求項２】
前記アプリ制御手段は、
前記アプリに対して、前記アプリのアプリ識別情報に基づきアプリ画面生成を要求し、前記アプリから、前記アプリのアプリ画面を定義する画面定義情報及び生成画面を取得し、前記画面定義情報に、前記画面遷移先アプリに関する定義情報が含まれる場合、前記アプリ情報保持手段で保持される前記アプリ情報に含む前記画面遷移先アプリの構成機能情報に基づき、前記画面遷移先アプリから、前記画面遷移先アプリが有する機能を選択する表示部品を取得し、前記表示部品を前記生成画面の所定位置に配置することで、前記アプリのアプリ画面を生成し、前記アプリのアプリ画面を前記表示装置に表示することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記アプリ制御手段は、
前記アプリに対して、ユーザから受け付けたイベント情報に基づきイベント種別判定を要求し、前記アプリから、前記ユーザにより選択された画面遷移先アプリが有する機能の機能識別情報を判定結果として取得し、前記ユーザにより選択された画面遷移先アプリに対して、前記機能識別情報に基づきアプリ機能画面生成を要求し、前記ユーザにより選択された画面遷移先アプリから、前記機能画面を取得し、前記機能画面を前記表示装置に表示することを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記アプリ制御手段は、
前記画面遷移先アプリの機能画面を表示する際に、画面遷移元である前記アプリのアプリ画面を非表示とすることを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記アプリは、
前記画面定義情報を所定の記憶領域に保持する画面定義情報保持手段と、
前記表示部品を所定の記憶領域に保持する表示部品保持手段と、
前記アプリ画面の生成を制御する画面制御手段と、
前記アプリ画面及び前記機能画面を構築する画面構築手段と、を有し、
前記画面制御手段は、
前記アプリ制御手段から画面生成要求を受け付けると、要求時に受け取ったアプリ識別情報及び／又は機能識別情報に基づき、前記画面定義情報保持手段から該当する画面定義情報を取得し、
前記画面構築手段は、
前記画面制御手段から画面生成指示を受け付けると、指示時に受け取った表示部品格納先情報に基づき、前記表示部品保持手段から該当する表示部品を取得し、指示時に受け取った画面定義情報に定義された表示内容に従って、前記表示部品を配置し、前記アプリ画面又は前記機能画面を構築することを特徴とする請求項１ないし４のいずれか一項に記載の画像処理装置。
【請求項６】
前記画面制御手段は、
前記アプリ制御手段からイベント識別判定要求を受け付けると、要求時に受け取ったイベント情報に含まれるユーザにより選択された表示部品の識別情報である選択部品識別情報に基づき、前記画面定義情報を参照し、選択された表示部品に対応して定義されたイベント種別情報からイベント種別を判定し、前記アプリ制御手段に対して、前記イベント種別情報に対応して定義された画面遷移先アプリのアプリ識別情報及び／又は機能識別情報を判定結果として応答することを特徴とする請求項５に記載の画像処理装置。
【請求項７】
前記アプリ制御手段は、
前記画面制御手段からイベント種別判定結果として応答された画面遷移先のアプリ識別情報に基づき、異なるアプリ間で画面遷移を行う場合、前記表示装置に表示するアプリの権利を画面遷移元のアプリから画面遷移先のアプリに設定変更することを特徴とする請求項５又は６に記載の画像処理装置。
【請求項８】
前記アプリ制御手段は、
前記アプリに対して機能画面生成を要求する際に、機能が属するアプリを選択する表示部品を前記機能画面上に配置するように要求し、
ユーザにより前記機能画面上のアプリ選択部品が押下された場合、前記表示装置に表示される機能画面を非表示とした後、選択されたアプリのアプリ画面を前記表示装置に表示し、前記機能画面から機能が属するアプリのアプリ画面へと画面遷移することを特徴とする請求項１ないし７のいずれか一項に記載の画像処理装置。
【請求項９】
前記アプリ制御手段は、
前記アプリに対して機能画面生成を要求する際に、予め設定されたデフォルトアプリを選択する表示部品を前記機能画面上に配置するように要求し、
ユーザにより前記機能画面上のデフォルトアプリ選択部品が押下された場合、前記表示装置に表示される機能画面を非表示とした後、選択されたデフォルトアプリのアプリ画面を前記表示装置に表示し、前記機能画面から前記デフォルトアプリのアプリ画面へと画面遷移することを特徴とする請求項１ないし８のいずれか一項に記載の画像処理装置。
【請求項１０】
複数の機能を有するアプリが複数インストール可能な画像処理装置に備えられる表示装置であって、
アプリ画面及び／又は機能画面の表示と、アプリ間及び前記アプリが有する機能間の画面遷移と、を制御するアプリ制御手段と、
当該装置の各搭載アプリの構成機能を示す構成機能情報を含むアプリ情報を所定の記憶領域に保持するアプリ情報保持手段と、
を有し、
前記アプリ制御手段は、
前記画像処理装置上で動作する前記アプリから取得した前記アプリ画面を定義する画面定義情報に、画面遷移先となるアプリに関する定義情報が含まれていた場合、画面遷移先アプリが有する機能を選択する表示部品が所定位置に配置されたアプリ画面を、
当該装置の起動画面を表示する際に、
前記アプリ情報に基づき、当該装置の搭載アプリに対して、アプリ画面生成を要求し、搭載アプリから、各アプリのアプリ画面を取得し、前記所定の記憶領域に保持し、
異なるアプリのアプリ画面へと画面遷移を行う場合、保持された前記アプリ画面を取得し、前記アプリのアプリ画面として当該装置に表示し、
異なるアプリの機能画面へと画面遷移を行う場合、前記アプリに対して機能画面生成を要求し、前記アプリから取得した前記機能画面を前記表示装置に表示し、
表示画面からユーザ操作を受け付けた場合、受け付けたイベント種別の判定結果に基づき、前記画面遷移先アプリが有する機能を特定し、前記画面遷移先アプリの機能画面を当該装置に表示し、画面遷移することを特徴とする表示装置。
【請求項１１】
表示装置を備え、複数の機能を有するアプリが複数インストール可能な画像処理装置と、前記アプリのアプリ画面を定義する画面定義情報を所定の記憶領域に保持する画面管理装置とが、所定のデータ伝送路で接続される画面制御システムであって、
前記画像処理装置が、
アプリ画面及び／又は機能画面の表示と、アプリ間及び前記アプリが有する機能間の画面遷移と、を制御するアプリ制御手段と、
前記画面管理装置から前記画面定義情報を取得する情報取得手段と、
当該装置の各搭載アプリの構成機能を示す構成機能情報を含むアプリ情報を所定の記憶領域に保持するアプリ情報保持手段と、を有し、
前記アプリ制御手段は、
前記情報取得手段により取得した前記アプリのアプリ画面を定義する画面定義情報に、画面遷移先となるアプリに関する定義情報が含まれていた場合、画面遷移先アプリが有する機能を選択する表示部品が所定位置に配置されたアプリ画面を、
当該装置の起動画面を表示する際に、
前記アプリ情報に基づき、当該装置の搭載アプリに対して、アプリ画面生成を要求し、搭載アプリから、各アプリのアプリ画面を取得し、前記所定の記憶領域に保持し、
異なるアプリのアプリ画面へと画面遷移を行う場合、保持された前記アプリ画面を取得し、前記アプリのアプリ画面として前記表示装置に表示し、
異なるアプリの機能画面へと画面遷移を行う場合、前記アプリに対して機能画面生成を要求し、前記アプリから取得した前記機能画面を前記表示装置に表示し、
表示画面からユーザ操作を受け付けた場合、受け付けたイベント種別の判定結果に基づき、前記画面遷移先アプリが有する機能を特定し、前記画面遷移先アプリの機能画面を前記表示装置に表示し、画面遷移することを特徴とする画面制御システム。
【請求項１２】
前記情報取得手段は、
前記画像処理装置で保持する画面定義情報より、前記画面管理装置で保持される画面定義情報の方が新しい情報であった場合、前記画面管理装置から前記画面定義情報を取得することを特徴とする請求項１１に記載の画面制御システム。
【請求項１３】
表示装置を備え、複数の機能を有するアプリが複数インストール可能な画像処理装置と、前記アプリのアプリ画面を定義する画面定義情報を所定の記憶領域に保持する画面管理装置とが、所定のデータ伝送路で接続される画面制御システムであって、
前記画像処理装置が、
アプリ画面及び／又は機能画面の表示と、アプリ間及び前記アプリが有する機能間の画面遷移と、を制御するアプリ制御手段と、
当該装置の各搭載アプリの構成機能を示す構成機能情報を含むアプリ情報を所定の記憶領域に保持するアプリ情報保持手段と、を有し、
前記画面管理装置が、
前記画像処理装置に対して、前記画面定義情報を提供する情報提供手段、を有し、
前記アプリ制御手段は、
前記情報提供手段から提供された前記アプリのアプリ画面を定義する画面定義情報に、画面遷移先となるアプリに関する定義情報が含まれていた場合、画面遷移先アプリが有する機能を選択する表示部品が所定位置に配置されたアプリ画面を、当該装置の起動画面を表示する際に、
前記アプリ情報に基づき、当該装置の搭載アプリに対して、アプリ画面生成を要求し、搭載アプリから、各アプリのアプリ画面を取得し、前記所定の記憶領域に保持し、
異なるアプリのアプリ画面へと画面遷移を行う場合、保持された前記アプリ画面を取得し、前記アプリのアプリ画面として前記表示装置に表示し、
異なるアプリの機能画面へと画面遷移を行う場合、前記アプリに対して機能画面生成を要求し、前記アプリから取得した前記機能画面を前記表示装置に表示し、
表示画面からユーザ操作を受け付けた場合、受け付けたイベント種別の判定結果に基づき、前記画面遷移先アプリが有する機能を特定し、前記画面遷移先アプリの機能画面を前記表示装置に表示し、画面遷移することを特徴とする画面制御システム。
【請求項１４】
表示装置を備え、複数の機能を有するアプリが複数インストール可能な画像処理装置における画面制御方法であって、
当該装置の各搭載アプリの構成機能を示す構成機能情報を含むアプリ情報を所定の記憶領域に保持するアプリ情報保持し、
前記アプリから取得した前記アプリ画面を定義する画面定義情報に、画面遷移先となるアプリに関する定義情報が含まれていた場合、画面遷移先アプリが有する機能を選択する表示部品が、所定位置に配置されたアプリ画面を、当該装置の起動画面を表示する際に、
前記アプリ情報に基づき、当該装置の搭載アプリに対して、アプリ画面生成を要求し、搭載アプリから、各アプリのアプリ画面を取得し、前記所定の記憶領域に保持し、
異なるアプリのアプリ画面へと画面遷移を行う場合、保持された前記アプリ画面を取得し、前記アプリのアプリ画面として前記表示装置に表示し、
異なるアプリの機能画面へと画面遷移を行う場合、前記アプリに対して機能画面生成を要求し、前記アプリから取得した前記機能画面を前記表示装置に表示し、
表示画面からユーザ操作を受け付けた場合、受け付けたイベント種別の判定結果に基づき、前記画面遷移先アプリが有する機能を特定し、前記画面遷移先アプリの機能画面を前記表示装置に表示し、
前記アプリ画面及び／又は前記機能画面の表示と、アプリ間及び前記アプリが有する機能間の画面遷移と、を制御することを特徴とする画面制御方法。
【請求項１５】
表示装置を備え、複数の機能を有するアプリが複数インストール可能な画像処理装置における画面制御プログラムであって、
コンピュータを、
当該装置の各搭載アプリの構成機能を示す構成機能情報を含むアプリ情報を所定の記憶領域に保持するアプリ情報保持手段として機能させ、
アプリ画面及び／又は機能画面の表示と、アプリ間及び前記アプリが有する機能間の画面遷移と、を制御するアプリ制御手段として機能させ、
前記アプリから取得した前記アプリ画面を定義する画面定義情報に、画面遷移先となるアプリに関する定義情報が含まれていた場合、画面遷移先アプリが有する機能を選択する表示部品が所定位置に配置されたアプリ画面を、当該装置の起動画面を表示する際に、
前記アプリ情報に基づき、当該装置の搭載アプリに対して、アプリ画面生成を要求し、搭載アプリから、各アプリのアプリ画面を取得し、前記所定の記憶領域に保持し、
異なるアプリのアプリ画面へと画面遷移を行う場合、前記アプリのアプリ画面として前記表示装置に表示し、
異なるアプリの機能画面へと画面遷移を行う場合、前記アプリに対して機能画面生成を要求し、前記アプリから取得した前記機能画面を前記表示装置に表示し、
表示画面からユーザ操作を受け付けた場合、受け付けたイベント種別の判定結果に基づき、前記画面遷移先アプリが有する機能を特定し、前記画面遷移先アプリの機能画面を前記表示装置に表示し、画面遷移するように実行させる画面制御プログラム。
【請求項１６】
請求項１５に記載のプログラムを記憶した、コンピュータが読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、表示装置を備える画像処理装置に関し、特に、複数の機能を有するアプリケーションを複数搭載したソフトウェア環境におけて、操作画面を表示する技術に関するものである。
【背景技術】
【０００２】
近年、画像処理装置は、使用用途の多様化に伴う多機能化が進み、搭載機能（例えば、「コピー」、「スキャナ」、「ファクシミリ」、「プリンタ」など）を実現する複数のアプリケーションを有している。また、画像処理装置は、表示装置（操作パネル）が備えており、アプリケーションごとに操作画面（アプリ画面）を表示させることで、利便性の高い機能提供を実現している。
【０００３】
このような画像処理装置は、アプリケーションを管理する機能を有しており、さらに、アプリ画面を管理する機能（例えば「アプリ画面の遷移を制御する機能」）を有するものもある。例えば、特許文献１には、画像処理装置に実装されるアプリケーションの管理を行う管理機構を統合的に構成するシステムにおいて、ＳｃｒｅｅｎＭａｎａｇｅｒにより表示されるアプリ選択画面を介して、アプリ画面の遷移を行う技術が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の方法では、画面遷移時の操作回数が多いと言う問題があった。
例えば、ユーザが、コピー後にファックスを行いたい場合、従来の方法では、コピー画面からアプリ選択画面に戻り、選択後にファクシミリ画面へと遷移することになる。つまり、コピー画面からファクシミリ画面へ、直接、画面遷移することができない。そのため、ユーザは、本来、アプリケーション間の画面遷移において１回で済むはずの操作（機能選択）を、２回（アプリ選択画面表示と機能選択とを）行わなければならない。
【０００５】
さらに、近年、画像処理装置に搭載されるアプリケーションは、複数の機能を有している場合がある。このような場合、従来の方法において機能設定を行うためには、アプリケーション画面から機能選択することで、機能画面へと画面遷移し、機能の動作設定などを行わなければならない。つまり、ユーザは、アプリケーションの機能構成（機能階層）に応じて、段階的な操作を行う必要がある。
【０００６】
このように、従来の方法では、複数の機能を利用した処理を行う場合、ユーザにとって画面操作が煩雑なものであった。
【０００７】
本発明は上記従来技術の問題点を鑑み提案されたものであり、その目的とするところは、搭載アプリケーション間及び搭載アプリケーションが有する機能間における画面遷移時の操作回数が減り、画面操作の煩雑さを軽減できる画像処理装置、表示装置、画面制御システム、画面制御方法、画面制御プログラム、及びそのプログラムを記録した記録媒体を提供することにある。
【課題を解決するための手段】
【０００８】
上記目的を達成するため、本発明に係る画像処理装置は、表示装置を備え、複数の機能を有するアプリが複数インストール可能な画像処理装置であって、アプリ画面及び／又は機能画面の表示と、アプリ間及び前記アプリが有する機能間の画面遷移と、を制御するアプリ制御手段と、当該装置の各搭載アプリの構成機能を示す構成機能情報を含むアプリ情報を所定の記憶領域に保持するアプリ情報保持手段と、を有し、前記アプリ制御手段は、前記アプリから取得した前記アプリ画面を定義する画面定義情報に、画面遷移先となるアプリに関する定義情報が含まれていた場合、画面遷移先アプリが有する機能を選択する表示部品が所定位置に配置されたアプリ画面を、当該装置の起動画面を表示する際に、前記アプリ情報に基づき、当該装置の搭載アプリに対して、アプリ画面生成を要求し、搭載アプリから、各アプリのアプリ画面を取得し、前記所定の記憶領域に保持し、異なるアプリのアプリ画面へと画面遷移を行う場合、保持された前記アプリ画面を取得し、前記アプリのアプリ画面として前記表示装置に表示し、異なるアプリの機能画面へと画面遷移を行う場合、前記アプリに対して機能画面生成を要求し、前記アプリから取得した前記機能画面を前記表示装置に表示し、表示画面からユーザ操作を受け付けた場合、受け付けたイベント種別の判定結果に基づき、前記画面遷移先アプリが有する機能を特定し、前記画面遷移先アプリの機能画面を前記表示装置に表示し、画面遷移することを特徴とする。
【０００９】
このような構成によって、本発明に係る画像処理装置は、装置起動時に、拡張アプリが有する複数の機能を１回で選択可能な操作画面を表示し、起動後に、異なる拡張アプリが有する複数の機能間で画面遷移を行う。
【００１０】
これによって、本発明に係る画像処理装置では、搭載アプリケーション間及び搭載アプリケーションが有する機能間における画面遷移時の操作回数が減り、画面操作の煩雑さを軽減できる。
【００１１】
上記目的を達成するため、本発明に係る画面制御方法は、表示装置を備え、複数の機能を有するアプリが複数インストール可能な画像処理装置における画面制御方法であって、当該装置の各搭載アプリの構成機能を示す構成機能情報を含むアプリ情報を所定の記憶領域に保持するアプリ情報保持し、前記アプリから取得した前記アプリ画面を定義する画面定義情報に、画面遷移先となるアプリに関する定義情報が含まれていた場合、画面遷移先アプリが有する機能を選択する表示部品が、所定位置に配置されたアプリ画面を、当該装置の起動画面を表示する際に、前記アプリ情報に基づき、当該装置の搭載アプリに対して、アプリ画面生成を要求し、搭載アプリから、各アプリのアプリ画面を取得し、前記所定の記憶領域に保持し、異なるアプリのアプリ画面へと画面遷移を行う場合、前記アプリのアプリ画面として前記表示装置に表示し、異なるアプリの機能画面へと画面遷移を行う場合、前記アプリに対して機能画面生成を要求し、前記アプリから取得した前記機能画面を前記表示装置に表示し、表示画面からユーザ操作を受け付けた場合、受け付けたイベント種別の判定結果に基づき、前記画面遷移先アプリが有する機能を特定し、前記画面遷移先アプリの機能画面を前記表示装置に表示し、前記アプリ画面及び／又は前記機能画面の表示と、アプリ間及び前記アプリが有する機能間の画面遷移と、を制御することを特徴とする。
【００１２】
このような手順によって、本発明に係る画面制御方法は、装置起動時に、拡張アプリが有する複数の機能を１回で選択可能な操作画面を表示し、起動後に、異なる拡張アプリが有する複数の機能間で画面遷移を行うと言う動作を実現する。
【００１３】
これによって、本発明に係る画面制御方法では、搭載アプリケーション間及び搭載アプリケーションが有する機能間における画面遷移時の操作回数が減り、画面操作の煩雑さを軽減可能な環境を提供できる。
【発明の効果】
【００１４】
本発明によれば、装置起動時に、拡張アプリが有する複数の機能を１回で選択可能な操作画面を表示し、起動後に、異なる拡張アプリが有する複数の機能間で画面遷移を行うことで、搭載アプリケーション間及び搭載アプリケーションが有する機能間における画面遷移時の操作回数が減り、画面操作の煩雑さを軽減可能な画像処理装置、表示装置、画面制御システム、画面制御方法、画面制御プログラム、及びそのプログラムを記録した記録媒体を提供することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の第１の実施形態に係る画像処理装置のハードウェア構成例を示す図である。
【図２】本発明の第１の実施形態に係る表示装置（操作パネル）のハードウェア構成例を示す図である。
【図３】本発明の第１の実施形態に係る画像処理装置のソフトウェア構成例を示す図である。
【図４】画面遷移の動作例を示す図である。
【図５】本発明の第１の実施形態に係る画面制御機能の構成例を示す図である。
【図６】本発明の第１の実施形態に係るアプリケーション情報のデータ例を示す図である。
【図７】本発明の第１の実施形態に係る画面定義情報のデータ例（その１）を示す図である。
【図８】本発明の第１の実施形態に係る画面定義情報のデータ例（その２）を示す図である。
【図９】本発明の第１の実施形態に係る起動時画面制御の処理手順例（その１）を示すシーケンス図である。
【図１０】本発明の第１の実施形態に係る画面遷移の動作例（その１）を示す図である。
【図１１】本発明の第１の実施形態に係る画面制御の処理手順例（その１）を示すシーケンス図である。
【図１２】本発明の第１の実施形態に係る画面遷移の動作例（その２）を示す図である。
【図１３】本発明の第１の実施形態に係る画面制御の処理手順例（その２）を示すシーケンス図である。
【図１４】本発明の第１の実施形態に係る起動画面例を示す図である。
【図１５】本発明の第１の実施形態に係る起動時画面制御の処理手順例（その２）を示すシーケンス図である。
【図１６】本発明の第１の実施形態に係る画面遷移の動作例（その３）を示す図である。
【図１７】本発明の第１の実施形態に係る画面制御の処理手順例（その３）を示すシーケンス図である。
【図１８】本発明の第１の実施形態に係る画面遷移の動作例（その４）を示す図である。
【図１９】本発明の第１の実施形態に係る画面制御の処理手順例（その４）を示すシーケンス図である。
【図２０】本発明の第１の実施形態に係る画面遷移の動作例（その５）を示す図である。
【図２１】本発明の第１の実施形態に係る画面制御の処理手順例（その５）を示すシーケンス図である。
【図２２】本発明の第１の実施形態に係る画面制御の処理手順例（その６）を示すシーケンス図である。
【図２３】本発明の第１の実施形態に係る画面制御の処理手順例（その７）を示すシーケンス図である。
【図２４】本発明の第２の実施形態に係る画面制御システムの構成例を示す図である。
【図２５】本発明の第２の実施形態に係る画面制御機能の構成例（その１）を示す図である。
【図２６】本発明の第２の実施形態に係る画面制御機能の構成例（その２）を示す図である。
【発明を実施するための形態】
【００１６】
以下、本発明の好適な実施の形態（以下「実施形態」と言う）について、図面を用いて詳細に説明する。
【００１７】
［第１の実施形態］
＜ハードウェア構成＞
本実施形態に係る画像処理装置１００のハードウェア構成について説明する。
【００１８】
《画像処理装置》
図１は、本実施形態に係る画像処理装置１００のハードウェア構成例を示す図である。
図１に示すように、画像処理装置１００は、コントローラ１１０、操作パネル１２０、プロッタ１３０、及びスキャナ１４０などを備え、それぞれが相互にバスＢで接続されている。
【００１９】
操作パネル１２０は、表示部及び入力部を備えており、機器情報などの各種情報をユーザに提供したり、動作設定や動作指示などの各種ユーザ操作を受け付けたりする。プロッタ１３０は、画像形成部を備えており、用紙に出力画像を形成する。出力画像を形成する方式には、例えば、電子写真プロセスやインクジェット方式などがある。スキャナ１４０は、原稿を光学的に読み取り、読み取り画像を生成する。
【００２０】
コントローラ１１０は、ＣＰＵ（Central Processing Unit）１１１、記憶装置１１２、ネットワークＩ／Ｆ１１３、及び外部記憶Ｉ／Ｆ１１４などを備えており、それぞれが相互にバスＢで接続されている。
【００２１】
ＣＰＵ１１１は、プログラムを実行することで装置全体を制御する。記憶装置１１２は、上記プログラムや各種データ（例えば「画像データ」）を格納し保持する。記憶装置１１２には、例えば、揮発性のメモリであるＲＡＭ（Random Access Memory）、不揮発性のメモリであるＲＯＭ（Read Only Memory）、及び大容量の記憶領域を備えたＨＤＤ（Hard Disk Drive）などがある。ＲＡＭは、ＣＰＵ１１１のワークエリア（プログラムやデータが一時的に読み出される記憶エリア）として機能する。ＲＯＭやＨＤＤは、プログラムや各種データの格納先として用いられる。これにより、画像処理装置１００では、ＣＰＵ１１１がＲＯＭに格納されたプログラムをＲＡＭ上に読み出し、プログラムを実行する。
【００２２】
ネットワークＩ／Ｆ１１３は、画像処理装置１００をネットワークなどの所定のデータ伝送路（例えば「ＬＡＮ：Local Area Network」）に接続するためのインタフェースである。外部記憶Ｉ／Ｆ１１４は、外部記憶装置にあたる記録媒体１１４ａを接続するためのインタフェースである。記録媒体１１４ａには、例えば、ＳＤメモリカード（SD Memory Card）やＵＳＢ（Universal Serial Bus）メモリなどがある。これにより、画像処理装置１００は、外部記憶Ｉ／Ｆ１１４を介して、記録媒体１１４ａに格納されたプログラムやデータを読み取る。
【００２３】
画像処理装置１００では、上記ハードウェア構成により、画像処理サービス（画像処理機能）を提供することができる。
【００２４】
《表示装置：操作パネル》
図２は、本実施形態に係る表示装置（操作パネル）１２０のハードウェア構成例を示す図である。
図２に示すように、操作パネル１２０の制御基板１０上には、画像処理装置１００の制御基板であるコントローラ１１０が備えるＣＰＵ１１１とは独立した専用のＣＰＵ１が搭載されている。制御基板１０とコントローラ１１０は、同期シリアルなどのバスＢで接続され、画像処理装置側からの表示要求や操作パネル側からのキー入力などの各種情報を通信可能な構成となっている。これにより、操作パネル１２０は、画像処理装置１００の各種情報を表示でき、画像処理装置１００は、操作パネル１２０から入力された情報を基に動作できる。
【００２５】
ＣＰＵ１には、表示処理と入力処理に関する各種プログラムや関連データなどが格納されているＲＯＭ２と、ワークエリアとして機能するＲＡＭ３とが接続されている。さらに、ＣＰＵ１には、ＬＣＤ（Liquid Crystal Display）モジュール６を制御するＬＣＤコントローラ４、ＬＣＤモジュール６の表示画面に載置されるタッチパネル７、及びキー基板８のドライバ９などが接続されている。ＣＰＵ１は、ＲＯＭ２に格納されたプログラムをＲＡＭ３上に読み出し、プログラムを実行することで、例えば、以下のようなハードウェア制御を行う。
【００２６】
ＣＰＵ１は、ＬＣＤコントローラ４を介して、ＳＤＲＡＭ（Synchronous DRAM）５からのデータ読み取りや、ＳＤＲＡＭ５へのデータ書き込みを行う。ＳＤＲＡＭ５は、例えば、ＬＣＤモジュール６への表示画素データを保持するビデオＲＡＭ（ＶＲＡＭ：Video RAM）として機能する。また、ＣＰＵ１は、ＬＣＤコントローラ４を介して、ＬＣＤモジュール６のバックライト制御を行う。さらに、ＣＰＵ１は、ドライバ９を介して、キー基板８上のキースイッチ（ＳＷ）の押下検知や、ＬＥＤ（Light Emitting Diode）の点灯制御を行う。
【００２７】
ＬＣＤコントローラ４は、ＳＤＲＡＭ５のリフレッシュ処理や、ＳＤＲＡＭ５からＬＣＤモジュール６への表示データ転送（表示信号出力）を行う。ＬＣＤコントローラ４は、内部レジスタの設定により、表示信号の出力を制御する。また、ＬＣＤコントローラ４は、タッチパネルＩ／Ｆ機能を有しており、タッチパネル７が押下されると、ＬＣＤコントローラ４からＣＰＵ１に対して割り込み信号が送出される。
【００２８】
操作パネル１２０では、上記ハードウェア構成により、情報表示や情報入力（情報の入出力）を含む情報処理サービスを提供することができる。
【００２９】
なお、制御基板１０は、コントローラ１１０と同様に外部記憶Ｉ／Ｆ（非図示）を備えている。これにより、操作パネル１２０は、外部記憶Ｉ／Ｆを介して、外部記録媒体にアクセス可能である。
【００３０】
＜ソフトウェア構成＞
図３は、本実施形態に係る画像処理装置１００のソフトウェア構成例を示す図である。
図３に示すように、画像処理装置１００は、プラットフォーム１１、ＶＡＳ（Virtual Application Service）１３、ＳＤＫ（Software Developer Kit）／Ｊ１６、アプリケーション１４，１７などを有するソフトウェア群ＳＷを有している。
【００３１】
プラットフォーム１１は、組み込み系の汎用ＯＳ（Operating System）であり、画像処理装置全体を制御するソフトウェアである。例えば、組み込み系ＯＳであるＦｒｅｅＢＳＤ（商標又は登録商標：以下略）やＬｉｎｕｘ（商標又は登録商標：以下略）などがある。プラットフォーム１１は、エンジンＩ／Ｆを介して、各種ハードウェアＨＷ（例えば、「プロッタ」、「スキャナ」、「記憶装置」、及び「操作パネル」など）に動作命令を行い、各種ハードウェアからの動作結果を受け取る。よって、プラットフォーム上で動作するソフトウェアは、ＡＰＩ（Application Program Interface）１２を介して、プラットフォーム１１が有する各種ハードウェアＨＷの実行機能を動作させ、各種ハードウェアＨＷの動作結果を取得する。
【００３２】
ＶＡＳ１３は、仮想アプリケーションサービスであり、アプリケーション１４，１７とプラットフォーム１１の仲介を行うソフトウェアである。ＶＡＳ１３は、アプリケーション１４，１７をクライアントとするサーバプロセスとして動作するとともに、プラットフォーム１１をサーバとするクライアントプロセスとして動作する。ＶＡＳ１３は、アプリケーション１４，１７から見てプラットフォーム１１を隠蔽するラッピング機能を備え、プラットフォーム１１のバージョンアップに伴うバージョン差を吸収する役割などを担う。
【００３３】
ＣＶＭ１５は、Ｊａｖａ（商標又は登録商標：以下略）言語で記述されたＳＤＫ／Ｊアプリケーション１７の実行環境であり、ＳＤＫ／Ｊ１６は、ＳＤＫ／Ｊアプリケーション１７の開発環境（ソフトウェア開発キット）である。
【００３４】
また、ＳＤＫ／Ｊ１６は、ＯＳＧｉＦ／Ｗ１６１、パネルマネージャ１６２、及びアプリマネージャ１６３などを有している。
【００３５】
ＯＳＧｉ（Ｏｐｅｎ Ｓｅｒｖｉｃｅ Ｇａｔｅｗａｙ ｉｎｉｔｉａｔｉｖｅ）Ｆ／Ｗ１６１は、ＯＳＧｉアライアンスによる標準化技術であり、Ｊａｖａ言語に基づいたオープンなソフトウェア部品化技術である。ＯＳＧｉＦ／Ｗ１６１が実装された機器では、Ｊａｖａ言語のソフトウェアは「バンドル」と言うソフトウェア部品の形で実装される。そして、該機器の諸機能はバンドルをもって構成する事ができるとともに、該機器の諸機能のアップデートやカスタマイズやメンテナンスはバンドルのダウンロードをもって実現する事ができる。
【００３６】
パネルマネージャ１６２は、画像処理装置１００が備える操作パネル１２０を制御するソフトウェアである。アプリマネージャ１６３は、ＳＤＫ／Ｊアプリケーション１７を制御するソフトウェアである。
【００３７】
アプリケーション１４，１７は、画像処理装置上で動作し、各種機能を実現するソフトウェアである。アプリケーション１４は、画像処理装置１００が有する基本機能（例えば「プリンタ」、「コピー」、「スキャナ」、及び「ファックス」など）を実現するソフトウェアである。一方、アプリケーション１７は、画像処理装置１００が有する拡張機能を実現するソフトウェアであり、ＳＤＫ／Ｊ上で開発されたＳＤＫ／Ｊアプリケーション（以下「拡張アプリ」と言う）である。例えば、拡張アプリ１７は、画像処理装置１００の製造メーカ以外のソフトウェアベンダ（サードベンダ）から提供される場合もある。上述したように、拡張アプリ１７は、ＳＤＫ／Ｊ１６の開発環境を備えるソフトウェアベンダであれば開発・提供可能である。
【００３８】
本実施形態に係る画像処理装置１００では、拡張アプリ１７が複数の機能を有することを想定し、アプリマネージャ１６３により、これら複数の拡張アプリ間及び拡張アプリ１７が有する複数の機能間における画面遷移を制御（画面制御）する画面制御機能を実現する。
【００３９】
＜画面制御機能＞
本実施形態に係る画面制御機能について説明する。
本実施形態に係る画像処理装置１００では、搭載拡張アプリ１７を制御するアプリマネージャ１６３（アプリ制御部）が、当該装置が起動した際に、デフォルトオーナーアプリである拡張アプリ１７から、画面定義情報及び拡張アプリ画面（オーナーアプリ画面）を取得する。アプリマネージャ１６３は、取得した画面定義情報にデフォルトオーナーアプリ以外の拡張アプリ（他の拡張アプリ）１７に関する定義情報が含まれていた場合、拡張アプリインストール時に登録されたアプリ情報の構成機能に基づき、他の拡張アプリ１７から、拡張アプリ／機能選択部品（ＧＵＩパーツ：Graphical User Interface parts）を取得する。アプリマネージャ１６３は、取得した拡張アプリ／機能選択部品を、先に取得したオーナーアプリ画面に配置することで起動時の表示画面（起動画面）を生成する。その結果、画像処理装置１００では、生成画面が起動画面として表示される。また、起動後に、画像処理装置１００は、ユーザから受け付けたイベント種別を、現在オーナーアプリである拡張アプリ１７に判断させる。アプリマネージャ１６３は、拡張アプリ１７から受け取った判断結果に基づき、画面遷移先の拡張アプリ１７が有する機能を特定する。アプリマネージャ１６３は、画面遷移先の拡張アプリ１７に対して機能指定し、画面生成を要求し、生成された機能画面（遷移画面）を取得する。その結果、画像処理装置１００では、現在の表示画面が非表示とされ、取得画面が遷移画面として表示される。画像処理装置１００は、このような画面制御機能を有している。
【００４０】
図４は、画面遷移の動作例を示す図である。
図４（Ａ）には、従来の画面遷移の動作例が示されている。例えば、ユーザが、拡張アプリ［２］が有するＰｒｉｎｔＦｕｎｃ機能を使いたい場合、操作画面は、次のように遷移する。まず、デフォルトオーナーアプリ（起動アプリ）である拡張アプリ［１］の操作画面Ｗ１（以下「拡張アプリ画面」と言う）から、拡張アプリ［２］の選択ボタンを押下し、拡張アプリ［２］の拡張アプリ画面Ｗ２に画面遷移する。その後、拡張アプリ［２］の拡張アプリ画面Ｗ２から、ＰｒｉｎｔＦｕｎｃ機能の選択ボタンを押下し、ＰｒｉｎｔＦｕｎｃ機能の操作画面Ｗ２２（機能画面）に画面遷移する。つまり、従来の方法では、選択機能が属する拡張アプリ１７の拡張アプリ画面を介して、画面遷移が行われていた。
【００４１】
そのため、従来の方法では、ユーザが複数の機能を利用した処理を行う場合、画面遷移時の操作回数が多くなり、画面操作が煩雑なものとなる。
【００４２】
そこで、本実施形態に係る画像処理装置１００は、装置起動時に、拡張アプリ１７が有する複数の機能を１回で選択可能な操作画面Ｗ１を表示し、起動後に、異なる拡張アプリ１７が有する複数の機能間で画面遷移を行う仕組みとした。
【００４３】
図４（Ｂ）には、本実施形態に係る画面遷移の動作例が示されている。例えば、拡張アプリ［２］が有するＰｒｉｎｔＦｕｎｃ機能を使いたい場合、操作画面は、拡張アプリ［１］の拡張アプリ画面Ｗ１からＰｒｉｎｔＦｕｎｃ画面Ｗ２２へと直接画面遷移できる。
【００４４】
これにより、本実施形態に係る画像処理装置１００では、搭載アプリケーション間及び搭載アプリケーションが有する機能間における画面遷移時の操作回数が減り、画面操作の煩雑さを軽減できる。
【００４５】
以下に、上記画面制御機能の構成とその動作について説明する。
図５は、本実施形態に係る画面制御機能の構成例を示す図である。
図５に示すように、画面制御機能は、パネル制御部２１、アプリ制御部２２、画面制御部３１、及び画面構築部３２などを有している。
【００４６】
パネル制御部２１は、パネルマネージャ１６２が有する機能部である。また、アプリ制御部２２は、アプリマネージャ１６３が有する機能部である。つまり、これらの機能部は、ＳＤＫ／Ｊ１６が動作することで機能する。一方、画面制御部３１及び画面構築部３２は、各拡張アプリ１７が有する機能部である。つまり、これらの機能部は、各拡張アプリ１７が動作することで機能する。図５には、拡張アプリ［１］と拡張アプリ［２］とが、それぞれ画面制御部３１１及び画面構築部３２１と、画面制御部３１２及び画面構築部３２２と、を有する構成例が示されている。なお、以降、機能部を拡張アプリ１７に共通して総称する場合には「画面制御部３１」と「画面構築部３２」と言う。
【００４７】
《拡張アプリの動作環境が有する機能部》
パネル制御部２１は、画像処理装置１００が備える操作パネル（表示装置）１２０を制御する機能部である。パネル制御部２１は、操作パネル１２０の画面表示・非表示を制御する。また、パネル制御部２１は、操作パネル１２０から入力情報を受け付ける。入力情報には、ＧＵＩやハードキーなどが押下された際に受け付けるイベント情報などがある。
【００４８】
アプリ制御部２２は、画像処理装置１００が有する拡張アプリ１７を制御する機能部である。アプリ制御部２２は、拡張アプリ１７の起動・停止・終了などの動作制御を行う。その中で、アプリ制御部２２は、拡張アプリ１７の画面生成要求や画面遷移の動作制御を行う。アプリ制御部２２では、例えば、図６に示すアプリ情報２３Ｄに基づき、各種動作制御を行う。
【００４９】
図６は、本実施形態に係るアプリ情報２３Ｄのデータ例を示す図である。
（Ａ）には、拡張アプリ［１］に対応するアプリ情報２３Ｄ１のデータ例、（Ｂ）には、拡張アプリ［２］に対応するアプリ情報２３Ｄ２のデータ例が示されている。以降、総称する場合には、「アプリ情報２３Ｄ」と言う。
【００５０】
図６に示すように、アプリ情報２３Ｄは、アプリ識別情報Ｒ１、表示情報Ｒ２、及び構成機能情報Ｒ３などを有している。アプリ情報２３Ｄは、アプリ識別情報Ｒ１に、表示情報Ｒ２及び構成機能情報Ｒ３などが対応付けられている。
【００５１】
アプリ識別情報Ｒ１は、拡張アプリ１７を識別する情報であり、例えば、アプリＩＤなどがある。表示情報Ｒ２は、拡張アプリ１７の画面表示に関する情報であり、アプリ名情報やアプリ選択部品格納先情報（表示部品格納先情報）などを含む。アプリ名情報は、拡張アプリ１７の名称を示す情報であり、例えば、アプリ名称などがある。アプリ選択部品格納先情報は、拡張アプリ１７を選択する部品の格納先を示す情報であり、例えば、ファイルパスなどがある。
【００５２】
また、構成機能情報Ｒ３は、拡張アプリ１７が有する複数の機能（拡張アプリを構成する機能）に関する情報であり、機能数、機能識別情報、機能名情報、機能選択部品格納先情報（表示部品格納先情報）などを含む。機能数は、拡張アプリ１７が有する機能の数を示す情報であり、例えば、機能数などがある。機能識別情報は、機能を識別する情報であり、例えば、機能ＩＤ（ファインクションＩＤ）などがある。機能名情報は、機能の名称を示す情報であり、例えば、機能名などがある。機能選択部品格納先情報は、機能を選択する部品の格納先を示す情報であり、例えば、ファイルパスなどがある。
【００５３】
アプリ情報２３Ｄは、拡張アプリ１７がインストールされる際に、アプリ情報保持部２３に格納され記憶される。つまり、アプリ情報２３Ｄは、拡張アプリ１７ごとに登録される。なお、アプリ情報保持部２３は、例えば、画像処理装置１００が備える記憶装置（例えば「ＨＤＤ」）の所定の記憶領域にあたる。
【００５４】
図５の説明に戻る。例えば、アプリ制御部２２は、次のように動作し、拡張アプリ１７に対して画面生成要求を行う。アプリ制御部２２は、アプリ情報保持部２３にアクセスし、アプリ識別情報Ｒ１に基づき、拡張アプリ１７に対応する表示情報Ｒ２や構成機能情報Ｒ３を取得する。アプリ制御部２２は、拡張アプリ１７に対して、アプリ識別情報（及び／又は機能識別情報）及び表示部品格納先情報などを渡し、拡張アプリ画面（及び／又は機能画面）の生成を要求する。その結果、アプリ制御部２２には、要求先の拡張アプリ１７から生成画面が応答される（生成画面を取得する）。
【００５５】
また、アプリ制御部２２は、次のように動作し、画面遷移制御を行う。アプリ制御部２２は、パネル制御部２１を介して受け取ったイベント情報を、オーナー権（画面の表示権利）を有する拡張アプリ１７（以下「オーナーアプリ」と言う）に渡し、イベント種別の判定を要求する。その結果、アプリ制御部２１には、要求先の拡張アプリ１７から判定結果が応答される（判定結果を取得する）。アプリ制御部２１は、画面遷移イベントであると判定された結果を受け取ると、応答時に拡張アプリ１７から受け取ったアプリ識別情報（及び／又は機能識別情報）に基づき、上記画面生成要求方法により、画面遷移先の拡張アプリ１７に画面生成を要求する。その結果、アプリ制御部２２には、要求先の拡張アプリ１７から生成画面が応答される（生成画面を取得する）。つまり、アプリ制御部２２は、拡張アプリ１７からイベント種別の判定結果として受け取ったアプリ識別情報（及び／又は機能識別情報）に基づき、画面遷移先となる拡張アプリ１７（及び／又は拡張アプリが有する機能）を特定する。
【００５６】
また、アプリ制御部２２は、次のように動作し、画像処理装置１００の起動画面生成を行う。アプリ制御部２２は、アプリ情報保持部２３にアクセスし、デフォルトのオーナー権（起動時における画面の表示権利）を有する拡張アプリ１７（以下「デフォルトオーナーアプリ」と言う）に対応するアプリ情報２３Ｄを取得する。アプリ制御部２２は、取得したアプリ情報２３Ｄに基づき、上記画面生成要求方法により、デフォルトオーナーアプリに拡張アプリ画面（以下「オーナーアプリ画面」と言う）の生成を要求する。その結果、アプリ制御部２２には、要求先のデフォルトオーナーアプリから生成画面（オーナーアプリ画面）が応答される（生成画面を取得する）。また、このとき、アプリ制御部２２には、デフォルトオーナーアプリから、拡張アプリ画面の表示内容やイベント処理などが定義された情報（以下「画面定義情報」と言う）が応答される（画面定義情報を取得する）。
【００５７】
アプリ制御部２２は、デフォルトオーナーアプリから受け取った画面定義情報に、オーナーアプリ以外の拡張アプリ１７（以下「他の拡張アプリ」と言う）に関する定義情報が含まれているか否かを判定する。アプリ制御部２２は、他の拡張アプリ１７の定義情報が含まれていると判定した場合、アプリ情報２３Ｄの表示部品格納先情報（アプリ選択部品及び／又は機能選択部品の格納先情報）に基づき、他の拡張アプリ１７から該当表示部品（アプリ選択部品及び／又は機能選択部品）を取得する。アプリ制御部２２は、取得した表示部品を、先に取得したオーナーアプリ画面に配置することで起動画面を生成する。
【００５８】
アプリ制御部２２は、このようにして取得した生成画面を、パネル制御部２１へと渡し、画面表示を指示する。このとき、アプリ制御部２２は、画面を表示する拡張アプリ１７にオーナー権を設定する。また、パネル制御部２１では、アプリ制御部２２から画面更新が指示されると、オーナー権を失った画面（現在表示されている画面）を非表示とし、オーナー権が設定された画面（受け取った画面）を表示する。
【００５９】
《各拡張アプリが有する機能部》
画面制御部３１は、拡張アプリ画面を制御する機能部である。画面制御部３１は、拡張アプリ１７の画面生成やイベント種別判定などの動作制御を行う。画面制御部３１は、例えば、図７及び図８に示すような拡張アプリ１７に対応して設定された画面定義情報３２Ｄに基づき、各種動作制御を行う。
【００６０】
図７及び図８は、本実施形態に係る画面定義情報３２Ｄ１，３２Ｄ２のデータ例（その１，２）を示す図である。
図７には、拡張アプリ［１］に対応する画面定義情報３２Ｄ１のデータ例、図８には、拡張アプリ［２］に対応する画面定義情報３２Ｄ２のデータ例が示されている。以降、総称する場合には、「画面定義情報３２Ｄ」と言う。
【００６１】
図７及び図８に示すように、画面定義情報３２Ｄには、拡張アプリ画面の表示内容やイベント処理などが、所定のデータ形式に従って定義されている。図に示す画面定義情報３２Ｄでは、ＸＭＬ（Extensible Markup Language）形式のデータ例が示されており、各種情報が、タグにより定義されている。本実施形態ように、情報定義にＸＭＬなどのタグ言語を用いるメリットは、複数の情報を階層的に定義できる点である。
【００６２】
例えば、本実施形態に係る画面定義情報３２Ｄでは、拡張アプリ画面を定義するＷｉｎｄｏｗタグ内に、Ｂｕｔｔｏｎタグにより、複数の選択ボタン（表示部品）が定義されている。また、各Ｂｕｔｔｏｎタグ内には、ａｃｔｉｏｎタグにより、選択ボタン押下時のイベント処理が定義されている。また、各ａｃｔｉｏｎタグ内には、ｕｉＥｖｅｎｔタグにより、イベント情報が定義されている。
【００６３】
また、各タグは、属性値を有している。例えば、Ｗｉｎｄｏｗタグは、アプリ識別情報又は機能識別情報が設定可能な属性値（ｉｄ値）を有している。また、Ｂｕｔｔｏｎタグは、選択部品識別情報、選択部品の配置座標、及び選択部品の大きさなどが設定可能な属性値（ｉｄ値，ｘ，ｙ値，ｗｉｄｔｈ，ｈｅｉｇｈｔ値）を有している。また、ａｃｔｉｏｎタグは、発行されたイベントを識別する情報（イベント識別情報）などが設定可能な属性値（ｉｄ値）を有している。また、ｕｉＥｖｅｎｔタグは、イベント種別情報、画面遷移先アプリの種別を示す情報（アプリ種別情報）、及び画面遷移先アプリの識別情報（及び／又は画面遷移先機能の識別情報）などが設定可能な属性値（ｐａｒｅｍｅｔｅｒｓ値［ｅｖｅｎｔＴｙｐｅ値，ａｐｐＴｙｐｅ値，ａｐｐＩＤ値（／ｆｕｎｃＩＤ値）］）を有している。
【００６４】
画面定義情報３２Ｄは、例えば、ユーザが所定のツールを介して、上記タグデータ及び各属性値などを設定することで生成される。また、画面定義情報３２Ｄは、拡張アプリ１７がインストールされる際に、画面定義情報保持部３２に格納され記憶される。つまり、画面定義情報３２Ｄは、アプリ情報２３Ｄと同様に、拡張アプリ１７ごとに登録される。なお、画面定義情報保持部３２は、例えば、画像処理装置１００が備える記憶装置（例えば「ＨＤＤ」）の所定の記憶領域にあたる。
【００６５】
また、例えば、図７（Ｂ）から（Ｄ）には、拡張アプリ［１］が有する機能（ＳｃａｎＴｏＭａｉｌ，ＳｃａｎＴｏＦＴＰ，ＳｃａｎＴｏＦｏｌｄｅｒ）の機能画面に対応する３つの画面定義情報３２Ｄ１１，３２Ｄ１２，３２Ｄ１３が示されている。また、図８（Ｂ）及び（Ｃ）には、拡張アプリ［２］が有する機能（ＣｏｐｙＦｕｎｃ，ＰｒｉｎｔＦｕｎｃ）の機能画面に対応する２つの画面定義情報３２Ｄ２１，３２Ｄ２２が示されている。このように、画面定義情報３２Ｄは、さらに、拡張アプリ１７が有する機能単位でも登録される。
【００６６】
また、登録後の画面定義情報３２Ｄであっても、所定のツールを用いて編集・更新が可能である。これにより、ユーザは、拡張アプリインストール後に、画面カスタマイズを行うことができる。また、画面定義情報３２Ｄは、外部記憶Ｉ／Ｆ１１４を介して、記録媒体１１４ａに保持されたデータを読み取り、読み取ったデータにより、画面定義情報保持部３２のデータを上書きすることで、更新することも可能である。
【００６７】
図５の説明に戻る。画面制御部３１は、画面生成要求を受け付けると、要求時に受け取ったアプリ識別情報（及び／又は機能識別情報）を基に、画面定義情報保持部３２で保持される画面定義情報３２ＤのＷｉｎｄｏｗタグの属性値を参照し、該当する画面定義情報３２Ｄを特定する。つまり、画面制御部３１は、画面生成要求された拡張アプリ１７（及び／又は機能）を特定する。画面制御部３１は、特定した画面定義情報３２Ｄと、要求時に受け取った選択部品格納先情報とを、画面構築部３３へと渡し、画面生成を指示する。その結果、画面制御部３１は、生成画面を、画面生成要求元へと応答する。
【００６８】
また、画面制御部３１は、イベント種別判定要求を受け付けると、要求時に受け取ったイベント情報（選択部品識別情報）を基に、画面定義情報保持部３２で保持される画面定義情報３２ＤのＢｕｔｔｏｎタグの属性値を参照し、該当するＢｕｔｔｏｎタグデータを特定する。さらに、画面制御部３１は、特定したＢｕｔｔｏｎタグ内に定義されたａｃｔｉｏｎタグの属性値を参照し、属性値に、選択ボタン押下イベントの識別情報［"ｏｎＣｌｉｃｋ"］が設定されているか否かを確認する。画面制御部３１は、選択ボタン押下時のイベント識別情報が設定されていることを確認すると、ａｃｔｉｏｎタグ内に定義されたｕｉＥｖｅｎｔタグの属性値を参照し、属性値に、画面遷移イベントの種別情報［"ｓｗｉｔｃｈＡｐｌ"］が設定されているか否かを確認する。画面制御部３１は、画面遷移のイベント種別情報が設定されていることを確認すると、対応する他の属性値に設定された画面遷移先アプリの識別情報（及び／又は画面遷移先機能の識別情報）を取得する。画面制御部３１は、取得したアプリ識別情報（及び／又は機能識別情報）を、判定結果としてイベント種別判定要求元へと応答する。
【００６９】
画面構築部３３は、表示部品を用いて拡張アプリ画面を構築することで画面を生成する機能部である。画面構築部３３は、画面生成指示を受け付けると、指示された際に受け取った表示画面のテンプレート（又はフレームワーク）に、画面定義情報３２Ｄの表示内容（配置座標や大きさ）に従って表示部品を配置・整形し、拡張アプリ画面を構築する。このとき、画面構築部３３は、表示部品保持部３４にアクセスし、表示部品格納先情報などに基づき、該当する表示部品を取得する。なお、表示部品保持部３４は、例えば、画像処理装置１００が備える記憶装置（例えば「ＨＤＤ」）の所定の記憶領域にあたる。表示部品は、拡張アプリ１７がインストールされる際に、表示部品保持部３４に格納され記憶される。つまり、表示部品は、画面定義情報３２Ｄと同様に、拡張アプリ１７ごとに登録される。また、表示部品は、画面定義情報３２Ｄの更新に合わせて、追加・削除などが行える。
【００７０】
以上のように、本実施形態に係る画面制御機能は、上記各機能部が連係動作することにより実現される。
【００７１】
次に、本実施形態に係る画面制御機能の詳細な動作（機能部群の連係動作）について、処理手順を示すシーケンス図を用いて説明する。
【００７２】
本実施形態に係る画面制御機能は、画像処理装置１００に搭載（インストール）されるプログラム（画面制御機能を実現するソフトウェア部品）が、処理装置（例えば「ＣＰＵ」）により、格納先（例えば「ＲＯＭ」や「ＨＤＤ」など）からメモリ（例えば「ＲＡＭ」）上に読み出され、以下の処理が実行されることで実現される。なお、以降には、画面制御の処理手順について、具体的な画面遷移動作を例に説明する。
【００７３】
《起動時にオーナーアプリのメイン画面が生成される場合》
ここでは、起動時にデフォルトオーナーアプリの拡張アプリ画面のみが生成される画面制御機能を想定している。これにより、起動時の記憶リソースには、デフォルトオーナーアプリの画面データのみ保持されることになる。このような画面制御機能であれば、記憶リソースの少ない機器であっても搭載することができる。
【００７４】
図９は、本実施形態に係る起動時画面制御の処理手順例（その１）を示すシーケンス図である。画像処理装置１００では、図９に示す処理により、例えば、図４（Ｂ）に示した拡張アプリ画面Ｗ１が起動画面として表示される。
【００７５】
図９に示すように、ＳＤＫ／Ｊ１６は、画像処理装置１００が起動され、起動イベントを受け付けると（ステップＳ１０１）、アプリ制御部２２により、デフォルトオーナーアプリを特定し、特定した拡張アプリ１７のアプリ情報２３Ｄを取得する（ステップＳ１０２）。アプリ制御部２２は、予め設定されているデフォルト起動アプリの識別情報（アプリ識別情報）に基づき、デフォルトオーナーアプリである拡張アプリ１７を特定する。図９には、デフォルト起動アプリとして拡張アプリ［１］が設定された場合の処理例が示されている。アプリ制御部２２は、アプリ情報保持部２３にアクセスし、アプリ識別情報を基に、該当するアプリ情報２３Ｄ１（デフォルトオーナーアプリとして特定した拡張アプリ［１］のアプリ情報）を取得する。
【００７６】
アプリ制御部２２は、特定したデフォルトオーナーアプリである拡張アプリ［１］に対して、起動画面の生成を要求する（ステップＳ１０３）。このとき、アプリ制御部２２は、アプリ識別情報及び取得したアプリ情報２３Ｄ１の表示部品格納先情報などを拡張アプリ［１］へと渡す。また、アプリ制御部２２は、画面ベースデータ（フレームワーク／テンプレートデータ）も拡張アプリ［１］へと渡す。
【００７７】
拡張アプリ［１］は、画面制御部３１１により、画面定義情報保持部３２１にアクセスし、起動画面生成要求時に受け取ったアプリ識別情報を基に、該当する画面定義情報３２Ｄ１を取得する（ステップＳ１１１）。
【００７８】
画面制御部３１１は、拡張アプリ［１］の画面構築部３３１に対して、画面生成を指示する（ステップＳ１１２１）。このとき、画面制御部３１１は、取得した画面定義情報３２Ｄ１、画面ベースデータ、及び起動画面生成要求時に受け取った表示部品格納先情報などを画面構築部３３１へと渡す。なお、画面制御部３１１は、起動画面生成要求時に、画面定義情報３２Ｄ１を要求元のアプリ制御部２２へと渡す（ステップＳ１１２２）。
【００７９】
画面構築部３３１は、表示部品保持部３４１にアクセスし、画面生成指示時に受け取った表示部品格納先情報を基に、該当する表示部品（拡張アプリ［１］の機能選択部品）を取得する（ステップＳ１１３）。画面構築部３３１は、画面生成指示時に受け取った画面定義情報３２Ｄ１に従って、取得した表示部品を整形・配置し、画面ベースデータを基に画面を構築する（ステップＳ１１４）。画面構築部３３１は、生成画面を画面制御部３１１へと渡す（ステップＳ１１５）。
【００８０】
画面制御部３１１は、生成結果として受け取った生成画面を起動画面生成要求元のアプリ制御部２２へ応答する（ステップＳ１１６）。
【００８１】
アプリ制御部２２は、画面制御部３１１から取得した拡張アプリ［１］（デフォルトオーナーアプリ）の画面定義情報３２Ｄ１に、他の拡張アプリ１７（デフォルトオーナーアプリ以外の拡張アプリ）である拡張アプリ［２］の定義情報が含まれているか否かを判定する（ステップＳ１２１）。例えば、アプリ制御部２２は、画面定義情報３２Ｄ１に定義されたｕｉＥｖｅｎｔタグの属性値（ａｐｐＩＤ値）に、拡張アプリ［２］の識別情報［ａｐｐ２］が設定されているか否かにより、拡張アプリ［２］の定義情報有無を判定する。その結果、アプリ制御部２２は、定義情報の存在を確認すると、画面定義情報３２Ｄのデータ形式（タグによる階層形式）に従って、画面定義情報内の拡張アプリ［２］の定義情報を特定する。
【００８２】
アプリ制御部２２は、拡張アプリ［２］の定義情報が存在すると判定した場合、特定した拡張アプリ［２］の定義情報に、初期化定義（起動イベント受付時の定義）が含まれているか否かを判定する（ステップＳ１２２）。例えば、アプリ制御部２２は、拡張アプリ［２］の定義情報に定義されたａｃｔｉｏｎタグの属性値（ｉｄ値）に、起動イベントの識別情報［"ｏｎＩｎｉｔ"］が設定されているか否かにより、初期化定義有無を判定する。
【００８３】
アプリ制御部２２は、初期化定義が存在すると判定した場合、拡張アプリ［２］のアプリ情報２３Ｄ２を取得する（ステップＳ１２３）。アプリ制御部２２は、アプリ情報保持部２３にアクセスし、アプリ識別情報を基に、該当するアプリ情報２３Ｄ２（デフォルトオーナーアプリ以外の拡張アプリのアプリ情報）を取得する。
【００８４】
アプリ制御部２２は、拡張アプリ［２］に対して、表示部品の取得を要求する（ステップＳ１２４）。このとき、アプリ制御部２２は、取得したアプリ情報２３Ｄ２の表示部品格納先情報などを拡張アプリ［２］へと渡す。
【００８５】
拡張アプリ［２］は、画面制御部３１２により、画面構築部３３２に対して、表示部品取得を指示する（ステップＳ１３１）。このとき、画面制御部３１２は、表示部品取得要求時に受け取った表示部品格納先情報などを画面構築部３３２へと渡す。
【００８６】
画面構築部３３２は、表示部品保持部３４２にアクセスし、表示部品取得指示時に受け取った表示部品格納先情報を基に、該当する表示部品（拡張アプリ［２］の機能選択部品）を取得する（ステップＳ１３２）。画面構築部３３２は、取得した表示部品を画面制御部３１２へと渡す（ステップＳ１３３）。
【００８７】
画面制御部３１２は、取得結果として受け取った表示部品を表示部品取得要求元のアプリ制御部２２へ応答する（ステップＳ１３４）。
【００８８】
アプリ制御部２２は、取得した表示部品を、拡張アプリ［１］の画面定義情報３２Ｄ１に従って整形し、拡張アプリ［１］の生成画面に配置することで、起動画面を生成する（ステップＳ１４１）。
【００８９】
アプリ制御部２２は、オーナー権を拡張アプリ［１］に設定し（ステップＳ１４２）、ＳＤＫ／Ｊ１６のパネル制御部２１に対して、画面表示を指示する（ステップＳ１４３）。このとき、アプリ制御部２２は、生成した起動画面のデータをパネル制御部２１へと渡す。
【００９０】
パネル制御部２１は、画面表示指示時に受け取った起動画面を、操作パネル１２０の画面へと表示する（ステップＳ１５１）。
【００９１】
このように、本実施形態に係る画像処理装置１００は、当該装置起動時に、デフォルトオーナーアプリである拡張アプリ１７に画面を生成させ、さらに他の拡張アプリ１７から機能選択部品を収集し、収集した選択部品を、生成させた画面上に配置し、起動画面を生成する。これにより、本実施形態に係る画像処理装置１００では、拡張アプリ１７が有する複数の機能を１回で選択可能な操作画面を表示できる。
【００９２】
なお、アプリ制御部２２は、ステップＳ１２１及びステップＳ１２２の定義判定において、該当定義を含まない（存在しない）と判定した場合、拡張アプリ［１］の生成画面を起動画面とし、ステップＳ１４２のオーナー権設定へと移行する。
【００９３】
また、アプリ制御部２２は、ステップＳ１４１の処理で、画面遷移先となる拡張アプリ［２］から取得した表示部品を、拡張アプリ［１］から取得した生成画面に配置することで、起動画面を生成しているが、この限りでない。
【００９４】
起動画面の生成方法には、例えば、拡張アプリに生成させる方法がある。例えば、上記処理の場合、アプリ制御部２２は、拡張アプリ［１］に対して、拡張アプリ［２］のアプリ情報を渡し、画面生成を要求する。拡張アプリ［１］では、アプリ情報に基づき、拡張アプリ［２］の表示部品を配置したアプリ画面が生成される。アプリ制御部２２には、拡張アプリ［１］から生成画面が応答される。起動画面の生成方法は、このような方法であってもよい。
【００９５】
図１０は、本実施形態に係る画面遷移の動作例（その１）を示す図である。
図１０には、起動画面である拡張アプリ画面Ｗ１で拡張アプリ［１］が有するＳｃａｎＴｏＭａｉｌ機能が選択された場合に、拡張アプリ画面Ｗ１からＳｃａｎＴｏＭａｉｌ画面Ｗ１１に画面遷移する動作例１が示されている。また、拡張アプリ［２］が有するＰｒｉｎｔＦｕｎｃ機能が選択された場合に、拡張アプリ画面Ｗ１からＰｒｉｎｔＦｕｎｃ画面Ｗ２２に画面遷移する動作例２が示されている。
【００９６】
本実施形態に係る画面制御機能では、このような画面遷移動作を実現するため、次のような処理を行う。
【００９７】
図１１は、本実施形態に係る画面制御の処理手順例（その１）を示すシーケンス図である。図１１には、図１０に示す動作例１，２を実現する画面制御処理例が示されている。
図１１に示すように、パネル制御部２１は、画面操作によるイベントを受け付けると（ステップＳ２０１）、アプリ制御部２２にイベント情報を通知する（ステップＳ２０２）。このとき、パネル制御部２１は、表示画面や表示部品に紐付くアプリ識別情報及び選択部品識別情報などをイベント情報として、アプリ制御部２２へと渡す。
【００９８】
アプリ制御部２２は、イベント情報を受け取ると、現在オーナー権を有する拡張アプリ１７を特定し、特定した拡張アプリ１７のアプリ情報２３Ｄを取得する（ステップＳ２０３）。アプリ制御部２２は、オーナー権設定に基づき、オーナーアプリ（現在の画面を表示する拡張アプリ）を特定する。アプリ制御部２２は、図１０に示す動作例の場合、拡張アプリ［１］をオーナーアプリと特定し、アプリ情報保持部２３から、アプリ識別情報を基に、拡張アプリ［１］のアプリ情報２３Ｄ１を取得する。なお、すでに情報を取得している場合には、メモリ上に一時保持されるアプリ情報２３Ｄ１を特定すればよい。
【００９９】
アプリ制御部２２は、特定したオーナーアプリである拡張アプリ［１］に対して、イベント通知する（ステップＳ２０４）。このとき、アプリ制御部２２は、受け取ったイベント情報のアプリ識別情報及び選択部品識別情報などを拡張アプリ［１］へと渡す。
【０１００】
拡張アプリ［１］は、画面制御部３１１により、画面定義情報３２Ｄ１を取得し、イベント種別を判定する（ステップＳ２１１）。まず、画面制御部３１１は、画面定義情報保持部３２１にアクセスし、イベント通知時に受け取ったアプリ識別情報を基に、該当する画面定義情報３２Ｄ１を取得する。なお、すでに情報を取得している場合には、メモリ上に一時保持される画面定義情報３２D１を特定すればよい。続いて、画面制御部３１１は、選択部品識別情報を基に画面定義情報３２Ｄ１を参照し、該当する定義情報を特定する。画面制御部３１１は、特定した定義情報に定義されたａｃｔｉｏｎタグの属性値（ｉｄ値）に、選択ボタン押下イベントの識別情報［"ｏｎＣｌｉｃｋ"］が設定されているか否かを確認する。これにより、画面制御部３１１は、識別情報［"ｏｎＣｌｉｃｋ"］が設定されたａｃｔｉｏｎタグ内のｕｉＥｖｅｎｔタグの属性値（ｅｖｅｎｔＴｙｐｅ値）に、画面遷移イベントの種別情報［"ｓｗｉｔｃｈＡｐｌ"］が設定されているか否かにより、イベント種別を判定する。画面制御部３１１は、画面遷移イベントの種別情報が設定されていることを確認すると、対応する他の属性値に設定された画面遷移先アプリの識別情報（及び／又は画面遷移先機能の識別情報）を、画面遷移イベントの判定結果として取得する。
【０１０１】
画面制御部３１１は、取得したアプリ識別情報（及び／又は機能識別情報）を、判定結果としてイベント種別判定要求元のアプリ制御部２２へ応答する（ステップＳ２２１）。
【０１０２】
アプリ制御部２２は、画面遷移イベントの判定結果として受け取ったアプリ識別情報（及び／又は機能識別情報）に基づき、画面遷移先となる拡張アプリ１７が有する機能を特定する。例えば、アプリ制御部２２は、受け取ったアプリ識別情報と、現在の画面を表示する拡張アプリ１７（オーナーアプリ）のアプリ識別情報とを比較し、一致しなければ、受け取ったアプリ識別情報に示される拡張アプリ１７が有する機能を画面遷移先として特定する。また、アプリ制御部２２は、画面遷移イベントの判定結果として機能識別情報のみを受け取った場合、現在の画面を表示する拡張アプリ１７が有する機能を画面遷移先として特定する。
【０１０３】
よって、本実施形態では、イベント種別判定後に行うアプリ制御部２２の処理が、オーナーアプリ（拡張アプリ［１］）が有する機能を画面遷移先に特定した場合と、拡張アプリ［２］が有する機能を画面遷移先と特定した場合とに分けられる。
【０１０４】
●拡張アプリ［２］の機能に画面遷移：動作例２
アプリ制御部２２は、画面遷移イベントの判定結果としてアプリ識別情報及び機能識別情報を受け取ると（ステップＳ２２１）、受け取ったアプリ識別情報に該当するアプリ情報２３Ｄを取得する（ステップＳ２２２）。アプリ制御部２２は、図１０に示す動作例２の場合、拡張アプリ［２］の識別情報及びＰｒｉｎｔＦｕｎｃ機能の識別情報を受け取る。アプリ制御部２２は、アプリ情報保持部２３にアクセスし、アプリ識別情報を基に、該当するアプリ情報２３Ｄ２（拡張アプリ［２］のアプリ情報）を取得する。
【０１０５】
アプリ制御部２２は、画面遷移先として特定した拡張アプリ［２］に対して、画面生成を要求する（ステップＳ２２３）。このとき、アプリ制御部２２は、判定結果として受け取った機能識別情報、及び取得したアプリ情報２３Ｄ２の表示部品格納先情報などを拡張アプリ［２］へと渡す。また、アプリ制御部２２は、戻るボタン（前画面に戻ることを指示可能な選択部品）の付加を指示するパラメータを拡張アプリ［２］へと渡す。また、アプリ制御部２２は、画面ベースデータも拡張アプリ［２］へと渡す。
【０１０６】
拡張アプリ［２］は、画面制御部３１２により、画面定義情報保持部３２２にアクセスし、画面生成要求時に受け取った機能識別情報を基に、該当する画面定義情報３２Ｄ２２（ＰｒｉｎｔＦｕｎｃ機能の定義情報）を取得する（ステップＳ２３１）。なお、すでに情報を取得している場合には、メモリ上に一時保持される画面定義情報３２D２２を特定すればよい。このとき、画面制御部３１２は、取得（又は特定）した画面定義情報３２Ｄ２２を参照し、戻る定義の有無（戻るボタンの定義情報の存在）を確認する。
【０１０７】
画面制御部３１２は、拡張アプリ［２］の画面構築部３３２に対して、画面生成を指示する（ステップＳ２３２）。このとき、画面制御部３１２は、画面定義情報３２Ｄ２２、画面ベースデータ、及び画面生成要求時に受け取った表示部品格納先情報などを画面構築部３３２へと渡す。なお、画面制御部３１２は、戻る定義が確認された場合のみ、画面構築部３３２に対して戻るボタンの付加を指示する。
【０１０８】
画面構築部３３２は、表示部品保持部３４２にアクセスし、画面生成指示時に受け取った表示部品格納先情報を基に、該当する表示部品を取得し、画面生成指示時に受け取った画面定義情報３２Ｄ２２に従って、取得した表示部品を整形・配置し、画面ベースデータを基に画面（ＰｒｉｎｔＦｕｎｃ画面）を構築する（ステップＳ２３３）。このとき、画面構築部３３２は、表示部品付加指示に従って、戻るボタンを生成画面に付加する。画面構築部３３２は、生成画面を画面制御部３１２へと渡す（ステップＳ２３４）。
【０１０９】
画面制御部３１２は、生成結果として受け取った生成画面を画面生成要求元のアプリ制御部２２へ応答する（ステップＳ２３５）。
【０１１０】
アプリ制御部２２は、オーナー権を画面遷移先の拡張アプリ１７（拡張アプリ［１］から拡張アプリ［２］）に変更し（ステップＳ２４１）、パネル制御部２１に対して、表示画面のロック解除を指示する（ステップＳ２４２）。
【０１１１】
●オーナーアプリの機能に画面遷移：動作例１
アプリ制御部２２は、画面遷移イベントの判定結果として機能識別情報のみを受け取ると（ステップＳ２５１）、画面遷移先として特定した拡張アプリ［１］に対して、画面生成を要求する（ステップＳ２６１）。アプリ制御部２２は、図１０に示す動作例１の場合、ＳｃａｎＴｏＭａｉｌ機能の識別情報を受け取る。このとき、アプリ制御部２２は、判定結果として受け取った機能識別情報、及び取得したアプリ情報２３Ｄ１の表示部品格納先情報などを拡張アプリ［１］へと渡す。また、アプリ制御部２２は、戻るボタンの付加を指示するパラメータを拡張アプリ［１］へと渡す。また、アプリ制御部２２は、画面ベースデータも拡張アプリ［１］へと渡す。
【０１１２】
拡張アプリ［１］は、画面制御部３１１により、画面定義情報保持部３２１にアクセスし、画面生成要求時に受け取った機能識別情報を基に、該当する画面定義情報３２Ｄ１１（ＳｃａｎＴｏＭａｉｌ機能の定義情報）を取得する（ステップＳ２７１）。なお、すでに情報を取得している場合には、メモリ上に一時保持される画面定義情報３２D１１を特定すればよい。このとき、画面制御部３１１は、取得（又は特定）した画面定義情報３２Ｄ１１を参照し、戻る定義の有無を確認する。
【０１１３】
画面制御部３１１は、画面構築部３３１に対して、画面生成を指示する（ステップＳ２７２）。このとき、画面制御部３１１は、画面定義情報３２Ｄ１１、画面ベースデータ、及び画面生成要求時に受け取った表示部品格納先情報などを画面構築部３３１へと渡す。なお、画面制御部３１１は、戻る定義が確認された場合のみ、画面構築部３３１に対して戻るボタンの付加を指示する。
【０１１４】
画面構築部３３１は、表示部品保持部３４１から該当表示部品（機能画面構成表示部品）を取得し、画面定義情報３２Ｄ１１に従って、取得した表示部品を整形・配置し、画面ベースデータを基に画面（ＳｃａｎＴｏＭａｉｌ画面）を構築する（ステップＳ２７３）。このとき、画面構築部３３２は、表示部品付加指示に従って、戻るボタンを生成画面に付加する。画面構築部３３１は、生成画面を画面制御部３１１へと渡す（ステップＳ２７４）。
【０１１５】
画面制御部３１１は、生成結果として受け取った生成画面を画面生成要求元のアプリ制御部２２へ応答する（ステップＳ２７５）。
【０１１６】
なお、アプリ制御部２２は、オーナーアプリを画面遷移先として特定した場合、オーナー権の変更及び表示画面のロック解除などを行わない。
【０１１７】
その後、アプリ制御部２２は、パネル制御部２１に対して、画面表示を指示する（ステップＳ２８１）。このとき、アプリ制御部２２は、上記２通りの処理により画面遷移先の拡張アプリ１７で生成された機能画面（遷移先画面）のデータをパネル制御部２１へと渡す。
【０１１８】
パネル制御部２１は、画面表示指示時に受け取った遷移先画面を、操作パネル１２０の画面へと表示する（ステップＳ２９１）。このとき、パネル制御部２１は、画面遷移元の画面（オーナーアプリ画面）を非表示とし、表示画面をロックする。
【０１１９】
図１２は、本実施形態に係る画面遷移の動作例（その２）を示す図である。
図１２には、拡張アプリ［１］のＳｃａｎＴｏＭａｉｌ画面Ｗ１１の戻るボタンが押下された場合に、ＳｃａｎＴｏＭａｉｌ画面Ｗ１１から拡張アプリ画面Ｗ１に画面遷移する動作例３が示されている。また、拡張アプリ［２］のＰｒｉｎｔＦｕｎｃ画面Ｗ２２の戻るボタンが押下された場合に、拡張アプリ画面Ｗ１に画面遷移する動作例４が示されている。
【０１２０】
本実施形態に係る画面制御機能では、このような画面遷移動作を実現するため、次のような処理を行う。
【０１２１】
図１３は、本実施形態に係る画面制御の処理手順例（その２）を示すシーケンス図である。図１３には、図１２に示す動作例３，４を実現する画面制御処理例が示されている。
図１３に示すように、パネル制御部２１は、画面操作によるイベントを受け付けると（ステップＳ３０１）、アプリ制御部２２にイベント情報を通知する（ステップＳ３０２）。このとき、パネル制御部２１は、表示画面や表示部品に紐付く機能識別情報及び選択部品識別情報などをイベント情報として、アプリ制御部２２へと渡す。
【０１２２】
アプリ制御部２２は、イベント情報を受け取ると、現在オーナー権を有する拡張アプリ１７を特定し、特定した拡張アプリ１７のアプリ情報２３Ｄを取得する（ステップＳ３０３）。アプリ制御部２２は、オーナー権設定に基づき、オーナーアプリ（現在の画面を表示する拡張アプリ）を特定する。なお、すでに情報を取得している場合には、メモリ上に一時保持されるアプリ情報２３Ｄを特定すればよい。
【０１２３】
本実施形態では、オーナーアプリ特定後に行うアプリ制御部２２の処理が、オーナーアプリを拡張アプリ［１］と特定した場合と、拡張アプリ［２］と特定した場合とに分けられる。
【０１２４】
●オーナーアプリが拡張アプリ［２］の場合：動作例４
アプリ制御部２２は、特定したオーナーアプリである拡張アプリ［２］に対して、イベント通知する（ステップＳ３０４）。このとき、アプリ制御部２２は、受け取ったイベント情報の機能識別情報及び選択部品識別情報などを拡張アプリ［２］へと渡す。
【０１２５】
拡張アプリ［２］は、画面制御部３１２により、機能識別情報に該当する画面定義情報３２Ｄ２２（ＰｒｉｎｔＦｕｎｃ機能の定義情報）を取得し、イベント種別を判定する（ステップＳ３１１）。上述したように、イベント種別判定は、画面定義情報３２Ｄ２２を参照し、戻るボタン押下イベントの識別情報が設定されたａｃｔｉｏｎタグ内のｕｉＥｖｅｎｔタグの属性値（ｅｖｅｎｔＴｙｐｅ値）に基づき行う。画面制御部３１２は、画面遷移イベントの種別情報が設定されていることを確認すると、対応する他の属性値に設定された画面遷移先アプリの識別情報（戻り先アプリの識別情報）を、画面遷移イベントの判定結果として取得する。アプリ制御部２２は、図１２に示す動作例４の場合、拡張アプリ［１］の識別情報を取得する。
【０１２６】
画面制御部３１２は、取得したアプリ識別情報を、判定結果としてイベント種別判定要求元のアプリ制御部２２へ応答する（ステップＳ３１２）。
【０１２７】
アプリ制御部２２は、オーナー権を画面遷移先（戻り先）の拡張アプリ１７（拡張アプリ［２］から拡張アプリ［１］）に変更し（ステップＳ３２１）、パネル制御部２１に対して、画面表示のロック解除を指示する（ステップＳ３２２）。このとき、アプリ制御部２２は、画面遷移イベントの判定結果としてアプリ識別情報のみを受け取った場合、受け取ったアプリ識別情報に基づき、オーナー権の変更を行う必要があるか否かを判定する。例えば、アプリ制御部２２は、受け取ったアプリ識別情報と、現在の画面を表示する拡張アプリ１７（オーナーアプリ）のアプリ識別情報とを比較し、一致しなければ、受け取ったアプリ識別情報に示される拡張アプリ１７に、オーナー権を変更する必要があると判定する。
【０１２８】
●オーナーアプリが拡張アプリ［１］の場合：動作例３
アプリ制御部２２は、特定したオーナーアプリである拡張アプリ［１］に対して、イベント通知する（ステップＳ３３１）。このとき、アプリ制御部２２は、受け取ったイベント情報の機能識別情報及び選択部品識別情報などを拡張アプリ［１］へと渡す。
【０１２９】
拡張アプリ［１］は、画面制御部３１１により、機能識別情報に該当する画面定義情報３２Ｄ１１（ＳｃａｎＴｏＭａｉｌ機能の定義情報）を取得し、イベント種別を判定する（ステップＳ３３２）。なお、イベント種別判定については、上述した方法と同様であることから、説明を省略する。画面制御部３１１は、画面遷移イベントの種別情報が設定されていることを確認すると、対応する他の属性値に設定された画面遷移先アプリの識別情報（戻り先アプリの識別情報）を、画面遷移イベントの判定結果として取得する。アプリ制御部２２は、図１２に示す動作例３の場合、拡張アプリ［１］の識別情報を取得する。
【０１３０】
画面制御部３１１は、取得したアプリ識別情報を、判定結果としてイベント種別判定要求元のアプリ制御部２２へ応答する（ステップＳ３３３）。
【０１３１】
アプリ制御部２２は、オーナー権の変更要否判定を行い、受け取ったアプリ識別情報と、現在の画面を表示する拡張アプリ１７（オーナーアプリ）のアプリ識別情報と、が一致することから、オーナー権を変更する必要がないと判定される。そのため、アプリ制御部２２は、オーナー権の変更及び表示画面のロック解除などを行わない。
【０１３２】
その後、アプリ制御部２２は、パネル制御部２１に対して、前画面表示を指示する（ステップＳ３４１）。
【０１３３】
パネル制御部２１は、非表示としていたデフォルトオーナーアプリの拡張アプリ画面Ｗ１を、操作パネル１２０の画面へと表示する（ステップＳ３５１）。このとき、パネル制御部２１は、画面遷移元の画面（機能画面）を非表示とし、表示画面をロックする。
【０１３４】
このように、本実施形態に係る画像処理装置１００は、拡張アプリ１７に各機能画面の生成を行わせ、アプリ制御部２２で機能画面の遷移を一括制御する。これにより、本実施形態に係る画像処理装置１００では、各拡張アプリ画面を介することなく、異なる拡張アプリ１７が有する複数の機能間で画面遷移が行える。例えば、従来では、拡張アプリ［１］の機能と拡張アプリ［２］の機能との間で画面遷移を行う場合、拡張アプリ［１］の機能画面から拡張アプリ［１］の機能選択画面を介して拡張アプリ１７の選択画面へと戻り、拡張アプリ［２］の機能選択画面を介して拡張アプリ［２］の機能画面へと遷移する。しかし、本実施形態では、オーナーアプリ画面を介するだけで、異なる拡張アプリ１７の機能画面に遷移できる。
【０１３５】
《起動時に搭載拡張アプリのメイン画面が生成される場合》
ここでは、起動時に搭載拡張アプリすべての拡張アプリ画面が生成される画面制御機能を想定している。このような画面制御機能であれば、起動後の拡張アプリ間の画面遷移において、その都度、画面生成を行う必要がなく、画面表示や表示画面切り替えにかかる処理時間を短縮することができる。
【０１３６】
図１４は、本実施形態に係る起動画面例を示す図である。
図１４には、画像処理装置１００の起動時に、デフォルトオーナーアプリとして設定された拡張アプリ［１］の拡張アプリ画面Ｗ１だけでなく、他の拡張アプリ１７である拡張アプリ［２］の拡張アプリ画面Ｗ２も生成される動作例が示されている。
【０１３７】
本実施形態に係る画面制御機能では、このような画面遷移動作を実現するため、次のような処理を行う。
【０１３８】
なお、以下では、図９から図１３を用いて上述した処理手順例と異なる処理について説明する。
【０１３９】
図１５は、本実施形態に係る起動時画面制御の処理手順例（その２）を示すシーケンス図である。画像処理装置１００では、図１５に示す処理により、例えば、図１４（Ａ），（Ｂ）に示した拡張アプリ画面Ｗ１，Ｗ２が生成され、起動画面として拡張アプリ画面Ｗ１が表示される。
【０１４０】
図１５に示すように、ＳＤＫ／Ｊ１６は、画像処理装置１００が起動され、起動イベントを受け付けると（ステップＳ４０１）、アプリ制御部２２により、搭載拡張アプリ１７及びデフォルトオーナーアプリを特定し、特定した拡張アプリ１７のアプリ情報２３Ｄを取得する（ステップＳ４０２）。アプリ制御部２２は、予め設定されているデフォルト起動アプリの識別情報（アプリ識別情報）に基づき、デフォルトオーナーアプリである拡張アプリ［１］を特定する。アプリ制御部２２は、アプリ情報保持部２３にアクセスし、搭載拡張アプリすべてのアプリ情報２３Ｄを取得する。
【０１４１】
アプリ制御部２２は、特定したデフォルトオーナーアプリである拡張アプリ［１］に対して、起動画面の生成を要求する（ステップＳ４０３）。このとき、アプリ制御部２２は、アプリ識別情報及び取得したアプリ情報２３Ｄ１の表示部品格納先情報などを拡張アプリ［１］へと渡す。また、アプリ制御部２２は、画面ベースデータも拡張アプリ［１］へと渡す。
【０１４２】
拡張アプリ［１］は、画面制御部３１１により、画面定義情報保持部３２１にアクセスし、起動画面生成要求時に受け取ったアプリ識別情報を基に、該当する画面定義情報３２Ｄ１を取得する（ステップＳ４１１）。
【０１４３】
画面制御部３１１は、拡張アプリ［１］の画面構築部３３１に対して、画面生成を指示する（ステップＳ４１２１）。このとき、画面制御部３１１は、取得した画面定義情報３２Ｄ１、画面ベースデータ、及び起動画面生成要求時に受け取った表示部品格納先情報などを画面構築部３３１へと渡す。なお、画面制御部３１１は、起動画面生成要求時に、画面定義情報３２Ｄ１を要求元のアプリ制御部２２へと渡す（ステップＳ４１２２）。
【０１４４】
画面構築部３３１は、表示部品保持部３４１から該当表示部品（拡張アプリ［１］の機能選択部品）を取得し、画面定義情報３２Ｄ１に従って、取得した表示部品を整形・配置し、画面ベースデータを基に拡張アプリ画面Ｗ１を構築する（ステップＳ４１３）。画面構築部３３１は、生成画面を画面制御部３１１へと渡す（ステップＳ４１４）。
【０１４５】
画面制御部３１１は、生成結果として受け取った生成画面を起動画面生成要求元のアプリ制御部２２へ応答する（ステップＳ４１５）。
【０１４６】
続いて、アプリ制御部２２は、特定した搭載拡張アプリ［２］（デフォルトオーナーアプリ以外の拡張アプリ）に対して、拡張アプリ画面の生成を要求する（ステップＳ４２１）。このとき、アプリ制御部２２は、アプリ識別情報及び取得したアプリ情報２３Ｄ２の表示部品格納先情報などを拡張アプリ［２］へと渡す。また、アプリ制御部２２は、画面ベースデータも拡張アプリ［２］へと渡す。
【０１４７】
拡張アプリ［２］は、画面制御部３１２により、画面定義情報保持部３２２にアクセスし、拡張アプリ画面生成要求時に受け取ったアプリ識別情報を基に、該当する画面定義情報３２Ｄ２を取得する（ステップＳ４３１）。
【０１４８】
画面制御部３１２は、拡張アプリ［２］の画面構築部３３２に対して、画面生成を指示する（ステップＳ４３２）。このとき、画面制御部３１２は、取得した画面定義情報３２Ｄ２、画面ベースデータ、及び拡張アプリ画面生成要求時に受け取った表示部品格納先情報などを画面構築部３３２へと渡す。なお、画面制御部３１２は、受け付けた画面生成要求が起動画面でなく拡張アプリ画面であることから、取得した画面定義情報３２Ｄ２を、アプリ制御部２２へ渡さない。
【０１４９】
画面構築部３３２は、表示部品保持部３４２から該当表示部品（拡張アプリ［２］の機能選択部品）を取得し、画面定義情報３２Ｄ２に従って、取得した表示部品を整形・配置し、画面ベースデータを基に拡張アプリ画面Ｗ２を構築する（ステップＳ４３３）。画面構築部３３２は、生成画面を画面制御部３１２へと渡す（ステップＳ４３４）。
【０１５０】
画面制御部３１２は、生成結果として受け取った生成画面を拡張アプリ画面生成要求元のアプリ制御部２２へ応答する（ステップＳ４３５）。
【０１５１】
上記ステップＳ４２１からＳ４３５に示す処理は、特定された搭載拡張アプリ１７の数だけ順に実行される。
【０１５２】
搭載拡張アプリすべての拡張アプリ画面を生成した後の処理手順は、図９のステップＳ１２１からＳ１５１に示す処理と同一のため、その説明を省略する。
【０１５３】
このように、本実施形態に係る画像処理装置１００は、当該装置起動時に、デフォルトオーナーアプリである拡張アプリ１７に画面を生成させ、さらに他の拡張アプリ１７から機能選択部品を収集し、収集した選択部品を、生成させた画面上に配置し、起動画面を生成する。これにより、本実施形態に係る画像処理装置１００では、拡張アプリ１７が有する複数の機能を１回で選択可能な操作画面を表示できる。また、本実施形態に係る画像処理装置１００は、当該装置起動時に、搭載されたすべての拡張アプリ１７に画面を生成させ、生成された各拡張アプリ画面を保持する。これにより、本実施形態に係る画像処理装置１００では、拡張アプリ間の画面遷移において、画面表示にかかる処理時間を短縮することができる。
【０１５４】
図１６は、本実施形態に係る画面遷移の動作例（その３）を示す図である。
図１６には、起動画面である拡張アプリ画面Ｗ１から拡張アプリ［２］が有するＰｒｉｎｔＦｕｎｃ機能が選択された場合に、ＰｒｉｎｔＦｕｎｃ画面Ｗ２２に画面遷移する動作例が示されている。このとき、画面遷移先であるＰｒｉｎｔＦｕｎｃ画面Ｗ２２には、同機能が属する拡張アプリ［２］への画面遷移を指示する拡張アプリ選択ボタンが付加されている。
【０１５５】
ユーザは、戻るボタンの押下により拡張アプリ画面Ｗ１に戻り、拡張アプリ［２］の他の機能（ＣｏｐｙＦｕｎｃ機能）を選択することもできる。しかし、拡張アプリ１７の搭載数や拡張アプリ１７が有する機能数が多い場合などでは、多くの機能選択ボタンが表示されることになる。そのため、ユーザは、実行を所望する機能を選択しづらいことが考えられる。そこで、機能が関連する拡張アプリ１７（機能が属する同一の拡張アプリ）の拡張アプリ画面から他の機能が選択できることが望ましい。よって、本実施形態では、図１６に示すような拡張アプリ選択ボタンを備えた機能画面Ｗ２２を提案する。
【０１５６】
本実施形態に係る画面制御機能では、このような画面遷移動作を実現するため、次のような処理を行う。
【０１５７】
図１７は、本実施形態に係る画面制御の処理手順例（その３）を示すシーケンス図である。図１７には、図１６に示す動作例を実現する画面制御処理例が示されている。
図１７に示すように、パネル制御部２１は、画面操作によるイベントを受け付けると（ステップＳ５０１）、アプリ制御部２２にイベント情報を通知する（ステップＳ５０２）。このとき、パネル制御部２１は、表示画面や表示部品に紐付くアプリ識別情報及び選択部品識別情報などをイベント情報として、アプリ制御部２２へと渡す。
【０１５８】
アプリ制御部２２は、イベント情報を受け取ると、現在オーナー権を有する拡張アプリ１７を特定する（ステップＳ５０３）。アプリ制御部２２は、オーナー権設定に基づき、オーナーアプリ（現在の画面を表示する拡張アプリ）を特定する。アプリ制御部２２は、図１６に示す動作例の場合、拡張アプリ［１］をオーナーアプリと特定し、起動時に取得しておいたアプリ情報２３Ｄの中から、拡張アプリ［１］のアプリ情報２３Ｄ１を特定する。
【０１５９】
アプリ制御部２２は、特定したオーナーアプリである拡張アプリ［１］に対して、イベント通知する（ステップＳ５０４）。このとき、アプリ制御部２２は、受け取ったイベント情報のアプリ識別情報及び選択部品識別情報などを拡張アプリ［１］へと渡す。
【０１６０】
拡張アプリ［１］は、画面制御部３１１により、画面定義情報３２Ｄ１を取得し、イベント種別を判定する（ステップＳ５１１）。上述したように、イベント種別判定は、画面定義情報３２Ｄ１を参照し、ＰｒｉｎｔＦｕｎｃ機能選択ボタン押下イベントの識別情報が設定されたａｃｔｉｏｎタグ内のｕｉＥｖｅｎｔタグの属性値（ｅｖｅｎｔＴｙｐｅ値）に基づき行う。画面制御部３１１は、画面遷移イベントの種別情報が設定されていることを確認すると、対応する他の属性値に設定された画面遷移先アプリの識別情報及び画面遷移先機能の識別情報を、画面遷移イベントの判定結果として取得する。画面制御部３１１は、図１６に示す動作例の場合、拡張アプリ［２］の識別情報及びＰｒｉｎｔＦｕｎｃ機能の識別情報を取得する。
【０１６１】
画面制御部３１１は、取得したアプリ識別情報及び機能識別情報を、判定結果としてイベント種別判定要求元のアプリ制御部２２へ応答する（ステップＳ５１２）。
【０１６２】
アプリ制御部２２は、画面遷移イベントの判定結果として受け取ったアプリ識別情報及び機能識別情報に基づき、画面遷移先となる拡張アプリ［２］が有するＰｒｉｎｔＦｕｎｃ機能を特定する。アプリ制御部２２は、図１６に示す動作例の場合、受け取ったアプリ識別情報と、現在の画面を表示する拡張アプリ１７（オーナーアプリ）のアプリ識別情報とが、一致しないため、受け取ったアプリ識別情報に示される拡張アプリ［２］が有する機能（ＰｒｉｎｔＦｕｎｃ機能）を画面遷移先として特定する。
【０１６３】
アプリ制御部２２は、画面遷移イベントの判定結果としてアプリ識別情報及び機能識別情報を受け取ると、起動時に取得しておいたアプリ情報２３Ｄの中から、受け取ったアプリ識別情報に該当するアプリ情報２３Ｄ２（拡張アプリ［２］のアプリ情報）を特定する（ステップＳ５２１）。
【０１６４】
アプリ制御部２２は、画面遷移先として特定した拡張アプリ［２］に対して、画面生成を要求する（ステップＳ５２２）。このとき、アプリ制御部２２は、判定結果として受け取った機能識別情報、及びアプリ情報２３Ｄ２の表示部品格納先情報などを拡張アプリ［２］へと渡す。また、アプリ制御部２２は、戻るボタン及び拡張アプリ選択ボタン（機能が属する同拡張アプリ［２］に遷移することを指示可能な選択部品）の付加を指示するパラメータを拡張アプリ［２］へと渡す。また、アプリ制御部２２は、画面ベースデータも拡張アプリ［２］へと渡す。
【０１６５】
拡張アプリ［２］は、画面制御部３１２により、画面定義情報保持部３２２にアクセスし、画面生成要求時に受け取った機能識別情報を基に、該当する画面定義情報３２Ｄ２２（ＰｒｉｎｔＦｕｎｃ機能の定義情報）を取得する（ステップＳ５３１）。なお、すでに情報を取得している場合には、メモリ上に一時保持される画面定義情報３２D２２を特定すればよい。このとき、画面制御部３１２は、取得（又は特定した）画面定義情報３２Ｄ２２を参照し、戻る定義の有無（戻るボタンの定義情報の存在）を確認する。
【０１６６】
画面制御部３１２は、拡張アプリ［２］の画面構築部３３２に対して、画面生成を指示する（ステップＳ５３２）。このとき、画面制御部３１２は、画面定義情報３２Ｄ２２、画面ベースデータ、及び画面生成要求時に受け取った表示部品格納先情報などを画面構築部３３２へと渡す。また、画面制御部３１２は、拡張アプリ選択ボタンの付加を指示する。なお、画面制御部３１２は、戻る定義が確認された場合のみ、画面構築部３３２に対して戻るボタンの付加を指示する。
【０１６７】
画面構築部３３２は、表示部品保持部３４２から該当表示部品（機能画面構成表示部品）を取得し、画面定義情報３２Ｄ２２に従って、取得した表示部品を整形・配置し、画面ベースデータを基に画面（ＰｒｉｎｔＦｕｎｃ画面）を構築する（ステップＳ５３３）。このとき、画面構築部３３２は、表示部品付加指示に従って、戻るボタン及び／又は拡張アプリ選択ボタンを生成画面に付加する。画面構築部３３２は、生成画面を画面制御部３１２へと渡す（ステップＳ５３４）。
【０１６８】
画面制御部３１２は、生成結果として受け取った生成画面を画面生成要求元のアプリ制御部２２へ応答する（ステップＳ５３５）。
【０１６９】
アプリ制御部２２は、オーナー権を画面遷移先の拡張アプリ［２］（拡張アプリ［１］から拡張アプリ［２］）に変更し（ステップＳ５４１）、パネル制御部２１に対して、表示画面のロック解除を指示する（ステップＳ５４２）。
【０１７０】
アプリ制御部２２は、パネル制御部２１に対して、画面表示を指示する（ステップＳ５５１）。このとき、アプリ制御部２２は、上記処理により画面遷移先の拡張アプリ［２］で生成されたＰｒｉｎｔＦｕｎｃ画面Ｗ２２（遷移先画面）のデータをパネル制御部２１へと渡す。
【０１７１】
パネル制御部２１は、画面表示指示時に受け取った遷移先画面を、操作パネル１２０の画面へと表示する（ステップＳ５６１）。このとき、パネル制御部２１は、画面遷移元の画面（オーナーアプリ画面）を非表示とし、表示画面をロックする。
【０１７２】
図１８は、本実施形態に係る画面遷移の動作例（その４）を示す図である。
図１８には、ＰｒｉｎｔＦｕｎｃ画面上の拡張アプリ選択ボタンが押下された場合に、ＰｒｉｎｔＦｕｎｃ画面Ｗ２２から拡張アプリ画面Ｗ２に画面遷移する動作例が示されている。このとき、画面遷移先である拡張アプリ画面Ｗ２には、拡張アプリ［１］への画面遷移を指示する拡張アプリ選択ボタンが付加されている。このように、本実施形態では、拡張アプリ１７が有する機能から、段階的に他の拡張アプリ１７に画面遷移可能な環境を提供する。
【０１７３】
本実施形態に係る画面制御機能では、このような画面遷移動作を実現するため、次のような処理を行う。
【０１７４】
図１９は、本実施形態に係る画面制御の処理手順例（その４）を示すシーケンス図である。図１９には、図１８に示す動作例を実現する画面制御処理例が示されている。
図１９に示すように、パネル制御部２１は、画面操作によるイベントを受け付けると（ステップＳ６０１）、アプリ制御部２２にイベント情報を通知する（ステップＳ６０２）。このとき、パネル制御部２１は、表示画面や表示部品に紐付くアプリ識別情報、機能識別情報、及び選択部品識別情報などをイベント情報として、アプリ制御部２２へと渡す。
【０１７５】
アプリ制御部２２は、イベント情報を受け取ると、現在オーナー権を有する拡張アプリ１７を特定する（ステップＳ６０３）。アプリ制御部２２は、オーナー権設定に基づき、オーナーアプリ（現在の画面を表示する拡張アプリ）を特定する。アプリ制御部２２は、図１８に示す動作例の場合、拡張アプリ［２］をオーナーアプリと特定し、起動時に取得しておいたアプリ情報２３Ｄの中から、拡張アプリ［２］のアプリ情報２３Ｄ２を特定する。
【０１７６】
アプリ制御部２２は、特定したオーナーアプリである拡張アプリ［２］に対して、イベント通知する（ステップＳ６０４）。このとき、アプリ制御部２２は、受け取ったイベント情報のアプリ識別情報、機能識別情報、及び選択部品識別情報などを拡張アプリ［２］へと渡す。
【０１７７】
拡張アプリ［２］は、画面制御部３１２により、画面定義情報３２Ｄ２２を取得し、イベント種別を判定する（ステップＳ６１１）。上述したように、イベント種別判定は、機能識別情報に該当する画面定義情報３２Ｄ２２（ＰｒｉｎｔＦｕｎｃ機能の定義情報）を参照し、拡張アプリ［２］選択ボタン押下イベントの識別情報が設定されたａｃｔｉｏｎタグ内のｕｉＥｖｅｎｔタグの属性値（ｅｖｅｎｔＴｙｐｅ値）に基づき行う。画面制御部３１２は、画面遷移イベントの種別情報が設定されていることを確認すると、対応する他の属性値に設定された画面遷移先アプリの識別情報を、画面遷移イベントの判定結果として取得する。画面制御部３１２は、図１８に示す動作例の場合、拡張アプリ［２］の識別情報を取得する。
【０１７８】
画面制御部３１２は、取得した機能識別情報を、判定結果としてイベント種別判定要求元のアプリ制御部２２へ応答する（ステップＳ６１２）。
【０１７９】
アプリ制御部２２は、画面遷移イベントの判定結果として受け取ったアプリ識別情報に基づき、画面遷移先となる拡張アプリ［２］を特定する。アプリ制御部２２は、図１８に示す動作例の場合、受け取ったアプリ識別情報と、現在の画面を表示する拡張アプリ１７（オーナーアプリ）のアプリ識別情報とが、一致しないため、受け取ったアプリ識別情報に示される拡張アプリ［２］を画面遷移先として特定する。
【０１８０】
アプリ制御部２２は、起動時に生成しておいた拡張アプリ画面の中から、受け取ったアプリ識別情報に該当する拡張アプリ画面Ｗ２を特定する（ステップＳ６３１）。
【０１８１】
アプリ制御部２２は、起動時に取得しておいたアプリ情報２３Ｄの中から、画面遷移先と異なる拡張アプリ１７（拡張アプリ［１］）に該当するアプリ情報２３Ｄ１（拡張アプリ［１］のアプリ情報）を特定する（ステップＳ６３２）。
【０１８２】
アプリ制御部２２は、画面遷移先と異なる拡張アプリ［１］に対して、拡張アプリ選択部品の取得を要求する（ステップＳ６３３）。このとき、アプリ制御部２２は、特定したアプリ情報２３Ｄ１の表示部品格納先情報などを拡張アプリ［１］へと渡す。
【０１８３】
拡張アプリ［１］は、画面制御部３１１により、画面構築部３３１に対して、表示部品取得を指示する（ステップＳ６４１）。このとき、画面制御部３１１は、拡張アプリ選択部品取得要求時に受け取った表示部品格納先情報などを画面構築部３３１へと渡す。
【０１８４】
画面構築部３３１は、表示部品保持部３４１にアクセスし、拡張アプリ選択部品取得指示時に受け取った表示部品格納先情報を基に、該当する表示部品（拡張アプリ［１］の機能選択部品）を取得する（ステップＳ６４２）。画面構築部３３１は、取得した拡張アプリ選択部品を画面制御部３１１へと渡す（ステップＳ６４３）。
【０１８５】
画面制御部３１１は、取得結果として受け取った拡張アプリ選択部品を拡張アプリ選択部品取得要求元のアプリ制御部２２へ応答する（ステップＳ６４４）。
【０１８６】
アプリ制御部２２は、取得した拡張アプリ選択部品を、拡張アプリ［２］の画面定義情報３２Ｄ２に従って整形し、特定した拡張アプリ［２］の拡張アプリ画面Ｗ２に配置することで、画面遷移先の画面を生成する（ステップＳ６５１）。
【０１８７】
アプリ制御部２２は、パネル制御部２１に対して、画面表示を指示する（ステップＳ６５２）。このとき、アプリ制御部２２は、上記処理により画面遷移先として特定された拡張アプリ［２］の拡張アプリ画面Ｗ２（遷移先画面）のデータをパネル制御部２１へと渡す。
【０１８８】
パネル制御部２１は、画面表示指示時に受け取った遷移先画面を、操作パネル１２０の画面へと表示する（ステップＳ６６１）。このとき、パネル制御部２１は、画面遷移元のＰｒｉｎｔＦｕｎｃ画面Ｗ２２（機能画面）を非表示とする。
【０１８９】
図２０は、本実施形態に係る画面遷移の動作例（その５）を示す図である。
図２０には、起動画面である拡張アプリ画面Ｗ１から拡張アプリ［２］が有するＰｒｉｎｔＦｕｎｃ機能が選択された場合に、ＰｒｉｎｔＦｕｎｃ画面Ｗ２２に画面遷移する動作例１が示されている。このとき、画面遷移先であるＰｒｉｎｔＦｕｎｃ画面Ｗ２２には、同拡張アプリ［２］が有するＣｏｐｙＦｕｎｃ機能（他の機能）への画面遷移を指示する機能選択ボタンが付加されている。また、ＰｒｉｎｔＦｕｎｃ画面Ｗ２２からＣｏｐｙＦｕｎｃ機能が選択された場合に、ＣｏｐｙＦｕｎｃ画面Ｗ２１に画面遷移する動作例２が示されている。このとき、画面遷移先であるＣｏｐｙＦｕｎｃ画面Ｗ２１には、デフォルトオーナアプリである拡張アプリ［１］への画面遷移を指示する機能選択ボタンが付加されている。また、また、ＣｏｐｙＦｕｎｃ画面Ｗ２１から拡張アプリ［１］が選択された場合に、拡張アプリ画面Ｗ１に画面遷移する動作例３が示されている。
【０１９０】
ＰｒｉｎｔＦｕｎｃ画面Ｗ２２では、戻るボタンの押下により拡張アプリ画面Ｗ１に戻ることができる。しかし、ＣｏｐｙＦｕｎｃ画面Ｗ２１では、拡張アプリ［１］の選択ボタンがなければ、拡張アプリ画面Ｗ１に戻るために、戻るボタンを２回押下し、ＰｒｉｎｔＦｕｎｃ画面Ｗ２２を介さなければならない。そのため、ユーザは、デフォルトオーナーアプリ（拡張アプリ［１］）を選択しづらいことが考えられる。そこで、拡張アプリ１７が有する機能間で画面遷移が行われた際に、機能画面Ｗ２１からデフォルトオーナーアプリが選択できることが望ましい。よって、本実施形態では、図２０に示すような拡張アプリ選択ボタンを備えた機能画面Ｗ２１を提案する。
【０１９１】
図２１は、本実施形態に係る画面制御の処理手順例（その５）を示すシーケンス図である。図２１には、図２０に示す動作例１を実現する画面制御処理例が示されている。
図２１に示すように、パネル制御部２１は、画面操作によるイベントを受け付けると（ステップＳ７０１）、アプリ制御部２２にイベント情報を通知する（ステップＳ７０２）。このとき、パネル制御部２１は、表示画面や表示部品に紐付くアプリ識別情報及び選択部品識別情報などをイベント情報として、アプリ制御部２２へと渡す。
【０１９２】
アプリ制御部２２は、イベント情報を受け取ると、現在オーナー権を有する拡張アプリ１７を特定する（ステップＳ７０３）。アプリ制御部２２は、オーナー権設定に基づき、オーナーアプリ（現在の画面を表示する拡張アプリ）を特定する。アプリ制御部２２は、図２０に示す動作例１の場合、拡張アプリ［１］をオーナーアプリと特定し、起動時に取得しておいたアプリ情報２３Ｄの中から、拡張アプリ［１］のアプリ情報２３Ｄ１を特定する。
【０１９３】
アプリ制御部２２は、特定したオーナーアプリである拡張アプリ［１］に対して、イベント通知する（ステップＳ７０４）。このとき、アプリ制御部２２は、受け取ったイベント情報のアプリ識別情報及び選択部品識別情報などを拡張アプリ［１］へと渡す。
【０１９４】
拡張アプリ［１］は、画面制御部３１１により、画面定義情報３２Ｄ１を取得し、イベント種別を判定する（ステップＳ７１１）。上述したように、イベント種別判定は、画面定義情報３２Ｄ１を参照し、ＰｒｉｎｔＦｕｎｃ機能選択ボタン押下イベントの識別情報が設定されたａｃｔｉｏｎタグ内のｕｉＥｖｅｎｔタグの属性値（ｅｖｅｎｔＴｙｐｅ値）に基づき行う。画面制御部３１１は、画面遷移イベントの種別情報が設定されていることを確認すると、対応する他の属性値に設定された画面遷移先アプリの識別情報及び画面遷移先機能の識別情報を、画面遷移イベントの判定結果として取得する。画面制御部３１１は、図２０に示す動作例１の場合、拡張アプリ［２］の識別情報及びＰｒｉｎｔＦｕｎｃ機能の識別情報を取得する。
【０１９５】
画面制御部３１１は、取得したアプリ識別情報及び機能識別情報を、判定結果としてイベント種別判定要求元のアプリ制御部２２へ応答する（ステップＳ７１２）。
【０１９６】
アプリ制御部２２は、画面遷移イベントの判定結果として受け取ったアプリ識別情報及び機能識別情報に基づき、画面遷移先となる拡張アプリ［２］が有するＰｒｉｎｔＦｕｎｃ機能を特定する。アプリ制御部２２は、図２０に示す動作例１の場合、受け取ったアプリ識別情報と、現在の画面を表示する拡張アプリ１７（オーナーアプリ）のアプリ識別情報とが、一致しないため、受け取ったアプリ識別情報に示される拡張アプリ［２］が有する機能（ＰｒｉｎｔＦｕｎｃ機能）を画面遷移先として特定する。
【０１９７】
アプリ制御部２２は、画面遷移イベントの判定結果としてアプリ識別情報及び機能識別情報を受け取ると、起動時に取得しておいたアプリ情報２３Ｄの中から、受け取ったアプリ識別情報に該当するアプリ情報２３Ｄ２（拡張アプリ［２］のアプリ情報）を特定する（ステップＳ７２１）。
【０１９８】
アプリ制御部２２は、画面遷移先として特定した拡張アプリ［２］に対して、画面生成を要求する（ステップＳ７２２）。このとき、アプリ制御部２２は、判定結果として受け取った機能識別情報、及びアプリ情報２３Ｄ２の表示部品格納先情報などを拡張アプリ［２］へと渡す。また、アプリ制御部２２は、戻るボタン及び機能選択ボタン（同拡張アプリ［２］が有する他の機能（ＣｏｐｙＦｕｎｃ機能）に遷移することを指示可能な選択部品）の付加を指示するパラメータを拡張アプリ［２］へと渡す。また、アプリ制御部２２は、画面ベースデータも拡張アプリ［２］へと渡す。
【０１９９】
拡張アプリ［２］は、画面制御部３１２により、画面定義情報保持部３２２にアクセスし、画面生成要求時に受け取った機能識別情報を基に、該当する画面定義情報３２Ｄ２２（ＰｒｉｎｔＦｕｎｃ機能の定義情報）を取得する（ステップＳ７３１）。なお、すでに情報を取得している場合には、メモリ上に一時保持される画面定義情報３２D２２を特定すればよい。このとき、画面制御部３１２は、取得（又は特定した）画面定義情報３２Ｄ２２を参照し、戻る定義の有無（戻るボタンの定義情報の存在）を確認する。
【０２００】
画面制御部３１２は、拡張アプリ［２］の画面構築部３３２に対して、画面生成を指示する（ステップＳ７３２）。このとき、画面制御部３１２は、画面定義情報３２Ｄ２２、画面ベースデータ、及び画面生成要求時に受け取った表示部品格納先情報などを画面構築部３３２へと渡す。また、画面制御部３１２は、機能選択ボタンの付加を指示する。なお、画面制御部３１２は、戻る定義が確認された場合のみ、画面構築部３３２に対して戻るボタンの付加を指示する。
【０２０１】
画面構築部３３２は、表示部品保持部３４２から該当表示部品（機能画面構成表示部品及びＣｏｐｙＦｕｎｃ機能選択部品）を取得し、画面定義情報３２Ｄ２２に従って、取得した表示部品を整形・配置し、画面ベースデータを基に画面（ＰｒｉｎｔＦｕｎｃ画面）を構築する（ステップＳ７３３）。このとき、画面構築部３３２は、表示部品付加指示に従って、戻るボタン及び／又は機能選択ボタンを生成画面に付加する。画面構築部３３２は、生成画面を画面制御部３１２へと渡す（ステップＳ７３４）。
【０２０２】
画面制御部３１２は、生成結果として受け取った生成画面を画面生成要求元のアプリ制御部２２へ応答する（ステップＳ７３５）。
【０２０３】
アプリ制御部２２は、画面遷移の履歴を判定する（ステップＳ７４１）。アプリ制御部２２は、１つ前に行われた画面遷移動作を記録し、メモリ上に履歴情報として保持している。アプリ制御部２２は、この画面遷移履歴情報に基づき、画面遷移元の前画面が、機能画面か否かを判定する。アプリ制御部２２は、前画面を機能画面と判定した場合、遷移先画面に、デフォルトオーナーアプリ（拡張アプリ［１］）の拡張アプリ選択ボタンを付加する必要があると判断する。アプリ制御部２２は、図２０に示す動作例１の場合、前画面が拡張アプリ画面Ｗ１であることから、デフォルトオーナーアプリ（拡張アプリ［１］）の拡張アプリ選択ボタンを付加する必要がないと判断する。
【０２０４】
アプリ制御部２２は、オーナー権を画面遷移先の拡張アプリ［２］（拡張アプリ［１］から拡張アプリ［２］）に変更し（ステップＳ７４２）、パネル制御部２１に対して、表示画面のロック解除を指示する（ステップＳ７４３）。
【０２０５】
アプリ制御部２２は、パネル制御部２１に対して、画面表示を指示する（ステップＳ７５１）。このとき、アプリ制御部２２は、上記処理により画面遷移先の拡張アプリ［２］で生成されたＰｒｉｎｔＦｕｎｃ画面Ｗ２２（遷移先画面）のデータをパネル制御部２１へと渡す。
【０２０６】
パネル制御部２１は、画面表示指示時に受け取った遷移先画面を、操作パネル１２０の画面へと表示する（ステップＳ７６１）。このとき、パネル制御部２１は、画面遷移元の画面（オーナーアプリ画面）を非表示とし、表示画面をロックする。
【０２０７】
図２２は、本実施形態に係る画面制御の処理手順例（その６）を示すシーケンス図である。図２２には、図２０に示す動作例２を実現する画面制御処理例が示されている。
図２２に示すように、パネル制御部２１は、画面操作によるイベントを受け付けると（ステップＳ８０１）、アプリ制御部２２にイベント情報を通知する（ステップＳ８０２）。このとき、パネル制御部２１は、表示画面や表示部品に紐付く機能識別情報及び選択部品識別情報などをイベント情報として、アプリ制御部２２へと渡す。
【０２０８】
アプリ制御部２２は、イベント情報を受け取ると、現在オーナー権を有する拡張アプリ１７を特定する（ステップＳ８０３）。アプリ制御部２２は、オーナー権設定に基づき、オーナーアプリ（現在の画面を表示する拡張アプリ）を特定する。アプリ制御部２２は、図２０に示す動作例２の場合、拡張アプリ［２］をオーナーアプリと特定し、起動時に取得しておいたアプリ情報２３Ｄの中から、拡張アプリ［２］のアプリ情報２３Ｄ２を特定する。
【０２０９】
アプリ制御部２２は、特定したオーナーアプリである拡張アプリ［２］に対して、イベント通知する（ステップＳ８０４）。このとき、アプリ制御部２２は、受け取ったイベント情報の機能識別情報及び選択部品識別情報などを拡張アプリ［２］へと渡す。
【０２１０】
拡張アプリ［２］は、画面制御部３１２により、機能識別情報に該当する画面定義情報３２Ｄ２２（ＰｒｉｎｔＦｕｎｃ機能の定義情報）を取得し、イベント種別を判定する（ステップＳ８１１）。上述したように、イベント種別判定は、画面定義情報３２Ｄ２２を参照し、ＣｏｐｙＦｕｎｃ機能選択ボタン押下イベントの識別情報が設定されたａｃｔｉｏｎタグ内のｕｉＥｖｅｎｔタグの属性値（ｅｖｅｎｔＴｙｐｅ値）に基づき行う。画面制御部３１２は、画面遷移イベントの種別情報が設定されていることを確認すると、対応する他の属性値に設定された画面遷移先機能の識別情報を、画面遷移イベントの判定結果として取得する。画面制御部３１２は、図２０に示す動作例２の場合、ＣｏｐｙＦｕｎｃ機能の識別情報を取得する。
【０２１１】
画面制御部３１２は、取得した機能識別情報を、判定結果としてイベント種別判定要求元のアプリ制御部２２へ応答する（ステップＳ８１２）。
【０２１２】
アプリ制御部２２は、画面遷移イベントの判定結果として受け取った機能識別情報に基づき、画面遷移先となる拡張アプリ［２］が有するＣｏｐｙＦｕｎｃ機能を特定する。アプリ制御部２２は、画面遷移イベントの判定結果として機能識別情報のみを受け取った場合、現在の画面を表示する拡張アプリ１７が有する機能を画面遷移先として特定する。アプリ制御部２２は、図２０に示す動作例２の場合、機能識別情報に示される拡張アプリ［２］が有する機能（ＣｏｐｙＦｕｎｃ機能）を画面遷移先として特定する。
【０２１３】
アプリ制御部２２は、画面遷移先として特定した拡張アプリ［２］に対して、画面生成を要求する（ステップＳ８２１）。このとき、アプリ制御部２２は、判定結果として受け取った機能識別情報、及びアプリ情報２３Ｄ２の表示部品格納先情報などを拡張アプリ［２］へと渡す。また、アプリ制御部２２は、戻るボタン及び機能選択ボタン（同拡張アプリ［２］が有する他の機能（ＰｒｉｎｔＦｕｎｃ機能）に遷移することを指示可能な選択部品）の付加を指示するパラメータを拡張アプリ［２］へと渡す。また、アプリ制御部２２は、画面ベースデータも拡張アプリ［２］へと渡す。
【０２１４】
拡張アプリ［２］は、画面制御部３１２により、画面定義情報保持部３２２にアクセスし、画面生成要求時に受け取った機能識別情報を基に、該当する画面定義情報３２Ｄ２１（ＣｏｐｙＦｕｎｃ機能の定義情報）を取得する（ステップＳ８３１）。なお、すでに情報を取得している場合には、メモリ上に一時保持される画面定義情報３２D２１を特定すればよい。このとき、画面制御部３１２は、取得（又は特定した）画面定義情報３２Ｄ２１を参照し、戻る定義の有無（戻るボタンの定義情報の存在）を確認する。
【０２１５】
画面制御部３１２は、拡張アプリ［２］の画面構築部３３２に対して、画面生成を指示する（ステップＳ８３２）。このとき、画面制御部３１２は、画面定義情報３２Ｄ２１、画面ベースデータ、及び画面生成要求時に受け取った表示部品格納先情報などを画面構築部３３２へと渡す。また、画面制御部３１２は、機能選択ボタンの付加を指示する。なお、画面制御部３１２は、戻る定義が確認された場合のみ、画面構築部３３２に対して戻るボタンの付加を指示する。
【０２１６】
画面構築部３３２は、表示部品保持部３４２から該当表示部品（機能画面構成表示部品及びＰｒｉｎｔＦｕｎｃ機能選択部品）を取得し、画面定義情報３２Ｄ２１に従って、取得した表示部品を整形・配置し、画面ベースデータを基に画面（ＣｏｐｙＦｕｎｃ画面）を構築する（ステップＳ８３３）。このとき、画面構築部３３２は、表示部品付加指示に従って、戻るボタン及び／又は機能選択ボタンを生成画面に付加する。画面構築部３３２は、生成画面を画面制御部３１２へと渡す（ステップＳ８３４）。
【０２１７】
画面制御部３１２は、生成結果として受け取った生成画面を画面生成要求元のアプリ制御部２２へ応答する（ステップＳ８３５）。
【０２１８】
アプリ制御部２２は、画面遷移の履歴を判定する（ステップＳ８４１）。アプリ制御部２２は、図２０に示す動作例２の場合、前画面がＰｒｉｎｔＦｕｎｃ画面Ｗ２２であることから、遷移先画面に、デフォルトオーナーアプリ（拡張アプリ［１］）の拡張アプリ選択ボタンを付加する必要があると判断する。
【０２１９】
アプリ制御部２２は、起動時に取得しておいたアプリ情報２３Ｄの中から、デフォルトオーナーアプリ（拡張アプリ［１］）に該当するアプリ情報２３Ｄ１（拡張アプリ［１］のアプリ情報）を特定する（ステップＳ８４２）。
【０２２０】
アプリ制御部２２は、デフォルトオーナーアプリである拡張アプリ［１］に対して、表示部品の取得を要求する（ステップＳ８４３）。このとき、アプリ制御部２２は、特定したアプリ情報２３Ｄ１の表示部品格納先情報などを拡張アプリ［１］へと渡す。
【０２２１】
拡張アプリ［１］は、画面制御部３１１により、画面構築部３３１に対して、拡張アプリ選択部品取得を指示する（ステップＳ８５１）。このとき、画面制御部３１１は、拡張アプリ選択部品取得要求時に受け取った表示部品格納先情報などを画面構築部３３１へと渡す。
【０２２２】
画面構築部３３１は、表示部品保持部３４１にアクセスし、拡張アプリ選択部品取得指示時に受け取った表示部品格納先情報を基に、該当する表示部品（拡張アプリ［１］の機能選択部品）を取得する（ステップＳ８５２）。画面構築部３３１は、取得した拡張アプリ選択部品を画面制御部３１１へと渡す（ステップＳ８５３）。
【０２２３】
画面制御部３１１は、取得結果として受け取った拡張アプリ選択部品を表示部品取得要求元のアプリ制御部２２へ応答する（ステップＳ８５４）。
【０２２４】
アプリ制御部２２は、取得した拡張アプリ選択部品を、拡張アプリ［２］の画面定義情報３２Ｄ２１に従って整形し、拡張アプリ［２］で生成されたＣｏｐｙＦｕｎｃ画面Ｗ２１に配置することで、画面遷移先の画面を生成する（ステップＳ８６１）。
【０２２５】
アプリ制御部２２は、パネル制御部２１に対して、画面表示を指示する（ステップＳ８６２）。このとき、アプリ制御部２２は、上記処理により画面遷移先として生成されたＣｏｐｙＦｕｎｃ画面Ｗ２１（遷移先画面）のデータをパネル制御部２１へと渡す。
【０２２６】
パネル制御部２１は、画面表示指示時に受け取った遷移先画面を、操作パネル１２０の画面へと表示する（ステップＳ８７１）。このとき、パネル制御部２１は、画面遷移元のＰｒｉｎｔＦｕｎｃ画面Ｗ２２（機能画面）を非表示とする。
【０２２７】
図２３は、本実施形態に係る画面制御の処理手順例（その７）を示すシーケンス図である。図２３には、図２０に示す動作例３を実現する画面制御処理例が示されている。
図２３に示すように、パネル制御部２１は、画面操作によるイベントを受け付けると（ステップＳ９０１）、アプリ制御部２２にイベント情報を通知する（ステップＳ９０２）。このとき、パネル制御部２１は、表示画面や表示部品に紐付くアプリ識別情報、機能識別情報、及び選択部品識別情報などをイベント情報として、アプリ制御部２２へと渡す。
【０２２８】
アプリ制御部２２は、イベント情報を受け取ると、現在オーナー権を有する拡張アプリ１７を特定する（ステップＳ９０３）。アプリ制御部２２は、オーナー権設定に基づき、オーナーアプリ（現在の画面を表示する拡張アプリ）を特定する。アプリ制御部２２は、図２０に示す動作例３の場合、拡張アプリ［２］をオーナーアプリと特定し、起動時に取得しておいたアプリ情報２３Ｄの中から、拡張アプリ［２］のアプリ情報２３Ｄ２を特定する。
【０２２９】
アプリ制御部２２は、特定したオーナーアプリである拡張アプリ［２］に対して、イベント通知する（ステップＳ９０４）。このとき、アプリ制御部２２は、受け取ったイベント情報のアプリ識別情報、機能識別情報、及び選択部品識別情報などを拡張アプリ［２］へと渡す。
【０２３０】
拡張アプリ［２］は、画面制御部３１２により、機能識別情報に該当する画面定義情報３２Ｄ２１（ＣｏｐｙＦｕｎｃ機能の定義情報）を取得し、イベント種別を判定する（ステップＳ９１１）。上述したように、イベント種別判定は、画面定義情報３２Ｄ２１を参照し、拡張アプリ選択ボタン押下イベントの識別情報が設定されたａｃｔｉｏｎタグ内のｕｉＥｖｅｎｔタグの属性値（ｅｖｅｎｔＴｙｐｅ値）に基づき行う。画面制御部３１２は、画面遷移イベントの種別情報が設定されていることを確認すると、対応する他の属性値に設定された画面遷移先アプリの識別情報の識別情報を、画面遷移イベントの判定結果として取得する。画面制御部３１２は、図２０に示す動作例３の場合、拡張アプリ［１］の識別情報の識別情報を取得する。
【０２３１】
画面制御部３１１は、取得したアプリ識別情報を、判定結果としてイベント種別判定要求元のアプリ制御部２２へ応答する（ステップＳ９１２）。
【０２３２】
アプリ制御部２２は、オーナー権を画面遷移先の拡張アプリ１７（拡張アプリ［２］から拡張アプリ［１］）に変更し（ステップＳ９２１）、パネル制御部２１に対して、画面表示のロック解除を指示する（ステップＳ９２２）。アプリ制御部２２は、図２０に示す動作例３の場合、画面遷移イベントの判定結果として受け取ったアプリ識別情報が、現在の画面を表示する拡張アプリ［２］（オーナーアプリ）のアプリ識別情報と、一致しないため、受け取ったアプリ識別情報に示される拡張アプリ［１］に、オーナー権を変更する必要があると判定する。
【０２３３】
アプリ制御部２２は、パネル制御部２１に対して、拡張アプリ［１］の画面面表示を指示する（ステップＳ９３１）。
【０２３４】
パネル制御部２１は、非表示としていたデフォルトオーナーアプリの拡張アプリ画面Ｗ１を、操作パネル１２０の画面へと表示する（ステップＳ９４１）。このとき、パネル制御部２１は、画面遷移元の画面（機能画面）を非表示とし、表示画面をロックする。
【０２３５】
このように、本実施形態に係る画像処理装置１００は、当該装置起動時に、デフォルトオーナーアプリである拡張アプリ１７に画面を生成させ、さらに他の拡張アプリ１７から機能選択部品を収集し、収集した選択部品を、生成させた画面上に配置し、起動画面を生成する。これにより、本実施形態に係る画像処理装置１００では、拡張アプリ１７が有する複数の機能を１回で選択可能な操作画面を表示できる。また、本実施形態に係る画像処理装置１００は、当該装置起動後の拡張アプリ１７が有する機能間の画面遷移において、記録された画面遷移履歴に基づき、デフォルトオーナーアプリである拡張アプリ１７に１回の操作で戻ることが可能な機能画面を生成する。これにより、本実施形態に係る画像処理装置１００では、拡張アプリが有する機能間の画面遷移において、ユーザの操作回数を軽減することができる。
【０２３６】
＜まとめ＞
以上のように、本実施形態に係る画像処理装置１００によれば、搭載拡張アプリ１７を制御するアプリ制御部２２が、当該装置が起動した際に、デフォルトオーナーアプリである拡張アプリ［１］から、画面定義情報３２Ｄ１及び拡張アプリ画面Ｗ１を取得する。アプリ制御部２２は、取得した画面定義情報３２Ｄ１に拡張アプリ［１］以外の拡張アプリ１７（拡張アプリ［２］）に関する定義情報が含まれていた場合、拡張アプリ［２］インストール時に登録されたアプリ情報２３Ｄ２の構成機能に基づき、拡張アプリ［２］から、拡張アプリ／機能選択部品を取得する。アプリ制御部２２は、取得した拡張アプリ／機能選択部品を、先に取得したアプリ画面Ｗ１に配置することで起動画面を生成する。その結果、画像処理装置１００では、拡張アプリ［２］の選択部品を含む拡張アプリ画面Ｗ１が起動画面として表示される。
【０２３７】
本実施形態に係る画像処理装置１００によれば、起動後に、ユーザから受け付けたイベント種別を、現在オーナーアプリである拡張アプリ１７（拡張アプリ［１］）に判断させる。アプリ制御部２２は、拡張アプリ［１］から受け取った判断結果に基づき、画面遷移先の拡張アプリ１７（ユーザに選択された拡張アプリ［２］）が有する機能を特定する。アプリ制御部２２は、画面遷移先の拡張アプリ［２］に対して機能指定し、画面生成を要求し、生成された機能画面（遷移画面）を取得する。その結果、画像処理装置１００では、現在の表示画面が非表示とされ、取得画面が遷移画面として表示される。
【０２３８】
これにより、本実施形態に係る画像処理装置１００では、搭載拡張アプリ間及び搭載拡張アプリ１７が有する機能間における画面遷移時の操作回数が減り、画面操作の煩雑さを軽減できる。
【０２３９】
［第２の実施形態］
本実施形態では、画面定義情報を管理する画像処理装置以外の外部機器（画面管理装置）と、画像処理装置とが、機能連携するシステム構成について説明する。なお、以降では、第１の実施形態と異なる事項についてのみ説明する（同一事項については、同一参照符号を付し、その説明を省略する）。
【０２４０】
＜システム構成＞
図２４は、本実施形態に係る画面制御システム１０００の構成例を示す図である。
図２４には、複数の画像処理装置１００１〜１００ｎ（以降総称する場合「画像処理装置１００」と言う）と、画面管理装置（画面管理サーバ）２００とが、所定のデータ伝送路Ｎ（例えば「ＬＡＮ」）で接続されるシステム構成例が示されている。
【０２４１】
画像処理装置１００は、画像処理機能を有する機器である。画像処理機能には、例えば、原稿読み取りや印刷などがある。一方、画面管理装置２００は、画像処理装置１００が搭載する拡張アプリ１７の画面定義情報３２Ｄを管理する情報処理機能を有する機器である。情報処理機能には、例えば、画面定義情報３２Ｄの生成・編集・提供（画像処理装置への送信）などがある。
【０２４２】
以上のように、本実施形態に係る画面制御システム１０００では、上記システム構成により、複数の画像処理装置１００に対して、共通して搭載される拡張アプリ１７の画面定義情報３２Ｄを一括管理可能な画面制御サービスを提供することができる。これにより、ユーザは、搭載される拡張アプリ１７の画面定義情報３２Ｄを画像処理装置ごとに管理する必要がなく、管理作業にかかる負荷が軽減される。
【０２４３】
＜画面制御機能＞
本実施形態に係る画面管理システム１０００では、例えば、図２５及び図２６に示すような画面制御機能の構成例が挙げられる。
【０２４４】
《エンベディットモード環境》
図２５は、本実施形態に係る画面制御機能の構成例（その１）を示す図である。
図２５に示す画面制御機能では、画像処理装置１００の各拡張アプリ１７が、画面管理装置２００から画面定義情報３２Ｄを取得する情報取得部３５を有している。つまり、これらの機能部は、各拡張アプリ１７が動作することで機能する。図２５には、拡張アプリ［１］と拡張アプリ［２］とが、それぞれ情報取得部３５１，３５２を有する構成例が示されている。なお、以降、機能部を拡張アプリ１７に共通して総称する場合には「情報取得部３５」と言う。
【０２４５】
これに対して、画面制御機能では、画面管理装置２００が、画像処理装置１００に対して画面定義情報３２Ｄを提供する情報提供部４１及び画面定義情報保持部４２などを有している。
【０２４６】
画像処理装置１００が有する情報取得部３５と画面管理装置２００が有する情報提供部４１との間で行われる機能連携は、次のように動作する。
【０２４７】
まず、情報取得部３５は、画面制御部３１からの取得指示に従って、アプリ識別情報（又は機能識別情報）に基づき、情報提供部４１に対して、画面定義情報３２Ｄの取得を要求する。例えば、画面制御部３１は、アプリ制御部２２からの画面生成要求やイベント種別判定要求時に、情報取得部３５に対して、画面定義情報３２Ｄの取得を指示する。このとき、画面制御部３１は、要求時にアプリ制御部２２から受け取ったアプリ識別情報（又は機能識別情報）を、情報取得部３５へと渡す。情報取得部３５は、取得指示を受け付けると、例えば、予め設定されたネットワーク設定情報（例えば「ＩＰアドレス：Internet Protocol address」など）に基づき、画面管理装置２００に対して、アプリ識別情報（又は機能識別情報）を設定した取得要求コマンドを発行する。
【０２４８】
これに対して、画面管理装置２００では、情報提供部４１が、画面定義情報保持部４２にアクセスし、コマンド受信により受け取ったアプリ識別情報（又は機能識別情報）に基づき、該当する画面定義情報３２Ｄが取得される。情報提供部４１は、情報要求元である画像処理装置１００に対して、取得情報を設定した応答コマンドを発行する。
【０２４９】
その結果、画像処理装置１００では、情報取得部３５により、取得された画面定義情報３２Ｄが、取得指示元の画面制御部３１へと渡される。
【０２５０】
なお、情報取得部３５は、取得した画面定義情報３２Ｄを一時保持する構成であってもよい。この場合、情報取得部３５は、保持していない画面定義情報３２Ｄの取得指示を受け付けた場合のみ、画面管理装置２００に対して、取得要求を行えばよい。
【０２５１】
このような機能構成環境を「エンベディットモード」と言う。
本実施形態では、上記機能構成環境により、画面管理装置２００で管理する最新の画面定義情報３２Ｄを、複数の画像処理装置１００に搭載される拡張アプリ１７に対して適用することができる。
【０２５２】
《エンベディット・サーバモード共存環境》
図２６は、本実施形態に係る画面制御機能の構成例（その２）を示す図である。
図２６には、エンベディットモード及びサーバモードの機能構成環境が共存する構成例が示されている。
【０２５３】
エンベディットモードとは、上述したように、画面管理装置２００が、画像処理装置１００からの取得要求に応じて、画面定義情報３２Ｄを提供する機能構成環境である。一方、サーバモードとは、画面管理装置２００が画像処理装置１００に対して、所定のタイミング（所定間隔や所定時間）で画面定義情報３２Ｄを動的に提供する機能構成環境である。これにより、サーバモードの画像処理装置１００では、画面管理装置２００から受信した画面定義情報３２Ｄが、情報取得部３５により、画面定義情報保持部３２に格納される。
【０２５４】
図２６に示す画面制御機能（エンベディット・サーバモード共存環境）では、画像処理装置１００が有する情報取得部３５と画面管理装置２００が有する情報提供部４１との間で、次のような機能連携動作が行われる。
【０２５５】
まず、画面制御部３１は、モード判定を行う。画面制御部３１は、モード設定に基づき、画像処理装置１００の画面制御機能に設定されるモードが、エンベディットモードか、サーバモードかを判定する。モード判定の実行タイミングは、予め設定されたスケジュールに従って行えばよい。なお、モード設定及び判定実行タイミングは、ユーザにより、例えば、操作パネル１２０を介して任意に設定可能である。
【０２５６】
画面制御部３１は、設定されるモードがエンベディットモードであると判定した場合、情報取得部３５に取得指示を行い、情報取得部３５により、情報提供部４１から指定した画面定義情報３２Ｄを取得する。
【０２５７】
一方、画面制御部３１は、設定されるモードがサーバモードであると判定した場合、情報取得部３５に対して、画面管理装置２００で保持する画面定義情報３２Ｄの更新日時確認を指示する。
【０２５８】
情報取得部３５は、画面制御部３１からの更新日時確認指示に従って、アプリ識別情報（又は機能識別情報）に基づき、情報提供部４１に対して、画面定義情報３２Ｄの更新日時取得を要求する。情報取得部３５は、更新日時確認指示を受け付けると、ネットワーク設定情報に基づき、画面管理装置２００に対して、アプリ識別情報（又は機能識別情報）を設定した更新日時取得要求コマンドを発行する。
【０２５９】
これに対して、画面管理装置２００では、情報提供部４１が、画面定義情報保持部４２にアクセスし、コマンド受信により受け取ったアプリ識別情報（又は機能識別情報）に基づき、該当する画面定義情報３２Ｄの更新日時が取得される。情報提供部４１は、更新日時取得要求元である画像処理装置１００に対して、取得日時を設定した応答コマンドを発行する。
【０２６０】
その結果、画像処理装置１００では、情報取得部３５により、指定した画面定義情報３２Ｄの更新日時が、画面管理装置２００から取得される。情報取得部３５は、画面定義情報保持部３２にアクセスし、アプリ識別情報（又は機能識別情報）に基づき、画面管理装置２００に対して指定した画面定義情報３２Ｄの更新日時と、画面管理装置２００から取得した更新日時とを比較する。
【０２６１】
情報提供部３５は、比較結果から、画面管理装置２００で保持する画面定義情報３２Ｄの方が新しいデータであると判定した場合（画面管理装置２００から取得した更新日時の方が新しい場合）、エンベディットモード時と同様に、画面管理装置２００が有する情報提供部４１から最新の画面定義情報３２Ｄを取得する。
【０２６２】
一方、情報提供部３５は、画面処理装置１００で保持する画面定義情報３２Ｄの方が新しいデータであると判定した場合（画面管理装置１００から取得した更新日時の方が古い場合）、画面管理装置２００から画面定義情報３２Ｄの取得を行わず、画像処理装置１００で保持する画面定義情報３２Ｄを取得する。
【０２６３】
本実施形態では、上記機能構成環境により、画面管理装置２００で管理する最新の画面定義情報３２Ｄを、複数の画像処理装置１００に搭載される拡張アプリ１７に対して適用できるだけでなく、モード切替により、情報取得にかかる処理時間及び通信負荷を軽減することもできる。
【０２６４】
＜まとめ＞
以上のように、本実施形態に係る画面制御システム１０００によれば、画像処理装置１００と画面管理装置２００との機能連携により、画像処理装置起動時に、拡張アプリ１７が有する複数の機能を１回で選択可能な操作画面が表示され、画像処理装置起動後に、異なる拡張アプリ１７が有する複数の機能間で画面遷移が行われる。
【０２６５】
これにより、本実施形態に係る画面制御システム１０００では、第１の実施形態と同様の効果を奏する。また、本実施形態に係る画面制御システム１０００では、画面管理装置２００で、複数の画像処理装置１００に提供する拡張アプリ１７の画面定義情報３２Ｄが一括管理されることから、ユーザによるアプリ画面／機能画面の管理作業にかかる負荷が軽減できる。
【０２６６】
ここまで、上記実施形態の説明を行ってきたが、上記実施形態に係る画面制御機能は、図を用いて説明を行った各処理手順を、動作環境（プラットフォーム）にあったプログラミング言語でコード化したプログラムが、画像処理装置が備える処理装置（例えば「ＣＰＵ」）により実行されることで実現される。
【０２６７】
また、上記プログラムは、画像処理装置１００（コンピュータ）が読み取り可能な記録媒体１１４ａに格納することができる。よって、上記プログラムは、上記記録媒体１１４ａに記憶させることで、記録媒体１１４ａを読み取り可能な外部記憶Ｉ／Ｆ１１４などを介して画像処理装置１００にインストールすることができる。また、画像処理装置１００は、ネットワークＩ／Ｆ１１３を備えていることから、インターネットなどの電気通信回線を用いて上記プログラムをダウンロードし、インストールすることもできる。
【０２６８】
最後に、上記実施形態に挙げた形状や構成に、その他の要素との組み合わせなど、ここで示した要件に、本発明が限定されるものではない。これらの点に関しては、本発明の主旨をそこなわない範囲で変更することが可能であり、その応用形態に応じて適切に定めることができる。
【符号の説明】
【０２６９】
１      ＣＰＵ（処理装置）
２      ＲＯＭ（不揮発性の半導体メモリ）
３      ＲＡＭ（揮発性の半導体メモリ）
４      ＬＣＤコントローラ
５      ＳＤＲＡＭ
６      ＬＣＤモジュール
７      タッチパネル
８      キー基板
９      ドライバ
１１    プラットフォーム
１２    ＡＰＩ
１３    ＶＡＳ
１４    基本アプリケーション
１５    ＣＶＭ
１６    ＳＤＫ／Ｊ（１：パネルマネージャ，２：アプリマネージャ）
１７    ＳＤＫ／Ｊアプリケーション（拡張アプリ［１］，拡張アプリ［２］）
２１    パネル制御部
２２    アプリ制御部
２３    アプリ情報保持部（Ｄ：アプリ情報）
３１    画面制御部
３２    画面定義情報保持部（画像処理装置側）（Ｄ：画面定義情報）
３３    画面構築部
３４    表示部品保持部（画像処理装置側）
３５    情報取得部
４１    情報提供部
４２    画面定義情報保持部（画面管理装置側）
１００  画像処理装置
１１０  コントローラ（制御基板）
１１１  ＣＰＵ（処理装置）
１１２  記憶装置（揮発性・不揮発性の半導体メモリ、大容量記憶装置など）
１１３  ネットワークＩ／Ｆ（ＮＩＣ：Network I/F Card）
１１４  外部記憶Ｉ／Ｆ（ａ：記録媒体）
１２０  操作パネル（表示装置）
１３０  プロッタ
１４０  スキャナ
２００  画面管理装置（画像管理サーバ）
１０００  画面制御システム
Ｂ      バス
Ｎ      データ伝送路（ネットワーク）
ＳＷ    ソフトウェア群
ＨＷ    各種ハードウェア
【先行技術文献】
【特許文献】
【０２７０】
【特許文献１】特開２００７−０４９６７７号公報
【図１】
0005609269.tif 000002
【図２】
0005609269.tif 000003
【図３】
0005609269.tif 000004
【図４】
0005609269.tif 000005
【図５】
0005609269.tif 000006
【図６】
0005609269.tif 000007
【図７】
0005609269.tif 000008
【図８】
0005609269.tif 000009
【図９】
0005609269.tif 000010
【図１０】
0005609269.tif 000011
【図１１】
0005609269.tif 000012
【図１２】
0005609269.tif 000013
【図１３】
0005609269.tif 000014
【図１４】
0005609269.tif 000015
【図１５】
0005609269.tif 000016
【図１６】
0005609269.tif 000017
【図１７】
0005609269.tif 000018
【図１８】
0005609269.tif 000019
【図１９】
0005609269.tif 000020
【図２０】
0005609269.tif 000021
【図２１】
0005609269.tif 000022
【図２２】
0005609269.tif 000023
【図２３】
0005609269.tif 000024
【図２４】
0005609269.tif 000025
【図２５】
0005609269.tif 000026
【図２６】
0005609269.tif 000027