(57)【特許請求の範囲】
【請求項１】
複数のアイコンを所定の整列パターンに従って整列させるアイコン表示制御装置において、
前記整列パターンの各整列先と所定の位置関係にある近傍アイコンを当該整列先の候補として仮決定する仮決定手段と、
前記仮決定手段により仮決定された候補が１つの整列先に対し複数ある場合、当該整列先に最も近い候補から順次高い優先順位を付与する優先順位付与手段と、
前記整列パターンの基準方向に沿って、各整列先に割り当て可能な候補を決定する手段であって、前の整列先で採用されなかった繰り下がり候補を当該整列先の候補として通常の候補よりも高い優先順位で加え、前記繰り下がり候補が複数ある場合にはそれらの間における優先順位を維持して当該整列先の候補として決定する手段と、
１つの候補のみが決定された整列先についてはその候補を当該整列先に割り当て、複数の候補が決定された整列先についてはそれらの中で最も優先順位が高い候補を当該整列先に割り当てる割当て手段と、
を含むことを特徴とするアイコン表示制御装置。
【請求項２】
請求項１記載の装置において、
前記仮決定手段は、前記近傍アイコンが非存在の場合には空白を当該整列先の候補として仮決定することを特徴とするアイコン表示制御装置。
【請求項３】
請求項１または２記載の装置において、
前記基準方向における最後の整列先に対する割り当てが完了した時点で、割り当てられていない候補が残存する場合に、それらの候補が割り当てられるまで前記基準方向に整列先を追加形成して整列パターンを拡大するパターン拡大手段を含むことを特徴とするアイコン表示制御装置。
【請求項４】
請求項１または２記載の装置において、
前記整列パターンは２次元の行列パターンであり、前記基準方向は行方向又は列方向であることを特徴とするアイコン表示制御装置。
【請求項５】
請求項２記載の装置において、
前記空白が割り当てられた整列先は空欄とされることを特徴とするアイコン表示制御装置。
【請求項６】
請求項１または２記載の装置において、
前記基本候補条件は、整列先の領域内に基準点が属するアイコンを前記近傍アイコンとする条件を含むことを特徴とするアイコン表示制御装置。
【請求項７】
請求項１または２記載の装置において、
配列パターンを各種の大きさのアイコンに適合させて可変設定する手段を含むことを特徴とするアイコン表示制御装置。
【請求項８】
請求項７記載の装置において、
前記可変設定する手段は、
行ごとにアイコンの高さのうち最大値を求め、その最大値に応じて、整列先のその行の高さを決定する高さ決定し、
列ごとにアイコンの幅のうち最大値を求め、その最大値に応じて、整列先のその列の幅を決定し、
前記決定された整列先の高さ及び幅を用いて配列パターンを設定する、
ことを特徴とするアイコン表示制御装置。
【請求項９】
複数のアイコンを所定の整列パターンに従って整列させるアイコン表示制御方法において、
前記整列パターンの各整列先と所定の位置関係にある近傍アイコンを当該整列先の候補として仮決定する仮決定工程と、
前記仮決定工程により仮決定された候補が１つの整列先に対し複数ある場合、当該整列先に最も近い候補から順次高い優先順位を付与する優先順位付与工程と、
前記整列パターンの基準方向に沿って、各整列先に割り当て可能な候補を決定する工程であって、前の整列先で採用されなかった繰り下がり候補を当該整列先の候補として通常の候補よりも高い優先順位で加え、前記繰り下がり候補が複数ある場合にはそれらの間における優先順位を維持して当該整列先の候補として決定する工程と、
１つの候補のみが決定された整列先についてはその候補を当該整列先に割り当て、複数の候補が決定された整列先についてはそれらの中で最も優先順位が高い候補を当該整列先に割り当てる割当て工程と、
を含むことを特徴とするアイコン表示制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はアイコン表示制御装置及び方法に関し、特に、非整列状態で表示された複数のアイコンの自動整列に関する。
【０００２】
【従来の技術】
ウインドウ内に非整列状態で複数のアイコンが表示されているような場合において、それらのアイコンを所定の整列パターンに従って自動整列させる技術に関し、幾つかの提案がなされている。
【０００３】
特開平６−４２５６号公報には、各アイコンに優先順位を設定しておき、その設定の順序に従って複数のアイコンを自動整列させる手法が開示されている。なお、この公報には、その従来技術として、基準点との間の距離が最も短いアイコンを優先的に基準点に割り当てる手法が開示されている。
【０００４】
特開平７−２１９７４２号公報には、複数のアイコンを複数の基準点へ割り当てた時に、各アイコンの移動量ができる限り小さくなる組み合わせを決定し、それに基づいてアイコンを自動整列する手法が開示されている。
【０００５】
【発明が解決しようとする課題】
しかしながら、上記の特開平６−４２５６号公報に記載された手法では、自動整列後において、それ以前のアイコンの原配列状態が十分に尊重されないという問題があった。例えば、ユーザが各アイコンを移動させた際に、各アイコン間に位置的な関係をもたせたにもかかわらず、あるいは、ユーザが意図的にアイコン間に空間をもたせたにもかかわらず、それらが自動整列で無視されるという問題があった。なお、基準点からの最短距離のみを基準としてアイコンの割り当てを行っても、上記同様の問題を十分に解決できない。
【０００６】
また、上記の特開平７−２１９７４２号公報の手法では、アイコンの個数が多いと、計算量が非常に多くなり、処理時間が無視できなくなるという問題がある。特に、この手法では、図１に示すように、ほとんどのアイコンが整列先に沿って並び、一部のアイコンが狭い範囲に重なって存在している場合においては、図２に示すように、自動整列後において、重なっていたアイコン（アイコン４）が予想外の位置に並べられてしまい、原配列パターンを尊重できないという問題があった。なお、図１及び図２において、符号１−１０は自動整列後における各整列先の番号を示しており、符号２０はウインドウを示している。
【０００７】
本発明は、上記従来の課題に鑑みなされたものであり、その目的は、計算量が少なく、またアイコンの原配列パターンをできる限り尊重できるアイコンの自動整列を実現することにある。
【０００８】
【課題を解決するための手段】
（１）上記目的を達成するために、本発明は、複数のアイコンを所定の整列パターンに従って整列させるアイコン表示制御装置において、前記整列パターンの各整列先と所定の位置関係にある近傍アイコンを当該整列先の候補として仮決定する仮決定手段と、前記仮決定手段により仮決定された候補が１つの整列先に対し複数ある場合、当該整列先に最も近い候補から順次高い優先順位を付与する優先順位付与手段と、前記整列パターンの基準方向に沿って、各整列先に割り当て可能な候補を決定する手段であって、前の整列先で採用されなかった繰り下がり候補を当該整列先の候補として通常の候補よりも高い優先順位で加え、前記繰り下がり候補が複数ある場合にはそれらの間における優先順位を維持して当該整列先の候補として決定する手段と、１つの候補のみが決定された整列先についてはその候補を当該整列先に割り当て、複数の候補が決定された整列先についてはそれらの中で最も優先順位が高い候補を当該整列先に割り当てる割当て手段と、を含むことを特徴とする。本発明の好適な態様では、前記仮決定手段は、前記近傍アイコンが非存在の場合には空白を当該整列先の候補として仮決定することを特徴とする。
【０００９】
上記構成によれば、各整列先毎に１又は複数の候補が決定される。この場合、望ましくは、その候補の中には「空白」が含まれる。複数の候補がある場合、それらの間で優先順位が設定される。そして、基本的に優先順位がもっとも高い候補が当該整列先に割り当てられる。すなわち、その候補がアイコンであれば、そのアイコンが当該整列先へ移動され、その候補が空白であれば当該整列先には、いずれのアイコンも割り当てられず、空欄とされる。
【００１０】
本発明では、ある整列先で採用されなかった１又は複数の候補が存在する場合には、その候補は次の整列先の候補として繰り下がり利用される。この場合、その繰り下げ候補の優先順位は、通常の候補の優先順位よりも高く設定される。すなわち、繰り下げ候補が優先的に割り当てられるので、原並びが尊重される。
【００１１】
以上のような候補決定及び割り当てが基準方向に沿って先頭の配列先から順次実行されると、各アイコンの原並びが維持されながら、最も相応しい整列先へ各アイコンが順次割り当てられていくことになる。この場合、空白も候補の１つとすれば、恣意的にアイコン間が離されているような場合に、その意図を反映させた自動配列を実現できる。上記の処理は、例えば行方向の各段毎に実行される。勿論、列方向に沿って処理を実行してもよい。
【００１２】
（２）本発明の好適な態様では、前記基準方向における最後の整列先に対する割り当てが完了した時点で、割り当てられていない候補アイコンが残存する場合に、それらの候補アイコンが割り当てられるまで前記基準方向に整列先を追加形成して整列パターンを拡大するパターン拡大手段を含むことを特徴とする。
【００１３】
上記のような整列パターンの拡大によれば、基準方向に沿っておよそ並んでいる複数のアイコンのすべてをその基準方向上に配列でき、その意味でも原配列を維持できる。この場合、ウインドウの大きさとの関係を考慮して、整列パターンの拡大を行うのが望ましい。
【００１４】
（３）本発明の好適な態様では、前記整列パターンは２次元の行列パターンであり、前記基準方向は行方向又は列方向であることを特徴とする。すなわち、任意の方向に沿って上記の処理を適用できる。
【００１５】
（４）本発明の好適な態様では、前記空白が割り当てられた整列先は空欄とされることを特徴とする。すなわち、上記のように空白も候補の１つにすれば、結果として、アイコンが表示されない空欄領域を形成して、原配列イメージを維持できる。勿論、空白を候補から外せば、空欄が生じないで各アイコン間が詰められた表示形態を実現できる。
【００１６】
（５）本発明の好適な態様では、前記基本候補条件は、整列先の領域内に基準点が属するアイコンを前記近傍アイコンとする条件を含むことを特徴とする。整列先の領域が二次元領域として定義されるような場合、その領域内にアイコンの基準点が含まれればそれは近傍アイコンとされる。この場合、基準点は例えばアイコンの左上隅の座標である。これ以外には中心点やそれ以外の特定点を基準点としてもよい。このように領域の属否（比較）を判定基準にすれば、距離計算を回避して計算量を削減できるという利点がある。
【００１７】
（６）本発明の好適な態様では、前記優先順位決定手段は、前記繰り下げられた候補については通常の候補よりも高い優先順位を設定し、また、複数の候補が繰り下げられた場合にはそれらの間における優先順位をそのまま繰り下げに当たっても維持することを特徴とする。すなわち、原並びを尊重するために、候補間の並びが維持される。
【００１８】
（７）本発明の好適な態様では、前記優先順位決定手段は、複数のアイコンが通常の候補として含まれている場合には、それらの中で最も整列先に近いアイコンから順次高い優先順位を付与することを特徴とする。
【００１９】
（８）本発明の好適な態様では、前記配列パターンを各種の大きさのアイコンに適合させて可変設定する手段を含むことを特徴とする。アイコンの大きさに合わせて、整列パターンの形態を適宜調整すれば、アイコン間の重なりを防止でき、また効率的にアイコンを配列できる。
【００２０】
（９）また、上記目的を達成するために、本発明は、複数のアイコンを所定の整列パターンに従って整列させるアイコン表示制御方法において、前記整列パターンの各整列先と所定の位置関係にある近傍アイコンを当該整列先の候補として仮決定する仮決定工程と、前記仮決定工程により仮決定された候補が１つの整列先に対し複数ある場合、当該整列先に最も近い候補から順次高い優先順位を付与する優先順位付与工程と、前記整列パターンの基準方向に沿って、各整列先に割り当て可能な候補を決定する工程であって、前の整列先で採用されなかった繰り下がり候補を当該整列先の候補として通常の候補よりも高い優先順位で加え、前記繰り下がり候補が複数ある場合にはそれらの間における優先順位を維持して当該整列先の候補として決定する工程と、１つの候補のみが決定された整列先についてはその候補を当該整列先に割り当て、複数の候補が決定された整列先についてはそれらの中で最も優先順位が高い候補を当該整列先に割り当てる割当て工程と、を含むことを特徴とする。
【００２１】
空白が候補とされなければ、自動整列後において各アイコンが基準方向に沿って詰めて表示されることになる。この場合、ウインドウ内の空きスペースを少なくできる利点がある。
【００２２】
（１０）本発明の好適な態様では、前記可変設定する手段は、行ごとにアイコンの高さのうち最大値を求め、その最大値に応じて、整列先のその行の高さを決定し、列ごとにアイコンの幅のうち最大値を求め、その最大値に応じて、整列先のその列の幅を決定し、前記決定された整列先の高さ及び幅を用いて配列パターンを設定することを特徴とする。
【００２３】
【発明の実施の形態】
以下、本発明の好適な実施形態を図面に基づいて説明する。
【００２４】
図３には、本発明に係るアイコン表示制御装置の要部構成が示されている。このアイコン表示制御装置は例えば汎用のコンピュータで実現される。
【００２５】
バス１２には、プログラムにしたがって情報処理を実行するＣＰＵ１１と、アプリケーションプログラムやオペレーティングシステムなどを格納した記憶部１４と、アイコンなどが表示される表示装置１６と、キーボードやマウスなどで構成される入力装置１８と、が接続されている。なお、表示装置１６及び入力装置１８に関連するインターフェイスユニットなどは図示省略されている。記憶部１４内には、本実施形態に係るアイコン表示制御方法を実現するための制御プログラムも格納されている。
【００２６】
図４には、本実施形態の自動整列方法自動整列後の状態が示されている。これは、図１に示した非整列状態にある複数のアイコンに対して、以下に詳述するような自動整列処理を適用した結果である。ウインドウ２０内において、マトリクス状の整列パターンが構築されており、その整列パターンにおける各整列基準方向に沿って（図４に示す例では右方向の各段毎に）各アイコンが自動整列されている。この図４に示す実施形態では、アイコン間における隙間も尊重されており、すなわち整列先後にはそこにアイコンが割り当てられておらず、空欄とされる。また、ウインドウ２０内における整列パターン自体も整列基準方向に拡大されている。以下に、この自動整列方法の原理について図５及び図６を用いて詳述する。
【００２７】
図５及び図６に示す例では、整列先１〜１０が初期設定されている。これらの整列先のうちで、整列先１〜５が第１番目の整列基準方向に沿った整列先であり、整列先６〜１０が第２段目の整列基準方向に沿った整列先である。
【００２８】
このような配列パターンに対して、図１に示したような非整列状態にある複数のアイコンを適当な整列先にそれぞれ割り当てる場合、まず、図５の左側に示すように各整列先毎に割り当て候補が仮決定される。本実施形態では、整列先の領域内に左上隅の座標が含まれるアイコンが当該整列先の候補として決定されている。またいずれのアイコンも候補とならない場合、当該整列先については空白が候補とされている。
【００２９】
以上のような処理によって、図５に示すように、整列先１については候補としてアイコン１が決定され、整列先２については候補としてアイコン２、アイコン３及びアイコン４が決定され、整列先３については空白が候補として決定され、整列先４についてはアイコン５が候補として決定され、整列先５については空白が候補として決定される。これと同様に、次の段についてもそれぞれの整列先毎に候補が決定される。
【００３０】
ここで、１つの整列先について複数の候補が決定された場合、本実施形態では各候補間に優先順位が決定される。この場合、整列先の基準ｘ座標とアイコンの左上隅のｘ座標の差が小さいアイコン、その差が同じならば整列先の基準ｙ座標とアイコンの左上隅のｙ座標の差が小さいアイコン、その差も同じならば重なりの順番が上のアイコン、の順で優先順位が決定される。図５に示した例では、第２の整列先に関し、アイコン２、アイコン３及びアイコン４の順番で優先順位が設定される。
【００３１】
このように各整列先後と候補が仮決定された後、以下に列記するルールに基づいて各整列先毎に割り当てる候補が決定される。
【００３２】
割り当てルール１：優先順位の最も高いアイコンを割り当てる。
【００３３】
割り当てルール２：前の整列先で採用されなかった候補（繰り下がり候補）は次の整列先の候補よりも優先順位の高い候補とする。
【００３４】
割り当てルール３：複数の候補の繰り下がりがある場合には前回の優先順位を維持してその繰り下がりを行う。
【００３５】
割り当てルール４：空白についてもアイコンと同様に取り扱う。
【００３６】
割り当てルール５：改行時点でアイコンの候補が余っていたら表示領域を拡大して各行単位で候補の全てを割り当てる。ただし、空白が最後に残ったらその空白は無視する。
【００３７】
以上のような各ルールに従うと、図５に示すように、整列先１についてはアイコン１が割り当てられ、整列先２についてはアイコン２が割り当てられる。この場合、候補として残ったアイコン３及びアイコン４についてはその優先順位を保ったまま次の整列先３の優先的な候補とされる。これが図５に示されている。よって整列先３にはアイコン３が割り当てられることになり、その割り当てで残されたアイコン４及び空白の候補についてはその優先順位の関係が維持されつつ次の整列先４の割り当て処理で候補とされることになる。図５に示す例では、整列先４にアイコン４が割り当てられる。
【００３８】
整列先４の割り当て処理で残された空白及びアイコン５の候補は、図６に示すように、整列先５の割り当て処理において優先的な候補とされ、図６に示すように整列先５には空白が割り当てられる。
【００３９】
ここで、整列先５についての割り当てを完了しても、依然として候補が残されているため、上述した割り当てルール５にしたがって整列パターンが整列基準方向に拡大され、例えば整列先５’等が追加形成される。そして、その整列先５’には前回の割り当て処理で残されたアイコン５が割り当てられる。最終的に空白の候補が残った場合には、その空白については無視される。もちろん、更に領域を拡大する処理を行ってもよい。
【００４０】
以上のような処理は、各整列基準方向毎に実行され、すなわち１つの整列基準方向において候補とされた全てのアイコンなどが割り当てられるまで領域が拡大される。
【００４１】
上述した処理を次の段についても実行することによって、整列先６についてはアイコン６が割り当てられ、整列先７についてはアイコン７が割り当てられ、整列先８についてはアイコン８が割り当てられる。更に整列先９，１０，１０’については空白が割り当てられ、すなわち空欄とされる。
【００４２】
以上のような自動整列によれば、図１及び図４の対比から明らかなように、最初にユーザなどが設定した各アイコン間の位置関係を尊重しつつ各アイコンを自動整列させることができる。すなわち、各基準方向における各アイコン間の並びはそのまま維持され、しかも故意にアイコン間に一定の空間を設けたような場合には、それが空欄として表示され、その意味においても原配列を尊重できる。
【００４３】
したがって、図２に示したように、特定のアイコンが突然離れた位置に割り当てられてしまうような従来の問題を有効に解決できる。なお、上述した実施形態では、割り当てルール４にしたがって空白についてもアイコンと同様に取り扱ったが、ウインドウ内におけるアイコンの効率的な配置などの事情がある場合には空白を候補から除外したり、空白が割り当てられた場合には次のアイコンを順次積めていくような処理を行ってもよい。これについては後に説明する。
【００４４】
上述したアイコンの自動整列手法は、例えばスキャナによって読み込んだ複数の伝票をその縮小イメージとしてアイコンで表示して整理するようなシステムにおいて有用である。例えば、図１に示したように、縮小イメージとして複数の伝票がユーザによって大まかに配列されているような状態において、上記手法を適用すれば、図４に示すような整列後の状態を速やかに得ることができる。このように各アイコンにナンバリング等がされていないような場合でも、各アイコンの原配置位置を尊重して自動整列を行うことができる。なお、上記のようなシステムでは、各アイコンに自動的にファイル名や作成日時などの情報が付加されるが、各アイコンは伝票の縮小イメージであるため、その内容をみることによってユーザは容易に各アイコンの象徴先を特定することができる。
【００４５】
上述した割り当てルールは代表例であって、他のルールを追加することもでき、あるいは一部のルールを削除することもできる。ただし、候補の繰り下げや領域拡大などのルールは非常に有効であり、それらの基本的なルールを維持しておくことが望ましい。
【００４６】
次に、本実施形態に係る自動整列処理についてその具体例を更に説明する。
【００４７】
図７に示すように、ウインドウ２０内に複数のアイコンが非整列状態で配置されている場合に、ユーザによって配列パターンを決定するために、整列枠の大きさが選択される。これは例えばウインドウ２０のメニューバーにおける特定メニューをプルダウンすることによって表示されるリスト中から、特定の枠の大きさを選択することによって実現される。このように、整列枠の大きさを選択すると、図８に示すようにウインドウ２０内に仮想的に整列パターンが形成され、すなわちマトリクス上に複数の整列先が確定される。
【００４８】
ちなみに、ウインドウ２０の垂直方向（列方向）の大きさはＷＹでありウインドウ２０の水平方向（行方向、整列基準方向）の大きさはＷＸである。各整列先は、垂直方向にＤＹの大きさを有し、水平方向にＤＸの大きさを有する。各アイコンの位置はその左上隅の座標（ｘ，ｙ）によって定義される。もちろん、それ以外の基準点（例えば中心点）等をアイコンの座標としてもよい。ＤＸ及びＤＹの決定に当たっては、ユーザが入力した用紙サイズに対して、アイコンのファイル名表示領域とアイコンのページ数表示領域と描画マージンとが加算され、これによってＤＸ及びＤＹが決定される。
【００４９】
以上のような前提の下、図９に示す処理が実行される。Ｓ１０１では、ウインドウ内に存在しているアイコンの位置が取得される。そして、Ｓ１０２では注目している整列先の領域にＳ１０１で取得されたアイコンの基準点が属すか否かが判断される。Ｓ１０２で当該整列先の領域に属すと判断された場合、Ｓ１０３が実行され、メモリ上に管理されている候補リストに当該アイコンが追加される。そして、Ｓ１０４では、以上の処理をアイコンの個数だけ繰り返したか否かが判断され、Ｓ１０５では、全ての整列先について上記処理が繰り返されたか否かが判断される。すなわち、Ｓ１０１〜Ｓ１０５までの工程では、図５に示したように、各整列先毎に全てのアイコンについて領域の属否が調査され、整列先の領域内に属するアイコンのみが候補として判定される。
【００５０】
例えば、最初の整列先１の領域は、その左上の座標が（０，０）で右下の座標が（ＤＸ，ＤＹ）の範囲にあり、その範囲に対して全てのアイコンの属否を調査し、いずれかのアイコンの左上隅の座標がこの範囲内に含まれればそのアイコンが候補とされる。これと同様に、整列先２の領域は、その左上隅の座標が（ＤＸ，０）で右下隅の座標が（ＤＸ×２，ＤＹ）の範囲にあり、その範囲に対して各アイコン毎にその属否が調査される。そして、これが各整列先毎に繰り返し実行される。領域の属否を判定する時に、既に候補となっているアイコンは判定対象からはずして良い。
【００５１】
このような処理によって、図５に示したように各整列先毎に１又は複数の候補が決定される。ここで、その候補にはこの実施形態では空白が含まれる。
【００５２】
図９に示すＳ１０６では、整配列基準方向に沿って順番に各整列先毎に優先順位の最も高いアイコンが配置される。すなわち、これによって当該整列先に対する候補の割り当てがなされる。Ｓ１０７では、前の整列先で残された候補が次の整列先の候補としてリストに加えられる。すなわち候補リストが更新される。Ｓ１０８では、以上の処理が整列基準方向に沿った複数の整列先分だけ繰り返されたか否かが判断され、これによって整列基準方向に沿った第１番目の配列先から最終の配列先までアイコン又は空白が順次割り当てられていくことになる。
【００５３】
Ｓ１０９では、最後の整列先に対する割り当てが完了した時点で、候補が残っているか否かが判定される。１又は複数の候補が残っていれば、その残存した候補の個数に応じて表示領域が整列基準方向に拡大され、Ｓ１１１において、残された候補間における優先順位にしたがって、拡張された各整列先にそれぞれの候補が配置される。これは図６に示したとおりである。
【００５４】
Ｓ１１２では全ての整列基準方向について上記処理が終了したか否かが判断される。すなわち、Ｓ１０６〜Ｓ１１２までの工程は、各整列基準方向毎に繰り返し実行されることになる。図９に示す処理が完了した時点では、図４に示したように各整列先に適切なアイコンが割り当てられ、すなわちアイコンが自動的に対応する整列先に移動されることになる。
【００５５】
上述した実施形態によれば、文書が縮小表示された各アイコンの位置関係をそのまま維持させつつ、ユーザが指定した間隔で重なりなく自動的にアイコンを整列させることができるので、各アイコンが見易くなり、アイコンの比較や選択が簡単になるという利点がある。また、領域属否や優先順位の決定に当たっては、座標の比較演算が実行されているため、従来の最短距離の計算などに比べて、その計算量が少ないという利点がある。
【００５６】
上述した実施形態では、各アイコンの大きさが統一されている場合について説明したが、二種以上の大きさをもったアイコンの自動整列に当たっても上記手法を適用できる。この場合には、例えば複数のアイコンの中で、アイコンの高さと幅のそれぞれの最大値を求め、高さの最大値をＤＹとし、幅の最大値をＤＸとして整列間隔を決めればよい。あるいは、図９に示す処理を実行した後に、すなわち自動整列後における各アイコンの大きさに適合させて行幅及び列幅を決定してもよい。これを以下に説明する。
【００５７】
図１０には、大きさの異なる複数のアイコンが整列される前の状態が示されている。これに対し上記の図９に示した手法を適用すれば、図１１に示すように各アイコンを自動整列させることができる。しかしながら、各整列枠の大きさはまだ調整されておらず、このため一部のアイコン間において部分的に重なりが生じている。
【００５８】
そこで、各整列枠の大きさを各アイコンの大きさに合わせることによって、例えば図１２に示すようにウインドウ２０内において各アイコンを効率的に配置することが可能となる。この処理について図１３を用いて説明する。
【００５９】
この図１３に示す処理は、図９に示す処理が完了した後に引き続いて実行されるものである。
【００６０】
まず、Ｓ２０１では、変数ｉに初期値として１が代入される。このｉは行番号に相当するものである。Ｓ２０２では、ウインドウ２０内において、左上が（０，（ｉ−１）×ＤＹ）で、右下が（ＷＸ，ｉ×ＤＹ）の範囲の中にある複数のアイコンのうちで、高さの最大値が求められる。そして、Ｓ２０３では、以上のように求められた高さの最大値に対し、ファイル名表示領域の高さとページ数表示領域の高さと描画マージンとが加算される。ただし、アイコンが存在しない場合には予め定めた空白領域用の所定値が演算値として用いられる。Ｓ２０４では、以上のように求められた加算値（あるいは所定値）が上からｉ番目の行の高さとして設定され、それがメモリに記憶される。
【００６１】
Ｓ２０５では、最終行まで上記処理が実行されたか否かが判断され、ｎｏであればＳ２０６においてｉが１つインクリメントされ上記処理が繰り返し実行される。これによって、各行毎にその高さすなわち垂直方向の幅が確定されることになる。
【００６２】
Ｓ２０７では、変数ｊに初期値として１が代入される。ここでｊは列番号に相当するものである。
【００６３】
Ｓ２０８では、ウインドウ２０内において、左上が（（ｊ−１）×ＤＸ，０）で、右下が（（ｊ×ＤＸ，ＷＹ）の範囲内にある複数のアイコンの中で幅の最大値が求められる。そして、Ｓ２０９では、以上のように求められた幅の最大値に対して、ファイル名表示領域の幅とページ数表示領域の幅を描画マージンとが加算される。ただし、アイコンがない場合には予め定められた空白領域用の所定値が演算値として用いられる。
【００６４】
Ｓ２１０では、以上のように求められた加算値（あるいは所定値）が左からｊ番目の列の幅として決定され、それがメモリに記憶される。
【００６５】
Ｓ２１１では、全ての列について上記処理がなされたか否かが判断され、ｎｏであればＳ２１２において変数ｊが１つインクリメントされ、上記処理が繰り返し実行される。したがって、以上の処理によって各列ごとにその水平方向の幅が確定されることになる。
【００６６】
そして、Ｓ２１３では、以上のように確定された各行及び各列の幅にしたがって各アイコンが再配置される。この状態が図１２に示されている。Ｓ２１４では、必要であれば表示領域が拡大あるいは縮小される。
【００６７】
以上の実施形態によれば、様々な大きさのアイコンが混在していても、重なりなくかつ表示領域内において効率的にアイコンを配置することができる。
【００６８】
また、上記の実施形態では空白を候補に利用したが、そのような空白を候補にすることなく上記処理を行うこともできる。すなわち、このような処理を行えば、図４に示した整列先後の空欄などが取り除かれ、各アイコンが左詰めで密集配列される。ちなみに、例えば図５に示した候補決定に当たっては、整列先３及び整列先５等の候補は無しとなる。ただし、それ以前の整列先から繰り下げられたアイコンがそれぞれの整列先の候補として再決定される。以上の実施形態によれば、アイコンの位置関係を保ったまま表示領域の拡張を最小限にしつつ一覧表示を行える。
【００６９】
また、上記の実施形態では整列基準方向が右方向であったが、その整列基準方向を下方向に設定することもできる。すなわち整列基準方向を下方向に設定してその方向を順次右方向へシフトさせるものである。このような処理によっても上記手法をそのまま適用することができ、例えば、その結果、図１４に示すような整配列パターンを得られる。この図１４に示されるように、上記処理では下方向に領域が拡大されている。なお、他の方向を整列基準方向としても上記手法を適用できる。
【００７０】
また、上記実施形態では、アイコンの基準位置を左上隅の座標としたが、それ以外の座標を基準座標としてもよい。また、優先順位の決定に当たって、アイコンの左上隅の座標を利用したが、それに関しても他の基準座標を利用してもよい。
【００７１】
さらに、表示領域のいずれかの位置にアイコンが表示されない部分がある場合には、当該部分の領域を縮小することもでき、より効率的な表示を実現できる。
【００７２】
【発明の効果】
以上説明したように、本発明によれば、計算量が少なく、またアイコンの原配列パターンをできる限り尊重できるアイコンの自動整列を実現できる。
【図面の簡単な説明】
【図１】  アイコンの整列前の状態を示す説明図である。
【図２】  従来におけるアイコンの自動整列後の状態を示す説明図である。
【図３】  本実施形態のハードウエア構成を示すブロック図である。
【図４】  本実施形態によるアイコンの自動整列後の状態を示す説明図である。
【図５】  本実施形態のアイコンの自動整列の原理を示す説明図である。
【図６】  本実施形態のアイコンの自動整列の原理を示す説明図である。
【図７】  整列枠の大きさの選択方法を示す説明図である。
【図８】  各整列先の幅及び高さの定義を説明するための図である。
【図９】  本実施形態の方法を示すフローチャートである。
【図１０】  大きさの異なる複数のアイコンが非整列状態にあることを示す説明図である。
【図１１】  アイコンの整列後の状態を示す説明図である。
【図１２】  整列枠の大きさを調整した後の状態を示す説明図である。
【図１３】  整列枠の大きさの調整を行う方法を示すフローチャートである。
【図１４】  整列基準方向を下方向に設定した場合の自動整列結果を示す説明図である。
【符号の説明】
１〜１０  整列先、１１  ＣＰＵ、１２  バス、１４  記憶部、１６  表示装置、１８  入力装置、２０  ウインドウ。
【図１】
0003870478.tif 000002
【図２】
0003870478.tif 000003
【図３】
0003870478.tif 000004
【図４】
0003870478.tif 000005
【図５】
0003870478.tif 000006
【図６】
0003870478.tif 000007
【図７】
0003870478.tif 000008
【図８】
0003870478.tif 000009
【図９】
0003870478.tif 000010
【図１０】
0003870478.tif 000011
【図１１】
0003870478.tif 000012
【図１２】
0003870478.tif 000013
【図１３】
0003870478.tif 000014
【図１４】
0003870478.tif 000015