(57)【要約】      （修正有）【課題】ユーザが操作部で選択した対象物を実行することなくキャンセルした場合、キャンセルした操作に基づいてボタンの表示優先度を変更するため、所望のボタンを操作部に表示して、ユーザの操作性を向上することができる情報処理装置、情報処理装置の制御方法及びプログラムを提供する。【解決手段】情報処理装置のボタン表示制御部３０１は、操作部へのボタンの表示要求を受信すると、ボタンの表示優先度にしたがって、操作部にユーザが選択可能なボタンをメニュー画面として表示するステップＳ４０１を有する。【選択図】図４
2020194341.tif 000002
【特許請求の範囲】
【請求項１】
表示をするための優先度が付与され、設定項目が登録されている複数の対象物を、付与されている前記優先度に基づいて表示する第１の画面を提供する手段と、
前記第１の画面において選択された第１の対象物の設定項目に関する情報を表示する第２の画面を提供する手段と、
を有する情報処理装置であって、
前記第２の画面において前記第１の対象物を実行しない指示が行われた場合、前記複数の対象物にそれぞれ付与されている前記優先度を変更する
ことを特徴とする情報処理装置。
【請求項２】
前記第２の画面において前記第１の対象物を実行しない指示が行われた場合、前記第１の対象物に付与されている前記優先度を下げる
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記第２の画面において前記第１の対象物を実行しない指示が行われた場合、前記第１の対象物と関連する設定項目が登録されている第２の対象物の前記優先度を上げる
ことを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記第２の対象物は、前記第１の対象物により実行されるジョブに関連する設定項目が登録されている対象物である
ことを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記第２の対象物は、前記第１の対象物により実行されるジョブと同じジョブ種が前記設定項目として登録されている対象物である
ことを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記第２の対象物は、前記第１の対象物により実行されるジョブと同じ送信先が前記設定項目として登録されている対象物である
ことを特徴とする請求項４に記載の情報処理装置。
【請求項７】
前記第２の画面において前記第１の対象物を実行しない指示が行われた場合、前記優先度が変更された後の前記第１の画面が提供される
ことを特徴とする請求項１乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
前記第１の画面において前記対象物は前記優先度が高い順に表示される
ことを特徴とする請求項１乃至７のいずれか１項に記載の情報処理装置。
【請求項９】
前記優先度が変更された後の前記第１の画面において、前記第１の対象物は、前記優先度が変更される前とは異なる態様で表示される
ことを特徴とする請求項１乃至８のいずれか１項に記載の情報処理装置。
【請求項１０】
前記優先度が変更された後の前記第１の画面において、前記第１の対象物は選択できない態様で表示される
ことを特徴とする請求項９に記載の情報処理装置。
【請求項１１】
前記優先度が変更された後の前記第１の画面において、前記第１の対象物はアニメーション表示される
ことを特徴とする請求項９に記載の情報処理装置。
【請求項１２】
前記優先度が変更された後の前記第１の画面において、前記複数の対象物のうち、前記優先度が上げられた対象物のみが表示される
ことを特徴とする請求項１乃至８のいずれか１項に記載の情報処理装置。
【請求項１３】
前記優先度が変更された後の前記第１の画面において、前記第１の対象物は変更された前記優先度にかかわらず表示される
ことを特徴とする請求項１乃至１０のいずれか１項に記載の情報処理装置。
【請求項１４】
１３
前記優先度が変更された後の前記第１の画面において、前記第１の対象物は前記優先度が最も低いものとして表示される
ことを特徴とする請求項１３に記載の情報処理装置。
【請求項１５】
表示をするための優先度が付与され、設定項目が登録されている複数の対象物を、付与されている前記優先度に基づいて表示する第１の画面を提供する手段と、
前記第１の画面において選択された第１の対象物の設定項目に関する情報を表示する第２の画面を提供する手段と、
を有する情報処理装置の制御方法であって、
前記第２の画面において前記第１の対象物を実行しない指示が行われた場合、前記複数の対象物にそれぞれ付与されている前記優先度を変更する工程を有する
ことを特徴とする情報処理装置の制御方法。
【請求項１６】
請求項１５に記載の情報処理装置の制御方法をコンピュータにより実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、対象物を表示する画面を提供する情報処理装置、情報処理装置の制御方法、及びプログラムに関する。
【背景技術】
【０００２】
従来、画像形成装置などの情報処理装置には、ボタンなどの対象物を表示するためのタッチパネルなどの操作部が設けられており、ユーザは指でボタンをタッチして選択することによりジョブを実行させることができる。しかし、操作部に多数のボタンが表示されている場合、所望のボタンを容易に見つけることができないために、ユーザの操作性を低下させるという問題があった。
【０００３】
このような問題を解決するために、特許文献１には、ユーザがどの対象物を何回選択したかの履歴情報を保持しておき、履歴情報に基づいて選択回数の多い対象物の表示優先度を高くする方法が開示されている。
また、特許文献２には、単純にユーザが対象物を選択したかどうかの履歴だけではなく、選択した後で取り消しが行われたか否かも考慮し、実際に実行した回数に基づいて、対象物の表示優先度を変更する方法が開示されている。ここで、実際に実行した回数とは、選択した回数から取り消した回数を減算した回数である。
これらの先行技術によれば、ユーザが実際に実行した回数に基づきボタンの表示優先度を変更し、使用頻度が高いボタンを優先して表示することができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−２１４６９０号公報
【特許文献２】特開２００６−３０９４２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、操作部に多数のボタンが表示されている場合、ユーザが所望のボタンに外観が類似している他のボタンを誤って選択してしまったために、一旦選択したボタンをキャンセルする場合がある。
上述した先行技術では、このような場合であっても、実際には実行されずにキャンセルされたボタンの表示優先度は変わらないため、外観が類似している他のボタンを選択してしまうという誤操作を繰り返してしまうことがある。
【課題を解決するための手段】
【０００６】
本発明は、表示をするための優先度が付与され、設定項目が登録されている複数の対象物を、付与されている前記優先度に基づいて表示する第１の画面を提供する手段と、前記第１の画面において選択された第１の対象物の設定項目に関する情報を表示する第２の画面を提供する手段と、を有する情報処理装置であって、前記第２の画面において前記第１の対象物を実行しない指示が行われた場合、前記複数の対象物にそれぞれ付与されている前記優先度を変更することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、ユーザが操作部で選択した対象物を実行することなくキャンセルした場合、キャンセルした操作に基づいてボタンの表示優先度を変更するため、所望のボタンが操作部に表示されやすくなり、ユーザの操作性を向上させることができる。
【図面の簡単な説明】
【０００８】
【図１】画像形成装置のコントローラユニット内部のブロック図である。
【図２】操作部に関連したソフトウェアのモジュール構成である。
【図３】メニューアプリのソフトウェアのモジュール構成である。
【図４】ユーザがボタンを選択した際の処理を示すフローチャートである。
【図５Ａ】操作部に表示されるメニュー画面の例である。
【図５Ｂ】操作部に表示される他のメニュー画面の例である。
【図６】ボタン管理テーブルの例である。
【図７】操作部に表示される実行確認画面の例である。
【図８】ユーザがボタンを選択した際の他の処理を示すフローチャートである。
【図９】ボタン管理テーブルの他の例である。
【図１０】操作部に表示される個別設定確認画面の例である。
【発明を実施するための形態】
【０００９】
以下に、図面を参照して、本発明を実施するための形態を説明する。ただし、以下に説明する各実施形態はあくまで例示であり、本発明の範囲をそれらに限定する趣旨のものではない。また、以下の実施形態で説明されている特徴の組み合わせのすべてが本発明の解決手段に必須のものとは限らない。
【００１０】
＜実施例１＞
まず、本発明の各実施例における情報処理装置の一形態である画像形成装置１００のコントローラユニット１２０について説明する。図１は、画像形成装置１００のコントローラユニット１２０の内部構造を示すブロック図である。
コントローラユニット１２０は、各種制御プログラムを実行するＣＰＵ１０１を有する。ＣＰＵ１０１は、ＲＯＭ１０３に格納されているブートプログラムに基づきシステムを起動する。ＣＰＵ１０１は、システム上でＨＤＤ（ハードディスクドライブ）１０４に格納されている制御プログラムを読み出して、ＲＡＭ１０２をワークエリアとして所定の処理を実行する。ＣＰＵ１０１は、制御プログラムにより、Ｊａｖａ（登録商標）プログラムなどの所定の制御を実行することが可能である。
ＨＤＤ１０４は、各種の制御プログラムを格納するとともに、画像データや後述するネットワーク部１０７が有するすべての通信手段に関する情報を格納する。
【００１１】
ＣＰＵ１０１には、ＲＡＭ１０２、ＲＯＭ１０３、ＨＤＤ１０４がシステムバス１１１を介して接続されている。さらに、操作部Ｉ／Ｆ１０５、ネットワーク部１０７、イメージバスＩ／Ｆ１０９、電源管理部１１０がシステムバス１１１を介して接続されている。
【００１２】
操作部Ｉ／Ｆ１０５は、操作部１０６とコントローラユニット１２０との間のインターフェイスである。操作部Ｉ／Ｆ１０５は、操作部１０６に表示する画像データをＲＡＭ１０２から取得して転送する処理や、操作部１０６で発生した信号をＣＰＵ１０１へ転送する処理などを行う。
操作部１０６は、タッチパネルなどのディスプレイを有し、ユーザが操作可能なボタンなどの対象物を表示するための表示処理と、表示処理に表示された情報をユーザが操作したことを検知する入力処理を行う。
【００１３】
ネットワーク部１０７は、ＬＡＮ１０８に接続され、ＬＡＮ１０８を介して情報の入出力を行う。ＬＡＮ１０８にｗｅｂサーバなどの外部装置が接続されている場合は、ネットワーク部１０７は接続されている外部装置からＬＡＮ１０８を介して情報を取得することが可能である。また、ネットワーク部１０７は、ＬＡＮ１０８に接続されたプロキシサーバなどを介して、インターネットに接続し、インターネット上のｗｅｂサーバからｗｅｂコンテンツを取得することも可能である。
【００１４】
イメージバスＩ／Ｆ１０９は、システムバス１１１と画像バス１１２とを接続し、データ構造を変換するバスブリッジである。画像バス１１２は、画像データを高速で転送可能なＰＣＩバスまたはＩＥＥＥ１３９４の規定に従うバスから構成される。画像バス１１２には、ＲＩＰ（ラスタイメージプロセッサ）１１３、デバイスＩ／Ｆ１１４および画像処理部１１９が接続されている。
【００１５】
電源管理部１１０は、画像形成装置１００の電源ＯＦＦと電源ＯＮの管理を行う。なお、電源管理部１１０が電源ＯＮを検知した場合、ＣＰＵ１０１はＲＯＭ１０３のブートプログラムに基づきシステムを起動し、システム上でＨＤＤ１０４に格納されている制御プログラムを実行する。
【００１６】
ＲＩＰ１１３は、ＰＤＬコードをビットマップイメージに展開する。
デバイスＩ／Ｆ１１４は、画像入出力デバイスであるスキャナ１１６やプリンタ１１８とコントローラユニット１２０とを接続し、画像データの同期系／非同期系の変換を行う。ここでは、デバイスＩ／Ｆ１１４とスキャナ１１６とがケーブル１１５を介して接続されており、また、デバイスＩ／Ｆ１１４とプリンタ１１８とがケーブル１１７を介して接続されている。
画像処理部１１９は、多値画像データに対してＪＰＥＧ、二値画像データに対してＪＢＩＧ、ＭＭＲ、ＭＨなどの圧縮伸張処理を行う。また、入力画像データや出力画面に対して、プリンタの補正や解像度変換などの補正、加工、編集を行う。
【００１７】
このように、コントローラユニット１２０のＣＰＵ１０１は、各制御プログラムに基づいて、システムバス１１１に接続される各種デバイスとのアクセスを総括的に制御するとともに、デバイスＩ／Ｆ１１４を介してスキャナ１１６から画像データを読み込む。また、ＣＰＵ１０１は、読み込んだ画像データに対して所定の処理を施した後に、画像データをデバイスＩ／Ｆ１１４を介してプリンタ１１８に出力するなどの制御を行う。さらに、ネットワーク部１０７を通じて取得した文字データや画像データの解析や変換処理を行い、ＨＤＤ１０４へ保存や操作部１０６での表示制御を行う。
【００１８】
次に、図２を用いて、画像形成装置１００のＣＰＵ１０１やＨＤＤ１０４などの各ハードウェア上で動作する、操作部１０６に関連したソフトウェアのモジュール構成を説明する。なお、これらの各モジュールにおける処理は、ＣＰＵ１０１がＲＯＭ１０３やＨＤＤ１０４に記憶されているプログラムを読み出し、ＲＡＭ１０２をワークエリアとして所定の処理を実行することで実現される。また、所定の処理を実行することで生成されるすべての情報は、ＲＡＭ１０２またはＨＤＤ１０４に記憶される。
【００１９】
タッチイベントドライバ２０１は、操作部１０６をユーザがタッチしたときに発生するイベントであるタッチイベントを操作部Ｉ／Ｆ１０５経由で検知し、後述のイベントフレームワーク（イベントＦＷ）２０２にタッチイベント情報を送信する。ここで、タッチイベント情報とは、ユーザがタッチした座標やタッチイベントの種類（プレスやリリースなど）などである。
【００２０】
イベントフレームワーク２０２は、タッチイベントドライバ２０１から送信されたタッチイベント情報を受信し、操作部１０６に表示されているアプリケーション（アプリ）を判定し、表示されているアプリにタッチイベント情報を送信する。
【００２１】
メニューアプリ２０３は、イベントフレームワーク２０２からのイベントを受信し、操作部Ｉ／Ｆ１０５経由で操作部１０６に表示を行うと共に、コピーアプリ２０４やスキャンアプリ２０５などの各アプリの処理を実行する。メニューアプリ２０３は、各アプリの処理を実行するために、ユーザが選択可能なボタンを表示する画面を操作部１０６に提供する。そして、メニューアプリ２０３は、表示されたボタンをユーザが選択すると、ボタンに対応するアプリの処理を実行する。
【００２２】
コピーアプリ２０４は、プリンタ１１８や画像処理部１１９を用いて、コピー機能を実行すると共に、操作部Ｉ／Ｆ１０５経由でコピー機能に関する表示をする画面を操作部１０６に提供する。コピーアプリ２０４は、コピー機能を実行するときに、ＨＤＤ１０４に記憶されている設定（コピー部数や両面設定など）にしたがって、コピージョブを実行する。
【００２３】
スキャンアプリ２０５は、スキャナ１１６や画像処理部１１９を用いて、スキャン機能を実行すると共に、操作部Ｉ／Ｆ１０５経由でスキャン機能に関する表示をする画面を操作部１０６に提供する。スキャンアプリ２０５は、スキャン機能を実行するときに、ＨＤＤ１０４に記憶されている設定（ファイル形式やスキャンしたデータの送信先など）にしたがって、スキャンジョブを実行する。
【００２４】
次に、図３を用いて、メニューアプリ２０３のソフトウェアのモジュール構成について説明する。
ボタン表示制御部３０１は、操作部１０６に対象物を表示するための処理を行う。対象物としては、画像や文字など様々なものがあるが、本実施例ではアイコンとしてのボタンを扱うこととする。ボタン表示制御部３０１は、ＨＤＤ１０４に記憶されているボタンに関する設定項目を含むボタン情報を用いて、操作部１０６にボタンを表示した後述のメニュー画面５００を提供する。
【００２５】
また、ボタン表示制御部３０１は、操作部１０６にメニュー画面５００として表示されているボタンがユーザにより押下されたときに、あらかじめＨＤＤ１０４に記憶されている処理を実行する。また、メニュー画面５００に表示されているボタンがユーザにより選択されたときは、確認画面制御部３０３を用いて、後述の実行確認画面７００を提供する。なお、このようなボタンの表示やボタン選択時の処理は、公知の技術であるため、詳細な説明は省略する。
【００２６】
ボタン順番制御部３０２は、ボタン表示制御部３０１によりメニュー画面５００において表示されるボタンの表示の順番（表示優先度）設定や管理を行うための処理を行う。なお、ボタン順番制御部３０２は、操作部１０６でユーザに見える状態で表示されていないボタンも含めて、後述のボタン管理テーブル６００に記録されているすべてのボタンの表示優先度を管理している。例えば、画面サイズの制限などから操作部１０６では３つしかボタンを表示できない場合であっても、ボタン管理テーブルで５つのボタンが記録されていれば、ボタン順番制御部３０２は５つのボタンのすべてについて表示優先度の管理を行う。
【００２７】
確認画面制御部３０３は、ボタン表示制御部３０１からの要求により、メニュー画面５００において選択されたボタンの設定項目を確認するための実行確認画面７００を提供する。そして、実行確認画面７００におけるユーザからの実行またはキャンセルの指示を受信し、受信した指示に対応する処理を行う。すなわち、実行確認画面７００で受信した指示が実行指示である場合には、選択したボタンに対応する処理を実行する。ここでの処理とは、コピーアプリ２０４やスキャンアプリ２０５を呼び出して実行する処理である。一方、実行確認画面７００で受信した指示が実行のキャンセル（取り消し）である場合は、ボタン表示制御部３０１にメニュー画面５００の変更要求の通知を行う。
【００２８】
次に、図４のフローチャートを用いて、操作部１０６においてユーザが所望のボタンを選択した際の処理を説明する。なお、図４のフローチャートでは、各処理を、ボタン表示制御部３０１、確認画面制御部３０３、ボタン順番制御部３０２の各モジュールが実行する処理毎に分けて記載している。
ボタン表示制御部３０１は、操作部１０６へのボタンの表示要求を受信すると、ボタンの表示優先度にしたがって、操作部１０６にユーザが選択可能なボタンをメニュー画面５００として表示する（ステップＳ４０１）。
【００２９】
図５は、ユーザが選択可能なボタンが表示されるメニュー画面５００の一例である。メニュー画面５００は、タイトル表示領域５０１、ボタン表示領域５０２、ページ移動領域５０３からなる。タイトル領域５０１には、表示されている画面のタイトルが表示されている。
ボタン表示領域５０２には、選択可能な複数のボタンが表示されている。ここでは、ボタン表示領域５０２に表示可能な最大ボタン数（以下、「最大表示ボタン数」という）は３つであるとする。このため、あらかじめボタン管理テーブル６００に記録されているボタンのうち、表示優先度の高い方から３つのボタンがボタン５０４〜５０６として表示されている。
ユーザは、ボタン表示領域５０２に表示されている選択可能なボタンの中から、所望のボタンを選択することができる。
【００３０】
ここで、図５Ａ（Ａ）の例では、メニュー画面５００のボタン表示領域５０２にはジョブ種が同じ（スキャン）である「センド１」のボタンと「センド２」のボタンが表示されている。このようなメニュー画面５００では、「センド１」のボタン５０４と「センド２」のボタン５０５とは外観が類似しているため、ユーザがボタンを誤って選択してしまう可能性が高いと考えられる。なお、ジョブ種とは、例えば、コピー、スキャンなどの画像形成装置１００が実行可能なジョブの種類をいう。
そこで、後述するように、一旦選択されたボタン（例えば、「センド１」）がキャンセルされた場合、キャンセルされたボタンの表示優先度を下げるとともに、そのボタンとジョブ種が同じボタン（例えば、「センド２」）の表示優先度を上げることとする。
【００３１】
図６（Ａ）は、ボタン管理テーブル６００の一例である。
ボタン管理テーブル６００では、各ボタンに付与されている表示優先度（優先度６０１）や、設定項目（ボタン名６０２、設定内容６０３、ジョブ種６０４、操作状態６０５）となどを含むボタン情報を管理している。図６（Ａ）の例では、優先度１のボタンは、ボタン名６０２が「センド１」のボタンであることを示している。
ここで、ユーザがメニュー画面５００に表示されている「センド１」のボタン５０４を選択して実行すると、ボタン管理テーブル６００に記録された設定内容６０３の設定で、ジョブ種６０４のジョブを実行する。例えば、ボタン名６０２が「センド１」のボタンを実行する場合、両面設定を「両面」、ファイル形式を「ＰＤＦ」、ファイルの送信先を「aaa@example.jp」として設定する。そして、ジョブ種６０４である「センド」のジョブを実行する。なお、「センド１」のボタンの操作状態６０５は「未選択」であるため、このボタンは以前に実行や選択が行われていないことを示している。
【００３２】
同様に、優先度２のボタンは、ボタン名６０２が「センド２」のボタンである。ユーザが「センド２」のボタン５０５を選択して実行した場合、両面設定を「片面」、ファイル形式を「ＰＤＦ」、ファイルの送信先を「bbb@example2.jp」、ジョブ種６０４を「センド」としたジョブが実行される。また、「センド２」のボタンも、操作状態６０５が「未選択」であるため、一度も実行や選択が行われていないことを示している。
なお、図６（Ａ）では示していないが、ボタン管理テーブル６００では、各ボタンについて、設定項目だけではなく、メニュー画面５００に表示されるアイコンや文字列もボタン名６０２に紐付けられてボタン情報として記憶されている。ただし、ここでは詳細な説明は省略する。
【００３３】
図５の説明に戻り、メニュー画面５００のボタン表示領域５０２に表示可能な最大表示ボタン数は、あらかじめＨＤＤ１０４に記憶されている。本実施例では、最大表示ボタン数は３であるとする。そのため、図５Ａ（Ａ）では、ボタン５０４〜５０６として、図６（Ａ）の中の表示優先度の高い３つのボタン（「センド１」、「センド２」、「コピー１」）のみが表示されている。
【００３４】
なお、ボタン表示領域５０２に、ボタン管理テーブル６００に記録されている４番目以降の表示優先度のボタンを表示することも可能である。この場合、ユーザはページ移動領域５０３に表示されたページ移動ボタン２０７を選択する。これにより、本実施例では、ボタン表示領域５０２には、図５Ａ（Ｂ）に示されるように、ボタン管理テーブル６００における表示優先度が４番目と５番目のボタンが表示される。
さらに、図５Ａ（Ｂ）のメニュー画面５００においてページ移動ボタン５０８を選択すると、図５Ａ（Ａ）のメニュー画面５００に戻る。
【００３５】
このように、ページ移動ボタン５０７や５０８を選択することでボタン表示領域５０２に表示されるボタンが変わるのは、ボタン表示制御部３０１がボタン管理テーブル６００を参照してボタン表示領域５０２に表示されるボタンを制御しているためである。具体的には、ボタン表示制御部３０１は、現在表示されているボタンの表示優先度と、ページ移動ボタンが選択された場合に表示されるボタンの表示優先度を管理している。例えば、図５Ａ（Ａ）の場合は表示優先度が１番目から３番目のボタンを表示し、図５Ａ（Ｂ）の場合は表示優先度が４番目と５番目のボタンを表示する。表示されているボタンの表示優先度に関する情報はボタン管理テーブル６００に記録されており、ボタン表示制御部３０１はこの情報を使用する。
【００３６】
図４のフローチャートに戻り、ボタン表示制御部３０１は、ステップＳ４０１でボタンの表示優先度にしたがってメニュー画面５００を表示した後、メニュー画面５００においてユーザがボタンを選択したか否かを確認する（ステップＳ４０２）。
【００３７】
ユーザによりボタンの選択が行われると（ステップＳ４０２でＹＥＳの場合）、ボタン表示制御部３０１は、実行確認画面７００の表示要求と、ユーザが選択したボタンのボタン情報を確認画面制御部３０３に送信する。ここでは、図５Ａ（Ａ）のメニュー画面５００においてボタン５０４（「センド１」）が選択されたこととする。この場合、ボタン表示制御部３０１は、「ボタン名」が「センド１」のボタン情報を確認画面制御部３０３に送信する。
【００３８】
ユーザが選択したボタンのボタン情報を受信した確認画面制御部３０３は、ＨＤＤ１０４に記憶されているボタン管理テーブル６００の設定内容６０３に基づいて操作部１０６に実行確認画面７００を表示する（ステップＳ４０３）。
【００３９】
図７は、実行確認画面７００の一例である。ここでは、図５Ａ（Ａ）のメニュー画面５００において「センド１」のボタン５０４が選択されたものとする。
実行確認画面７００は、タイトル表示領域５０１、実行内容確認領域７０１、ページ移動領域５０３からなる。実行内容確認領域７０１には、ユーザがメニュー画面５００において選択したボタンに対応する設定内容６０３が、ボタン管理テーブル６００に基づいて表示される。実行内容確認領域７０１において、ユーザは設定内容６０３を変更することができる。具体的には、ユーザは、ボタン７０２〜７０４を選択することにより、ボタン管理テーブル６００に記録されている各ボタンに対応する設定内容６０３を変更することが可能である。
ページ移動領域５０３には、キャンセルボタン７０５と実行ボタン７０６が表示される。ここで、ユーザがキャンセルボタン７０５を選択すると、確認画面制御部３０３は、ユーザの指示がキャンセルであると判断する。一方、ユーザが実行ボタン７０６を選択すると、確認画面制御部３０３は、ユーザの指示は実行であると判断する。
【００４０】
再び図４のフローチャートに戻り、実行確認画面制御部３０３は、実行確認画面７００におけるユーザの指示が実行であるか否かを判定する（ステップＳ４０４）。
ユーザの指示が実行であった場合（ステップＳ４０４でＹＥＳの場合）、確認画面制御部３０３は、ボタン管理テーブル６００の操作状態６０５を「実行済」に変更する（ステップＳ４０５）。
そして、確認画面制御部３０３は、ユーザが選択したボタンに対応するアプリの処理を実行する（ステップＳ４０６）。
アプリの処理が終了すると、本フローチャートの処理は終了する。
【００４１】
ここでは、「センド１」のボタン５０４が選択されて実行されたとしているため、ボタン管理テーブル６００に記録されているボタン名６０２の「センド１」の操作状態６０５が「実行済」に変更される。そして、確認画面制御部３０３が「センド１」のボタンに対応するスキャンアプリ２０５の処理を呼び出して、スキャンジョブが実行される。
なお、どのようなアプリのジョブを実行するかは、あらかじめボタン管理テーブル６００に記録されている（図６では不図示）。また、ジョブの実行方法には様々な方法がある。本実施例では、あらかじめ実行したい処理を呼び出すためのコールバック関数をアプリがＨＤＤ１０４に登録しておき、確認画面制御部３０３がこのコールバック関数を呼び出してジョブを実行する。
【００４２】
一方、ユーザの指示がキャンセルであった場合（ステップＳ４０４でＮＯの場合）、確認画面制御部３０３は、ボタン管理テーブル６００に記録されている「センド１」の操作状態６０５を「キャンセル」に変更する（ステップＳ４０７）。
そして、確認画面制御部３０３は、ボタン順番変更要求と、ユーザがステップＳ４０２で選択したボタンのボタン情報をボタン表示順管理部３０２に送信する。
【００４３】
ボタン順番変更要求とボタン情報を受信すると、ボタン表示順管理部３０２は、ユーザがキャンセルしたボタンと同じジョブ種のボタンをボタン管理テーブル６００から検索し、検出したボタンの表示優先度を上げる（ステップＳ４０８）。
さらに、ボタン表示順管理部３０２は、ユーザが選択した後にキャンセルしたボタンの表示優先度を下げる（ステップＳ４０９）。本実施例では、ユーザがキャンセルしたボタンの表示優先度を、ボタン管理テーブル６００の中で最も低くすることとする。
【００４４】
ここでは、メニュー画面５００において「センド１」のボタン５０４が選択された後に、実行確認画面７００においてキャンセルされたこととする。この場合、ボタン表示管理部３０２は、「センド１」のボタンの操作状態６０５を「キャンセル」に変更する。そして、キャンセルされたボタンである「センド１」のボタンと同じジョブ種６０４（スキャン）である「センド２」と「センド３」のボタンの表示優先度を、それぞれ、１番目と２番目になるように変更する。また、「センド１」のボタンの表示優先度を最も低くする。この結果、ボタン管理テーブル６００は、図６（Ｂ）に示されるように変更される。
【００４５】
この後、ボタン表示順管理部３０２は、ボタンの再表示要求と、ユーザがステップＳ４０２で選択したボタンの表示変更要求をボタン表示制御部３０１に送信する。これを受信したボタン表示制御部３０１は、ボタン管理テーブル６００の優先度６０１にしたがって操作部１０６にメニュー画面５００を表示する。また、ステップＳ４０２で選択されたボタンの表示優先度の変更をユーザに通知するための表示を行う（ステップＳ４１０）。
【００４６】
ボタンの表示優先度の変更をユーザに通知するための方法としては様々な方法がある。例えば、ボタン表示制御部３０１がキャンセルされたボタンがボタン管理テーブル６００で決められた表示優先度の位置に移動したことが分かるように表示するアニメーション表示を用いることができる。
ここでは、例えば、ボタン管理テーブル６００の表示優先度が、図６（Ａ）から図６（Ｂ）のように遷移すると、操作部１０６に表示されるメニュー画面５００は、図５Ａ（Ａ）から図５Ａ（Ｃ）のように遷移する。なお、メニュー画面５００が図５Ａ（Ａ）から図５Ａ（Ｃ）のように遷移する際に、図５Ａ（Ａ）で表示されていた「センド１」のボタン５０４は、アニメーション表示により画面に右方向に、画面外へと移動していく。
【００４７】
再び、図４のフローチャートに戻り、メニュー画面５００が変更されると、ボタン表示制御部３０１は、メニュー画面５００でユーザがボタンを選択したか否かを待つ状態に戻る（ステップＳ４０２）。 
【００４８】
以上のように、本実施例によれば、操作部１０６に、同じジョブ種である外観の類似したボタンが多数表示されている場合においても、ユーザが誤ってボタンを選択してしまう可能性を低減させることが可能となる。すなわち、ユーザがボタンを一旦選択した後にキャンセルした場合、キャンセルしたボタンの表示優先度を下げるとともに、ユーザが本来選択しようとしていたと考えられるボタンの表示優先度を上げることにより、ユーザの操作性を向上させることができる。
【００４９】
＜実施例２＞
実施例１では、図４のフローチャートのステップＳ４０３においてキャンセルされたボタンは、ステップＳ４１０において他のボタンと同様にメニュー画面５００に表示されている。
これに対して、実施例２では、キャンセルされたことをユーザに通知するために、ステップＳ４１０において、キャンセルされたボタンが識別できるように、キャンセルされていないボタンと区別した態様で表示する。具体的には、図５Ａ（Ｃ）に示すメニュー画面５００において、キャンセルした「センド１」のボタンを表示させるためにページ移動ボタン５０７を選択したとする。この場合、図５Ｂ（Ｄ）に示すように、「センド１」のボタン５０５上にはキャンセルマーク５０８が付加されて表示される。また、キャンセルマークを追加するのではなく、ボタンの表示色を変えたり、ボタンを選択不可であることを表す網掛け表示にしたりしてもよい。
これにより、ユーザがキャンセルしたボタンを識別することが容易になり、ユーザが誤ってボタンを選択してしまう可能性を低減させることができる。
【００５０】
＜実施例３＞
実施例１では、図４のフローチャートのステップＳ４１０において、ボタン管理テーブル６００に記録されているボタンを最大表示ボタン数内においてすべて表示した。
これに対して、実施例３では、ユーザがキャンセルしたボタンと同じジョブ種以外のボタンは、ステップＳ４１０で非表示とする。
これにより、ユーザがキャンセルしたボタンと同じジョブ種のボタンのみが表示されることになり、ユーザが誤ってボタンを選択してしまう可能性を低減させることができる。
【００５１】
＜実施例４＞
実施例１では、図４のフローチャートのステップＳ４０９において、キャンセルされたボタンの表示優先度を最も低く下げることとしたが、これによって、キャンセルされたボタンは操作部１０６のボタン表示領域５０２から消失していくことがある。
これに対して、実施例４では、ステップＳ４０９でキャンセルされたボタンの表示優先度を、最大表示ボタン数内の最下位になるように下げる。具体的には、図５Ａ（Ａ）に示される状態において、ユーザが「センド１」のボタン５０４を選択してキャンセルすると、図５Ｂ（Ｅ）に示されるように「センド１」のボタンをボタン表示領域５０２の最も右側にボタン５０６として表示させるようにする。なお、この場合、「センド１」のボタンのボタン管理テーブル６００における優先度６０２は、ステップＳ４０９で１番目から３番目に変更される。
これにより、ユーザがキャンセルしたボタンが操作部１０６から消失したようにユーザが感じることはなくなるため、ユーザの視認性を向上させることができる。
【００５２】
＜実施例５＞
実施例１では、図４のフローチャートの処理で用いられるボタン管理テーブル６００はＨＤＤ１０４に記憶するようにした。
これに対して、実施例５では、情報処理装置１００の外部にあるサーバにボタン管理テーブル６００を記憶する。この場合、メニューアプリ２０３の各モジュールは、ネットワーク部１０７を用いて外部のサーバにアクセスすることにより、ボタン管理テーブル６００の参照や変更を行うこととなる。
これにより、サーバで複数台の情報処理装置１００のボタン管理テーブル６００をより柔軟にまとめて管理することが可能となる。
【００５３】
＜実施例６＞
実施例１〜５では、ユーザがメニュー画面５００においてボタンを選択した後に実行確認画面７００においてキャンセルした場合、ユーザの操作性を向上させるために、キャンセルされたボタンと同じジョブ種６０４のボタンの表示優先度を上げるようにした。
これに対して、本実施例では、ユーザが実行確認画面７００においてキャンセルを行った際の操作とボタンの設定内容６０３に基づいてボタンの表示優先度を変更する。
【００５４】
また、実施例１では、メニュー画面５００に表示されるボタンの表示優先度はあらかじめボタン管理テーブル６００に記録されていることとしたが、本実施例では、新規に追加されたボタンについては表示優先度が設定されていないこととする。
なお、基本的な処理は実施例１と同様であるため、主として実施例１と異なる点について説明する。具体的には、図４のフローチャートのステップＳ４０１の前に新規に追加されたボタンの有無を確認する点と、ステップＳ４０８に代えて設定内容６０３を考慮して表示優先度を上げる点が異なる。
【００５５】
まず、新規なボタンが追加された場合の処理について説明する。なお、ボタンの追加は様々な方法で行うことが可能であるが、本実施例では、画像形成装置１００とは異なる外部のサーバから送信されたボタン情報を、ネットワーク部１０７が受信してＨＤＤ１０４のボタン管理テーブル６００に追加されたこととする。新規に追加されたボタンは、ボタン管理テーブル６００の最終列に追加され、優先度６０１は「未定」と設定される。
ここでは、図９（Ａ）に示されるように、「センド９９」のボタンが新規に追加されたこととする。そして、この状態で、ボタン表示制御部３０１は、メニュー画面５００の表示要求を受信したとする。
【００５６】
図８のフローチャートを参照し、ボタン表示制御部３０１は、ＨＤＤ１０４に記憶されているボタン管理テーブル６００に優先度６０１が「未定」のボタン（新規に追加されたボタン）が存在しないか否かを確認する（ステップＳ８０１）。優先度６０１が「未定」のボタンが存在しない場合は、実施例１と同様に、処理をステップＳ４０１へ進める。
【００５７】
一方、優先度６０１が「未定」のボタンが存在する場合、ボタン表示制御部３０１は、ボタン順番制御部３０２にボタン順番変更要求を通知する。
ボタン順番変更要求を受信したボタン順番制御部３０２は、ボタン管理テーブル６００の優先度６０１を設定する（ステップＳ８０２）。本実施例では、優先度６０１が「未定」のボタンを検出し、このボタンの表示優先度を最も高くすることとする。具体的には、図９（Ｂ）に示されるように、新規に追加された「センド９９」のボタンの優先度６０１を１番目に設定する。
そして、ボタン順番制御部３０２は、ボタン表示制御部３０１にボタン順番変更の完了通知を送信する。これを受信したボタン表示制御部３０１は、実施例１と同様に、ステップＳ４０１〜ステップＳ４０３以降の処理を行う。
【００５８】
ステップＳ４０３の処理の完了後、実行確認画面制御部３０３は、実行確認画面７００において、ユーザによる設定内容６０３の選択がなされてないかを判定する（ステップＳ８０３）。具体的には、実行確認画面（図７）に表示されている設定項目７０２〜７０４をユーザが選択したか否かを判定する。
【００５９】
ステップＳ８０３でユーザによる設定内容６０３の選択がなかった場合は、実施例１と同様に、処理をステップＳ４０４に進める。
一方、ユーザによる設定内容６０３の選択があった場合は、ユーザにより選択された設定内容６０３をボタン管理テーブル６００に記録する（ステップＳ８０４）。ここでは、図７の実行確認画面７００において、ユーザが送信先のボタン７０４を選択したこととする。この場合、実行確認画面制御部３０３は、ユーザ操作として送信先の設定をＨＤＤ１０４に記憶する。なお、ボタン７０４が押下されたことにより、操作部１０６に個別設定確認画面１０００が表示される。
【００６０】
図１０は、実行確認画面７００で選択した設定内容６０３を確認や変更するための個別設定確認画面１０００の例である。個別設定確認画面１０００の実行内容確認領域７０１には、選択された設定内容６０３の詳細（ここでは、送信先）と、その設定を変更するための変更ボタン１００１が表示される。ユーザが変更ボタン１００１を選択すると、スキャンアプリ２０５の設定を変更するための画面が表示され、ユーザは設定を変更することが可能である。ただし、変更ボタン１００１が選択された後の処理についての詳細は省略する。
また、個別設定確認画面１０００のページ移動領域５０３には、設定の変更を無効にして前の画面（実行確認画面７００）に戻るための戻るボタン１００２と、設定の変更を有効にして前の画面に戻るための確定ボタン１００３が表示される。
なお、図１０に示した例では、設定内容６０３のうち送信先が選択されたこととしているため、実行内容確認領域７０１には送信先の設定のみが表示されている。ユーザが別の設定を選択した場合、その選択された設定が個別設定確認画面１０００に表示される。
【００６１】
図７の実行確認画面７００に戻ると、実施例１と同様に、処理をステップＳ４０４に進め、実行確認画面制御部３０３は、ユーザからのキャンセルボタン７０５または実行ボタン７０６の押下を待つ。
この後のステップＳ４０５〜４０７の処理は、実施例１と同様である。
【００６２】
実行確認画面７００におけるユーザの指示がキャンセルであった場合（ステップＳ４０４でＮＯの場合）、確認画面制御部３０３は、ボタン管理テーブル６００の操作状態６０５を「キャンセル」に変更する（ステップＳ４０７）。
そして、確認画面制御部３０３は、ボタン順番変更要求と、ユーザがステップＳ４０２で選択したボタンのボタン情報をボタン表示順管理部３０２に送信する。
【００６３】
ステップＳ４０７の処理が完了すると、実行確認画面制御部３０３からのボタン順番変更要求とボタン情報を受信したボタン順番制御部３０２は、ボタン管理テーブル６００を参照する。そして、設定内容６０３が選択されたか否かの確認を行う（ステップＳ８０５）。
設定内容６０３が選択されなかった場合、実施例１と同様に、キャンセルされたボタンと同じジョブ種を有するボタンの表示優先度を上げる（ステップＳ４０８）。
【００６４】
一方、設定内容６０３が選択された場合、ボタン順番制御部３０２は、ボタン管理テーブル６００において選択された設定内容６０３に関連する設定内容６０３を有するボタンの表示優先度を上げる（ステップＳ８０６）。
選択された設定内容６０３に関連するボタンが存在するか否かを判定するには様々な方法があるが、本実施例では、ユーザがキャンセルしたボタンの設定内容６０３と同一の設定内容を有するボタンが存在するか否かにより判定を行う。例えば、図９（Ｂ）に示されるボタン管理テーブル６００が記録されている状態で、ユーザが、メニュー画面５００において「センド９９」のボタンを選択したこととする。そして、実行確認画面７００において送信先のボタン７０４を選択してから、キャンセルボタン７０５を押下したこととする。この場合、ステップＳ８０６では、ボタン管理テーブル６００に記録されている設定内容６０３のうち、送信先として「@example.jp」が設定されているボタンの表示優先度を上げる。
【００６５】
したがって、ステップＳ８０６の処理後には、ボタン管理テーブル６００の内容は、図９（Ｂ）に示されるものから図９（Ｃ）に示されるものへと遷移する。すなわち、優先度６０１が１番目、２番目、３番目のボタンは、それぞれ、送信先として「@example.jp」が設定されている「センド９９」、「センド１」、「センド３」となる。また、優先度６０１が４番目のボタンは、送信先として「bbb@example2.jp」が設定されている「センド２」のボタンとなる。
この後のステップＳ４０９〜４１０の処理は、実施例１と同じであるため、説明を省略する。
【００６６】
以上のように、実施例６では、ユーザが実行確認画面７００においてキャンセルを行った際の操作とのボタンの設定内容６０３に基づいてボタンの表示優先度を変更する。
これにより、ユーザが本来選択しようとしていたと考えられるボタンの表示優先度を上げて、ユーザの操作性を向上させることができる。
【００６７】
＜その他の実施例＞
本発明は、上述の実施例の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
また、本発明は、複数の機器から構成されるシステムに適用しても、１つの機器からなる装置に適用してもよい。
本発明は上述の実施例に限定されるものではなく、本発明の趣旨に基づき種々の変形が可能であり、それらを本発明の範囲から除外するものではない。すなわち、上述した各実施例及びその変形例を組み合わせた構成もすべて本発明に含まれるものである。
【符号の説明】
【００６８】
１００      画像形成装置
５００      メニュー画面
６００      ボタン管理テーブル
７００      実行確認画面
【図１】
2020194341.tif 000003
【図２】
2020194341.tif 000004
【図３】
2020194341.tif 000005
【図４】
2020194341.tif 000006
【図５Ａ】
2020194341.tif 000007
【図５Ｂ】
2020194341.tif 000008
【図６】
2020194341.tif 000009
【図７】
2020194341.tif 000010
【図８】
2020194341.tif 000011
【図９】
2020194341.tif 000012
【図１０】
2020194341.tif 000013