(57)【要約】      （修正有）【課題】複数の設定値を同時に設定可能な場合とそうでない場合とで異なる処理を実行させる設定を容易にする。【解決手段】制御装置は、画像処理装置が有する複数の機能ごとに表示コマンドを取得する表示コマンド取得部５５と、機能別画面を表示コマンドに従って表示する機能別画面表示部７５と、機能別画面に従ってユーザーにより入力される設定値を受け付ける設定値受付部５９と、第１関連機能と第２関連機能それぞれに対応して受け付けられる設定値の組が設定することのできない組として定められている場合に、動作定義データに基づいて所定の処理を実行する警告部６７と、を備え、動作定義データは、第１機能別画面と第２機能別画面とが表示されている場合に実行する第１の処理と、第１機能別画面と第２機能別画面とのいずれか一方が表示されている場合に実行する第２の処理とを定める。【選択図】図５
2014134951.tif 000002
【特許請求の範囲】
【請求項１】
画像処理装置を制御する制御装置であって、
前記画像処理装置が有する複数の機能ごとに、前記画像処理装置が当該機能を実行するための設定値であって、当該機能に対して設定することが可能な１以上の設定値にそれぞれ対応し、前記画像処理装置に前記機能を実行させるための１以上のプリントコマンドを取得するプリントコマンド取得手段と、
前記画像処理装置が有する複数の機能ごとに、当該機能に対する設定値を設定するための機能別画面を表示するための表示コマンドを取得する表示コマンド取得手段と、
前記複数の機能それぞれに対応する機能別画面を、前記取得された表示コマンドに従って生成し、表示する機能別画面表示手段と、
前記表示された機能別画面に従ってユーザーにより入力される設定値を、前記表示された機能別画面に対応する機能に対する設定値として受け付ける設定値受付手段と、
前記取得された１以上のプリントコマンドのうちから前記設定値受付手段によって受け付けられた設定値に対応するプリントコマンドを選択することによって、当該機能を前記画像処理装置に実行させるためのプリントコマンドを生成するコマンド生成手段と、
前記複数の機能のうちから選ばれた２以上の関連機能において、前記２以上の関連機能のうち第１関連機能に対して設定される設定値と、当該第１関連機能に対して設定される設定値に対して、前記２以上の関連機能のうち前記第１関連機能とは別の第２関連機能に対して設定することができない設定値との組を定める機能間定義データを記憶する機能間定義データ記憶手段と、
前記第１関連機能と前記第２関連機能それぞれに対応して受け付けられる設定値の組が、前記機能間定義データによって設定することのできない組として定められている場合に、前記機能間定義データに対応する動作定義データに基づいて所定の処理を実行する警告手段と、を備え、
前記動作定義データは、前記第１機能別画面と前記第２機能別画面とが前記機能別画面表示手段によって表示されている場合に実行する第１の処理と、前記第１機能別画面と前記第２機能別画面とのいずれか一方が前記機能別画面表示手段によって表示されている場合に実行する第２の処理とを定める、制御装置。
【請求項２】
前記設定値受付手段は、前記第１関連機能に対応する第１機能別画面と前記第２関連機能に対応する第２機能別画面とが前記機能別画面表示手段によって同一の機能別画面として表示されている場合は、前記第１関連機能に対して設定値が受け付けられた段階で、前記第１関連機能に対して受け付けられた設定値が、前記機能間定義データによって前記第２関連機能に対して設定されている設定値に対して設定することができないと定められている場合、前記第２関連機能に対して設定されている設定値を前記機能間定義データによって定められた設定値とは異なる設定値を設定する連動設定手段を、含む請求項１に記載の制御装置。
【請求項３】
前記警告手段は、前記連動設定手段によって前記第２関連機能に対して設定値が設定される前の段階で、前記第１関連機能に対して設定値が受け付けられることに応じて、第１の警告メッセージを表示する、請求項２に記載の制御装置。
【請求項４】
前記設定値受付手段は、前記第１関連機能に対応する第１機能別画面と前記第２関連機能に対応する第２機能別画面とが前記機能別画面表示手段によって同一の機能別画面としてではなく、いずれか一方が表示されている場合は、前記第１関連機能に対して設定値が受け付けられた段階で、前記第１関連機能に対して受け付けられた設定値が、前記機能間定義データによって前記第２関連機能に対して設定されている設定値に対して設定することができないと定められている場合、前記第１関連機能に対する設定値を設定しない受付制限手段を、含む請求項１〜３のいずれかに記載の制御装置。
【請求項５】
前記警告手段は、前記第１関連機能に対して設定値が受け付けられた段階で、第２の警告メッセージを表示する、請求項４に記載の制御装置。
【請求項６】
前記設定値受付手段は、前記機能間定義データが、前記第１関連機能に対して設定される第１設定値と、前記第２関連機能に対して設定される第２設定値との組を定める場合であって、前記設定値受付手段によって前記第１関連機能に対応して前記第１の設定値が受け付けられる場合、前記第２関連機能に対して受け付け可能な設定値を、前記第２設定値以外の値に制限する制限手段を、さらに含む、請求項１〜５のいずれかに記載の制御装置。
【請求項７】
画像処理装置を制御するコンピューターで実行されるプリンタードライバープログラムであって、
前記画像処理装置が有する複数の機能ごとに、前記画像処理装置が当該機能を実行するための設定値であって、当該機能に対して設定することが可能な１以上の設定値にそれぞれ対応し、前記画像処理装置に前記機能を実行させるための１以上のプリントコマンドを取得するプリントコマンド取得ステップと、
前記画像処理装置が有する複数の機能ごとに、当該機能に対する設定値を設定するための機能別画面を表示するための表示コマンドを取得する表示コマンド取得ステップと、
前記複数の機能それぞれに対応する機能別画面を、前記取得された表示コマンドに従って生成し、表示する機能別画面表示ステップと、
前記表示された機能別画面に従ってユーザーにより入力される設定値を、前記表示された機能別画面に対応する機能に対して設定された設定値として受け付ける設定値受付ステップと、
前記取得された１以上のプリントコマンドのうちから前記設定値受付ステップにおいて受け付けられた設定値の機能に対応するプリントコマンドを選択することによって、当該機能を前記画像処理装置に実行させるためのプリントコマンドを生成するコマンド生成ステップと、
前記複数の機能のうちから選ばれた２以上の関連機能において、前記２以上の関連機能のうち第１関連機能に対して設定される設定値と、前記２以上の関連機能のうち前記第１関連機能とは別の第２関連機能に設定することが可能な設定値との組を定める機能間定義データにより定められる組とは異なる設定値の組が入力される場合に、前記機能間定義データに対応する動作定義データに基づいて所定の処理を実行する警告ステップと、を前記コンピューターに実行させ、
前記動作定義データは、前記第１機能別画面と前記第２機能別画面とが前記機能別画面表示手段によって表示されている場合に実行する第１の処理と、前記第１機能別画面と前記第２機能別画面とのいずれか一方が前記機能別画面表示手段によって表示されている場合に実行する第２の処理とを定める、プリンタードライバープログラム。
【請求項８】
画像処理装置を制御するコンピューターで実行される設定方法であって、
前記画像処理装置が有する複数の機能ごとに、前記画像処理装置が当該機能を実行するための設定値であって、当該機能に対して設定することが可能な１以上の設定値にそれぞれ対応し、前記画像処理装置に前記機能を実行させるための１以上のプリントコマンドを取得するプリントコマンド取得ステップと、
前記画像処理装置が有する複数の機能ごとに、当該機能に対する設定値を設定するための機能別画面を表示するための表示コマンドを取得する表示コマンド取得ステップと、
前記複数の機能それぞれに対応する機能別画面を、前記取得された表示コマンドに従って生成し、表示する機能別画面表示ステップと、
前記表示された機能別画面に従ってユーザーにより入力される設定値を、前記表示された機能別画面に対応する機能に対して設定された設定値として受け付ける設定値受付ステップと、
前記取得された１以上のプリントコマンドのうちから前記設定値受付ステップにおいて受け付けられた設定値の機能に対応するプリントコマンドを選択することによって、当該機能を前記画像処理装置に実行させるためのプリントコマンドを生成するコマンド生成ステップと、
前記複数の機能のうちから選ばれた２以上の関連機能において、前記２以上の関連機能のうち第１関連機能に対して設定される設定値と、前記２以上の関連機能のうち前記第１関連機能とは別の第２関連機能に設定することが可能な設定値との組を定める機能間定義データにより定められる組とは異なる設定値の組が入力される場合に、前記機能間定義データに対応する動作定義データに基づいて所定の処理を実行する警告ステップと、を含み、
前記動作定義データは、前記第１機能別画面と前記第２機能別画面とが前記機能別画面表示手段によって表示されている場合に実行する第１の処理と、前記第１機能別画面と前記第２機能別画面とのいずれか一方が前記機能別画面表示手段によって表示されている場合に実行する第２の処理とを定める、設定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、制御装置、プリンタードライバープログラム、および設定方法に関し、特に、画像形成装置を制御する制御装置、その制御装置を制御するコンピューターで実行されるプリンタードライバープログラム、および制御装置で実行される設定方法に関する。
【背景技術】
【０００２】
パーソナルコンピューター（以下「ＰＣ」という）が、複合機で代表される画像形成装置を制御するためには、その画像形成装置に対応するプリンタードライバープログラムをインストールする必要がある。このプリンタードライバープログラムは、通常は、画像形成装置を提供するメーカーから供給される。
【０００３】
このように、プリンタードライバープログラムは画像形成装置に対応するために、画像形成装置の機種が異なれば、プリンタードライバープログラムの種類も異なる。特に、画像形成装置に新たな機能が追加される場合には、プリンタードライバープログラムは、その追加された機能に対応したバージョンのものが開発される。
【０００４】
通常、プリンタードライバープログラムは、ユーザーインターフェースモジュール、プリントデータを生成するプリントデータ生成モジュール、およびＰＣのオペレーティングシステムとのインターフェースとなるＯＳインターフェースモジュールに、分割して開発され、それぞれのモジュールで、複数の機能に対応できるように生成される。このため、画像形成装置に追加された新たな機能に対応するためには、すべてのモジュールを変更しなければならなかった。したがって、プリンタードライバープログラムの開発者は、すべてのモジュールについての知識が必要となり、広い範囲で知識を習得しなければならず、開発者が制限されるといった問題がある。また、モジュールごとに、開発部門が地理的に離れていると、開発効率が低下するといった問題がある。さらに、新たな機能に対応するように変更されたプリンタードライバープログラムを評価する際には、すべてのモジュールで評価しなければならず。評価工数が増大するといった問題がある。
【０００５】
特開２００６―２２７９９０号公報には、情報処理装置からの印刷処理を制御する印刷ソフトウェアが、ソフトウェアの普遍機能を提供するコア部分と、印刷に依存した機能を提供する複数の機能依存部分から構成されることを特徴とし、機能依存部分の更新の必要性を判断し、更新が必要である場合に最新モジュールで自身の保持するモジュールを更新することを特徴とする印刷ソフトウェア更新方法が記載されている。
【０００６】
しかしながら、従来の印刷ソフトウェア更新方法は、既存の機能依存部分を更新することはできるが、新たな機能に対応する機能依存部分を追加する場合には、コア部分を変更しなければならず、新たな機能を追加することができない。
【０００７】
特に、新たな機能が追加された場合に、新たな機能に設定された設定値に対して、別の機能に設定される設定値が制限される場合は、変更しなければならない部分が多くなる。たとえば、既存の機能としてパンチ穴加工機能があり、新たにステープル機能が追加される場合を例に説明する。パンチ穴加工機能に対してパンチ穴加工をする設定値が設定されている場合に、ステープル機能に対してステープルを打ち込む設定値は設定することができず、ステープルを打ち込まない設定値のみが設定可能になる。
【０００８】
この場合、ユーザーインターフェースとして、パンチ穴加工機能の設定値する領域と、ステープル機能の設定値を設定する領域とを含む１つの共通画面を表示する場合と、パンチ穴加工機能の設定値を設定する領域を含む第１の画面とステープル機能の設定値を設定する領域を含む第２の画面とを別々に表示する場合とを準備する場合がある。共通画面が表示される場合は、一方の機能に対して設定値が設定される場合に、ユーザーにより入力される設定値が他方の機能に対して設定されている設定値に対して設定することができなければ、一方の機能に対してユーザーにより入力された設定値を設定するとともに、他方の機能に対して設定されている設定値を設定することのできる設定値で更新することができる。共通画面においては、一方の機能に対してユーザーにより入力された設定値を表示するとともに、他方の機能に対して更新後の設定値を表示することができるからである。しかしながら、パンチ穴加工機能の設定値する領域を含む第１の画面とステープル機能の設定値を設定する領域を含む第２の画面とがそれぞれ表示される場合は、第１の画面が表示されている場合にパンチ穴加工機能に対してユーザーにより入力された設定値を表示することはできでも、ステープル機能の設定値を設定する領域を含む第２画面が表示されていないので、ステープル機能の設定値が更新されたことをユーザーに通知することができない。このため、第１の画面が表示されている場合にパンチ穴加工機能に対してユーザーにより入力された設定値が設定することのできない値の場合には、設定値を受け付けるのは好ましくない。したがって、２つの機能間で設定可能な設定値が制限される場合に、２つの機能それぞれに設定値を設定する領域を含む１つの共通画面が表示される場合と、２つの機能それぞれに対応して設定値を設定する２つの画面が別々に表示される場合とで、ユーザーに通知するメッセージを異ならせる必要がある。
【特許文献１】特開２００６―２２７９９０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
この発明は上述した問題点を解決するためになされたもので、この発明の目的の一つは、複数の設定値を同時に設定可能な場合とそうでない場合とで異なる処理を実行させる設定を容易にした制御装置を提供することである。
【００１０】
この発明の他の目的は、複数の設定値を同時に設定可能な場合とそうでない場合とで異なる処理を実行させる設定を容易にしたプリンタードライバープログラムを提供することである。
【００１１】
この発明のさらに他の目的は、複数の設定値を同時に設定可能な場合とそうでない場合とで異なる処理を実行させる設定を容易にした設定方法を提供することである。
【課題を解決するための手段】
【００１２】
上述した目的を達成するためにこの発明のある局面によれば、制御装置は、画像処理装置を制御する制御装置であって、画像処理装置が有する複数の機能ごとに、画像処理装置が当該機能を実行するための設定値であって、当該機能に対して設定することが可能な１以上の設定値にそれぞれ対応し、画像処理装置に機能を実行させるための１以上のプリントコマンドを取得するプリントコマンド取得手段と、画像処理装置が有する複数の機能ごとに、当該機能に対する設定値を設定するための機能別画面を表示するための表示コマンドを取得する表示コマンド取得手段と、複数の機能それぞれに対応する機能別画面を、取得された表示コマンドに従って生成し、表示する機能別画面表示手段と、表示された機能別画面に従ってユーザーにより入力される設定値を、表示された機能別画面に対応する機能に対する設定値として受け付ける設定値受付手段と、取得された１以上のプリントコマンドのうちから設定値受付手段によって受け付けられた設定値に対応するプリントコマンドを選択することによって、当該機能を画像処理装置に実行させるためのプリントコマンドを生成するコマンド生成手段と、複数の機能のうちから選ばれた２以上の関連機能において、２以上の関連機能のうち第１関連機能に対して設定される設定値と、当該第１関連機能に対して設定される設定値に対して、２以上の関連機能のうち第１関連機能とは別の第２関連機能に対して設定することができない設定値との組を定める機能間定義データを記憶する機能間定義データ記憶手段と、第１関連機能と第２関連機能それぞれに対応して受け付けられる設定値の組が、機能間定義データによって設定することのできない組として定められている場合に、機能間定義データに対応する動作定義データに基づいて所定の処理を実行する警告手段と、を備え、動作定義データは、第１機能別画面と第２機能別画面とが機能別画面表示手段によって表示されている場合に実行する第１の処理と、第１機能別画面と第２機能別画面とのいずれか一方が機能別画面表示手段によって表示されている場合に実行する第２の処理とを定める。
【００１３】
この局面に従えば、画像処理装置が有する複数の機能ごとに機能別画面が表示され、表示された機能別画面に従ってユーザーにより入力される設定値が受け付けられ、複数の機能のうちから選ばれた２以上の関連機能において、第１関連機能と第２関連機能それぞれに対応して受け付けられる設定値の組が設定することのできない組として定められている場合に、第１関連機能に対応する第１機能別画面と第１関連機能に対応する第２機能別画面とが表示されている場合は第１の処理が実行され、第１機能別画面と第２機能別画面とのいずれか一方が表示されている場合は第２の処理が実行される。このため、複数の機能それぞれに設定値を設定可能な状態と、少なくとも１つに設定値できない状態とで、処理を異ならせることができる。その結果、複数の設定値を同時に設定可能な場合とそうでない場合とで異なる処理を実行させる設定を容易にした制御装置を提供することができる。
【００１４】
好ましくは、設定値受付手段は、第１関連機能に対応する第１機能別画面と第２関連機能に対応する第２機能別画面とが機能別画面表示手段によって同一の機能別画面として表示されている場合は、第１関連機能に対して設定値が受け付けられた段階で、第１関連機能に対して受け付けられた設定値が、機能間定義データによって第２関連機能に対して設定されている設定値に対して設定することができないと定められている場合、第２関連機能に対して設定されている設定値を機能間定義データによって定められた設定値とは異なる設定値を設定する連動設定手段を、含む。
【００１５】
好ましくは、警告手段は、連動設定手段によって第２関連機能に対して設定値が設定される前の段階で、第１関連機能に対して設定値が受け付けられることに応じて、第１の警告メッセージを表示する。
【００１６】
この局面に従えば、第２関連機能に対して設定されている設定値が機能間定義データによって定められた設定値とは異なる設定値が設定される前の段階で、第１の警告メッセージが表示されるので、第２関連機能に対して設定されている設定値が変更されないようにすることができる。
【００１７】
好ましくは、設定値受付手段は、第１関連機能に対応する第１機能別画面と第２関連機能に対応する第２機能別画面とが機能別画面表示手段によって同一の機能別画面としてではなく、いずれか一方が表示されている場合は、第１関連機能に対して設定値が受け付けられた段階で、第１関連機能に対して受け付けられた設定値が、機能間定義データによって第２関連機能に対して設定されている設定値に対して設定することができないと定められている場合、第１関連機能に対する設定値を設定しない受付制限手段を、含む。
【００１８】
好ましくは、警告手段は、第１関連機能に対して設定値が受け付けられた段階で、第２の警告メッセージを表示する。
【００１９】
好ましくは、設定値受付手段は、機能間定義データが、第１関連機能に対して設定される第１設定値と、第２関連機能に対して設定される第２設定値との組を定める場合であって、設定値受付手段によって第１関連機能に対応して第１の設定値が受け付けられる場合、第２関連機能に対して受け付け可能な設定値を、第２設定値以外の値に制限する制限手段を、さらに含む。
【００２０】
この発明の他の局面によれば、プリンタードライバープログラムは、画像処理装置を制御するコンピューターで実行されるプリンタードライバープログラムであって、画像処理装置が有する複数の機能ごとに、画像処理装置が当該機能を実行するための設定値であって、当該機能に対して設定することが可能な１以上の設定値にそれぞれ対応し、画像処理装置に機能を実行させるための１以上のプリントコマンドを取得するプリントコマンド取得ステップと、画像処理装置が有する複数の機能ごとに、当該機能に対する設定値を設定するための機能別画面を表示するための表示コマンドを取得する表示コマンド取得ステップと、複数の機能それぞれに対応する機能別画面を、取得された表示コマンドに従って生成し、表示する機能別画面表示ステップと、表示された機能別画面に従ってユーザーにより入力される設定値を、表示された機能別画面に対応する機能に対して設定された設定値として受け付ける設定値受付ステップと、取得された１以上のプリントコマンドのうちから設定値受付ステップにおいて受け付けられた設定値の機能に対応するプリントコマンドを選択することによって、当該機能を画像処理装置に実行させるためのプリントコマンドを生成するコマンド生成ステップと、複数の機能のうちから選ばれた２以上の関連機能において、２以上の関連機能のうち第１関連機能に対して設定される設定値と、２以上の関連機能のうち第１関連機能とは別の第２関連機能に設定することが可能な設定値との組を定める機能間定義データにより定められる組とは異なる設定値の組が入力される場合に、機能間定義データに対応する動作定義データに基づいて所定の処理を実行する警告ステップと、をコンピューターに実行させ、動作定義データは、第１機能別画面と第２機能別画面とが機能別画面表示手段によって表示されている場合に実行する第１の処理と、第１機能別画面と第２機能別画面とのいずれか一方が機能別画面表示手段によって表示されている場合に実行する第２の処理とを定める。
【００２１】
この局面に従えば、複数の設定値を同時に設定可能な場合とそうでない場合とで異なる処理を実行させる設定を容易にしたプリンタードライバープログラムを提供することができる。
【００２２】
この発明の他の局面によれば、設定方法は、画像処理装置を制御するコンピューターで実行される設定方法であって、画像処理装置が有する複数の機能ごとに、画像処理装置が当該機能を実行するための設定値であって、当該機能に対して設定することが可能な１以上の設定値にそれぞれ対応し、画像処理装置に機能を実行させるための１以上のプリントコマンドを取得するプリントコマンド取得ステップと、画像処理装置が有する複数の機能ごとに、当該機能に対する設定値を設定するための機能別画面を表示するための表示コマンドを取得する表示コマンド取得ステップと、複数の機能それぞれに対応する機能別画面を、取得された表示コマンドに従って生成し、表示する機能別画面表示ステップと、表示された機能別画面に従ってユーザーにより入力される設定値を、表示された機能別画面に対応する機能に対して設定された設定値として受け付ける設定値受付ステップと、取得された１以上のプリントコマンドのうちから設定値受付ステップにおいて受け付けられた設定値の機能に対応するプリントコマンドを選択することによって、当該機能を画像処理装置に実行させるためのプリントコマンドを生成するコマンド生成ステップと、複数の機能のうちから選ばれた２以上の関連機能において、２以上の関連機能のうち第１関連機能に対して設定される設定値と、２以上の関連機能のうち第１関連機能とは別の第２関連機能に設定することが可能な設定値との組を定める機能間定義データにより定められる組とは異なる設定値の組が入力される場合に、機能間定義データに対応する動作定義データに基づいて所定の処理を実行する警告ステップと、を含み、動作定義データは、第１機能別画面と第２機能別画面とが機能別画面表示手段によって表示されている場合に実行する第１の処理と、第１機能別画面と第２機能別画面とのいずれか一方が機能別画面表示手段によって表示されている場合に実行する第２の処理とを定める。
【００２３】
この局面に従えば、複数の設定値を同時に設定可能な場合とそうでない場合とで異なる処理を実行させる設定を容易にした設定方法を提供することができる。
【図面の簡単な説明】
【００２４】
【図１】本発明の実施の形態の１つにおけるプリントシステムの全体概要を示す図である。
【図２】ＭＦＰの外観を示す斜視図である。
【図３】ＭＦＰのハードウエア構成の一例を示すブロック図である。
【図４】ＰＣのハードウエア構成の一例を示すブロック図である。
【図５】ＰＣが備えるＣＰＵの機能の一例をＨＤＤに記憶されるデータとともに示すブロック図である。
【図６】機能定義データの一例を示す第１の図である。
【図７】機能定義データの一例を示す第２の図である。
【図８】機能定義データの一例を示す第３の図である。
【図９】機能間定義データの一例を示す図である。
【図１０】動作定義データの一例を示す図である。
【図１１】禁則メッセージの一例を示す第１の図である。
【図１２】禁則メッセージの一例を示す第２の図である。
【図１３】表示画面の一例を示す図である。
【図１４】機能別画面の一例を示す第１の図である。
【図１５】禁則メッセージを表示する画面の一例を示す第１の図である。
【図１６】機能別画面の一例を示す第２の図である。
【図１７】機能別画面の一例を示す第３の図である。
【図１８】禁則メッセージを表示する画面の一例を示す第２の図である。
【図１９】設定処理の流れの一例を示すフローチャートである。
【図２０】設定値設定処理の流れの一例を示すフローチャートである。
【図２１】プリントジョブ生成処理の流れの一例を示すフローチャートである。
【発明を実施するための形態】
【００２５】
以下、本発明の実施の形態について図面を参照して説明する。以下の説明では同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがってそれらについての詳細な説明は繰返さない。
【００２６】
図１は、本発明の実施の形態の１つにおけるプリントシステムの全体概要を示す図である。図１を参照して、プリントシステム１は、画像処理装置として機能する複合機（以下、「ＭＦＰ」という）１００と、パーソナルコンピューター（以下、「ＰＣ」という）２００，２００Ａ，２００Ｂ，２００Ｃ，２００Ｄと、を含む。ＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）１００およびＰＣ２００，２００Ａ，２００Ｂ，２００Ｃ，２００Ｄそれぞれは、ネットワーク３に接続される。なお、図ではネットワーク３に１台のＭＦＰ１００が接続され、５台のＰＣ２００，２００Ａ，２００Ｂ，２００Ｃ，２００Ｄが接続される例を示しているが、ＭＦＰ１００およびＰＣ２００，２００Ａ，２００Ｂ，２００Ｃ，２００Ｄの数はこれに限定されるものではなく、それぞれ１台以上であればよい。また、ＭＦＰ１００に代えて、ＰＣ２００，２００Ａ，２００Ｂ，２００Ｃ，２００Ｄが制御可能な別の画像処理装置を用いることができる。ＰＣ２００，２００Ａ，２００Ｂ，２００Ｃ，２００Ｄが制御可能な画像処理装置の一例としては、スキャナ装置、ファクシミリ装置、プリンター等の画像形成装置、プロジェクションテレビ、投影装置等の表示装置、データを記憶する記憶装置がある。
【００２７】
ネットワーク３は、ローカルエリアネットワーク（ＬＡＮ）であり、接続形態は有線または無線を問わない。また、ネットワーク３は、ＬＡＮに限らず、ワイドエリアネットワーク（ＷＡＮ）、公衆交換電話網（ＰＳＴＮ）、インターネット等であってもよい。
【００２８】
ＰＣ２００，２００Ａ，２００Ｂ，２００Ｃ，２００Ｄは、一般的なコンピューターである。ＰＣ２００，２００Ａ，２００Ｂ，２００Ｃ，２００Ｄそれぞれは、ＭＦＰ１００に対応するプリンタードライバープログラムがインストールされており、プリンタードライバープログラムを実行することにより、ＭＦＰ１００を制御して、ＭＦＰ１００に、画像形成処理、原稿読取処理等を実行させることが可能である。
【００２９】
図２は、ＭＦＰの外観を示す斜視図である。図３は、ＭＦＰのハードウエア構成の一例を示すブロック図である。図２および図３を参照して、ＭＦＰ１００は、自動原稿搬送装置１２１と、原稿読取部１２３と、原稿読取部１２３が原稿を読み取って出力する画像データに基づいて用紙等に画像を形成する画像形成部１２５と、画像形成部１２５に用紙を供給する給紙部１２７と、画像が形成された用紙を処理する後処理部１２８と、ユーザーインターフェースとしての操作パネル１２９と、メイン回路１１０と、を含む。
【００３０】
ＡＤＦ１２１は、原稿給紙トレイ上にセットされた複数枚の原稿を１枚ずつ自動的に原稿読取部１２３のプラテンガラス上に設定された所定の原稿読み取り位置まで搬送し、原稿読取部１２３により原稿画像が読み取られた原稿を原稿排紙トレイ上に排出する。原稿読取部１２３は、原稿読取位置に搬送されてきた原稿に光を照射する光源と、原稿で反射した光を受光する光電変換素子とを含み、原稿のサイズに応じて原稿画像を走査する。光電変換素子は、受光した光を電気信号である画像データに変換して、画像形成部１２５に出力する。給紙部１２７は、給紙トレイに収納された用紙を画像形成部１２５に搬送する。
【００３１】
画像形成部１２５は、周知の電子写真方式により画像を形成するものであって、外部から受信された画像データ、または、原稿読取部１２３から入力される画像データにシェーディング補正などの各種のデータ処理を施し、データ処理後の画像データに基づいて、給紙部１２７により搬送される用紙に画像を形成する。
【００３２】
後処理部１２８は、画像が形成された用紙を排紙する。後処理部１２８は、複数の排紙トレイを有し、画像が形成された用紙をソートして排紙することが可能である。また、後処理部１２８は、パンチ穴加工部、ステープル加工部を備えており、排紙された用紙にパンチ穴加工、またはステープル加工することが可能である。また、ＭＦＰ１００は、その上面にユーザーとのユーザーインターフェースとしての操作パネル１２９を備えている。
【００３３】
メイン回路１１０は、ＣＰＵ１１１と、通信インターフェース（Ｉ／Ｆ）部１１２と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１１３と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１１４と、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  ａｎｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）１１５と、大容量記憶装置としてのハードディスクドライブ（ＨＤＤ）１１６と、ファクシミリ部１１７と、ネットワークＩ／Ｆ１１８と、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ）−ＲＯＭ１１９Ａが装着される外部記憶装置１１９と、を含む。ＣＰＵ１１１は、自動原稿搬送装置１２１、原稿読取部１２３、画像形成部１２５、給紙部１２７、後処理部１２８および操作パネル１２９と接続され、ＭＦＰ１００の全体を制御する。
【００３４】
ＲＯＭ１１３は、ＣＰＵ１１１が実行するプログラム、またはそのプログラムを実行するために必要なデータを記憶する。ＲＡＭ１１４は、ＣＰＵ１１１がプログラムを実行する際の作業領域として用いられる。また、ＲＡＭ１１４は、原稿読取部１２３から連続的に送られてくる読取データ（画像データ）を一時的に記憶する。
【００３５】
操作パネル１２９は、ＭＦＰ１００の上面に設けられる。操作パネル１２９は、表示部１３１と操作部１３３とを含む。表示部１３１は、ＬＣＤ、有機ＥＬＤ（Ｅｌｅｃｔｒｏ−Ｌｕｍｉｎｅｓｃｅｎｃｅ  Ｄｉｓｐｌａｙ）等のディスプレイであり、ユーザーに対する指示メニューや取得した画像データに関する情報等を表示する。操作部１３３は、複数のキーを備え、キーに対応するユーザーの操作による各種の指示、文字、数字などのデータの入力を受け付ける。操作部１３３は、表示部１３１の表示面の位置を検出するタッチパネル１３５をさらに含む。タッチパネル１３５は、表示部１３１の上面または下面に設けられ、ユーザーにより指示された位置の座標をＣＰＵ１１１に出力する。
【００３６】
通信Ｉ／Ｆ部１１２は、ＭＦＰ１００を外部の装置と接続するためのインターフェースである。ネットワークＩ／Ｆ１１８は、ＭＦＰ１００をネットワーク３に接続するためのインターフェースである。ＣＰＵ１１１は、ネットワークＩ／Ｆ１１８を介してネットワーク３に接続されたＰＣ２００，２００Ａ，２００Ｂ，２００Ｃ，２００Ｄとの間で通信し、データを送受信する。また、ネットワークＩ／Ｆ１１８は、ネットワーク３を介してインターネットに接続されたコンピューターと通信が可能である。
【００３７】
ファクシミリ部１１７は、公衆交換電話網（ＰＳＴＮ）に接続され、ファクシミリデータを送受信する。ファクシミリ部１１７は、原稿読取部１２３により読み取られた画像データまたはＨＤＤ１１６に記憶されたデータをファクシミリデータに変換して、ＰＳＴＮに接続されたファクシミリ装置に送信する。また、ファクシミリ部１１７は、受信されたファクシミリデータをＨＤＤ１１６に記憶するか、画像形成部１２５にファクシミリデータの画像を用紙に形成させる。
【００３８】
外部記憶装置１１９は、ＣＤ−ＲＯＭ１１９Ａが装着される。ＣＰＵ１１１は、外部記憶装置１１９を介してＣＤ−ＲＯＭ１１９Ａにアクセス可能である。ＣＰＵ１１１は、外部記憶装置１１９に装着されたＣＤ−ＲＯＭ１１９Ａに記録されたプログラムをＲＡＭ１１４にロードして実行する。なお、ＣＰＵ１１１が実行するプログラムは、ＣＤ−ＲＯＭ１１９Ａに記録されたプログラムに限られず、ＨＤＤ１１６に記憶されたプログラムをＲＡＭ１１４にロードして実行するようにしてもよい。この場合、ネットワーク３に接続された他のコンピューターが、ＭＦＰ１００のＨＤＤ１１６に記憶されたプログラムを書き換える、または、新たなプログラムを追加して書き込むようにしてもよい。さらに、ＭＦＰ１００が、ネットワークに接続された他のコンピューターからプログラムをダウンロードして、そのプログラムをＨＤＤ１１６に記憶するようにしてもよい。ここでいうプログラムは、ＣＰＵ１１１が直接実行可能なプログラムだけでなく、ソースプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
【００３９】
ＰＣ２００，２００Ａ，２００Ｂ，２００Ｃ，２００Ｄのハードウエア構成および機能は同じなので、ここではＰＣ２００を例に説明する。
【００４０】
図４は、ＰＣのハードウエア構成の一例を示すブロック図である。図４を参照して、ＰＣ２００は、それぞれがバス２０８に接続されたＣＰＵ２０１、ＲＯＭ２０２、ＲＡＭ２０３、ネットワークＩ／Ｆ２０４、ＨＤＤ２０５、表示部２０６、操作部２０７および外部記憶装置２０９を含む。
【００４１】
ＣＰＵ２０１は、ＰＣ２００の全体を制御する。ＲＯＭ２０２は、ＣＰＵ２０１が実行するプログラム等を記憶する。ＲＡＭ２０３は、ＣＰＵ２０１の作業領域として用いられる。ネットワークＩ／Ｆ２０４は、ＰＣ２００をネットワーク３に接続するためのインターフェースである。ＨＤＤ２０５は、大容量記憶装置であり、データを不揮発的に記憶する。表示部２０６は、液晶表示装置、陰極線管（ＣＲＴ）、有機ＥＬＤ（Ｅｌｅｃｔｒｏ−Ｌｕｍｉｎｅｓｃｅｎｃｅ  Ｄｉｓｐｌａｙ）等の表示装置である。操作部２０７は、キーボード、および、マウス、タッチパネルなどのポインティングデバイスであり、ユーザーの操作の入力を受け付ける。
【００４２】
外部記憶装置２０９は、ＣＤ−ＲＯＭ２０９Ａが装着される。ＣＰＵ２０１は、外部記憶装置２０９を介してＣＤ−ＲＯＭ２０９Ａに記憶されたプリンタードライバープログラムをＲＡＭ２０３にロードし、実行する。なお、プリンタードライバープログラムを記憶する記録媒体としては、ＣＤ−ＲＯＭ２０９Ａに限られず、フレキシブルディスク、カセットテープ、光ディスク（ＭＯ／ＭＤ／ＤＶＤ）、ＩＣカード、光カード、マスクＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭなどの半導体メモリ等でもよい。また、ＨＤＤ２０５に記憶されたプログラムをＲＡＭ２０３にロードして実行するようにしてもよい。この場合、ＰＣ２００が、ネットワーク３に接続された他のコンピューターからプリンタードライバープログラムをダウンロードして、そのプリンタードライバープログラムをＨＤＤ２０５に記憶するようにしてもよい。ここでいうプログラムは、ＣＰＵ２０１が直接実行可能なプログラムだけでなく、ソースプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
【００４３】
図５は、ＰＣが備えるＣＰＵの機能の一例をＨＤＤに記憶されるデータとともに示すブロック図である。図５に示す機能は、ＰＣ２００が備えるＣＰＵ２０１が、ＲＯＭ２０２、ＨＤＤ２０５またはＣＤ−ＲＯＭ２０９Ａに記憶されたＭＦＰ１００に対応するプリンタードライバープログラムを実行することにより、ＣＰＵ２０１に形成される機能である。
【００４４】
図５を参照して、ＰＣ２００が備えるＣＰＵ２０１は、共通コマンド取得部５１と、共通画面表示部５３と、表示コマンド取得部５５と、設定画面表示部５７と、設定値受付部５９と、プリントコマンド取得部６１と、コマンド生成部６３と、コマンド送信部６５と、警告部６７と、を含む。ＨＤＤ２０５には、予め共通定義データ９１、機能定義データ９３、機能間定義データ９５および動作定義データ９７が記憶されている。共通定義データ９１、機能定義データ９３、機能間定義データ９５および動作定義データ９７は、ＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）等のマックアップ言語、Ｃ言語などのプログラム言語で記載される。このため、共通定義データ９１、機能定義データ９３、機能間定義データ９５および動作定義データ９７を、編集プログラム等を用いて容易に変更することができる。なお、共通定義データ９１、機能定義データ９３、機能間定義データ９５および動作定義データ９７は、スクリプト言語をバイナリ化したデータ、または、プログラム言語をコンパイルし、バイナリ化したデータであってもよい。
【００４５】
なお、ここでは、共通定義データ９１、機能定義データ９３、機能間定義データ９５および動作定義データ９７を、プリンタードライバープログラムとは別に、ＨＤＤ２０５に記憶する場合を例に説明するが、共通定義データ９１、機能定義データ９３、機能間定義データ９５および動作定義データ９７は、プリンタードライバープログラムの一部であってもよい。
【００４６】
共通定義データ９１は、ＭＦＰ１００が有する複数の機能に依存しない共通画面を表示するための共通コマンドを含む。共通画面は、例えば、プリントの対象となる画像をプレビュー表示する領域、ユーザーに通知するためのメッセージを表示する領域を含む。共通コマンドは、ＣＰＵ２０１に共通画面を表示させるためのコマンドである。共通コマンドは、ＣＰＵ２０１が表示部２０６に表示する画像中で、機能別画面を配置する領域を指定するコマンドを含む。
【００４７】
機能定義データ９３は、ＭＦＰ１００が有する複数の機能ごとに、その機能をＭＦＰ１００に実行させるための１以上のプリントコマンドと、その機能に対応する表示コマンドと、を定める。プリントコマンドは、ＭＦＰ１００が有する複数の機能ごとに１以上あり、ある機能に対して設定することが可能な１以上の設定値のいずれかに対応する。機能定義データは、ＭＦＰ１００が有する複数の機能ごとに定める１以上のプリントコマンドそれぞれを、設定値と対応付ける。プリントコマンドは、ＭＦＰ１００に、そのプリントコマンドが対応する機能を、そのプリントコマンドに対応する設定値に従って実行させるコマンドである。プリントコマンドは、ＭＦＰ１００が解釈可能なコマンドであり、ＭＦＰ１００との間で予め定められたコマンドである。プリントコマンドは、好ましくは、ＰＪＬ（Ｐｒｉｎｔ  Ｊｏｂ  Ｌａｎｇｕａｇｅ）、ＰＣＬ（Ｐｒｉｎｔｅｒ  Ｃｏｎｔｒｏｌ  Ｌａｎｇｕａｇｅ）、ＸＰＳ（ＸＭＬ  Ｐａｐｅｒ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ）、ＰｒｉｎｔＴｉｃｋｅｔ、ＰＳ（ＰｏｓｔＳｃｒｉｐｔ）で記述される。
【００４８】
表示コマンドは、ＭＦＰ１００が有する複数の機能それぞれに対応し、ＣＰＵ２０１に機能別画面を生成させるためのコマンドである。表示コマンドは、ＣＰＵ２０１が表示部２０６に表示する画像中の位置を示す位置情報と、表示する部品を特定する部品特定情報とを含む。ＣＰＵ２０１が表示部２０６に表示する部品は、予め準備された画像であり、例えば、ポップアップウィンドウ、コンボボックス、リストボックス、ラジオボタン等である。
【００４９】
表示コマンドは、ＣＰＵ２０１がタブ画面に含まれる機能別画面を生成するための第１表示コマンドと、タブ画面から呼び出される機能別画面を生成するための第２表示コマンドと、を含む。タブ画面は、表示コマンドによってそれに含まれる内容が定まる。タブ画面は、１つの第１表示コマンドによって生成される１つの機能別画面を含む場合と、複数の第１表示コマンドによってそれぞれ生成される複数の機能別画面を含む場合とがある。タブ画面が複数の機能別画面を含む場合は、複数の第１表示コマンドが同一のタブ画面に割り当てられている場合である。さらに、タブ画面は、第２表示コマンドによって生成される機能別画面を呼び出すための指示ボタンを含む場合がある。
【００５０】
機能間定義データ９５は、ＭＦＰ１００が有する複数の機能のうちから選ばれた２以上の関連機能において、２以上の関連機能のうち第１の機能に対して設定される第１の設定値と、当該第１の機能に対して設定される第１の設定値が設定されている場合に２以上の関連機能のうち第１の機能とは別の第２の機能に設定することができない第２の設定値の組を定める。換言すれば、機能間定義データ９５は、第２の機能に対して設定可能な１以上の設定値のうちで、第１の機能に対して第１の設定値が設定される場合に、設定不可能な第２の設定値を定める。
【００５１】
動作定義データ９７は、機能間定義データ９５に対応する。動作定義データ９７は、それに対応する機能間定義データ９５により定められる第１の機能および第２の機能それぞれに、機能間定義データ９５によって定められる組の設定値がユーザーにより入力される場合に実行する処理を定める。動作定義データ９７は、それに対応する機能間定義データ９５により定められる第１の機能と第２の機能にそれぞれ対応する２つの機能別画面が同時に表示されている場合に実行する第１の処理と、２つの機能別画面のいずれか一方が表示されており、他方が表示されていない場合に実行する第２の処理と、を定める。動作定義データ９７により定められる処理は、メッセージを表示する処理を含む。この場合、動作定義データ９７は、ＣＰＵ２０１にメッセージを表示する処理を実行させるための、メッセージ表示コマンドを含む。メッセージ表示コマンドは、ユーザーに通知するための禁則メッセージを含む。たとえば、動作定義データ９７は、第１の処理を定めるために、第１の禁則メッセージを含むメッセージ表示コマンドを含み、第２の処理を定めるために、第２の禁則メッセージを含むメッセージ表示コマンドを含む。  図６は、機能定義データの一例を示す第１の図である。図６を参照して、機能定義データ９３Ａは、パンチ加工処理の機能に対応する。１行目に、パンチ加工処理の機能に対応する記述がされている。２行目は、表示コマンドが記述されている。表示コマンドは、部品特定情報として”ＣｈｅｃｋＢｏｘ”の記述を含む。部品特定情報”ＣｈｅｃｋＢｏｘ”は、表示のために使用する部品としてチェックボックスを特定する。また、表示コマンドは、Ｄｉａｌｏｇ＝’Ｔａｂ’の記述と、”パンチ”の文字列とを含む。Ｄｉａｌｏｇ＝’Ｔａｂ’の記述は第１表示コマンドであることを示し、部品特定情報”ＣｈｅｃｋＢｏｘ”で特定されるチェックボックスを含む機能別画面を、機能定義データ９３Ａが関連付けられたタブ画面に表示することを示す。さらに、表示コマンドは、部品を配置する位置情報として”Ｐｏｓ＝１０，６０，１００，２０”の記述を含む。位置情報は、最初の２つの数字は、座標を示し、３番目の数字は横方向の長さ、４番目の数字は縦方向の長さを示し、矩形の領域のサイズとその領域の画面中における位置を定める。
【００５２】
図７は、機能定義データの一例を示す第２の図である。図７を参照して、機能定義データ９３Ｂは、ステープル加工処理の機能に対応する。１行目に、ステープル加工処理の機能に対応する記述がされている。２行目は、表示コマンドが記述されている。表示コマンドは、部品特定情報として”ＣｈｅｃｋＢｏｘ”の記述を含む。また、表示コマンドは、Ｄｉａｌｏｇ＝’Ｔａｂ’の記述と、”ステープル”の文字列とを含む。Ｄｉａｌｏｇ＝’Ｔａｂ’の記述は第１表示コマンドであることを示し、部品特定情報”ＣｈｅｃｋＢｏｘ”で特定されるチェックボックスを含む機能別画面を、機能定義データ９３Ｂが関連付けられたタブ画面に表示することを示す。さらに、表示コマンドは、部品を配置する位置情報として”Ｐｏｓ＝１００，６０，１００，２０”の記述を含む。位置情報は、最初の２つの数字は、座標を示し、３番目の数字は横方向の長さ、４番目の数字は縦方向の長さを示し、矩形の領域のサイズとその領域の画面中における位置を定める。
【００５３】
表示コマンドは、タブ画面に関連付けられる。タブ画面は、共通画面中で共通コマンドによって定められた領域に表示される画面である。このため、１つのタブ画面に複数の表示コマンドが関連付けられる場合がある。たとえば、図６に示したパンチ穴加工処理の機能に対応する機能定義データ９３Ａと、図７に示したステープル加工処理の機能に対応する機能定義データ９３Ｂとが、同じタブ画面に関連付けられる場合、パンチ穴加工処理の機能に対応するチェックボックスを含む機能別画面と、ステープル加工処理の機能に対応するチェックボックスを含む機能別画面とが同一のタブ画面に同時に表示される。
【００５４】
図８は、機能定義データの一例を示す第３の図である。図８を参照して、機能定義データ９３Ｃは、ステープル加工処理の機能に対応する。１行目に、ステープル加工処理の機能に対応する記述がされている。２行目は、表示コマンドが記述されている。表示コマンドは、部品特定情報として”ＣｈｅｃｋＢｏｘ”の記述を含む。また、表示コマンドは、Ｄｉａｌｏｇ＝’Ｐｏｐｕｐ’の記述と、”ステープル”の文字列とを含む。Ｄｉａｌｏｇ＝’Ｐｏｐｕｐ’の記述は第２表示コマンドであることを示し、機能定義データ９３Ｂが関連付けられたタブ画面に、部品特定情報”ＣｈｅｃｋＢｏｘ”で特定されるチェックボックスを含む機能別画面と関連付けた指示ボタンを表示するとともに、部品特定情報”ＣｈｅｃｋＢｏｘ”で特定されるチェックボックスを含む機能別画面を、指示ボタンが指示される場合にポップアップ画面として表示することを示す。ポップアップ画面は、共通画面とは別に共通画面に重畳して表示される画面である。さらに、表示コマンドは、部品を配置する位置情報として”Ｐｏｓ＝１０，６０，１００，２０”の記述を含む。位置情報は、最初の２つの数字は、座標を示し、３番目の数字は横方向の長さ、４番目の数字は縦方向の長さを示し、矩形の領域のサイズとその領域の画面中における位置を定める。
【００５５】
たとえば、図６に示したパンチ穴加工処理の機能に対応する機能定義データ９３Ａと、図８に示したステープル加工処理の機能に対応する機能定義データ９３Ｃとが、同一のタブ画面に関連付けられる場合、共通画面に、パンチ穴加工処理の機能に対応するチェックボックスを含む機能別画面と、ポップアップ指示ボタンとを含むタブ画面が表示され、ユーザーがポップアップ指示ボタンを指示すれば、ステープル加工処理の機能に対応するチェックボックスを含む機能別画面がポップアップ画面として表示される。このため、ステープル加工処理の機能に対応するチェックボックスを含む機能別画面は、パンチ穴加工処理の機能に対応するチェックボックスを含む機能別画面とは、異なる画面として表示される。
【００５６】
図９は、機能間定義データの一例を示す図である。図９を参照して、機能間定義データ９５は、「Ｐｕｎｃｈ＝ＯＮ，Ｓｔａｐｌｅ＝ＯＮ」の記述を含む。この記述は、第１の機能であるパンチ加工処理「Ｐｕｎｃｈ」と第１の設定値「ＯＮ」との組に対して、第２の機能であるステープル加工処理「Ｓｔａｐｌｅ」に設定することのできない第２の設定値は「ＯＮ」であることを示す。
【００５７】
図１０は、動作定義データの一例を示す図である。図１０を参照して、動作定義データ９７Ａは、「Ｓａｍｅｆｏｒｍ：ＣｏｎｆｒｉｃｔＡｃｔｉｏｎ＝Ｃｈａｎａｇｅｍｅｓｓａｇｅ，Ｍｅｓｓａｇｅ１」の記述と、「Ｄｉｆｆｅｒｅｎｅｔｆｏｒｍ：ＣｏｎｆｒｉｃｔＡｃｔｉｏｎ＝Ｇｒａｙｏｕｔ，Ｉｎｆｏｒｍａｔｉｏｎ１」の記述と、を含む。「Ｓａｍｅｆｏｒｍ：ＣｏｎｆｒｉｃｔＡｃｔｉｏｎ＝Ｃｈａｎａｇｅｍｅｓｓａｇｅ，Ｍｅｓｓａｇｅ１」の記述は、機能間定義データ９５において定められた第１の機能および第２の機能それぞれに対応する機能別画面が、表示コマンドによって同一の画面に表示される場合の動作を定める。「Ｃｈａｎａｇｅｍｅｓｓａｇｅ，Ｍｅｓｓａｇｅ１」の記述は、メッセージ表示コマンドであり、「Ｍｅｓｓａｇｅ１」で特定される禁則メッセージを表示する処理の実行を示す。
【００５８】
「Ｄｉｆｆｅｒｅｎｅｔｆｏｒｍ：ＣｏｎｆｒｉｃｔＡｃｔｉｏｎ＝Ｇｒａｙｏｕｔ，Ｉｎｆｏｒｍａｔｉｏｎ１」の記述は、機能間定義データ９５において定められた第１の機能および第２の機能それぞれに対応する機能別画面が、表示コマンドによって異なる画面に表示される場合の動作を定める。「Ｇｒａｙｏｕｔ，Ｉｎｆｏｒｍａｔｉｏｎ１」の記述は、メッセージ表示コマンドであり、「Ｉｎｆｏｒｍａｔｉｏｎ１」で定まる禁則メッセージを、グレーで表示する処理の実行を示す。
【００５９】
図１１は、禁則メッセージの一例を示す第１の図である。図１１を参照して、禁則メッセージは、「Ｍｅｓｓａｇｅ１＝＃ＬｅｆｔＦｕｎｃ＃をＯＦＦにしますか？」の記述を含む。この記述は、文字列「ＬｅｆｔＦｕｎｃ」に機能名「パンチ」が代入されていれば、「Ｍｅｓｓａｇｅ１」で特定される禁則メッセージが「パンチをＯＦＦにしますか？」であることを示す。
【００６０】
図１２は、禁則メッセージの一例を示す第２の図である。図１２を参照して、禁則メッセージは、「Ｉｎｆｏｒｍａｔｉｏｎ１＝＃ＬｅｆｔＦｕｎｃ＃と禁則です。」の記述を含む。この記述は、文字列「ＬｅｆｔＦｕｎｃ」に機能名「パンチ」が代入されていれば、「Ｉｎｆｏｒｍａｔｉｏｎ１」で特定される禁則メッセージが「パンチと禁則です。」であることを示す。
【００６１】
図５に戻って、共通コマンド取得部５１は、ＨＤＤ２０５に記憶された共通定義データ９１を読出し、共通定義データ９１に含まれる共通コマンドを、共通画面表示部５３に出力する。共通画面表示部５３は、共通コマンド取得部５１から入力される共通コマンドに従って共通画面を生成し、生成された共通画面を、表示部２０６に表示する。また、共通画面表示部は、共通コマンドのうち機能別画面を配置する領域を指定するコマンドにしたがって、機能別画面を配置する領域を示す領域情報を設定画面表示部５７に出力する。
【００６２】
表示コマンド取得部５５は、ＨＤＤ２０５に記憶された機能定義データ９３を読出し、機能定義データ９３に含まれる複数の機能ごとの表示コマンドを、設定画面表示部５７に出力する。
【００６３】
設定画面表示部５７は、表示コマンド取得部５５から複数の機能ごとの表示コマンドが入力され、共通画面表示部５３から領域情報が入力される。
【００６４】
設定画面表示部５７は、複数の機能ごとの表示コマンドに基づいて、１以上のタブ画面を選択可能なタブ選択画面を表示する。１つのタブ画面は、そのタブ画面に関連付けられた１以上の機能定義データ９３にそれぞれ含まれる表示コマンドによって定まる。タブ選択画面は、複数のタブ画面それぞれの名称を含み、複数のタブ画面の名称を選択可能に配列した画面である。設定画面表示部５７は、生成されたタブ選択画面を、領域情報によって定められた位置に配置されるように、表示部２０６に表示する。このため、複数の機能定義データ９３によって複数のタブ画面が定まる場合であっても、共通定義データ９１によって定められる共通コマンドによって、タブ選択画面に複数のタブ画面の名称が配置される位置が定められるので、複数のタブ画面が異なる場合であっても表示部２０６に表示される画面のデザインを統一することができる。また、共通定義データ９１は、ＸＭＬ等のマックアップ言語、Ｃ言語などのプログラム言語で記載されるので、変更が容易である。
【００６５】
設定画面表示部５７は、機能別画面生成部７５を含む。機能別画面生成部７５は、ユーザーがタブ選択画面に含まれる複数のタブの画像のいずれかを指示する操作を操作部２０７に入力すれば、複数のタブ画面のうちから指示されたタブの画像に対応するタブ画面を特定する。機能別画面生成部７５は、特定したタブ画面に対応する１以上の機能別画面を生成する。具体的には、機能別画面生成部７５は、表示コマンド取得部５５から入力される複数の機能ごとの表示コマンドのうちから、特定されたタブ画面に対応する１以上の第１表示コマンドを特定し、特定された１以上の第１表示コマンドに従って１以上の機能別画面を生成する。機能別画面生成部７５は、表示部２０６に表示する画面中で第１表示コマンドに含まれる位置情報で特定される位置に、第１表示コマンドに含まれる部品特定情報で特定される部品を配置することによって機能別画面を生成する。
【００６６】
設定画面表示部５７は、機能別画面生成部７５により生成された機能別画面を、共通コマンド取得部５１から入力される領域情報で定められた位置に配置されるように、表示部２０６に表示することによってタブ画面を表示する。したがって、タブ画面は、タブ画面に対応する第１表示コマンドが単数の場合、機能別画面生成部７５によって第１表示コマンドに従って生成される１つの機能別画面を含む。また、タブ画面は、タブ画面に対応する第１表示コマンドが複数の場合、機能別画面生成部７５によって複数の第１表示コマンドに従って生成される複数の機能別画面を含む。ここで、設定画面表示部５７によってタブ画面が表示されている場合、ユーザーが操作部２０７からタブ画面に含まれる１以上の機能別画面それぞれに設定値を入力可能な状態である。以下、設定画面表示部５７によって表示部２０６に表示されている１以上の機能別画面の状態をカレント状態という。
【００６７】
設定画面表示部５７は、表示部２０６に１以上の機能別画面を表示する場合、表示されている１以上の機能別画面を設定値受付部５９に出力する。
【００６８】
さらに、設定画面表示部５７は、タブ画面に対応する第２表示コマンドが存在する場合、第２表示コマンドによって生成される機能別画面を呼び出すための指示ボタンを表示部２０６に表示することによって、機能別画面を呼び出すための指示ボタンを含むタブ画面を表示する。機能別画面生成部７５は、設定画面表示部５７により表示されたタブ画面に含まれる指示ボタンがユーザーにより指示されると、指示ボタンに対応する第２表示コマンドに従って機能別画面を生成する。設定画面表示部５７は、生成された機能別画面を表示部２０６に表示するとともに、機能別画面を設定値受付部５９に出力する。設定画面表示部５７が指示ボタンと含むタブ画面を表示している段階では、タブ画面に含まれる１以上の機能別画面がカレント状態である。また、指示ボタンがユーザーにより指示され、設定画面表示部５７によって指示ボタンに対応する機能別画面が表示された後は、指示ボタンに対応する機能画面がカレント状態となり、タブ画面に含まれる１以上の機能別画面はカレント状態ではなくなる。
【００６９】
このように、機能定義データ９３は表示コマンドを含むので、ＭＦＰ１００に新たな機能が追加されて、新たなプリントコマンドが追加される場合であっても、機能定義データ９３に新たな表示コマンドと設定値に対応するプリントコマンドとを追加すればよい。このため、プリンタードライバープログラム自体を変更する必要がない。また、機能定義データ９３は、ＸＭＬ等のマックアップ言語、Ｃ言語などのプログラム言語で記載されるので、変更が容易である。
【００７０】
設定値受付部５９は、ＰＣ２００を操作するユーザーが、機能別画面に従って操作部２０７に入力する設定値を、機能別画面に対応する機能に対して設定された設定値として受け付ける。設定値受付部５９は、機能別画面に対応する機能を識別するための機能識別情報と、受け付けられた設定値との組をコマンド生成部６３に出力する。
【００７１】
設定値受付部５９は、画面判断部８１と、連動設定部８３と、受付制限部８５と、を含む。画面判断部８１は、設定画面表示部５７によって１以上の機能別画面が表示されている状態で、ユーザーにより第１の設定値が入力された段階で、入力された第１の設定値が禁則条件を満たすか否かを判断する。画面判断部８１は、ユーザーによって入力された第１の設定値が、機能間定義データ９５によって設定することのできない値として定められている場合に禁則条件を満たすと判断する。具体的には、画面判断部８１は、ユーザーによって入力された第１の設定値と、第１の設定値に対応する第１の機能とを含む機能間定義データを抽出し、抽出された機能間定義データによって、第１の機能および第１の設定値の組と対になる第２の機能および第２の設定値の組を特定する。そして、第２の機能に対して第２の設定値が設定されているならば、禁則条件を満たすと判断する。
【００７２】
画面判断部８１は、禁則条件を満たすと判断する場合、抽出された機能間定義データによって定まる第１の機能および第２の機能にそれぞれ対応する第１の機能別画面および第２の機能別画面が、設定画面表示部５７によって表示されているか否かを判断する。画面判断部８１は、第１の機能別画面および第２の機能別画面を含むタブ画面が設定画面表示部５７によって表示されている場合、換言すれば、第１の機能別画面および第２の機能別画面がともにカレント状態の場合、連動設定部８３に設定指示を出力する。また、画面判断部８１は、第１の機能別画面および第２の機能別画面を含むタブ画面が設定画面表示部５７によって表示されていない場合、換言すれば、第１の機能別画面および第２の機能別画面のいずれか一方がカレント状態で他方がカレント状態でない場合、受付制限部８５に制限指示を出力する。
【００７３】
さらに、画面判断部８１は、禁則条件を満たすと判断する場合、表示指示を警告部６７に出力する。表示指示は、抽出された機能間定義データによって定まる第１の機能および第２の機能にそれぞれ対応する第１の機能別画面および第２の機能別画面が、設定画面表示部５７によって表示されているか否かを示す判断結果を含む。
【００７４】
警告部６７は、画面判断部８１から表示指示が入力されることに応じて、ユーザーにより入力された設定値が、別の機能に設定されている設定値とともに設定することのできないことを、ユーザーに通知する。警告部６７は、メッセージ表示部８７を含む。メッセージ表示部８７は、画面判断部８１から表示指示が入力される場合、ＨＤＤ２０５に記憶されている動作定義データ９７を読み出し、動作定義データ９７により定められる禁則メッセージを表示部２０６に表示する。
【００７５】
ここで、ＨＤＤ２０５に図１０に示した動作定義データ９７Ａが記憶されている場合を例に説明する。メッセージ表示部８７は、表示指示に含まれる判断結果が、第１の機能別画面および第２の機能別画面が、設定画面表示部５７によって表示されていることを示す場合、動作定義データ９７Ａにより記述されたメッセージ表示コマンド「Ｃｈａｎａｇｅｍｅｓｓａｇｅ，Ｍｅｓｓａｇｅ１」に従って、「Ｍｅｓｓａｇｅ１」で特定される禁則メッセージを表示部２０６に表示する。メッセージ表示部８７は、表示指示に含まれる判断結果が、第１の機能別画面および第２の機能別画面が、設定画面表示部５７によって表示されていないことを示す場合、動作定義データ９７Ａにより記述されたメッセージ表示コマンド「Ｇｒａｙｏｕｔ，Ｉｎｆｏｒｍａｔｉｏｎ１」に従って、「Ｉｎｆｏｒｍａｔｉｏｎ１」で定まる禁則メッセージを、グレーで表示部２０６に表示する。
【００７６】
連動設定部８３に画面判断部８１から設定指示が入力される場合は、設定画面表示部５７によって機能間定義データ９５によって定められた第１の機能および第２の機能にそれぞれに対応する第１の機能別画面および２の機能別画面が表示されている状態で、ユーザーにより第１の機能に対応する第１の設定値が入力された段階、または、ユーザーにより第２の機能に対応する第２の設定値が入力された段階である。前者の場合には、第１の設定値が入力される段階で、機能間定義データ９５によって第１の機能に対する第１の設定値とともに設定することのできないと定められている第２の機能に対する第２の設定値が第２の機能に対して設定されている。後者の場合には、第２の設定値が入力された段階で、機能間定義データ９５によって第２の機能に対する第２の設定値とともに設定することのできないと定められている第１の機能に対する第１の設定値が設定されている。
【００７７】
連動設定部８３は、前者の場合、第１の設定値が入力される段階で、第２の機能に対して設定されている第２の設定値を、第２の設定値とは異なる設定値に変更する。変更する値は、第２の機能に対して設定可能な設定値が２つの場合には、第２の設定値とは別の設定値とすればよい。また、第２の機能に対して設定可能な設定値が３つ以上の場合には、第２の機能に対して設定可能な３つ以上の設定値のうちで、第２の設定値とは異なる任意の設定値とすればよい。また、ユーザーが入力する設定値としてもよい。
【００７８】
また、連動設定部８３は、メッセージ表示部８７によって禁則メッセージが表示された後に、ユーザーが第２の機能に対応する第２の設定値を変更する許可を入力することを条件に、第２の設定値を変更する。連動設定部８３は、メッセージ表示部８７によって禁則メッセージが表示された後に、ユーザーが第２の機能に対応する第２の設定値を変更する許可を入力しない場合には、第２の設定値を変更することなく、第１の機能に対応して、ユーザーにより入力された第１の設定値を設定しない。
【００７９】
連動設定部８３は、後者の場合、第２の設定値が入力される段階で、第１の機能に対して設定されている第１の設定値を、第１の設定値とは異なる設定値に変更する。変更する値は、第１の機能に対して設定可能な設定値が２つの場合には、第１の設定値とは別の設定値とすればよい。また、第１の機能に対して設定可能な設定値が３つ以上の場合には、第１の機能に対して設定可能な３つ以上の設定値のうちで、第１の設定値とは異なる任意の設定値とすればよい。また、ユーザーが入力する設定値としてもよい。
【００８０】
また、連動設定部８３は、メッセージ表示部８７によって禁則メッセージが表示された後に、ユーザーが第１の機能に対応する第１の設定値を変更する許可を入力することを条件に、第１の設定値を変更する。連動設定部８３は、メッセージ表示部８７によって禁則メッセージが表示された後に、ユーザーが第１の機能に対応する第１の設定値を変更する許可を入力しない場合には、第１の設定値を変更することなく、第２の機能に対応して、ユーザーにより入力された第２の設定値を設定しない。
【００８１】
受付制限部８５に画面判断部８１から制限指示が入力される場合は、設定画面表示部５７によって機能間定義データ９５によって定められた第１の機能に対応する第１の機能別画面が表示され、かつ、第２の機能に対応する第２の機能別画面が表示されていない状態で、ユーザーにより第１の機能に対応する第１の設定値が入力された場合、または、設定画面表示部５７によって機能間定義データ９５によって定められた第２の機能に対応する第２の機能別画面が表示され、かつ第１の機能に対応する第１の機能別画面が表示されていない状態で、ユーザーにより第２の機能に対応する第２の設定値が入力された場合である。さらに、前者の場合には、第１の設定値が入力される段階で、機能間定義データ９５によって第１の機能に対する第１の設定値とともに設定することのできないと定められている第２の機能に対する第２の設定値が第２の機能に対して設定されている。後者の場合には、第２の設定値が入力された段階で、機能間定義データ９５によって第２の機能に対する第２の設定値とともに設定することのできないと定められている第１の機能に対する第１の設定値が設定されている。
【００８２】
受付制限部８５は、前者の場合、第１の設定値が入力される段階で、第１の機能に対応して、ユーザーにより入力された第１の設定値を設定しない。また、受付制限部８５は、後者の場合、第２の設定値が入力される段階で、ユーザーにより入力された第２の設定値を設定しない。
【００８３】
プリントコマンド取得部６１は、ＨＤＤ２０５に記憶された機能定義データ９３を読出し、機能定義データ９３に含まれる複数の機能ごとの１以上のプリントコマンドを、コマンド生成部６３に出力する。
【００８４】
コマンド生成部６３は、選択部７１を含む。選択部７１は、設定値受付部５９から入力される機能識別情報と設定値との組に基づいて、複数の機能ごとの１以上のプリントコマンドのうちから１つのプリントコマンドを選択する。具体的には、選択部７１は、プリントコマンド取得部６１から入力される、複数の機能ごとの１以上のプリントコマンドのうちから、設定値受付部５９から入力される機能識別情報と設定値との組の機能識別情報で特定される機能に対応する１以上のプリントコマンドを抽出する。そして、選択部７１は、抽出された１以上のプリントコマンドのうちから、設定値受付部５９から入力される機能識別情報と設定値との組の設定値に対応する１つのプリントコマンドを選択する。
【００８５】
ＭＦＰ１００に新たな機能が追加されて、新たなプリントコマンドが追加される場合であっても、機能定義データ９３に新たなプリントコマンドを追加すればよい。このため、プリンタードライバープログラム自体を変更する必要がない。また、機能定義データ９３は、ＸＭＬ等のマックアップ言語、Ｃ言語などのプログラム言語で記載されるので、変更が容易である。
【００８６】
コマンド生成部６３は、選択部７１により選択されたプリントコマンドをコマンド送信部６５に出力する。コマンド送信部６５は、コマンド生成部６３から入力される１以上のプリントコマンドを、プリントデータとともにネットワークＩ／Ｆ２０４を介してＭＦＰ１００に送信する。
【００８７】
図１３は、表示画面の一例を示す図である。なお、図中の点線は説明のために付したもので、実際には存在しない。図１３を参照して、表示画面３００は、共通画面の領域３０１と、タブ選択画面の領域３０３と、タブ画面の領域３０５と、を含む。領域３０１に表示される共通画面は、印刷対象のデータの画像をプレビュー表示する領域と、印刷の文字が表されたボタンとを含む。領域３０３に表示されるタブ選択画面は、対応するタブ画面の名称を含み、選択可能な５つのタブの画像が配列される。ここでは、タブ画面の名称「ステープル」のタブ画面が選択されている場合を例に示している。領域３０５に表示されるタブ画面は、名称「ステープル」のタブ画面に関連付けられた機能定義データに基づいて生成される機能別画面を含む。
【００８８】
ここで、第１の具体例として、ＨＤＤ２０５に記憶された機能定義データ９３のうち、同一のタブ画面に関連付けた機能定義データとして、図６に示したパンチ穴加工処理の機能に対応する機能定義データ９３Ａと、図７に示したステープル加工処理の機能に対応する機能定義データ９３Ｂとが含まれる場合のタブ画面を例に説明する。機能別画面生成部７５は、パンチ穴加工処理の機能に対応するチェックボックスを含む機能別画面と、ステープル加工処理の機能に対応するチェックボックスを含む機能別画面と、を生成することによって、それらを含むタブ画面を生成する。設定画面表示部５７は、機能別画面生成部７５により生成されたタブ画面を、共通コマンド取得部５１から入力される領域情報で定められた位置に配置されるように、表示部２０６に表示するとともに、２つの機能別画面を設定値受付部５９に出力する。
【００８９】
図１４は、機能別画面の一例を示す第１の図である。図１４に示す機能別画面は、図６に示した機能定義データに含まれる第１表示コマンドおよび図７に示した機能定義データに含まれる第１表示コマンドが実行されることにより表示される画面を示している。図１４を参照して、機能別画面３１１は、チェックボックス３１３と「パンチ」の文字列の組と、チェックボックス３１５と「ステープル」の文字列との組とを含む。機能別画面３１１がカレント状態の場合、チェックボックス３１３，３１５それぞれがチェック可能である。
【００９０】
図１４に示す機能別画面がカレント状態において、チェックボックス３１３にチェックが付された状態で、チェックボックス３１５にチェックを付す指示をすると、図９に示した機能間定義データが検索され、図１０に示した動作定義テーブルに従って、禁則メッセージが表示される。
【００９１】
図１５は、禁則メッセージを表示する画面の一例を示す第１の図である。図１５を参照して、画面３４０は、図１１に示した「Ｍｅｓｓａｇｅ１」である「パンチをＯＦＦにしますか？」の禁則メッセージを含む。画面３４０は、図１４に示した機能別画面３１１に重畳して表示される。
【００９２】
次に、第２の具体例として、ＨＤＤ２０５に記憶された機能定義データ９３のうち、同一のタブ画面に関連付けた機能定義データとして、図６に示したパンチ穴加工処理の機能に対応する機能定義データ９３Ａと、図８に示したステープル加工処理の機能に対応する機能定義データ９３Ｃとが、含まれる場合のタブ画面を例に説明する。機能別画面生成部７５は、パンチ穴加工処理の機能に対応するチェックボックスを含む機能別画面を生成し、その機能別画面と、ステープル加工処理の機能に対応するチェックボックスを含む機能別画面を呼び出すための指示ボタンと、を含むタブ画面を生成する。設定画面表示部５７は、機能別画面生成部７５により生成されたタブ画面を、共通コマンド取得部５１から入力される領域情報で定められた位置に配置されるように、表示部２０６に表示するとともに、パンチ穴加工処理の機能に対応するチェックボックスを含む機能設定画面を設定値受付部５９に出力する。そして、機能別画面生成部７５は、表示部２０６に表示されたタブ画面の指示ボタンがユーザーにより指示されると、ステープル加工処理の機能に対応するチェックボックスを含む機能別画面を生成し、機能画面表示部５７は生成された機能別画面を表示部２０６に表示するとともに、ステープル加工処理の機能に対応するチェックボックスを含む機能別画面を設定値受付部５９に出力する。
【００９３】
図１６は、機能別画面の一例を示す第２の図である。図１６に示す機能別画面は、図６に示した機能定義データに含まれる第１表示コマンドおよび図８に示した機能定義データに含まれる第２表示コマンドが実行されることにより表示される画面を示している。図１３を参照して、機能別画面３２１は、チェックボックス３２３と「パンチ」の文字列の組と、「ステープル」の文字が表された指示ボタン３２５とを含む。指示ボタン３２５は、図８に示した機能定義データに含まれる第２表示コマンドと関連付けられている。機能別画面３２１かカレント状態の場合、チェックボックス３３３はチェック可能であり、指示ボタン３２５は指示可能な状態である。
【００９４】
図１７は、機能別画面の一例を示す第３の図である。図１７に示す機能別画面は、図１６に示した機能別画面３２１において指示ボタン３２５がユーザーにより指示されることに応じて、図８に示した機能定義データに含まれる第２表示コマンドが実行されることによりポップアップ表示される画面である。図１４を参照して、機能別画面３３１は、チェックボックス３３３と「ステープル」の文字列の組を含む。機能別画面３３１は、図１６に示した機能別画面３２１に重畳して表示される。機能別画面３３１はカレント状態であり、チェックボックス３３３がチェック可能であるのに対して、機能別画面３２１はカレント状態でなく、チェックボックス３２３はチェック不可能である。
【００９５】
図１８は、禁則メッセージを表示する画面の一例を示す第２の図である。図１８を参照して、画面３５０は、図１２に示した「Ｉｎｆｏｒｍａｔｉｏｎ１」である「パンチと禁則です。」の禁則メッセージを含む。画面３５０は、図１７に示した機能別画面３３１に重畳して表示される。
【００９６】
図１９は、設定処理の流れの一例を示すフローチャートである。設定処理は、ＰＣ２００が備えるＣＰＵ２０１が、ＲＯＭ２０２、ＨＤＤ２０５またはＣＤ−ＲＯＭ２０９Ａに記憶された、ＭＦＰ１００に対応するプリンタードライバープログラムを実行することにより、ＣＰＵ２０１により実行される処理である。図１９を参照して、ＣＰＵ２０１は、ＨＤＤ２０５から共通定義データ９１を読み出す（ステップＳ０１）。そして、共通コマンドを取得する（ステップＳ０２）。読み出された共通定義データから共通コマンドを抽出する。そして、取得された共通コマンドに従って共通画面を生成し、生成された共通画面を表示部２０６に表示する（ステップＳ０３）。
【００９７】
次のステップＳ０４においては、ＨＤＤ２０５から機能定義データ９３を読み出す。そして、複数の機能ごとの表示コマンドに基づいて、タブ選択画面を生成し、表示する（ステップＳ０５）。タブ選択画面は、機能定義データ９３に含まれる複数の機能ごとの表示コマンドに基づいて複数のタブ画面を特定し、特定された複数のタブ画面を選択可能な画面である。タブ選択画面は、複数のタブ画面それぞれの名称を含む画像であって、タブ画面の名称を選択可能に配列した画面である。生成されたタブ選択画面を、ステップＳ０１において読み出された共通定義データに含まれる領域情報によって定められた位置に配置されるように、表示部２０６に表示する。
【００９８】
次のステップＳ０６においては、タブ画面を選択する。ステップＳ０５において特定された複数のタブ画面のうちから、処理対象となるタブ画面として任意の１つを選択する。ここでは、最初のタブ画面を選択するようにしている。そして、ステップＳ０４において読み出された機能定義データ９３に含まれる複数の機能ごとの表示コマンドのうちから、処理対象のタブ画面に対応する表示コマンドを取得する（ステップＳ０７）。１つのタブ画面に１以上の表示コマンドが予め割り当てられているので、処理対象のタブ画面に割り当てられたすべての表示コマンドを取得する。
【００９９】
次のステップＳ０８においては、ステップＳ０７において取得された１以上の表示コマンドのうちから１つを処理対象に選択し、処理対象の表示コマンドの種類によって処理を分岐させる。処理対象の表示コマンドが第１表示コマンドならば処理をステップＳ０９に進め、第２表示コマンドならば処理をステップＳ１１に進める。ステップＳ０９においては、処理対象の第１表示コマンドに従って機能別画面を生成する。したがって、ステップＳ０９において生成される機能別画面は、処理対象のタブ画面に対応する。具体的には、表示部２０６に表示する画面中で処理対象の第１表示コマンドに含まれる位置情報で特定される位置に、第１表示コマンドに含まれる部品特定情報で特定される部品を配置することによって機能別画面を生成する。  次のステップＳ１０においては、表示部２０６に機能別画面を表示し、処理をステップＳ１３に進める。機能別画面を表示する位置は、ステップＳ０１において読み出された共通定義データに含まれる領域情報によって定められた位置である。
【０１００】
一方、ステップＳ１１においては、処理対象の第２表示コマンドに従って指示ボタンを生成する。したがって、ステップＳ１１において生成される指示ボタンは、処理対象のタブ画面に対応する。具体的には、表示部２０６に表示する画面中に第２表示コマンドに対応する機能別画面を呼び出すための指示ボタンを生成する。ステップＳ１２においては、表示部２０６に指示ボタンを表示し、処理をステップＳ１３に進める。指示ボタンを表示する位置は、ステップＳ０１において読み出された共通定義データに含まれる領域情報によって定められた位置である。
【０１０１】
ステップＳ１３においては、ステップＳ０７において取得された１以上の表示コマンドのうちで処理対象に選択されていない表示コマンドが存在するか否かを判断する。処理対象に選択されていない表示コマンドが存在するならば処理をステップＳ０８に戻し、そうでなければ処理をステップＳ１４に進める。１つのタブ画面に複数の表示コマンドが割り当てられている場合があり、複数の表示コマンドそれぞれを処理対象として、ステップＳ０８〜ステップＳ１２の処理を実行するためである。
【０１０２】
また、１つのタブ画面に複数の第１表示コマンドが割り当てられている場合、複数の第１表示コマンドそれぞれに対応する複数の機能別画面がカレント状態となる。一方、タブ画面に第２表示コマンドが割り当てられている場合、タブ画面に指示ボタンが表示されるが、タブ画面が表示された状態では、第２表示コマンドに対応する機能別画面は表示されていないのでカレント状態ではない。
【０１０３】
ステップＳ１４においては、操作を受け付けたか否かを判断する。ユーザーが操作部２０７に操作を入力するまで待機状態となり（ステップＳ１４でＮＯ）、操作部２０７に入力される操作を検出すると（ステップＳ１４でＹＥＳ）、処理をステップＳ１５に進める。ステップＳ１５においては、受け付けられた操作に基づいて処理を分岐させる。操作がプリントを指示する操作ならば処理をステップＳ１６に進め、タブ画面を切り換える操作ならば処理をステップＳ１７進め、設定値を入力する操作ならば処理をステップＳ１８に進め、指示ボタンを指示する操作ならば処理をステップＳ１９に進める。
【０１０４】
ステップＳ１６においては、プリントジョブ生成処理を実行し、処理を終了する。プリントジョブ生成処理の詳細は後述する。ステップＳ１７においては、ステップＳ１４において受け付けられた操作により特定されるタブ画面を処理対象に設定し、処理をステップＳ０７に戻す。ステップＳ１８においては、設定値設定処理を実行し、処理をステップＳ１４に戻す。
【０１０５】
ステップＳ１９においては、ステップＳ１４において受け付けられた操作により特定される指示ボタンに対応する第２表示コマンドに従って機能別画面を生成する。したがって、ステップＳ１９において生成される機能別画面は、処理対象のタブ画面に対応する。具体的には、表示部２０６に表示する画面中で処理対象の第２表示コマンドに含まれる位置情報で特定される位置に、第２表示コマンドに含まれる部品特定情報で特定される部品を配置することによって機能別画面を生成する。
【０１０６】
次のステップＳ２０においては、表示部２０６に機能別画面を表示し、処理をステップＳ１４に戻す。機能別画面を表示する位置は、ステップＳ０１において読み出された共通定義データに含まれる領域情報によって定められた位置である。ステップＳ２０において、第２表示コマンドに対応する機能別画面が表示される段階では、第２表示コマンドに対応する機能別画面がカレント状態となり、それまで表示されていたタブ画面に含まれる１以上の第１表示コマンドに対応する１以上の機能別画面はカレント状態でなくなる。
【０１０７】
図２０は、設定値設定処理の流れの一例を示すフローチャートである。設定値設定処理は、図１９のステップＳ１８において実行される処理である。図２０を参照して、ユーザーが操作部２０７に入力する設定値を受け付ける（ステップＳ２１）。カレント状態の機能別画面に入力される設定値を受け付ける。そして、受け付けられた設定値を、第１の機能の第１の設定値としてＲＡＭ２０３に一時記憶する。この段階においては、第１の設定値は、第１の機能に対して設定されていない。
【０１０８】
次のステップＳ２３においては、ＨＤＤ２０５に記憶されている機能間定義データ９５を検索する。検索のキーは、カレント状態の機能別画面に対応する機能の機能識別情報およびステップＳ２１において受け付けられた設定値である。そして、機能間定義データが抽出されたか否かを判断する（ステップＳ２４）。カレント状態の機能別画面に対応する機能の機能識別情報およびステップＳ２１において受け付けられた設定値を含む機能間定義データ９５が存在するならば、処理をステップＳ２５に進めるが、存在しなければ処理をステップＳ３４に進める。ステップＳ２５においては、第２の機能の第２の設定値を取得する。ステップＳ２３において抽出された機能間定義データ９５において、カレント状態の機能別画面に対応する機能の機能識別情報およびステップＳ２１において受け付けられた設定値の組と対になる機能識別情報および設定値の組を、第２の機能の第２の設定値として取得する。
【０１０９】
ステップＳ２６においては、ステップＳ２１において受け付けられた第１の設定値の設定が制限されているか否かを判断する。ステップＳ２５において取得された第２の設定値と同じ値が、第２の機能に対して設定されているならば、第１の設定値の設定が制限されていると判断し、第２の設定値と異なる値が、第２の機能に対して設定されているならば、第１の設定値の設定が制限されていないと判断する。第１の設定値の設定が制限されていると判断する場合は処理をステップＳ２７に進めるが、そうでなければ処理をステップＳ３４に進める。ステップＳ３４においては、ステップＳ２２において一時記憶された第１の設定値を、第１の機能に対する設定値に設定し、処理を設定処理に戻す。
【０１１０】
ステップＳ２７においては、ＨＤＤ２０５に記憶されている動作定義データ９７を読み出す。そして、第２の機能の機能別画面がカレント状態か否かを判断する（ステップＳ２８）。第２の機能の機能別画面がカレント状態ならば処理をステップＳ２９に進めるが、そうでなければ処理をステップＳ３３に進める。ステップＳ２９においては、動作定義データ９７に従って、カレント状態時の禁則メッセージを表示部２０６に表示し、処理をステップＳ３０に進める。カレント状態時の禁則メッセージは、動作定義データ９７によって定められている。カレント状態時の禁則メッセージは、たとえば、第２の機能に対して設定されている第２の設定値を、別の値に変更することをユーザーに通知するメッセージである。ユーザーが第１の機能に第１の設定値を入力した段階で、第２の機能の第２の設定値が変更されることをユーザーに通知するためである。
【０１１１】
次のステップＳ３０においては、ユーザーによる許可を受け付けたか否かを判断する。操作部２０７に含まれる許可する指示が予め割り当てられたキーが指示される場合、ユーザーによる許可を受け付ける。ユーザーは、カレント状態時の禁則メッセージに応答して、許可する指示が予め割り当てられたキーを指示する操作をすることによって、許可することができる。ユーザーによる許可を受け付けたならば処理をステップＳ３１に進めるが、そうでなければ処理を設定処理に戻す。
【０１１２】
ステップＳ３１においては、ステップＳ２２において一時記憶された第１の設定値を、第１の機能に対する設定値に設定し、処理をステップＳ３２に進める。ステップＳ３２においては、第２の機能に対して設定されている第２の設定値を、別の値に変更し、処理を、設定処理に戻す。たとえば、第２の機能に対して設定可能な設定値が２つの場合には、２つの設定値のうち第２の設定値とは別の設定値に変更する。また、第２の機能に対して設定可能な設定値が３つ以上の場合には、３つ以上の設定値のうち第２の設定値とは別の任意の設定値に変更する。
【０１１３】
ステップＳ３３においては、動作定義データ９７に従って、非カレント状態時の禁則メッセージを表示部２０６にグレーで表示し、処理を設定処理に戻す。非カレント状態時の禁則メッセージは、動作定義データ９７によって定められている。非カレント状態時の禁則メッセージは、たとえば、第２の機能に対して設定されている第２の設定値を変更しなければ、第１の機能に対して第１の設定値を設定することができないことをユーザーに通知するメッセージである。ユーザーに、第２の機能に設定されている第２の設定値の変更をユーザーに要求するためである。また、非カレント状態時の禁則メッセージが表示部２０６に表示された後に、処理が設定処理に戻るので、ステップＳ２１において受け付けられた第１の機能に対応する第１の設定値は設定されず、第２の機能に対して設定されている第２の設定値は設定されたままである。
【０１１４】
図２１は、プリントジョブ生成処理の流れの一例を示すフローチャートである。プリントジョブ生成処理は、図１９のステップＳ１６において実行される処理である。図２１を参照して、ＣＰＵ２０１は、ＲＡＭ２０３に記憶されている機能識別情報と設定値との組をすべて読み出す（ステップＳ４１）。そして、読み出された機能識別情報と設定値との組のうちから１つを処理対象に選択する（ステップＳ４２）。そして、プリントコマンドを選択し（ステップＳ４３）、ＲＡＭ２０３に記憶する。ＨＤＤ２０５に記憶されている機能定義データ９３のうちから、処理対象に選択された機能に対応する１以上のプリントコマンドを抽出し、抽出された１以上のプリントコマンドのうちから処理対象に設定されている設定値に対応するプリントコマンドを選択する。
【０１１５】
ステップＳ４４においては、ステップＳ４１において読み出された機能識別情報と設定値との組のうち未だ処理対象に設定していない組が存在するか否かを判断する。未処理の組が存在するならば処理をステップＳ４２に戻すが、存在しなければ処理をステップＳ４５に進める。
【０１１６】
ステップＳ４５においては、プリントジョブを生成する。ＲＡＭ２０３に記憶されているプリントコマンドのすべてと、処理対象となるデータとを含むプリントジョブを生成する。そして、生成されたプリントジョブを、ネットワークＩ／Ｆ２０４を介してＭＦＰ１００に送信し（ステップＳ４６）、処理を設定処理に戻す。
【０１１７】
以上説明したように本実施の形態におけるＰＣ２００は、画像処理装置の一例であるＭＦＰ１００に対応するプリンタードライバープログラムがインストールされることにより、ＭＦＰ１００が有する複数の機能ごとに、当該機能に対応する表示コマンドと、当該機能を画像処理装置に実行させるための１以上のプリントコマンドとを定めた機能定義データをＨＤＤ２０５に記憶される。そして、ＰＣ２００は、複数の機能のうちから機能がユーザーにより選択されると、選択された機能に対応する表示コマンドに従って設定値を設定するための機能別画面を表示する。さらに、表示された機能別画面に従ってユーザーにより設定値が入力されると、機能定義データ９３で定められる１以上のプリントコマンドのうちから機能別画面に対応する機能と、その機能に対して設定された設定値とに対応する１つのプリントコマンドを選択することによって、ＭＦＰ１００に実行させるためのプリントコマンドを生成する。このため、ＭＦＰ１００に新たな機能が追加される場合に、機能定義データに、追加された機能に対応する表示コマンドと１以上のプリントコマンドとを追加すればよい。このため、プリンタードライバープログラムを変更する必要がないので、新たな機能が追加される画像処理装置を制御するための変更を容易にすることができる。また、機能定義データ９３は、ＸＭＬ等のマックアップ言語、Ｃ言語などのプログラム言語で記載されるので、変更が容易である。
【０１１８】
また、機能定義データを、複数の機能ごとに、当該機能に対応する表示コマンドを定めた表示用機能定義データと、複数の機能ごとに、当該機能を画像処理装置に実行させるための１以上のプリントコマンドを定めたプリント用機能定義データと、に分けて記憶するようにしてもよい。
【０１１９】
また、表示コマンドは、表示部２０６に表示される画像中の位置を示す位置情報と、表示する部品を特定する部品特定情報とを含むので、表示コマンドを容易に生成することができ、機能別画面の生成が容易となる。また、機能別画面のレイアウトを、表示コマンドで決定することができる。
【０１２０】
また、２以上の関連機能において、２以上の関連機能のうち第１の関連機能に対して設定される設定値と、第２の関連機能に設定することが可能な設定値との組を定める機能間定義データ９５をＨＤＤ２０５に記憶するので、第２の関連機能に対応して設定することが可能な設定値を制限することができる。このため、機能間定義データを記憶させるだけで、設定することのできない設定値の組み合わせで設定されないようにすることができる。
【０１２１】
また、第１関連機能に対応して第１の設定値が受け付けられる場合、第２関連機能に対して受け付け可能な設定値を第２設定値に制限するので、機能間定義データ９５を記憶させるだけで、設定することが可能な設定値のみが設定されるようにすることができる。また、第１関連機能に対応して第１の設定値が受け付けられる場合、第２関連機能に対して第２設定値を自動的に設定するので、設定が容易となる。
【０１２２】
また、プリントコマンドが、複数の機能のうち第１の特定機能と第２の特定機能とに対応する場合、第１の特定機能に対して受け付けられた設定値に対応する第１のプリントコマンドと、第２の特定機能に対して受け付けられた設定値に対応する第２のプリントコマンドと、を合成する。このため、ＭＦＰ１００に追加される機能に対応するプリントコマンドが、複数の機能に対応する１種類のプリントコマンドの場合に対応することができる。
【０１２３】
また、ＨＤＤ２０５に、共通画面を表示するための共通コマンドを定める共通定義データ９１を記憶するので、ＭＦＰ１００の機能に関連しない部分の表示を容易に変更することができる。さらに、共通コマンドは、共通画面中に機能別画面を表示する領域を指定する領域情報を含むので、機能別画面の表示位置が共通コマンドによって定められ、複数の機能ごとに機能別画面が異なる場合であっても統一の取れた画面を表示することができる。
【０１２４】
なお、上述した実施の形態においては、プリントシステム１について説明したが、図１９〜図２１に示した処理をＰＣ２００，２００Ａ，２００Ｂ，２００Ｃ，２００Ｄに実行させる設定方法またはプリンタードライバープログラムとして発明を捉えることができるのは言うまでもない。
【０１２５】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【０１２６】
＜付記＞
（１）  前記連動設定手段は、前記第１関連機能に対して設定値が受け付けられた後、ユーザーによる許可を受け付けることを条件に、前記第２関連機能に対して設定されている設定値を前記機能間定義データによって定められた設定値とは異なる設定値を前記第２関連機能に対して設定する、請求項２に記載の制御装置。
（２）前記第１の警告メッセージは、前記第２関連機能に対して設定された設定値が変更されたことを通知するメッセージである、請求項３に記載の制御装置。
（３）前記第２の警告メッセージは、前記第２関連機能に対して設定された設定値の変更を要求するメッセージである、請求項５に記載の制御装置。
（４）  前記複数の機能ごとに、当該機能に対応する表示コマンドと、当該機能を前記画像処理装置に実行させるための１以上のプリントコマンドとを定めた機能定義データを記憶する機能定義データ記憶手段を、さらに備え、
前記表示コマンド取得手段は、前記機能別画面表示手段により前記機能別画面が生成される場合、当該機能別画面に対応する機能に対応する機能定義データのうちから前記表示コマンドを取得し、
前記プリントコマンド取得手段は、前記機能別画面表示手段により前記機能別画面が生成される場合、当該機能別画面に対応する機能に対応する機能定義データのうちから当該機能に対応する前記１以上のプリントコマンドを取得する、請求項１〜６、（１）〜（３）のいずれかに記載の制御装置。
（５）  前記機能定義データは、前記１以上のプリントコマンドそれぞれを設定値と対応付けており、
前記コマンド生成手段は、前記プリントコマンド取得手段により取得された前記１以上のプリントコマンドのうちから、前記機能ごとに受け付けられた前記設定値に対応するプリントコマンドを選択する選択手段を有する、（４）に記載の制御装置。
（６）  前記複数の機能ごとに、当該機能に対応する表示コマンドを定めた表示用機能定義データを記憶する表示用機能定義データ記憶手段と、
前記複数の機能ごとに、当該機能を前記画像処理装置に実行させるための１以上のプリントコマンドを定めたプリント用機能定義データを記憶するプリント用機能定義データ記憶手段と、をさらに備え、
前記表示コマンド取得手段は、前記機能別画面表示手段により前記機能別画面が生成される場合、当該機能別画面に対応する機能に対応する表示用機能定義データのうちから前記表示コマンドを取得し、
前記プリントコマンド取得手段は、前記機能別画面表示手段により前記機能別画面が生成される場合、当該機能別画面に対応する機能に対応するプリント用機能定義データのうちから当該機能に対応する前記１以上のプリントコマンドを取得する、請求項１〜６、（３）〜（５）のいずれかに記載の制御装置。
（７）  前記プリント用機能定義データは、前記１以上のプリントコマンドそれぞれを設定値と対応付けており、
前記コマンド生成手段は、前記プリントコマンド取得手段により取得された前記１以上のプリントコマンドのうちから、前記機能ごとに受け付けられた前記設定値に対応するプリントコマンドを選択する選択手段を有する、（６）に記載の制御装置。
（８）  画像を表示する表示手段を、さらに備え、
前記表示コマンドは、前記表示手段に表示される画像中の位置を示す位置情報と、表示する部品を特定する部品特定情報とを含み、
前記機能別画面表示手段は、前記取得された表示コマンドに含まれる前記位置情報で特定される位置に、前記取得された表示コマンドに含まれる前記部品特定情報で特定される部品を配置することによって前記機能別画面を生成する機能別画面生成手段を含む、請求項１〜６、（１）〜（７）のいずれかに記載の制御装置。
（９）  前記複数の機能に依存しない共通画面を表示するための共通コマンドを取得する共通コマンド取得手段と、
前記前記取得された共通コマンドに従って共通画面を生成し、表示する共通画面表示手段と、をさらに備えた請求項１〜６、（１）〜（８）のいずれかに記載の制御装置。
（１０）  前記共通コマンドは、前記共通画面中に前記機能別画面を表示する領域を指定するコマンドを含み、
前記機能別画面表示手段は、前記共通コマンドに従って前記機能別画面を表示する、（９）に記載の制御装置。
【符号の説明】
【０１２７】
１  プリントシステム、３  ネットワーク、１００  ＭＦＰ、２００，２００Ａ，２００Ｂ，２００Ｃ，２００Ｄ  ＰＣ、５１  共通コマンド取得部、５３  共通画面表示部、５５  表示コマンド取得部、５７  設定画面表示部、５７  機能画面表示部、５９  設定値受付部、６１  プリントコマンド取得部、６３  コマンド生成部、６５  コマンド送信部、６７  警告部、７１  選択部、７５  機能別画面生成部、８１  画面判断部、８３  連動設定部、８５  受付制限部、８７  メッセージ表示部、９１  共通定義データ、９３，９３Ａ，９３Ｂ，９３Ｃ  機能定義データ、９５  機能間定義データ、９７，９７Ａ  動作定義データ、１１０  メイン回路、１１１  ＣＰＵ、１１２  通信Ｉ／Ｆ部、１１３  ＲＯＭ、１１４  ＲＡＭ、１１５  ＥＥＰＲＯＭ、１１６  ＨＤＤ、１１７  ファクシミリ部、１１８  ネットワークＩ／Ｆ、１１９  外部記憶装置、１２１  自動原稿搬送装置、１２３  原稿読取部、１２５  画像形成部、１２７  給紙部、１２８  後処理部、１２９  操作パネル、１３１  表示部、１３３  操作部、１３５  タッチパネル、２０１  ＣＰＵ、２０２  ＲＯＭ、２０３  ＲＡＭ、２０４  ネットワークＩ／Ｆ、２０５  ＨＤＤ、２０６  表示部、２０７  操作部、２０８  バス、２０９  外部記憶装置、２０９Ａ  ＣＤ−ＲＯＭ。
【図１】
2014134951.tif 000003
【図２】
2014134951.tif 000004
【図３】
2014134951.tif 000005
【図４】
2014134951.tif 000006
【図５】
2014134951.tif 000007
【図６】
2014134951.tif 000008
【図７】
2014134951.tif 000009
【図８】
2014134951.tif 000010
【図９】
2014134951.tif 000011
【図１０】
2014134951.tif 000012
【図１１】
2014134951.tif 000013
【図１２】
2014134951.tif 000014
【図１３】
2014134951.tif 000015
【図１４】
2014134951.tif 000016
【図１５】
2014134951.tif 000017
【図１６】
2014134951.tif 000018
【図１７】
2014134951.tif 000019
【図１８】
2014134951.tif 000020
【図１９】
2014134951.tif 000021
【図２０】
2014134951.tif 000022
【図２１】
2014134951.tif 000023