情報処理装置および情報処理装置の制御方法およびプログラムおよび記録媒体
【課題】スケーリングにより限られた大きさの画面となった場合でも、該画面に複数含まれる表示しきれないボタンへの操作を容易にし、ディスプレイ領域の有効利用を可能とすること。
【解決手段】制御部102が、ウィンドウのサイズが変更された際に、該変更されたサイズとボタンのサイズとに基づいて、前記変更されたウィンドウに配置可能なボタンの数を算出し、該算出された数のボタンを前記ウィンドウ内に配置されるボタンから選択して前記ウィンドウ上に配置し、ボタンの初期配置情報に基づいて、前記配置されなかった1又は複数のボタンにそれぞれ対応付けられた1又は複数のサブボタンを、前記配置されたボタンに付加し、前記サブボタンに指示がなされると、該サブボタンが付加されたボタンを、該サブボタンに対応付けられた他のボタンに変更配置するように制御する構成を特徴とする。
【解決手段】制御部102が、ウィンドウのサイズが変更された際に、該変更されたサイズとボタンのサイズとに基づいて、前記変更されたウィンドウに配置可能なボタンの数を算出し、該算出された数のボタンを前記ウィンドウ内に配置されるボタンから選択して前記ウィンドウ上に配置し、ボタンの初期配置情報に基づいて、前記配置されなかった1又は複数のボタンにそれぞれ対応付けられた1又は複数のサブボタンを、前記配置されたボタンに付加し、前記サブボタンに指示がなされると、該サブボタンが付加されたボタンを、該サブボタンに対応付けられた他のボタンに変更配置するように制御する構成を特徴とする。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、表示手段に表示されるウィンドウ内に配置される1又は複数のボタンを指示手段により指示することによりボタンに対応付けられた操作の入力が可能な情報処理装置および情報処理装置の制御方法およびプログラムおよび記録媒体に関する。
【背景技術】
【0002】
現代、PDA・携帯電話・ポータブルPCなどの情報処理装置が市場に存在するが、これらのコンピュータは小型のものが一般的で、表示ディスプレイも領域の限られたものがほとんどである。また、デスクトップ型の大きな表示領域のディスプレイの場合でも、マルチウィンドウの操作により表示領域が限られてしまう場合がある。
【0003】
このように、限られたディスプレイ画面領域を有効に活用する技術が必要とされている。
【0004】
特許文献1には、スケーリングにより縮小されたアプリケーションウィンドウ(表示領域)にあわせて、全てのアイコンを縮小し表示する技術が提案されている。
【0005】
特許文献2には、アイコンに複数機能を含ませ、ユーザが代替動作を要求した際にアイコンの外観及び機能を変更することで、制限されたディスプレイ画面を有効利用できる技術が提案されている。
【特許文献1】特開2002−55807号公報
【特許文献2】特開2001−14079号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
しかし、特許文献1の技術では、表示領域のリサイズによりアイコンが縮小されるためアイコンの識別ができない場合があるという問題点があった。
【0007】
また、特許文献2の技術では、PDA等の予め定められた画面に予め定められたアイコンが表示される場合には適用可能であるが、リアルタイムの表示領域の変更にともない表示可能なアイコンの数も変化してしまう一般のウィンドウのアイコン表示には適用できないという問題点があった。
【0008】
本発明は、上記の問題点を解決するためになされたもので、本発明の目的は、スケーリングにより限られた大きさの画面となった場合でも、該画面に複数含まれる表示しきれないボタン(アイコン)への操作を容易にし、ディスプレイ領域の有効利用を可能とする仕組みを提供することである。
【課題を解決するための手段】
【0009】
本発明は、表示手段に表示されるウィンドウ内に配置される1又は複数のボタンを指示手段により指示することによりボタンに対応付けられた操作の入力が可能な情報処理装置であって、前記ウィンドウに初期配置される各ボタンのサイズ及び初期配置情報を取得し記憶手段に記憶させるデータベース作成手段と、前記ウィンドウのサイズが変更された際に、該変更されたウィンドウのサイズと前記記憶手段に記憶されたボタンのサイズとに基づいて、前記サイズ変更されたウィンドウに配置可能なボタンの数を算出する算出手段と、前記算出手段により算出された数のボタンを前記ウィンドウ内に配置されるボタンから選択して前記ウィンドウ上に配置する配置手段と、前記記憶手段に記憶されたボタンの初期配置情報に基づいて、前記配置手段により配置されなかった1又は複数のボタンにそれぞれ対応付けられた1又は複数のサブボタンを、前記配置手段により配置されたボタンに付加する第1の付加手段と、前記指示手段により前記サブボタンに第1の指示がなされると、該サブボタンが付加されたボタンを、該サブボタンに対応付けられた他のボタンに変更配置する変更手段と、を有することを特徴とする。
【発明の効果】
【0010】
本発明によれば、スケーリングにより限られた大きさのウィンドウとなった場合でも、該ウィンドウに複数含まれるボタンへの操作を容易にし、ディスプレイ領域の有効利用を可能にすることができる等の効果を奏する。
【発明を実施するための最良の形態】
【0011】
図1は、本発明の一実施形態を示す情報処理装置を適用可能なコンピュータシステムの一例を示すブロック図であり、(a)はコンピュータシステムの制御構成に対応し、(b)は、コンピュータシステムのハードウェア構成に対応する。
【0012】
図1(a)において、100はコンピュータシステムである。101は操作部であり、各種操作を行うためのものであり、例えばディスプレイ106に表示されるウィンドウのサイズを変更する操作や、上記ウィンドウ内に表示されるボタン等(後述するサブボタンへの指示も含む)を指示する操作等を行うためのものである。
【0013】
102は制御部であり、操作部101からの操作に応じて、コンピュータシステム100を統括制御する。103はボタン配置制御部であり、制御部102からの指示によりウィンドウに表示するボタンの位置と数を計算するとともにサブボタンを作成する。104は画面制御部であり、制御部102からの指示によりボタンをウィンドウに表示する。
【0014】
105はデータベースであり、後述する図9の基本ボタン情報データベース,隣接ボタン情報データベース等から構成され、上記ウィンドウに表示するボタンの情報を格納する。
【0015】
図1(b)において、110はCPUであり、コンピュータシステム100を統括制御する。111はRAM(Random Access Memory)であって、CPU110が実行するプログラムのワークエリアや一時的に保持するデータのバッファとして利用する。
【0016】
112はROM(Read Only Memory)であって、CPU110が実行するプログラムの保存等を行う。113は外部メモリであって、CPU110が実行する各種プログラムや各データの保持を行うものであり、具体的にはハードディスクドライブやDVDドライブ等である。
【0017】
114は入力装置であって、この装置を通じてCPU110にデータなどの入力を行うためのものであり、具体的には、キーボードやポインティングデバイス(マウス,タッチパネル等)等のである。
【0018】
115は通信インターフェースであって、LANなどの伝送路と端末とを接続する部分である。
【0019】
なお、図1(a)の操作部101は、入力装置114により構成される。また、制御部102,ボタン配置制御部103,画面制御部104は、CPU110が外部メモリ113に格納されるプログラムをRAM111上にロードして実行することにより実現される。また、データベース105は、外部メモリ113内に構築される。
【0020】
なお、本実施形態におけるボタンに関する制御は全て、図1に示した制御部102,ボタン配置制御部103,画面制御部104の制御(即ちCPU110が外部メモリ113に格納されるプログラムをRAM111上で実行しての制御)により行われるものとする。
【0021】
なお、コンピュータシステム100は、PDA、携帯電話等のモバイル機器であってもよい。
【0022】
以下、図2〜図8を用いて各種例を示し、本発明の情報処理装置で用いるサブボタン付きボタンについて説明する。
【0023】
図2は、本発明の情報処理装置で用いるサブボタン付き基本ボタンの一例を示す模式図である。なお、図2では、前提として、ウィンドウサイズ変更後のウィンドウはボタン1個分のサイズとした場合を考えるものとする。
【0024】
図2に示すように、ウィンドウサイズ変更前のウィンドウにボタンが、位置関係201に示すように存在しているものとする(なお、この位置関係を初期配置情報という)。そして、基本ボタンをボタン1(205)に設定した場合、ウィンドウサイズ変更後、そのウィンドウは202のように表示制御される。
【0025】
ウィンドウ202において、233は基本ボタンとしてのボタン1(205)に対応する。214〜218はサブボタンである。サブボタン214は、位置関係201に示すボタン2(206)への遷移機能を有するサブボタンを表す。サブボタン215は、位置関係201に示すボタン3(207)への遷移機能を有する。サブボタン216は、位置関係201に示すボタン5(206)への遷移機能を有する。
【0026】
サブボタン218は、位置関係201に示すボタン4(208)への遷移機能を有する。サブボタン217は、位置関係201に示すボタン7(211)への遷移機能を有する。
【0027】
なお、基本ボタンをボタン2(206)に設定した場合、ウィンドウサイズ変更後、そのウィンドウは203のように表示制御される。
【0028】
ウィンドウ203において、234は基本ボタンとしてのボタン2(206)に対応する。219〜224はサブボタンである。サブボタン219は、位置関係201に示すボタン1(205)への遷移機能を有する。サブボタン220は、位置関係201に示すボタン4(208)への遷移機能を有する。サブボタン221は、位置関係201に示すボタン5(206)への遷移機能を有する。
【0029】
サブボタン222は、位置関係201に示すボタン8(212)への遷移機能を有する。サブボタン223は、位置関係201に示すボタン6(210)への遷移機能を有する。サブボタン224は、位置関係201に示すボタン3(207)への遷移機能を有する。
【0030】
また、基本ボタンをボタン5(209)に設定した場合、ウィンドウサイズ変更後、そのウィンドウは204のように表示制御される。
【0031】
ウィンドウ204において、235は基本ボタンとしてのボタン5(209)に対応する。225〜231はサブボタンである。サブボタン225は、位置関係201に示すボタン1(205)への遷移機能を有する。サブボタン226は、位置関係201に示すボタン4(208)への遷移機能を有する。サブボタン227は、位置関係201に示すボタン7(211)への遷移機能を有する。サブボタン228は、位置関係201に示すボタン8(212)への遷移機能を有する。
【0032】
サブボタン229は、位置関係201に示すボタン9(213)への遷移機能を有する。サブボタン230は、位置関係201に示すボタン6(210)への遷移機能を有する。サブボタン231は、位置関係201に示すボタン3(207)への遷移機能を有するサブボタンを表す。
【0033】
図3は、ウィンドウサイズ変更後にサブボタン付き基本ボタンがどのように変化するかの一例を示す模式図である。
【0034】
図3において、301はリサイズ前のウィンドウを示し、302,303,304,305はリサイズ後のウィンドウを示す。
【0035】
まずウィンドウ301を、ボタン1列分のサイズにリサイズすると、ウィンドウは302のように表示制御される。
【0036】
さらにウィンドウ302をボタン1つ分のサイズにリサイズすると、ウィンドウは303のように表示制御される。
【0037】
そして、ウィンドウ303でサブボタン306を押下指示(第1の指示)することにより、304のように、ウィンドウに表示されるボタンが押下指示されたサブボタン306の遷移機能に対応するボタンに遷移する。
【0038】
同様に、ウィンドウ304でサブボタン307を押下指示することにより、305のように、ウィンドウに表示されるボタンが押下指示されたサブボタン307の遷移機能に対応するボタンに遷移する。
【0039】
なお、図中、網掛け表示されているサブボタン(実際は赤表示等される)は複数ボタンを示すが、この複数ボタンについては後述する図6で説明する。
【0040】
図4は、サブボタンを押下する事による進行先が既に表示されている場合のサブボタンの制御方法を説明する模式図である。
【0041】
図4において、401はリサイズ前のウィンドウを示し、402,403はリサイズ後のウィンドウを示す。
【0042】
まず、ウィンドウ401をリサイズすると、ウィンドウは402に示すように表示制御される。そして、ウィンドウ402において、サブボタン403を押下指示すると、ウィンドウに表示されるボタンが404に示すように押下指示されたサブボタン403の遷移機能に対応するボタンに遷移する。このときサブボタン406の遷移先はボタン405となっており、既に表示されているボタンに対応する。このため、サブボタン406は、押下指示できないように半透明化する(グレーアウトする)ように表示制御される。ここでは、既に表示されているボタンに対応するサブボタンを半透明化する構成を示したが、既に表示されているボタンに対応するサブボタンを削除するように構成してもよい。
【0043】
なお、サブボタン上にカーソルが重ねられた場合(第2の指示がなされた場合)、制御部102は、そのサブボタンが遷移するボタンの名称を示すラベルを表示するように構成してもよい。例えば、サブボタン403を押下指示すると、制御部102により"「ボタン5」へ"のラベルが表示されるように制御される。
【0044】
図5は、基本ボタンに付いているサブボタンがそれぞれどのボタンと対応しているかを説明する模式図である。
【0045】
図5に示すように、ウィンドウサイズ変更前のウィンドウにボタンが、位置関係503に示すように存在しているものとする。そして、基本ボタンを「基本ボタン」504に設定した場合、ウィンドウサイズ変更後、そのウィンドウは501のように表示制御される。
【0046】
ウィンドウ501において、502は、基本ボタン504に対応するボタンである。505a〜505dはボタン502に付加されたサブボタンである。
【0047】
サブボタン505のうち、右方向にあるボタン(2個)505a,505bは、位置関係503において、基本ボタン504の右方向にあるボタンへの遷移機能を有する。そして、右方向にあるボタン505aが「右1」ボタンへの遷移機能を有し、右方向にあるボタン505bが「右2」ボタンへの遷移機能を有する。なお、基本ボタン504の右方向に1つしかボタンがない場合には、右方向にあるボタンは1つしか表示されないように制御される。
【0048】
また、サブボタン505のうち、右下方向にあるボタン(1個)505cは、位置関係503において、基本ボタン504の右下方向にある「右下」ボタンへの遷移機能を有する。なお、基本ボタン504の右下方向に複数のボタンがある場合には、右下方向にあるボタンは2つ表示されるように制御される。
【0049】
また、サブボタン505のうち、下方向にあるボタン(1個)505dは、位置関係503において、基本ボタン504の下方向にある「下」ボタンへの遷移機能を有する。なお、基本ボタン504の下方向に複数のボタンがある場合には、下方向にあるボタンは2つ表示されるように制御される。
【0050】
なお、上述した図4では、サブボタン403を押下指示された場合に、「ボタン4」のみが「ボタン5」に遷移される場合について説明した。しかし、サブボタン403を押下指示された場合に、「ボタン1」,「ボタン7」も「ボタン2」,「ボタン8」へ遷移されるように構成してもよい。
【0051】
即ち、右(左)方向にあるサブボタンが押下指示された場合ボタン全体が列で右(左)方向に遷移し、上(下)方向にあるサブボタンが押下指示された場合ボタン全体が行で上(下)方向に遷移するように構成してもよい。
【0052】
また、右下(右上,左下,左上)にあるサブボタンが押下指示された場合ボタン全体が固まりで右下(右上,左下,左上)方向に遷移するように構成してもよい。
【0053】
図6は、特定の方向にボタンが複数ある場合の表示方法の一例を示す模式図である。
【0054】
図6に示すように、ウィンドウサイズ変更前のウィンドウにボタンが、位置関係602に示すように存在しているものとする。そして、基本ボタンを「基本ボタン」603に設定し、ウィンドウサイズをボタン1個分の領域に変更した場合、ウィンドウは601のように表示制御される。
【0055】
ウィンドウ601において、サブボタン607は、「下1」ボタン604への遷移機能を有し、サブボタン608は「下2」ボタン605への遷移機能を有する。
【0056】
なお、位置関係602において、「基本ボタン」の下方向のボタン604,605,606は、サブボタンの作成限界数(本実施形態では「2」)を超えているので、サブボタン608は色を変え、サブボタン608の下にさらに表示されないサブボタンが存在することを表現するものとする(これを複数ボタンと呼ぶ)。なお、本実施形態ではサブボタンの作成限界を「2」とするが「2」以上であってもよい。また、複数ボタンは、色を変更するようにしても、形状を変更するようにしてもよく、視覚形態を変更してユーザに複数のボタンがあることを知らせる方法であればどのような表示方法を用いてもよい。
【0057】
図7は、サブボタン押下時のアクションの一例を示す模式図である。
【0058】
図7に示すように、ウィンドウサイズ変更前のウィンドウにボタンが、位置関係703に示すように存在しているものとする。そして、基本ボタンを「基本ボタン」707に設定し、ウィンドウサイズをボタン1個分の領域に変更した場合、ウィンドウは701のように表示制御される。
【0059】
ウィンドウ701において、サブボタン705を押下した場合、702に示すように、ウィンドウに表示されるボタンが押下指示されたサブボタン704の遷移機能に対応する「ボタン2」に遷移する。
【0060】
なお、ウィンドウ701の「ボタン1」704は、位置関係703に示す「ボタン1」707と同じ動作機能を持ち、ウィンドウ702の「ボタン2」706は位置関係703の「ボタン2」708と同じ動作機能を持つ。
【0061】
図8は、サブボタン押下時のアクションの他の例を示す模式図である。
【0062】
図8に示すように、ウィンドウサイズ変更前のウィンドウにボタンが、位置関係803に示すように存在しているものとする。そして、基本ボタンを「基本ボタン」807に設定し、ウィンドウサイズをボタン1個分の領域に変更した場合、ウィンドウは801のように表示制御される。
【0063】
ウィンドウ801において、サブボタン805を押下した場合、802に示すように、ウィンドウに表示されるボタンが押下指示されたサブボタン805の遷移機能に対応する「押下後のボタン」に遷移する。
【0064】
なお、ウィンドウ801の「ボタン1」804は、位置関係803に示す「ボタン1」807と同じ動作機能を持ち、ウィンドウ802の「押下後のボタン」806は、位置関係803の「押下後のボタン」808と同じ動作機能を持つ。
【0065】
以下、図9,図10を参照して、図1に示したデータベース105のデータ構成について説明する。
【0066】
図9は、図1に示したデータベース105のデータテーブル構成を説明するデータテーブル構成図である。
【0067】
図9において、901は基本ボタン情報テーブルであり、ウィンドウ内全てのボタンのボタン情報を格納する基本ボタン情報データベースを構成するテーブルに相当する。この基本ボタン情報テーブル901は、ID901a,ボタン名901b,ボタン位置901c,ボタンサイズ901d,隣接ボタン情報ID901e,押下カウンタ901fから構成される。
【0068】
なお、ID901aは、ボタンを識別するIDを示す。ボタン名901bは、ボタンの名称を示す。ボタン位置901cは、画面の中のボタン座標位置を示す。ボタンサイズ901dは、ボタンの縦と横の長さを示す。隣接ボタン情報ID901eは、隣接ボタン情報テーブルの対応レコードを示すIDを示す。押下カウンタ901fは、ボタンが押下された積算数を示す。なお、制御部102は、ボタンが押下指示される毎に、該押下指示されたボタンの基本ボタン情報データベース内の押下カウンタ901fをインクリメントするように制御する。
【0069】
902は隣接ボタン情報テーブルであり、初期配置状態において、該当するボタンに隣接しているボタンのIDを格納する隣接ボタン情報データベースを構成するテーブルに相当する。この隣接ボタン情報テーブル902は、ID902a,上ID902b,下ID902c,左ID902d,右ID902e,左上ID902f,左下ID902g,右上ID902h,右下ID902iから構成される。
【0070】
なお、ID902aは、隣接ボタン情報テーブルのレコードを識別するIDである。上ID902bは、上方向に隣接する基本ボタンのIDを示す。下ID902cは、下方向に隣接する基本ボタンのIDを示す。左ID902dは、左方向に隣接する基本ボタンのIDを示す。右ID902eは、右方向に隣接する基本ボタンのIDを示す。
【0071】
左上ID902fは、左上方向に隣接する基本ボタンのIDを示す。左下ID902gは、左下方向に隣接する基本ボタンのIDを示す。右上ID902hは、右上方向に隣接する基本ボタンのIDを示す。右下ID902iは、右下方向に隣接する基本ボタンのIDを示す。
【0072】
そして、制御部102,ボタン配置制御部103,画面制御部104は、上記基本ボタン情報テーブル901,隣接ボタン情報テーブル902を用いてボタンの配置、サブボタンの生成、遷移制御等の各種制御を行う。
【0073】
例えば、制御部102が、あるボタンの隣接ボタンの情報を参照する場合は、基本ボタン情報テーブル901の隣接ボタン情報ID901e項目の値と、隣接ボタン情報テーブル902のID902a項目の値が一致する隣接ボタン情報テーブル902のレコードを検索して、参照する。
【0074】
なお、図9中、矢印903は、基本ボタン情報テーブル901の隣接ボタン情報ID901e項目から隣接ボタン情報テーブル902のIDを参照することを模式的に示している。
【0075】
図10は、図9に示した基本ボタン情報テーブル901,隣接ボタン情報テーブル902の使用例を示した図である。
【0076】
図10に示すように、ウィンドウにボタンが、1001のような位置関係で配置されているものとする。そして、このウィンドウ1001内の各ボタンの情報が格納されている基本ボタン情報テーブル901の例を1002に示す。
【0077】
例1002において、1004はウィンドウ1001の「ボタン1」についての情報を格納した基本ボタン情報テーブルのレコードである。同様に、1005,1006,1007は、それぞれウィンドウ1001の「ボタン2」,「ボタン3」,「ボタン4」の情報を格納した基本ボタン情報テーブルのレコードである。
【0078】
1003は、ウィンドウ1001のようなボタン配置であった場合に、そのウィンドウ内の各ボタンの隣接ボタン情報が格納されている隣接ボタン情報テーブル902の例である。
【0079】
例1003において、1008は「ボタン1」の隣接ボタンの情報を格納した隣接ボタン情報テーブルのレコードである。
【0080】
なお、ウィンドウ1001に示すように、「ボタン1」の隣接ボタンは、右方向に「ボタン2」、下方向には「ボタン3」、右斜め下方向には「ボタン4」、その他の方向は無しという状態であることが分かる。
【0081】
よって、「ボタン1」の隣接ボタンの情報を格納した隣接ボタン情報テーブルのレコード1008には、下ID項目1009に「ボタン3」のIDである「03」、右ID項目1010に「ボタン2」のIDである「02」、右下ID項目1011に「ボタン4」のIDである「04」、その他の項目に「無し」という情報がそれぞれ格納されている。
【0082】
以下、図11を参照して、本発明を適用したアプリケーションの例を説明する。
【0083】
図11は、本発明を適用したアプリケーションの一例を示した模式図である。
【0084】
図11(a)において、1103は、ディスプレイ106に最大表示したアプリケーション画面を示す。そして、アプリケーション画面1103に、ツールなどのサブウィンドウ1105が表示されているものとする。
【0085】
このような場合、サブウィンドウ1105がアプリケーション画面1103と重なり見えない部分が多くできてしまう。
【0086】
図11(b)に示すように、サブウィンドウ画面1105をスケーリングで縮小することにより、アプリケーション画面1103との重なりを少なくすることができる。
【0087】
そこで、ユーザが操作部101からサブウィンドウ1105のリサイズ指示を入力する。すると、制御部102は、このリサイズ指示に応じて、サブウィンドウ1105の縮小後のウィンドウサイズ(縦、横)を取得し、表示できるボタン数を計算し、該計算結果に基づいてサブウィンドウ1105を表示するように制御する。このケースでは、図11(b)に示すように、変更後、サブウィンドウ1105は、ボタン2つは入るが3つは入らないウィンドウサイズとなっている。
【0088】
以下、図12〜図15のフローチャートを参照して、本発明の情報処理装置において、OSの管理するウィンドウが表示された際、ウィンドウサイズが変更された際、及びアプリケーションが起動された際に実行される、ウィンドウサイズに合わせたサブボタン付きボタンを作成しボタンを再配置する処理について説明する。
【0089】
図12は、本発明における第1の制御処理手順の一例を示すフローチャートであり、OSの管理するウィンドウが表示された際、ウィンドウサイズが変更された際、及びアプリケーションが起動された際に実行されるウィンドウサイズに合わせたサブボタン付きボタンを作成しボタンを再配置する処理に対応する。なお、このフローチャートの処理は、図1に示したCPU110が外部メモリ113に格納されたプログラムをRAM111上にロードして実行することにより実現される制御部102,ボタン配置制御部103,画面制御部104により実行される。
【0090】
まず、コンピュータシステム100において、OSの管理するウィンドウが表示された、ウィンドウサイズが変更された、又は、アプリケーションが起動されると、制御部102は、本フローチャートの処理を開始する。
【0091】
まず、ステップS100において、制御部102は、表示されたOSの管理するウィンドウ、ウィンドウサイズが変更されたウィンドウ、又は、起動されたアプリケーションについてのデータベースが既に存在するか否かを判定し、まだデータベースが存在しないと判定した場合には、ステップS101に処理を進める。
【0092】
ステップS101において、制御部102は、上記アプリケーションのウィンドウ内にあるボタンの位置やサイズ等を該アプリケーションから取得し、必要な項目(図9の基本ボタン情報テーブル901,隣接ボタン情報テーブル902に示した項目)のデータをデータベース105に格納する(データベース化する)。以下、これらを基本ボタン情報データベース,隣接ボタン情報データベースと呼ぶ。なお、隣接ボタン情報データベースに格納される隣接ボタン情報は、各ボタンの座標や位置情報に基づいて制御部102が決定される。そして、ステップS102に処理を進める。
【0093】
一方、ステップS100で、上記データベースが既に存在すると判断した場合には、制御部102は、そのままステップS102に処理を進める。
【0094】
ステップS102では、制御部102は、ウィンドウのリサイズのイベントがあった(ウィンドウサイズが変更された)か否かを判定し、ウィンドウのリサイズのイベントが無かった(ウィンドウサイズが変更されなかった)と判定した場合には、そのまま本フローチャートの処理を終了させる。
【0095】
一方、ステップS102で、ウィンドウのリサイズのイベントがあった(ウィンドウサイズが変更された)と判定した場合には、制御部102は、ステップS103に処理を進める。
【0096】
ステップS103では、制御部102は、ボタン配置制御部103に、リサイズされたウィンドウサイズにより表示できるボタン数およびボタンの位置を計算しサブボタンを生成する処理(ボタン位置及び数を自動計算する処理)を実行させる。なお、この処理(ボタン位置及び数を自動計算する処理)の詳細は、後述する図13に示す。
【0097】
次に、ステップS104において、制御部102は、画面制御部104にステップS103でサブボタンが設置されたボタンをリサイズ後のウィンドウに設置させてディスプレイ106に表示させるように制御する。詳細には、画面制御部104は、画面制御部104が管理するメモリ内に記憶されたボタンをリサイズ後のウィンドウに設置させてディスプレイ106に表示させるように制御する。そして、本フローチャートの処理を終了させる。
【0098】
図13は、本発明における第2の制御処理手順の一例を示すフローチャートであり、図12のステップS103に示したボタン位置及びボタン数を自動計算する処理に対応する。なお、このフローチャートの処理は、図1に示したCPU110が外部メモリ113に格納されたプログラムをRAM111上にロードして実行することにより実現されるボタン配置制御部103,画面制御部104により実行される。
【0099】
まず、ステップS201において、ボタン配置制御部103は、変更された後のウィンドウサイズを取得する。
【0100】
次に、ステップS202において、ボタン配置制御部103は、上記ステップS201で取得したウィンドウサイズが、ボタン1つ分より大きいか否かを判定し、ボタン1つ分より小さいと判定した場合には、ステップS203に処理を進め、ウィンドウサイズをボタン1つ分が表示可能なサイズに変更する。そして、ステップS204に処理を進める。
【0101】
一方、ステップS202で、上記ステップS201で取得したウィンドウサイズが、ボタン1つ分より大きいと判断した場合には、そのままステップS204に処理を進める。
【0102】
そして、ステップS204では、ボタン配置制御部103は、上記ステップS201で取得したウィンドウサイズで表示することの可能なボタン数を決定する。例えば、図3に示した例の場合、ウィンドウサイズが301から302にリサイズされた際、ウィンドウの横幅とボタンの幅を基に1行の表示ボタン数を決定する。同じくウィンドウの縦幅とボタンの高さを基に1列の表示ボタン数についても計算する。図3の302にリサイズされた場合、上記計算により、ウィンドウ302には3行1列のボタン表示が可能と決定される。
【0103】
また、別の方法としては、ウィンドウサイズがリサイズされた際、該リサイズされたウィンドウのウィンドウ表示領域外に存在するボタン、または一部ウィンドウ表示領域外に存在するボタンを検知し、表示するボタンの数を計算することも可能である。ボタンのサイズが均一でない場合はこちらの方法を使用するものとする。
【0104】
次に、ステップS205において、ボタン配置制御部103は、ステップS204で決定されたボタン数だけウィンドウに表示される基本ボタンを決定し、該決定した基本ボタンをウィンドウに配置するように画面制御部104が管理するメモリ内にセットする。基本ボタンは、基本ボタン情報データベース内の押下カウンタ901f項目を参照して決定する。基本的には、押下カウンタ901f項目の値が多いボタンから基本ボタンに決定する。押下カウンタ901f項目の値が同じ場合には、ID901a項目の若いボタンを基本ボタンとする。
【0105】
次に、ステップS206において、ボタン配置制御部103は、上記ステップS205で基本ボタンと決定されたボタンを1つ取得し(以下、カレントの基本ボタンという)、該取得した基本ボタンにサブボタン設置が必要か否かを判定する。なお、この判定は、リサイズされたウィンドウ内に表示可能なボタンの数と基本ボタン情報データベース内のボタンの総数(レコード数)とを比較することにより行う。全てのボタンがリサイズ後のウィンドウに収まる場合は、サブボタン設置は必要ないと判定し、一方、全てのボタンがリサイズ後のウィンドウに収まりきらない場合は、サブボタン設置が必要であると判定する。
【0106】
ステップS206で、ボタンのサブボタン設定が必要ないと判定した場合には、ボタン配置制御部103は、ステップS208に処理を進める。
【0107】
一方、ステップS206で、ボタンのサブボタン設置が必要であると判断した場合には、ボタン配置制御部103は、ステップS207に処理を進める。
【0108】
ステップS207では、ボタン配置制御部103は、画面制御部104に、カレントの基本ボタンに対して、サブボタン設置処理を実行させる。なお、このサブボタン設定設置の詳細は後述する図14に示す。
【0109】
そして、上記ステップS207のサブボタン設置処理が終了すると、ステップS208において、ボタン配置制御部103は、全ての基本ボタンについてステップS206〜S207の処理を終了したか否かを判定し、未だ終了していないと判定した場合には、ステップS206に処理を戻し、次の基本ボタンに処理を移行させる。
【0110】
一方、ステップS208で、全ての基本ボタンについてステップS206〜S207の処理を終了したと判断した場合には、ボタン配置制御部103は、本フローチャートの処理を終了させる。
【0111】
図14は、本発明における第3の制御処理手順の一例を示すフローチャートであり、図13のステップS207に示したサブボタン設置処理に対応する。なお、このフローチャートの処理は、図1に示したCPU110が外部メモリ113に格納されたプログラムをRAM111上にロードして実行することにより実現される画面制御部104により実行される。
【0112】
まず、ステップS301において、画面制御部104は、処理対象となっている基本ボタンの「上、下、左、右、右上、右下、左上、左下」の8方向に、サブボタンが必要か否かを判定する。なお、サブボタンの有無の判定は、最初に基本ボタン情報データベースと隣接ボタン情報データベースからボタンの上、下、左、右、右下、右上、左下、左上の8方向に存在するボタン数を求める。このデータを基にサブボタンを設置の有無を判定する。
【0113】
そして、上記ステップS301で、基本ボタンの「上、下、左、右、右上、右下、左上、左下」の8方向のいずれのサブボタンも必要ないと判定した場合には、そのまま本フローチャートの処理を終了させる。
【0114】
一方、上記ステップS301で、基本ボタンの「上、下、左、右、右上、右下、左上、左下」の8方向のいずれかにサブボタンが必要であると判断した場合には、ステップS302に処理を進める。
【0115】
ステップS302では、画面制御部104は、サブボタンが必要と判定された方向に対して各方向に対応した表示方法で、基本ボタンにサブボタンを設置する(サブボタンをボタンとして作成し、画面制御部104が管理するメモリ内にセットされた基本ボタンに設置するようにセットする)。
【0116】
次に、ステップS303において、画面制御部104は、上記ステップS302で設置したサブボタンにおいて色変えが必要か否かを判定する。なお、色変えの有無の判定も、上記ステップS302で求めた上、下、左、右、右下、右上、左下、左上の8方向に存在するボタン数を基に行う。
【0117】
そして、上記ステップS303で、上記ステップS302で設置したサブボタンにおいて色変えが必要ないと判断した場合には、画面制御部104は、そのまま本フローチャートの処理を終了させる。
【0118】
一方、上記ステップS303で、上記ステップS302で設置したサブボタンにおいて色変えが必要と判断した場合には、画面制御部104は、ステップS304に処理を進める。
【0119】
ステップS304では、画面制御部104は、上記ステップS303で色変えが必要と判断されたサブボタンの色を変更する。
【0120】
次に、ステップS305において、画面制御部104は、上記ステップS302で設置したサブボタンのいずれかに半透明化が必要かを判定する。なお、半透明化の必要有無の判定は、サブボタンの遷移先となるボタンが既に基本ボタンとして表示されているか否かで行う。
【0121】
ステップS305で、上記ステップS302で設置したサブボタンのいずれにも半透明化が必要ないと判定した場合には、画面制御部104は、そのまま本フローチャートの処理を終了させる。
【0122】
一方、ステップS305で、上記ステップS302で設置したサブボタンのいずれかに半透明化が必要であると判定した場合には、画面制御部104は、ステップS306において、上記ステップS305で半透明化が必要と判定されたサブボタンを半透明にする。そして、本フローチャートの処理を終了させる。
【0123】
以下、図15のフローチャートを参照して、サブボタンが押下された際の処理について説明する。
【0124】
図15は、本発明における第4の制御処理手順の一例を示すフローチャートであり、サブボタンが押下された際の処理に対応する。なお、このフローチャートの処理は、図1に示したCPU110が外部メモリ113に格納されたプログラムをRAM111上にロードして実行することにより実現される制御部102,画面制御部104により実行される。
【0125】
まず、ステップS401において、制御部102は、サブボタンが押下指示されたか否かを判定し、押下指示されていないと判定した場合には、そのまま本フローチャートの処理を終了させる。
【0126】
一方、ステップS401で、サブボタンが押下されたと判定した場合には、制御部102は、ステップS402に処理を進める。
【0127】
ステップS402では、制御部102は、押されたサブボタンに基づいて、基本ボタン情報データベースと隣接ボタン情報データベースを参照し、移行ボタン(遷移するボタン)を求める。
【0128】
次に、ステップS403では、制御部102は、サブボタンが押下された基本のボタンを、ステップS402で求められた移行ボタンに変更(遷移)するように画面制御部104が管理するメモリ内にセットする。
【0129】
例えば、図4に示した例では、ウィンドウ402のサブボタン403が押下指示されると、ウィンドウに表示されるボタンが404に示すように押下指示されたサブボタン403の遷移機能に対応するボタンに遷移(移行)し、他のボタン(「ボタン1」,「ボタン7」)はそのままとなる。
【0130】
次に、ステップS404において、制御部102は、ステップS403で変更(遷移)した移行ボタンを基本ボタンに決定する。
【0131】
次に、ステップS405において、制御部102は、画面制御部104に、ステップS404で決定した基本ボタンに対して、図14に示したサブボタン設置処理を実行させる。そして、上記ステップS207のサブボタン設置処理が終了すると、制御部102は、本フローチャートの処理を終了させる。
【0132】
次に、ステップS406において、制御部102は、画面制御部104にステップS405でサブボタンが設置されたボタンをウィンドウに設置させてディスプレイ106に表示させるように制御する。即ち、画面制御部104は、画面制御部104が管理するメモリ内に記憶されたボタンをウィンドウに設置させてディスプレイ106に表示させるように制御する。そして、本フローチャートの処理を終了させる。
【0133】
なお、ステップS403では、押下指示されたボタンのみ遷移する場合について示したが、押下指示されたボタンの周りのボタンも全て遷移するように構成してもよい。即ち、上述した図4では、サブボタン403を押下指示された場合に、サブボタンが指示された「ボタン4」のみでなく「ボタン1」,「ボタン4」,「ボタン7」全体が、「ボタン2」,「ボタン5」,「ボタン8」へ遷移されるように構成してもよい。
【0134】
即ち、右(左)方向にあるサブボタンが押下指示された場合ボタン全体が列で右(左)方向に遷移し、上(下)方向にあるサブボタンが押下指示された場合ボタン全体が行で上(下)方向に遷移するように構成してもよい。また、右下(右上,左下,左上)にあるサブボタンが押下指示された場合ボタン全体が固まりで右下(右上,左下,左上)方向に遷移するように構成してもよい。
【0135】
以上説明したように、スケーリングによる限られた大きさの画面となってしまった場合でも、表示されているボタンに付加されたサブボタンにより、表示されていないボタンへ遷移させることができ、ディスプレイ領域の有効利用を可能にする。
【0136】
また、サブボタンを実際のボタンの位置関係を示す位置に付加するので、サブボタンによるボタンの遷移を視覚的に分かるようにすることができる。これにより、ユーザは、普段使い慣れたボタン配置の場合、ボタンの位置関係から実行したいボタンの位置を容易に推測して選択することができる。
【0137】
なお、上記実施形態では、ボタンを例として説明したが、操作部による指示によりアイコンに対応付けられた操作の入力が可能なアイコンでも本発明を適用可能である。また、単にファイルを開くようなアイコンであってもよい。
【0138】
また、スケーリングによる限られた大きさの画面となってしまった場合でも、表示領域の変更に合わせて表示可能なアイコンの数をリアルタイムに自動計算し、複数機能を含ませたアイコンを再配置することができるので、リアルタイムの表示領域の変更にともない表示可能なアイコンの数が変化する一般のウィンドウのアイコン表示にも適用可能である。
【0139】
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
【0140】
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【0141】
以下、図16に示すメモリマップを参照して本発明に係る情報処理装置(コンピュータシステム100)で読み取り可能なデータ処理プログラムの構成について説明する。
【0142】
図16は、本発明に係る情報処理装置(コンピュータシステム100)で読み取り可能な各種データ処理プログラムを格納する記録媒体(記憶媒体)のメモリマップを説明する図である。
【0143】
なお、特に図示しないが、記録媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報,作成者等も記憶され、かつ、プログラム読み出し側のOS等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
【0144】
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、インストールするプログラムやデータが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
【0145】
本実施形態における図12,図13,図14,図15に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、CD−ROMやフラッシュメモリやFD等の記録媒体により、あるいはネットワークを介して外部の記録媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
【0146】
以上のように、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【0147】
この場合、記録媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。
【0148】
プログラムコードを供給するための記録媒体としては、例えば、フレキシブルディスク,ハードディスク,光ディスク,光磁気ディスク,CD−ROM,CD−R,DVD−ROM,磁気テープ,不揮発性のメモリカード,ROM,EEPROM,シリコンディスク等を用いることができる。
【0149】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0150】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0151】
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのソフトウェアによって表されるプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【0152】
さらに、本発明を達成するためのソフトウェアによって表されるプログラムをネットワーク上のサーバ,データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【0153】
なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。
【図面の簡単な説明】
【0154】
【図1】本発明の一実施形態を示す情報処理装置を適用可能なコンピュータシステムの一例を示すブロック図である。
【図2】本発明の情報処理装置で用いるサブボタン付き基本ボタンの一例を示す模式図である。
【図3】ウィンドウサイズ変更後にサブボタン付き基本ボタンがどのように変化するかの一例を示す模式図である。
【図4】サブボタンを押下する事による進行先が既に表示されている場合のサブボタンの制御方法を説明する模式図である。
【図5】基本ボタンに付いているサブボタンがそれぞれどのボタンと対応しているかを説明する模式図である。
【図6】特定の方向にボタンが複数ある場合の表示方法の一例を示す模式図である。
【図7】サブボタン押下時のアクションの一例を示す模式図である。
【図8】サブボタン押下時のアクションの他の例を示す模式図である。
【図9】図1に示したデータベース105のデータテーブル構成を説明するデータテーブル構成図である。
【図10】図9に示した基本ボタン情報テーブル901,隣接ボタン情報テーブル902の使用例を示した図である。
【図11】本発明を適用したアプリケーションの一例を示した模式図である。
【図12】本発明における第1の制御処理手順の一例を示すフローチャートである。
【図13】本発明における第2の制御処理手順の一例を示すフローチャートである。
【図14】本発明における第3の制御処理手順の一例を示すフローチャートである。
【図15】本発明における第4の制御処理手順の一例を示すフローチャートである。
【図16】本発明に係る情報処理装置(コンピュータシステム100)で読み取り可能な各種データ処理プログラムを格納する記録媒体(記憶媒体)のメモリマップを説明する図である。
【符号の説明】
【0155】
100 コンピュータシステム
101 操作部
102 制御部
103 ボタン配置制御部
104 画面制御部
105 データベース
106 ディスプレイ
110 CPU
113 外部メモリ
114 入力装置
901 基本ボタン情報テーブル
902 隣接ボタン情報テーブル
【技術分野】
【0001】
本発明は、表示手段に表示されるウィンドウ内に配置される1又は複数のボタンを指示手段により指示することによりボタンに対応付けられた操作の入力が可能な情報処理装置および情報処理装置の制御方法およびプログラムおよび記録媒体に関する。
【背景技術】
【0002】
現代、PDA・携帯電話・ポータブルPCなどの情報処理装置が市場に存在するが、これらのコンピュータは小型のものが一般的で、表示ディスプレイも領域の限られたものがほとんどである。また、デスクトップ型の大きな表示領域のディスプレイの場合でも、マルチウィンドウの操作により表示領域が限られてしまう場合がある。
【0003】
このように、限られたディスプレイ画面領域を有効に活用する技術が必要とされている。
【0004】
特許文献1には、スケーリングにより縮小されたアプリケーションウィンドウ(表示領域)にあわせて、全てのアイコンを縮小し表示する技術が提案されている。
【0005】
特許文献2には、アイコンに複数機能を含ませ、ユーザが代替動作を要求した際にアイコンの外観及び機能を変更することで、制限されたディスプレイ画面を有効利用できる技術が提案されている。
【特許文献1】特開2002−55807号公報
【特許文献2】特開2001−14079号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
しかし、特許文献1の技術では、表示領域のリサイズによりアイコンが縮小されるためアイコンの識別ができない場合があるという問題点があった。
【0007】
また、特許文献2の技術では、PDA等の予め定められた画面に予め定められたアイコンが表示される場合には適用可能であるが、リアルタイムの表示領域の変更にともない表示可能なアイコンの数も変化してしまう一般のウィンドウのアイコン表示には適用できないという問題点があった。
【0008】
本発明は、上記の問題点を解決するためになされたもので、本発明の目的は、スケーリングにより限られた大きさの画面となった場合でも、該画面に複数含まれる表示しきれないボタン(アイコン)への操作を容易にし、ディスプレイ領域の有効利用を可能とする仕組みを提供することである。
【課題を解決するための手段】
【0009】
本発明は、表示手段に表示されるウィンドウ内に配置される1又は複数のボタンを指示手段により指示することによりボタンに対応付けられた操作の入力が可能な情報処理装置であって、前記ウィンドウに初期配置される各ボタンのサイズ及び初期配置情報を取得し記憶手段に記憶させるデータベース作成手段と、前記ウィンドウのサイズが変更された際に、該変更されたウィンドウのサイズと前記記憶手段に記憶されたボタンのサイズとに基づいて、前記サイズ変更されたウィンドウに配置可能なボタンの数を算出する算出手段と、前記算出手段により算出された数のボタンを前記ウィンドウ内に配置されるボタンから選択して前記ウィンドウ上に配置する配置手段と、前記記憶手段に記憶されたボタンの初期配置情報に基づいて、前記配置手段により配置されなかった1又は複数のボタンにそれぞれ対応付けられた1又は複数のサブボタンを、前記配置手段により配置されたボタンに付加する第1の付加手段と、前記指示手段により前記サブボタンに第1の指示がなされると、該サブボタンが付加されたボタンを、該サブボタンに対応付けられた他のボタンに変更配置する変更手段と、を有することを特徴とする。
【発明の効果】
【0010】
本発明によれば、スケーリングにより限られた大きさのウィンドウとなった場合でも、該ウィンドウに複数含まれるボタンへの操作を容易にし、ディスプレイ領域の有効利用を可能にすることができる等の効果を奏する。
【発明を実施するための最良の形態】
【0011】
図1は、本発明の一実施形態を示す情報処理装置を適用可能なコンピュータシステムの一例を示すブロック図であり、(a)はコンピュータシステムの制御構成に対応し、(b)は、コンピュータシステムのハードウェア構成に対応する。
【0012】
図1(a)において、100はコンピュータシステムである。101は操作部であり、各種操作を行うためのものであり、例えばディスプレイ106に表示されるウィンドウのサイズを変更する操作や、上記ウィンドウ内に表示されるボタン等(後述するサブボタンへの指示も含む)を指示する操作等を行うためのものである。
【0013】
102は制御部であり、操作部101からの操作に応じて、コンピュータシステム100を統括制御する。103はボタン配置制御部であり、制御部102からの指示によりウィンドウに表示するボタンの位置と数を計算するとともにサブボタンを作成する。104は画面制御部であり、制御部102からの指示によりボタンをウィンドウに表示する。
【0014】
105はデータベースであり、後述する図9の基本ボタン情報データベース,隣接ボタン情報データベース等から構成され、上記ウィンドウに表示するボタンの情報を格納する。
【0015】
図1(b)において、110はCPUであり、コンピュータシステム100を統括制御する。111はRAM(Random Access Memory)であって、CPU110が実行するプログラムのワークエリアや一時的に保持するデータのバッファとして利用する。
【0016】
112はROM(Read Only Memory)であって、CPU110が実行するプログラムの保存等を行う。113は外部メモリであって、CPU110が実行する各種プログラムや各データの保持を行うものであり、具体的にはハードディスクドライブやDVDドライブ等である。
【0017】
114は入力装置であって、この装置を通じてCPU110にデータなどの入力を行うためのものであり、具体的には、キーボードやポインティングデバイス(マウス,タッチパネル等)等のである。
【0018】
115は通信インターフェースであって、LANなどの伝送路と端末とを接続する部分である。
【0019】
なお、図1(a)の操作部101は、入力装置114により構成される。また、制御部102,ボタン配置制御部103,画面制御部104は、CPU110が外部メモリ113に格納されるプログラムをRAM111上にロードして実行することにより実現される。また、データベース105は、外部メモリ113内に構築される。
【0020】
なお、本実施形態におけるボタンに関する制御は全て、図1に示した制御部102,ボタン配置制御部103,画面制御部104の制御(即ちCPU110が外部メモリ113に格納されるプログラムをRAM111上で実行しての制御)により行われるものとする。
【0021】
なお、コンピュータシステム100は、PDA、携帯電話等のモバイル機器であってもよい。
【0022】
以下、図2〜図8を用いて各種例を示し、本発明の情報処理装置で用いるサブボタン付きボタンについて説明する。
【0023】
図2は、本発明の情報処理装置で用いるサブボタン付き基本ボタンの一例を示す模式図である。なお、図2では、前提として、ウィンドウサイズ変更後のウィンドウはボタン1個分のサイズとした場合を考えるものとする。
【0024】
図2に示すように、ウィンドウサイズ変更前のウィンドウにボタンが、位置関係201に示すように存在しているものとする(なお、この位置関係を初期配置情報という)。そして、基本ボタンをボタン1(205)に設定した場合、ウィンドウサイズ変更後、そのウィンドウは202のように表示制御される。
【0025】
ウィンドウ202において、233は基本ボタンとしてのボタン1(205)に対応する。214〜218はサブボタンである。サブボタン214は、位置関係201に示すボタン2(206)への遷移機能を有するサブボタンを表す。サブボタン215は、位置関係201に示すボタン3(207)への遷移機能を有する。サブボタン216は、位置関係201に示すボタン5(206)への遷移機能を有する。
【0026】
サブボタン218は、位置関係201に示すボタン4(208)への遷移機能を有する。サブボタン217は、位置関係201に示すボタン7(211)への遷移機能を有する。
【0027】
なお、基本ボタンをボタン2(206)に設定した場合、ウィンドウサイズ変更後、そのウィンドウは203のように表示制御される。
【0028】
ウィンドウ203において、234は基本ボタンとしてのボタン2(206)に対応する。219〜224はサブボタンである。サブボタン219は、位置関係201に示すボタン1(205)への遷移機能を有する。サブボタン220は、位置関係201に示すボタン4(208)への遷移機能を有する。サブボタン221は、位置関係201に示すボタン5(206)への遷移機能を有する。
【0029】
サブボタン222は、位置関係201に示すボタン8(212)への遷移機能を有する。サブボタン223は、位置関係201に示すボタン6(210)への遷移機能を有する。サブボタン224は、位置関係201に示すボタン3(207)への遷移機能を有する。
【0030】
また、基本ボタンをボタン5(209)に設定した場合、ウィンドウサイズ変更後、そのウィンドウは204のように表示制御される。
【0031】
ウィンドウ204において、235は基本ボタンとしてのボタン5(209)に対応する。225〜231はサブボタンである。サブボタン225は、位置関係201に示すボタン1(205)への遷移機能を有する。サブボタン226は、位置関係201に示すボタン4(208)への遷移機能を有する。サブボタン227は、位置関係201に示すボタン7(211)への遷移機能を有する。サブボタン228は、位置関係201に示すボタン8(212)への遷移機能を有する。
【0032】
サブボタン229は、位置関係201に示すボタン9(213)への遷移機能を有する。サブボタン230は、位置関係201に示すボタン6(210)への遷移機能を有する。サブボタン231は、位置関係201に示すボタン3(207)への遷移機能を有するサブボタンを表す。
【0033】
図3は、ウィンドウサイズ変更後にサブボタン付き基本ボタンがどのように変化するかの一例を示す模式図である。
【0034】
図3において、301はリサイズ前のウィンドウを示し、302,303,304,305はリサイズ後のウィンドウを示す。
【0035】
まずウィンドウ301を、ボタン1列分のサイズにリサイズすると、ウィンドウは302のように表示制御される。
【0036】
さらにウィンドウ302をボタン1つ分のサイズにリサイズすると、ウィンドウは303のように表示制御される。
【0037】
そして、ウィンドウ303でサブボタン306を押下指示(第1の指示)することにより、304のように、ウィンドウに表示されるボタンが押下指示されたサブボタン306の遷移機能に対応するボタンに遷移する。
【0038】
同様に、ウィンドウ304でサブボタン307を押下指示することにより、305のように、ウィンドウに表示されるボタンが押下指示されたサブボタン307の遷移機能に対応するボタンに遷移する。
【0039】
なお、図中、網掛け表示されているサブボタン(実際は赤表示等される)は複数ボタンを示すが、この複数ボタンについては後述する図6で説明する。
【0040】
図4は、サブボタンを押下する事による進行先が既に表示されている場合のサブボタンの制御方法を説明する模式図である。
【0041】
図4において、401はリサイズ前のウィンドウを示し、402,403はリサイズ後のウィンドウを示す。
【0042】
まず、ウィンドウ401をリサイズすると、ウィンドウは402に示すように表示制御される。そして、ウィンドウ402において、サブボタン403を押下指示すると、ウィンドウに表示されるボタンが404に示すように押下指示されたサブボタン403の遷移機能に対応するボタンに遷移する。このときサブボタン406の遷移先はボタン405となっており、既に表示されているボタンに対応する。このため、サブボタン406は、押下指示できないように半透明化する(グレーアウトする)ように表示制御される。ここでは、既に表示されているボタンに対応するサブボタンを半透明化する構成を示したが、既に表示されているボタンに対応するサブボタンを削除するように構成してもよい。
【0043】
なお、サブボタン上にカーソルが重ねられた場合(第2の指示がなされた場合)、制御部102は、そのサブボタンが遷移するボタンの名称を示すラベルを表示するように構成してもよい。例えば、サブボタン403を押下指示すると、制御部102により"「ボタン5」へ"のラベルが表示されるように制御される。
【0044】
図5は、基本ボタンに付いているサブボタンがそれぞれどのボタンと対応しているかを説明する模式図である。
【0045】
図5に示すように、ウィンドウサイズ変更前のウィンドウにボタンが、位置関係503に示すように存在しているものとする。そして、基本ボタンを「基本ボタン」504に設定した場合、ウィンドウサイズ変更後、そのウィンドウは501のように表示制御される。
【0046】
ウィンドウ501において、502は、基本ボタン504に対応するボタンである。505a〜505dはボタン502に付加されたサブボタンである。
【0047】
サブボタン505のうち、右方向にあるボタン(2個)505a,505bは、位置関係503において、基本ボタン504の右方向にあるボタンへの遷移機能を有する。そして、右方向にあるボタン505aが「右1」ボタンへの遷移機能を有し、右方向にあるボタン505bが「右2」ボタンへの遷移機能を有する。なお、基本ボタン504の右方向に1つしかボタンがない場合には、右方向にあるボタンは1つしか表示されないように制御される。
【0048】
また、サブボタン505のうち、右下方向にあるボタン(1個)505cは、位置関係503において、基本ボタン504の右下方向にある「右下」ボタンへの遷移機能を有する。なお、基本ボタン504の右下方向に複数のボタンがある場合には、右下方向にあるボタンは2つ表示されるように制御される。
【0049】
また、サブボタン505のうち、下方向にあるボタン(1個)505dは、位置関係503において、基本ボタン504の下方向にある「下」ボタンへの遷移機能を有する。なお、基本ボタン504の下方向に複数のボタンがある場合には、下方向にあるボタンは2つ表示されるように制御される。
【0050】
なお、上述した図4では、サブボタン403を押下指示された場合に、「ボタン4」のみが「ボタン5」に遷移される場合について説明した。しかし、サブボタン403を押下指示された場合に、「ボタン1」,「ボタン7」も「ボタン2」,「ボタン8」へ遷移されるように構成してもよい。
【0051】
即ち、右(左)方向にあるサブボタンが押下指示された場合ボタン全体が列で右(左)方向に遷移し、上(下)方向にあるサブボタンが押下指示された場合ボタン全体が行で上(下)方向に遷移するように構成してもよい。
【0052】
また、右下(右上,左下,左上)にあるサブボタンが押下指示された場合ボタン全体が固まりで右下(右上,左下,左上)方向に遷移するように構成してもよい。
【0053】
図6は、特定の方向にボタンが複数ある場合の表示方法の一例を示す模式図である。
【0054】
図6に示すように、ウィンドウサイズ変更前のウィンドウにボタンが、位置関係602に示すように存在しているものとする。そして、基本ボタンを「基本ボタン」603に設定し、ウィンドウサイズをボタン1個分の領域に変更した場合、ウィンドウは601のように表示制御される。
【0055】
ウィンドウ601において、サブボタン607は、「下1」ボタン604への遷移機能を有し、サブボタン608は「下2」ボタン605への遷移機能を有する。
【0056】
なお、位置関係602において、「基本ボタン」の下方向のボタン604,605,606は、サブボタンの作成限界数(本実施形態では「2」)を超えているので、サブボタン608は色を変え、サブボタン608の下にさらに表示されないサブボタンが存在することを表現するものとする(これを複数ボタンと呼ぶ)。なお、本実施形態ではサブボタンの作成限界を「2」とするが「2」以上であってもよい。また、複数ボタンは、色を変更するようにしても、形状を変更するようにしてもよく、視覚形態を変更してユーザに複数のボタンがあることを知らせる方法であればどのような表示方法を用いてもよい。
【0057】
図7は、サブボタン押下時のアクションの一例を示す模式図である。
【0058】
図7に示すように、ウィンドウサイズ変更前のウィンドウにボタンが、位置関係703に示すように存在しているものとする。そして、基本ボタンを「基本ボタン」707に設定し、ウィンドウサイズをボタン1個分の領域に変更した場合、ウィンドウは701のように表示制御される。
【0059】
ウィンドウ701において、サブボタン705を押下した場合、702に示すように、ウィンドウに表示されるボタンが押下指示されたサブボタン704の遷移機能に対応する「ボタン2」に遷移する。
【0060】
なお、ウィンドウ701の「ボタン1」704は、位置関係703に示す「ボタン1」707と同じ動作機能を持ち、ウィンドウ702の「ボタン2」706は位置関係703の「ボタン2」708と同じ動作機能を持つ。
【0061】
図8は、サブボタン押下時のアクションの他の例を示す模式図である。
【0062】
図8に示すように、ウィンドウサイズ変更前のウィンドウにボタンが、位置関係803に示すように存在しているものとする。そして、基本ボタンを「基本ボタン」807に設定し、ウィンドウサイズをボタン1個分の領域に変更した場合、ウィンドウは801のように表示制御される。
【0063】
ウィンドウ801において、サブボタン805を押下した場合、802に示すように、ウィンドウに表示されるボタンが押下指示されたサブボタン805の遷移機能に対応する「押下後のボタン」に遷移する。
【0064】
なお、ウィンドウ801の「ボタン1」804は、位置関係803に示す「ボタン1」807と同じ動作機能を持ち、ウィンドウ802の「押下後のボタン」806は、位置関係803の「押下後のボタン」808と同じ動作機能を持つ。
【0065】
以下、図9,図10を参照して、図1に示したデータベース105のデータ構成について説明する。
【0066】
図9は、図1に示したデータベース105のデータテーブル構成を説明するデータテーブル構成図である。
【0067】
図9において、901は基本ボタン情報テーブルであり、ウィンドウ内全てのボタンのボタン情報を格納する基本ボタン情報データベースを構成するテーブルに相当する。この基本ボタン情報テーブル901は、ID901a,ボタン名901b,ボタン位置901c,ボタンサイズ901d,隣接ボタン情報ID901e,押下カウンタ901fから構成される。
【0068】
なお、ID901aは、ボタンを識別するIDを示す。ボタン名901bは、ボタンの名称を示す。ボタン位置901cは、画面の中のボタン座標位置を示す。ボタンサイズ901dは、ボタンの縦と横の長さを示す。隣接ボタン情報ID901eは、隣接ボタン情報テーブルの対応レコードを示すIDを示す。押下カウンタ901fは、ボタンが押下された積算数を示す。なお、制御部102は、ボタンが押下指示される毎に、該押下指示されたボタンの基本ボタン情報データベース内の押下カウンタ901fをインクリメントするように制御する。
【0069】
902は隣接ボタン情報テーブルであり、初期配置状態において、該当するボタンに隣接しているボタンのIDを格納する隣接ボタン情報データベースを構成するテーブルに相当する。この隣接ボタン情報テーブル902は、ID902a,上ID902b,下ID902c,左ID902d,右ID902e,左上ID902f,左下ID902g,右上ID902h,右下ID902iから構成される。
【0070】
なお、ID902aは、隣接ボタン情報テーブルのレコードを識別するIDである。上ID902bは、上方向に隣接する基本ボタンのIDを示す。下ID902cは、下方向に隣接する基本ボタンのIDを示す。左ID902dは、左方向に隣接する基本ボタンのIDを示す。右ID902eは、右方向に隣接する基本ボタンのIDを示す。
【0071】
左上ID902fは、左上方向に隣接する基本ボタンのIDを示す。左下ID902gは、左下方向に隣接する基本ボタンのIDを示す。右上ID902hは、右上方向に隣接する基本ボタンのIDを示す。右下ID902iは、右下方向に隣接する基本ボタンのIDを示す。
【0072】
そして、制御部102,ボタン配置制御部103,画面制御部104は、上記基本ボタン情報テーブル901,隣接ボタン情報テーブル902を用いてボタンの配置、サブボタンの生成、遷移制御等の各種制御を行う。
【0073】
例えば、制御部102が、あるボタンの隣接ボタンの情報を参照する場合は、基本ボタン情報テーブル901の隣接ボタン情報ID901e項目の値と、隣接ボタン情報テーブル902のID902a項目の値が一致する隣接ボタン情報テーブル902のレコードを検索して、参照する。
【0074】
なお、図9中、矢印903は、基本ボタン情報テーブル901の隣接ボタン情報ID901e項目から隣接ボタン情報テーブル902のIDを参照することを模式的に示している。
【0075】
図10は、図9に示した基本ボタン情報テーブル901,隣接ボタン情報テーブル902の使用例を示した図である。
【0076】
図10に示すように、ウィンドウにボタンが、1001のような位置関係で配置されているものとする。そして、このウィンドウ1001内の各ボタンの情報が格納されている基本ボタン情報テーブル901の例を1002に示す。
【0077】
例1002において、1004はウィンドウ1001の「ボタン1」についての情報を格納した基本ボタン情報テーブルのレコードである。同様に、1005,1006,1007は、それぞれウィンドウ1001の「ボタン2」,「ボタン3」,「ボタン4」の情報を格納した基本ボタン情報テーブルのレコードである。
【0078】
1003は、ウィンドウ1001のようなボタン配置であった場合に、そのウィンドウ内の各ボタンの隣接ボタン情報が格納されている隣接ボタン情報テーブル902の例である。
【0079】
例1003において、1008は「ボタン1」の隣接ボタンの情報を格納した隣接ボタン情報テーブルのレコードである。
【0080】
なお、ウィンドウ1001に示すように、「ボタン1」の隣接ボタンは、右方向に「ボタン2」、下方向には「ボタン3」、右斜め下方向には「ボタン4」、その他の方向は無しという状態であることが分かる。
【0081】
よって、「ボタン1」の隣接ボタンの情報を格納した隣接ボタン情報テーブルのレコード1008には、下ID項目1009に「ボタン3」のIDである「03」、右ID項目1010に「ボタン2」のIDである「02」、右下ID項目1011に「ボタン4」のIDである「04」、その他の項目に「無し」という情報がそれぞれ格納されている。
【0082】
以下、図11を参照して、本発明を適用したアプリケーションの例を説明する。
【0083】
図11は、本発明を適用したアプリケーションの一例を示した模式図である。
【0084】
図11(a)において、1103は、ディスプレイ106に最大表示したアプリケーション画面を示す。そして、アプリケーション画面1103に、ツールなどのサブウィンドウ1105が表示されているものとする。
【0085】
このような場合、サブウィンドウ1105がアプリケーション画面1103と重なり見えない部分が多くできてしまう。
【0086】
図11(b)に示すように、サブウィンドウ画面1105をスケーリングで縮小することにより、アプリケーション画面1103との重なりを少なくすることができる。
【0087】
そこで、ユーザが操作部101からサブウィンドウ1105のリサイズ指示を入力する。すると、制御部102は、このリサイズ指示に応じて、サブウィンドウ1105の縮小後のウィンドウサイズ(縦、横)を取得し、表示できるボタン数を計算し、該計算結果に基づいてサブウィンドウ1105を表示するように制御する。このケースでは、図11(b)に示すように、変更後、サブウィンドウ1105は、ボタン2つは入るが3つは入らないウィンドウサイズとなっている。
【0088】
以下、図12〜図15のフローチャートを参照して、本発明の情報処理装置において、OSの管理するウィンドウが表示された際、ウィンドウサイズが変更された際、及びアプリケーションが起動された際に実行される、ウィンドウサイズに合わせたサブボタン付きボタンを作成しボタンを再配置する処理について説明する。
【0089】
図12は、本発明における第1の制御処理手順の一例を示すフローチャートであり、OSの管理するウィンドウが表示された際、ウィンドウサイズが変更された際、及びアプリケーションが起動された際に実行されるウィンドウサイズに合わせたサブボタン付きボタンを作成しボタンを再配置する処理に対応する。なお、このフローチャートの処理は、図1に示したCPU110が外部メモリ113に格納されたプログラムをRAM111上にロードして実行することにより実現される制御部102,ボタン配置制御部103,画面制御部104により実行される。
【0090】
まず、コンピュータシステム100において、OSの管理するウィンドウが表示された、ウィンドウサイズが変更された、又は、アプリケーションが起動されると、制御部102は、本フローチャートの処理を開始する。
【0091】
まず、ステップS100において、制御部102は、表示されたOSの管理するウィンドウ、ウィンドウサイズが変更されたウィンドウ、又は、起動されたアプリケーションについてのデータベースが既に存在するか否かを判定し、まだデータベースが存在しないと判定した場合には、ステップS101に処理を進める。
【0092】
ステップS101において、制御部102は、上記アプリケーションのウィンドウ内にあるボタンの位置やサイズ等を該アプリケーションから取得し、必要な項目(図9の基本ボタン情報テーブル901,隣接ボタン情報テーブル902に示した項目)のデータをデータベース105に格納する(データベース化する)。以下、これらを基本ボタン情報データベース,隣接ボタン情報データベースと呼ぶ。なお、隣接ボタン情報データベースに格納される隣接ボタン情報は、各ボタンの座標や位置情報に基づいて制御部102が決定される。そして、ステップS102に処理を進める。
【0093】
一方、ステップS100で、上記データベースが既に存在すると判断した場合には、制御部102は、そのままステップS102に処理を進める。
【0094】
ステップS102では、制御部102は、ウィンドウのリサイズのイベントがあった(ウィンドウサイズが変更された)か否かを判定し、ウィンドウのリサイズのイベントが無かった(ウィンドウサイズが変更されなかった)と判定した場合には、そのまま本フローチャートの処理を終了させる。
【0095】
一方、ステップS102で、ウィンドウのリサイズのイベントがあった(ウィンドウサイズが変更された)と判定した場合には、制御部102は、ステップS103に処理を進める。
【0096】
ステップS103では、制御部102は、ボタン配置制御部103に、リサイズされたウィンドウサイズにより表示できるボタン数およびボタンの位置を計算しサブボタンを生成する処理(ボタン位置及び数を自動計算する処理)を実行させる。なお、この処理(ボタン位置及び数を自動計算する処理)の詳細は、後述する図13に示す。
【0097】
次に、ステップS104において、制御部102は、画面制御部104にステップS103でサブボタンが設置されたボタンをリサイズ後のウィンドウに設置させてディスプレイ106に表示させるように制御する。詳細には、画面制御部104は、画面制御部104が管理するメモリ内に記憶されたボタンをリサイズ後のウィンドウに設置させてディスプレイ106に表示させるように制御する。そして、本フローチャートの処理を終了させる。
【0098】
図13は、本発明における第2の制御処理手順の一例を示すフローチャートであり、図12のステップS103に示したボタン位置及びボタン数を自動計算する処理に対応する。なお、このフローチャートの処理は、図1に示したCPU110が外部メモリ113に格納されたプログラムをRAM111上にロードして実行することにより実現されるボタン配置制御部103,画面制御部104により実行される。
【0099】
まず、ステップS201において、ボタン配置制御部103は、変更された後のウィンドウサイズを取得する。
【0100】
次に、ステップS202において、ボタン配置制御部103は、上記ステップS201で取得したウィンドウサイズが、ボタン1つ分より大きいか否かを判定し、ボタン1つ分より小さいと判定した場合には、ステップS203に処理を進め、ウィンドウサイズをボタン1つ分が表示可能なサイズに変更する。そして、ステップS204に処理を進める。
【0101】
一方、ステップS202で、上記ステップS201で取得したウィンドウサイズが、ボタン1つ分より大きいと判断した場合には、そのままステップS204に処理を進める。
【0102】
そして、ステップS204では、ボタン配置制御部103は、上記ステップS201で取得したウィンドウサイズで表示することの可能なボタン数を決定する。例えば、図3に示した例の場合、ウィンドウサイズが301から302にリサイズされた際、ウィンドウの横幅とボタンの幅を基に1行の表示ボタン数を決定する。同じくウィンドウの縦幅とボタンの高さを基に1列の表示ボタン数についても計算する。図3の302にリサイズされた場合、上記計算により、ウィンドウ302には3行1列のボタン表示が可能と決定される。
【0103】
また、別の方法としては、ウィンドウサイズがリサイズされた際、該リサイズされたウィンドウのウィンドウ表示領域外に存在するボタン、または一部ウィンドウ表示領域外に存在するボタンを検知し、表示するボタンの数を計算することも可能である。ボタンのサイズが均一でない場合はこちらの方法を使用するものとする。
【0104】
次に、ステップS205において、ボタン配置制御部103は、ステップS204で決定されたボタン数だけウィンドウに表示される基本ボタンを決定し、該決定した基本ボタンをウィンドウに配置するように画面制御部104が管理するメモリ内にセットする。基本ボタンは、基本ボタン情報データベース内の押下カウンタ901f項目を参照して決定する。基本的には、押下カウンタ901f項目の値が多いボタンから基本ボタンに決定する。押下カウンタ901f項目の値が同じ場合には、ID901a項目の若いボタンを基本ボタンとする。
【0105】
次に、ステップS206において、ボタン配置制御部103は、上記ステップS205で基本ボタンと決定されたボタンを1つ取得し(以下、カレントの基本ボタンという)、該取得した基本ボタンにサブボタン設置が必要か否かを判定する。なお、この判定は、リサイズされたウィンドウ内に表示可能なボタンの数と基本ボタン情報データベース内のボタンの総数(レコード数)とを比較することにより行う。全てのボタンがリサイズ後のウィンドウに収まる場合は、サブボタン設置は必要ないと判定し、一方、全てのボタンがリサイズ後のウィンドウに収まりきらない場合は、サブボタン設置が必要であると判定する。
【0106】
ステップS206で、ボタンのサブボタン設定が必要ないと判定した場合には、ボタン配置制御部103は、ステップS208に処理を進める。
【0107】
一方、ステップS206で、ボタンのサブボタン設置が必要であると判断した場合には、ボタン配置制御部103は、ステップS207に処理を進める。
【0108】
ステップS207では、ボタン配置制御部103は、画面制御部104に、カレントの基本ボタンに対して、サブボタン設置処理を実行させる。なお、このサブボタン設定設置の詳細は後述する図14に示す。
【0109】
そして、上記ステップS207のサブボタン設置処理が終了すると、ステップS208において、ボタン配置制御部103は、全ての基本ボタンについてステップS206〜S207の処理を終了したか否かを判定し、未だ終了していないと判定した場合には、ステップS206に処理を戻し、次の基本ボタンに処理を移行させる。
【0110】
一方、ステップS208で、全ての基本ボタンについてステップS206〜S207の処理を終了したと判断した場合には、ボタン配置制御部103は、本フローチャートの処理を終了させる。
【0111】
図14は、本発明における第3の制御処理手順の一例を示すフローチャートであり、図13のステップS207に示したサブボタン設置処理に対応する。なお、このフローチャートの処理は、図1に示したCPU110が外部メモリ113に格納されたプログラムをRAM111上にロードして実行することにより実現される画面制御部104により実行される。
【0112】
まず、ステップS301において、画面制御部104は、処理対象となっている基本ボタンの「上、下、左、右、右上、右下、左上、左下」の8方向に、サブボタンが必要か否かを判定する。なお、サブボタンの有無の判定は、最初に基本ボタン情報データベースと隣接ボタン情報データベースからボタンの上、下、左、右、右下、右上、左下、左上の8方向に存在するボタン数を求める。このデータを基にサブボタンを設置の有無を判定する。
【0113】
そして、上記ステップS301で、基本ボタンの「上、下、左、右、右上、右下、左上、左下」の8方向のいずれのサブボタンも必要ないと判定した場合には、そのまま本フローチャートの処理を終了させる。
【0114】
一方、上記ステップS301で、基本ボタンの「上、下、左、右、右上、右下、左上、左下」の8方向のいずれかにサブボタンが必要であると判断した場合には、ステップS302に処理を進める。
【0115】
ステップS302では、画面制御部104は、サブボタンが必要と判定された方向に対して各方向に対応した表示方法で、基本ボタンにサブボタンを設置する(サブボタンをボタンとして作成し、画面制御部104が管理するメモリ内にセットされた基本ボタンに設置するようにセットする)。
【0116】
次に、ステップS303において、画面制御部104は、上記ステップS302で設置したサブボタンにおいて色変えが必要か否かを判定する。なお、色変えの有無の判定も、上記ステップS302で求めた上、下、左、右、右下、右上、左下、左上の8方向に存在するボタン数を基に行う。
【0117】
そして、上記ステップS303で、上記ステップS302で設置したサブボタンにおいて色変えが必要ないと判断した場合には、画面制御部104は、そのまま本フローチャートの処理を終了させる。
【0118】
一方、上記ステップS303で、上記ステップS302で設置したサブボタンにおいて色変えが必要と判断した場合には、画面制御部104は、ステップS304に処理を進める。
【0119】
ステップS304では、画面制御部104は、上記ステップS303で色変えが必要と判断されたサブボタンの色を変更する。
【0120】
次に、ステップS305において、画面制御部104は、上記ステップS302で設置したサブボタンのいずれかに半透明化が必要かを判定する。なお、半透明化の必要有無の判定は、サブボタンの遷移先となるボタンが既に基本ボタンとして表示されているか否かで行う。
【0121】
ステップS305で、上記ステップS302で設置したサブボタンのいずれにも半透明化が必要ないと判定した場合には、画面制御部104は、そのまま本フローチャートの処理を終了させる。
【0122】
一方、ステップS305で、上記ステップS302で設置したサブボタンのいずれかに半透明化が必要であると判定した場合には、画面制御部104は、ステップS306において、上記ステップS305で半透明化が必要と判定されたサブボタンを半透明にする。そして、本フローチャートの処理を終了させる。
【0123】
以下、図15のフローチャートを参照して、サブボタンが押下された際の処理について説明する。
【0124】
図15は、本発明における第4の制御処理手順の一例を示すフローチャートであり、サブボタンが押下された際の処理に対応する。なお、このフローチャートの処理は、図1に示したCPU110が外部メモリ113に格納されたプログラムをRAM111上にロードして実行することにより実現される制御部102,画面制御部104により実行される。
【0125】
まず、ステップS401において、制御部102は、サブボタンが押下指示されたか否かを判定し、押下指示されていないと判定した場合には、そのまま本フローチャートの処理を終了させる。
【0126】
一方、ステップS401で、サブボタンが押下されたと判定した場合には、制御部102は、ステップS402に処理を進める。
【0127】
ステップS402では、制御部102は、押されたサブボタンに基づいて、基本ボタン情報データベースと隣接ボタン情報データベースを参照し、移行ボタン(遷移するボタン)を求める。
【0128】
次に、ステップS403では、制御部102は、サブボタンが押下された基本のボタンを、ステップS402で求められた移行ボタンに変更(遷移)するように画面制御部104が管理するメモリ内にセットする。
【0129】
例えば、図4に示した例では、ウィンドウ402のサブボタン403が押下指示されると、ウィンドウに表示されるボタンが404に示すように押下指示されたサブボタン403の遷移機能に対応するボタンに遷移(移行)し、他のボタン(「ボタン1」,「ボタン7」)はそのままとなる。
【0130】
次に、ステップS404において、制御部102は、ステップS403で変更(遷移)した移行ボタンを基本ボタンに決定する。
【0131】
次に、ステップS405において、制御部102は、画面制御部104に、ステップS404で決定した基本ボタンに対して、図14に示したサブボタン設置処理を実行させる。そして、上記ステップS207のサブボタン設置処理が終了すると、制御部102は、本フローチャートの処理を終了させる。
【0132】
次に、ステップS406において、制御部102は、画面制御部104にステップS405でサブボタンが設置されたボタンをウィンドウに設置させてディスプレイ106に表示させるように制御する。即ち、画面制御部104は、画面制御部104が管理するメモリ内に記憶されたボタンをウィンドウに設置させてディスプレイ106に表示させるように制御する。そして、本フローチャートの処理を終了させる。
【0133】
なお、ステップS403では、押下指示されたボタンのみ遷移する場合について示したが、押下指示されたボタンの周りのボタンも全て遷移するように構成してもよい。即ち、上述した図4では、サブボタン403を押下指示された場合に、サブボタンが指示された「ボタン4」のみでなく「ボタン1」,「ボタン4」,「ボタン7」全体が、「ボタン2」,「ボタン5」,「ボタン8」へ遷移されるように構成してもよい。
【0134】
即ち、右(左)方向にあるサブボタンが押下指示された場合ボタン全体が列で右(左)方向に遷移し、上(下)方向にあるサブボタンが押下指示された場合ボタン全体が行で上(下)方向に遷移するように構成してもよい。また、右下(右上,左下,左上)にあるサブボタンが押下指示された場合ボタン全体が固まりで右下(右上,左下,左上)方向に遷移するように構成してもよい。
【0135】
以上説明したように、スケーリングによる限られた大きさの画面となってしまった場合でも、表示されているボタンに付加されたサブボタンにより、表示されていないボタンへ遷移させることができ、ディスプレイ領域の有効利用を可能にする。
【0136】
また、サブボタンを実際のボタンの位置関係を示す位置に付加するので、サブボタンによるボタンの遷移を視覚的に分かるようにすることができる。これにより、ユーザは、普段使い慣れたボタン配置の場合、ボタンの位置関係から実行したいボタンの位置を容易に推測して選択することができる。
【0137】
なお、上記実施形態では、ボタンを例として説明したが、操作部による指示によりアイコンに対応付けられた操作の入力が可能なアイコンでも本発明を適用可能である。また、単にファイルを開くようなアイコンであってもよい。
【0138】
また、スケーリングによる限られた大きさの画面となってしまった場合でも、表示領域の変更に合わせて表示可能なアイコンの数をリアルタイムに自動計算し、複数機能を含ませたアイコンを再配置することができるので、リアルタイムの表示領域の変更にともない表示可能なアイコンの数が変化する一般のウィンドウのアイコン表示にも適用可能である。
【0139】
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
【0140】
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【0141】
以下、図16に示すメモリマップを参照して本発明に係る情報処理装置(コンピュータシステム100)で読み取り可能なデータ処理プログラムの構成について説明する。
【0142】
図16は、本発明に係る情報処理装置(コンピュータシステム100)で読み取り可能な各種データ処理プログラムを格納する記録媒体(記憶媒体)のメモリマップを説明する図である。
【0143】
なお、特に図示しないが、記録媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報,作成者等も記憶され、かつ、プログラム読み出し側のOS等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
【0144】
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、インストールするプログラムやデータが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
【0145】
本実施形態における図12,図13,図14,図15に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、CD−ROMやフラッシュメモリやFD等の記録媒体により、あるいはネットワークを介して外部の記録媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
【0146】
以上のように、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【0147】
この場合、記録媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。
【0148】
プログラムコードを供給するための記録媒体としては、例えば、フレキシブルディスク,ハードディスク,光ディスク,光磁気ディスク,CD−ROM,CD−R,DVD−ROM,磁気テープ,不揮発性のメモリカード,ROM,EEPROM,シリコンディスク等を用いることができる。
【0149】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0150】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0151】
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのソフトウェアによって表されるプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【0152】
さらに、本発明を達成するためのソフトウェアによって表されるプログラムをネットワーク上のサーバ,データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【0153】
なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。
【図面の簡単な説明】
【0154】
【図1】本発明の一実施形態を示す情報処理装置を適用可能なコンピュータシステムの一例を示すブロック図である。
【図2】本発明の情報処理装置で用いるサブボタン付き基本ボタンの一例を示す模式図である。
【図3】ウィンドウサイズ変更後にサブボタン付き基本ボタンがどのように変化するかの一例を示す模式図である。
【図4】サブボタンを押下する事による進行先が既に表示されている場合のサブボタンの制御方法を説明する模式図である。
【図5】基本ボタンに付いているサブボタンがそれぞれどのボタンと対応しているかを説明する模式図である。
【図6】特定の方向にボタンが複数ある場合の表示方法の一例を示す模式図である。
【図7】サブボタン押下時のアクションの一例を示す模式図である。
【図8】サブボタン押下時のアクションの他の例を示す模式図である。
【図9】図1に示したデータベース105のデータテーブル構成を説明するデータテーブル構成図である。
【図10】図9に示した基本ボタン情報テーブル901,隣接ボタン情報テーブル902の使用例を示した図である。
【図11】本発明を適用したアプリケーションの一例を示した模式図である。
【図12】本発明における第1の制御処理手順の一例を示すフローチャートである。
【図13】本発明における第2の制御処理手順の一例を示すフローチャートである。
【図14】本発明における第3の制御処理手順の一例を示すフローチャートである。
【図15】本発明における第4の制御処理手順の一例を示すフローチャートである。
【図16】本発明に係る情報処理装置(コンピュータシステム100)で読み取り可能な各種データ処理プログラムを格納する記録媒体(記憶媒体)のメモリマップを説明する図である。
【符号の説明】
【0155】
100 コンピュータシステム
101 操作部
102 制御部
103 ボタン配置制御部
104 画面制御部
105 データベース
106 ディスプレイ
110 CPU
113 外部メモリ
114 入力装置
901 基本ボタン情報テーブル
902 隣接ボタン情報テーブル
【特許請求の範囲】
【請求項1】
表示手段に表示されるウィンドウ内に配置される1又は複数のボタンを指示手段により指示することによりボタンに対応付けられた操作の入力が可能な情報処理装置であって、
前記ウィンドウに配置される各ボタンの配置情報を記憶する記憶手段から前記各ボタンの配置情報を取得する取得手段と、
前記ウィンドウのサイズが変更された際に、該変更されたウィンドウのサイズに基づいて、前記サイズ変更されたウィンドウに配置可能なボタンの数を算出する算出手段と、
前記算出手段により算出された数のボタンを前記ウィンドウ内に配置されるボタンから選択して前記ウィンドウ上に配置する配置手段と、
前記取得手段により取得されたボタンの配置情報に基づいて、前記配置手段により配置されなかった1又は複数のボタンにそれぞれ対応付けられた1又は複数のサブボタンを、前記配置手段により配置されたボタンに付加する第1の付加手段と、
前記指示手段により前記サブボタンに第1の指示がなされると、該サブボタンが付加されたボタンを、該サブボタンに対応付けられた他のボタンに変更配置する変更手段と、
を有することを特徴とする情報処理装置。
【請求項2】
前記取得手段は、前記ウィンドウに配置される各ボタンのサイズを記憶する記憶手段から前記各ボタンのサイズを取得するものであり、
前記算出手段は、前記ウィンドウのサイズが変更された際に、該変更されたウィンドウのサイズと前記取得手段により取得されたボタンのサイズとに基づいて、前記サイズ変更されたウィンドウに配置可能なボタンの数を算出することを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記ウィンドウに配置される各ボタンのサイズ及び配置情報を記憶する記憶手段に記憶させるデータベース作成手段をもつことを特徴とする請求項2に記載の情報処理装置。
【請求項4】
前記変更手段により変更配置されたボタン以外の1又は複数のボタンにそれぞれ対応付けられた1又は複数のサブボタンを、前記変更手段により変更配置されたボタンに付加する第2の付加手段を設けたことを特徴とする請求項1乃至3のいずれかに記載の情報処理装置。
【請求項5】
前記第1の付加手段,前記第2の付加手段は、ボタンにサブボタンを付加する際、該ボタンから見て該サブボタンに対応するボタンが存在する方向を示す位置に付加することを特徴とする請求項4に記載の情報処理装置。
【請求項6】
前記第1の付加手段,前記第2の付加手段は、1方向に対して、所定数までサブボタンを付加するものであり、前記所定数を超えたため付加しないサブボタンが存在する場合には、該付加しないサブボタンと同一方向に付加したサブボタンを異なる視覚形態に変更する、ことを特徴とする請求項5に記載の情報処理装置。
【請求項7】
前記第2の付加手段は、前記配置手段又は前記変更手段により配置されているボタンに対応するサブボタンを指示不可能な形態に変更する、ことを特徴とする請求項4乃至6のいずれかに記載の情報処理装置。
【請求項8】
前記記憶手段は、前記ウィンドウに配置される各ボタンの前記指示手段により積算指示回数をも記憶するものであり、
前記配置手段は、前記記憶手段に記憶される積算指示回数の多い順に前記算出手段により算出された数のボタンを選択して前記ウィンドウ上に配置する、ことを特徴とする請求項1乃至7のいずれかに記載の情報処理装置。
【請求項9】
前記指示手段により前記サブボタンに第2の指示がなされると、該サブボタンに対応するボタンを識別可能な情報を表示するサブボタン対応情報表示手段を設けたことを特徴とする請求項1乃至8のいずれかに記載の情報処理装置。
【請求項10】
表示手段に表示されるウィンドウ内に配置される1又は複数のボタンを指示手段により指示することによりボタンに対応付けられた操作の入力が可能な情報処理装置の制御方法であって、
前記ウィンドウに配置される各ボタンの配置情報を記憶する記憶手段から前記各ボタンの配置情報を取得する取得ステップと、
前記ウィンドウのサイズが変更された際に、該変更されたウィンドウのサイズに基づいて、前記サイズ変更されたウィンドウに配置可能なボタンの数を算出する算出ステップと、
前記算出ステップにより算出された数のボタンを前記ウィンドウ内に配置されるボタンから選択して前記ウィンドウ上に配置する配置ステップと、
前記取得ステップにより取得されたボタンの配置情報に基づいて、前記配置ステップで配置されなかった1又は複数のボタンにそれぞれ対応付けられた1又は複数のサブボタンを、前記配置ステップで配置されたボタンに付加する第1の付加ステップと、
前記サブボタンが前記指示手段により指示された際に、該サブボタンが付加されたボタンを、該サブボタンに対応付けられた他のボタンに変更配置する変更ステップと、
前記変更ステップで変更配置されたボタン以外の1又は複数のボタンにそれぞれ対応付けられた1又は複数のサブボタンを、前記変更ステップで変更配置されたボタンに付加する第2の付加ステップと、
を有することを特徴とする情報処理装置の制御方法。
【請求項11】
請求項1乃至9のいずれかに記載された情報処理装置としてコンピュータを機能させるための、又は、請求項10に記載された情報処理装置の制御方法をコンピュータに実行させるためのプログラム。
【請求項12】
請求項1乃至9のいずれかに記載された情報処理装置としてコンピュータを機能させるためのプログラム、又は、請求項10に記載された情報処理装置の制御方法をコンピュータに実行させるためのプログラムをコンピュータが読み取り可能に記憶した記録媒体。
【請求項1】
表示手段に表示されるウィンドウ内に配置される1又は複数のボタンを指示手段により指示することによりボタンに対応付けられた操作の入力が可能な情報処理装置であって、
前記ウィンドウに配置される各ボタンの配置情報を記憶する記憶手段から前記各ボタンの配置情報を取得する取得手段と、
前記ウィンドウのサイズが変更された際に、該変更されたウィンドウのサイズに基づいて、前記サイズ変更されたウィンドウに配置可能なボタンの数を算出する算出手段と、
前記算出手段により算出された数のボタンを前記ウィンドウ内に配置されるボタンから選択して前記ウィンドウ上に配置する配置手段と、
前記取得手段により取得されたボタンの配置情報に基づいて、前記配置手段により配置されなかった1又は複数のボタンにそれぞれ対応付けられた1又は複数のサブボタンを、前記配置手段により配置されたボタンに付加する第1の付加手段と、
前記指示手段により前記サブボタンに第1の指示がなされると、該サブボタンが付加されたボタンを、該サブボタンに対応付けられた他のボタンに変更配置する変更手段と、
を有することを特徴とする情報処理装置。
【請求項2】
前記取得手段は、前記ウィンドウに配置される各ボタンのサイズを記憶する記憶手段から前記各ボタンのサイズを取得するものであり、
前記算出手段は、前記ウィンドウのサイズが変更された際に、該変更されたウィンドウのサイズと前記取得手段により取得されたボタンのサイズとに基づいて、前記サイズ変更されたウィンドウに配置可能なボタンの数を算出することを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記ウィンドウに配置される各ボタンのサイズ及び配置情報を記憶する記憶手段に記憶させるデータベース作成手段をもつことを特徴とする請求項2に記載の情報処理装置。
【請求項4】
前記変更手段により変更配置されたボタン以外の1又は複数のボタンにそれぞれ対応付けられた1又は複数のサブボタンを、前記変更手段により変更配置されたボタンに付加する第2の付加手段を設けたことを特徴とする請求項1乃至3のいずれかに記載の情報処理装置。
【請求項5】
前記第1の付加手段,前記第2の付加手段は、ボタンにサブボタンを付加する際、該ボタンから見て該サブボタンに対応するボタンが存在する方向を示す位置に付加することを特徴とする請求項4に記載の情報処理装置。
【請求項6】
前記第1の付加手段,前記第2の付加手段は、1方向に対して、所定数までサブボタンを付加するものであり、前記所定数を超えたため付加しないサブボタンが存在する場合には、該付加しないサブボタンと同一方向に付加したサブボタンを異なる視覚形態に変更する、ことを特徴とする請求項5に記載の情報処理装置。
【請求項7】
前記第2の付加手段は、前記配置手段又は前記変更手段により配置されているボタンに対応するサブボタンを指示不可能な形態に変更する、ことを特徴とする請求項4乃至6のいずれかに記載の情報処理装置。
【請求項8】
前記記憶手段は、前記ウィンドウに配置される各ボタンの前記指示手段により積算指示回数をも記憶するものであり、
前記配置手段は、前記記憶手段に記憶される積算指示回数の多い順に前記算出手段により算出された数のボタンを選択して前記ウィンドウ上に配置する、ことを特徴とする請求項1乃至7のいずれかに記載の情報処理装置。
【請求項9】
前記指示手段により前記サブボタンに第2の指示がなされると、該サブボタンに対応するボタンを識別可能な情報を表示するサブボタン対応情報表示手段を設けたことを特徴とする請求項1乃至8のいずれかに記載の情報処理装置。
【請求項10】
表示手段に表示されるウィンドウ内に配置される1又は複数のボタンを指示手段により指示することによりボタンに対応付けられた操作の入力が可能な情報処理装置の制御方法であって、
前記ウィンドウに配置される各ボタンの配置情報を記憶する記憶手段から前記各ボタンの配置情報を取得する取得ステップと、
前記ウィンドウのサイズが変更された際に、該変更されたウィンドウのサイズに基づいて、前記サイズ変更されたウィンドウに配置可能なボタンの数を算出する算出ステップと、
前記算出ステップにより算出された数のボタンを前記ウィンドウ内に配置されるボタンから選択して前記ウィンドウ上に配置する配置ステップと、
前記取得ステップにより取得されたボタンの配置情報に基づいて、前記配置ステップで配置されなかった1又は複数のボタンにそれぞれ対応付けられた1又は複数のサブボタンを、前記配置ステップで配置されたボタンに付加する第1の付加ステップと、
前記サブボタンが前記指示手段により指示された際に、該サブボタンが付加されたボタンを、該サブボタンに対応付けられた他のボタンに変更配置する変更ステップと、
前記変更ステップで変更配置されたボタン以外の1又は複数のボタンにそれぞれ対応付けられた1又は複数のサブボタンを、前記変更ステップで変更配置されたボタンに付加する第2の付加ステップと、
を有することを特徴とする情報処理装置の制御方法。
【請求項11】
請求項1乃至9のいずれかに記載された情報処理装置としてコンピュータを機能させるための、又は、請求項10に記載された情報処理装置の制御方法をコンピュータに実行させるためのプログラム。
【請求項12】
請求項1乃至9のいずれかに記載された情報処理装置としてコンピュータを機能させるためのプログラム、又は、請求項10に記載された情報処理装置の制御方法をコンピュータに実行させるためのプログラムをコンピュータが読み取り可能に記憶した記録媒体。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【公開番号】特開2008−134901(P2008−134901A)
【公開日】平成20年6月12日(2008.6.12)
【国際特許分類】
【出願番号】特願2006−321683(P2006−321683)
【出願日】平成18年11月29日(2006.11.29)
【出願人】(301015956)キヤノンソフトウェア株式会社 (364)
【Fターム(参考)】
【公開日】平成20年6月12日(2008.6.12)
【国際特許分類】
【出願日】平成18年11月29日(2006.11.29)
【出願人】(301015956)キヤノンソフトウェア株式会社 (364)
【Fターム(参考)】
[ Back to top ]