(57)【要約】【課題】マトリクス表の列や行において、非表示になっている状態をユーザの視覚的に判断し易いように表現し、且つ、表示や非表示を容易なＧＵＩ操作で実現することで、データ処理装置の操作を好適にすることが可能な行列表示装置を提供すること。【解決手段】本発明に係る行列表示装置は、複数のデータを行と列のマトリクス表形式で表示することが可能なデータ処理装置であって、各列の幅と選択された列の最大幅を解析し記憶しておく第１解析工程と、予め記憶している列の通常時の幅、最小表示時の幅、と第１解析工程で記憶した情報を比較し、列の幅を更新して表示する第２更新工程とを備えることを特徴とする。【選択図】図１
2006195678.tif 000002
【特許請求の範囲】
【請求項１】
複数のデータを行と列のマトリクス表形式で表示することが可能なデータ処理装置であって、
各列の幅と選択された列のデータ長に合わせた最大幅を解析する列幅解析手段と、前記解析した各列の幅と選択された列とを列幅管理情報として記憶する記憶手段と、列の通常時の幅、最小表示時の幅を既定列幅情報として記憶する記憶手段と、列幅管理情報と既定列幅情報により各列の幅を更新するマトリクス表更新部と、を備えることを特徴とする行列表示装置。
【請求項２】
既定列幅情報を変更できる既定列幅設定手段を備えることを特徴とする請求項１記載の行列表示装置。
【請求項３】
既定行高さ情報を変更できる既定行高さ設定手段を備えることを特徴とする請求項２記載の行列表示装置。
【請求項４】
複数のデータを行と列のマトリクス表形式で表示することが可能なデータ処理装置であって、
各行の高さと選択された行のデータ長に合わせた最大高さを解析する行高さ解析手段と、前記解析した各行の高さと選択された行を行高さ管理情報として記憶する記憶手段と、行の通常時の高さ、最小表示時の高さを既定行高さ情報として記憶する記憶手段と、行高さ管理情報と既定行高さ情報により各行の高さを更新するマトリクス表更新部と、を備えることを特徴とする行列表示装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理システムに関し、特に複数のデータを行と列で扱うシステムにおいて、データを行と列で表示する手段とユーザの操作を受け付ける手段を有する行列表示装置に関する。
【背景技術】
【０００２】
近年のワークステーションやパーソナルコンピュータ等のデータ処理装置では、ユーザに対して優れた操作環境を提供するためにグラフィカル・ユーザ・インターフェース（ＧＵＩ）が採用されるようになってきている。
【０００３】
一般的にＧＵＩによる行列データの表現は、行と列で区切ったＮ行Ｎ列のマトリクス表形式で表示され、場合によっては行列の区切りに罫線を描画することにより、ユーザにとって視覚的に把握し易いものになっている。
【０００４】
このようなマトリクス表形式のデータ処理装置としては、一般的なものとして表計算アプリケーションや住所録アプリケーション、或は、ハードディスク等のディレクトリ階層やファイルを表示するビューワ等においても、ファイルやディレクトリの一覧を行に表示し、ファイルやディレクトリの「名前」や「サイズ」や「種類」や「更新日時」や「読み書きの可能状態」の属性等を列に表示する等して利用されており、殆どのアプリケーションによって項目を区切るのにマトリクス表形式が利用されている。
【０００５】
従来のデータ処理装置において、マトリクス表形式にて表示されている複数のデータの中から１つのデータを選定するには、行と列の位置を決定するＧＵＩ操作により行われる。
【０００６】
図３の３０１に示すような１つのデータが表示されている桝目は、一般的に「セル」と呼ばれている。ユーザには、セルをマウスポインタによるクリック操作等により選択（以下、「セル選択」と記す）、又、１列以上の列全体のセルを選択（以下、「列選択」と記す）、又、１行以上の行全体を選択（以下、「行選択」と記す）する手段をＧＵＩにより提供されている。
【０００７】
列選択の操作や行選択の操作は、ユーザが編集するデータ枠の外枠に、図３の３０２，３０３に示すような列選択用のフィールド（以下、「列選択フィールド」と記す）や行選択用のフィールド（以下、「行選択フィールド」と記す）が用意されている場合や、列選択用メニューと行選択用メニューが用意されている場合が多い。又、列の幅や行の高さを変更する手段もＧＵＩにより提供されている。例えば、図３の３０４，３０５に示すような列を分割している線（以下、「列スプリット線」と記す）や行を分割している線（以下、「行スプリット線」と記す）を、マウスポインタのドラッグ操作等により列の幅や行の高さを変更できる場合やメニュー操作により変更できる場合もある。
【０００８】
このようにＧＵＩによる操作性や視覚性は向上しているが、ディスプレイに表示できる範囲には限りがあり、大きなマトリクス表の場合には全ての行と列を表示できる訳ではない。そのため、ユーザは、上下左右のスクロールバーの操作等により画面をスクロールしながら、或は、例えば、図３の３０６に示すように必要のない行や列は一時的に非表示する操作等を行い、編集作業等を行っている。
【０００９】
しかしながら、行や列を非表示にした場合には、どの行や列が非表示になっているのか、視覚的にすぐに判断できないという問題がある。又、非表示にした行や列を再度表示するには、列スプリット線や行スプリット線をドラッグ、或はメニュー操作等を行い表示させている。
【００１０】
特許文献１に記載された「表の表示制御装置、表の表示制御方法及び表の表示制御プログラムを記憶した記憶媒体」では、この問題に対して、列名を一覧で表示させ、表示している列と非表示にしている列を識別可能な形態で表示させ、その列名一覧を操作することで表示と非表示を切り替えることを可能にしている。
【００１１】
【特許文献１】特開２００１−０４２８５４号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
しかしながら、非表示にした行や列の再表示操作において、列スプリット線や行スプリット線のドラッグ操作等は、列幅や行高さのサイズ変更の操作と同じ操作である場合もあり、そのような場合には、ＧＵＩはマウスポインタの形を変更したりすることで、対象となる操作が列や行の表示操作なのか、列幅や行高さのサイズ変更操作なのかを区別し、且つ、ユーザにも識別させており、非常に分かりづらく煩わしい操作である。
【００１３】
又、列名一覧を操作することで表示と非表示を切り替える方法においても、非表示の列も列一覧に表示する必要があることから、マトリクス表の別エリアに列一覧を表示する必要があり、大量の列が存在する場合には、マトリクス表と列一覧との対応が取りづらく、やはり分かりづらく煩わしい操作となる。
【００１４】
本発明は、上記従来例に鑑みてなされたもので、マトリクス表の列や行において、非表示になっている状態をユーザの視覚的に判断し易いように表現し、且つ、表示や非表示を容易なＧＵＩ操作で実現することで、データ処理装置の操作を好適にすることが可能な行列表示装置を提供することを目的としている。
【課題を解決するための手段】
【００１５】
上記目的を達成するため、本発明に係る行列表示装置は、複数のデータを行と列のマトリクス表形式で表示することが可能なデータ処理装置であって、各列の幅と選択された列の最大幅を解析し記憶しておく第１解析工程と、予め記憶している列の通常時の幅、最小表示時の幅、と第１解析工程で記憶した情報を比較し、列の幅を更新して表示する第２更新工程とを備えることを特徴とする。
【００１６】
上記構成の第１形態の行列表示装置によれば、ユーザが、例えばＧＵＩ操作であるマウスクリック等で通常時の列幅で表示されている列を選択した際、選択した列を０より大きい最小表示時の列幅（例えば、マウスポインタで選択できる幅）に切り替えて表示することで、表示上はほぼ非表示の状態の列でありながら列が存在することを容易に把握できる。更に、０より大きな最小列幅で表示されている列は、ユーザが容易にＧＵＩ操作で選択可能であり、その列をマウス等の簡単な操作で選択することで、選択した列にある全てのデータが表示可能な最大幅に、或は選択した列を通常時の幅に、或は選択した列をユーザが列スプリット線を操作して設定していた幅に、マウス等の簡単な操作をする毎に列幅を切り替え表示するトグル動作等も実現することができる。
【００１７】
本発明の第２の形態である行列表示装置は、複数のデータを行と列のマトリクス表形式で表示することが可能なデータ処理装置であって、各行の高さと選択された行の最大高さを解析し記憶しておく第１解析工程と、予め記憶している行の通常時の高さ、最小表示時の高さと第１解析工程で記憶した情報を比較し、行の高さを更新して表示する第２更新工程とを備えることを特徴とする。
【００１８】
上記構成の第２形態の行列表示装置によれば、ユーザが、例えばＧＵＩ操作であるマウスク等の簡単な操作で通常時の行高さで表示されている行を選択した際、選択した行を０より大きい最小表示時の行高さ（例えば、マウスポインタで選択できる高さ）に切り替えて表示することで、表示上はほぼ非表示の状態の行でありながら行が存在することを容易に把握できる。更に、０より大きな最小行高さで表示されている行は、ユーザが容易にＧＵＩ操作で選択可能であり、その行をマウスク等の簡単な操作で選択することで、選択した行にある全てのデータが表示可能な最大高さに、或は選択した行を通常時の高さに、或は選択した行をユーザが行スプリット線を操作して設定していた高さに、マウス等の簡単な操作をする毎に行高さを切り替え表示するトグル動作等も実現することができる。
【００１９】
本発明の第３の形態である行列表示装置は、第１の形態と、第２の形態とを備えることを特徴とする。
【００２０】
本発明の第４の形態である行列表示装置は、第１の形態と、予め記憶している列の通常時の幅、最小表示時の幅を変更できる設定工程とを備えることを特徴とする。
【００２１】
上記構成の第４形態の行列表示装置によれば、ユーザが列の通常時の幅や最小表示時の幅を自由に設定でき、個々のユーザにとって操作し易い列幅に変更することができる。
【００２２】
本発明の第５の形態である行列表示装置は、第２の形態と、予め記憶している行の通常時の高さ、最小表示時の高さを変更できる設定工程とを備えることを特徴とする。
【００２３】
上記構成の第５形態の行列表示装置によれば、ユーザが行の通常時の高さや最小表示時の高さを自由に設定でき、個々のユーザにとって操作し易い行高さに変更することができる。
【００２４】
本発明の第６の形態である行列表示装置は、第４の形態と、第５の形態とを備えることを特徴とする。
【発明の効果】
【００２５】
本発明によれば、ユーザのマトリクス表のＧＵＩ操作による列や行の非表示操作がなされた場合に、非表示操作の対象となる列や行に対して、０より大きい値の列の最小幅や行の最小高さ用いてマトリクス表を更新し、ＧＵＩを再描画することにより、非表示になっている列や行が存在していることを視覚的に容易に判断可能な状態にすることができ、更に、非表示になっている列や行が簡単なＧＵＩ操作で選択可能な状態である。これにより、従来の非表示状態にある列や行の判断や、列や行の非表示操作や、非表示になっている列や行の再表示操作等、手間であったＧＵＩ操作を簡潔且つ容易なＧＵＩ操作に変更することができるという効果が得られる。
【発明を実施するための最良の形態】
【００２６】
以下に本発明の実施形態を添付図面に基づいて説明する。
【００２７】
＜実施の形態１＞
図１は本発明の実施の形態を示す全体構成図である。
【００２８】
図１において、１はＣＰＵであり、以下に説明する２〜１０の装置を２で示したバスを介してアクセスし制御を行う。
【００２９】
３はバス２を会してＣＰＵ１からアクセス可能な読み出し専用メモリ（ＲＯＭ）であり、本実施の形態では、その動作を詳細に説明する処理プログラム３ａ及び処理プログラムにより使用されるパラメータ３ｂが格納されている。
【００３０】
４は読み書き可能なメモリ（ＲＡＭ）であり、該ＲＡＭ４上には、上記処理プログラム３により作成／変更がなされる、列幅管理情報、行高さ管理情報、既定列幅情報、既定行高さ情報をそれぞれ格納するための領域（順に４ａ，４ｂ，４ｃ，４ｄ）が確保されている。
【００３１】
５は入力インターフェイスであり、６で示したキーボード、マウス、タブレット等の入力装置を介してなされる入力を受け取る。
【００３２】
７は出力インターフェイスであり、８で示したＣＲＴ、ＬＣＤ等の表示媒体、更にはプリンタ、プロッタ等の出力装置に対し、データの表示／出力を行う。
【００３３】
又、９は外部記憶装置インターフェイスであり、１０で示したＨＤ、ＦＤ、ＣＤ−ＲＯＭ、ＭＯＤ等の外部記憶装置に対するデータの入出力を行うものである。
【００３４】
本実施の形態では、動作の詳細な説明と行う処理プログラム３ａやパラメータ３ｂがＲＯＭ３上にあるものとして、又、処理対象となる各データの格納領域（４ａ〜４ｄ）がＲＡＭ上にあるものとして説明を行うが、これらは全て外部記憶装置上に配置することも可能であり、更に、必要に応じて、外部記憶装置からＲＡＭ上にロードし、使用することもできる。又、ＣＰＵのキャッシュメモリ上に配置することも同様に可能である。
【００３５】
図２は図１において３ａで示した処理プログラムの構成要件とそれら構成要件が図１において４ａ〜４ｄで示した格納領域に格納されるデータとどのような関係にあるかを示すものである。
【００３６】
図２において、２００は入力インターフェイス５を介して入力されるデータを扱うＧＵＩ入力処理部であり、ユーザはこのＧＵＩ入力処理部２００によりデータの入力、編集ができるようになっている。
【００３７】
２０１は出力インターフェイス６に出力するデータを扱うＧＵＩ出力処理部であり、ユーザはこのＧＵＩ出力処理部２０１によりデータの編集、確認ができるようになっている。
【００３８】
２１０は本発明による行列表示装置の起動時、或はＧＵＩ入力処理部２００によりある列の幅の変更操作がなされた時、その時点での列の情報の解析部（以下、列幅解析部）である。
【００３９】
２１１は列幅解析部２１０により解析された各列の情報である、各列の現在表示している幅と、選択された列かどうかのフラグ、選択された列のデータが全て表示可能な列幅、起動時或はユーザの列スプリット線操作等によりサイズを指定された場合のユーザが設定しているオリジナルの列幅の記憶部（以下、列幅管理情報）である。ユーザによりマトリクス表の保存操作等が行われた際には、列幅解析部２１０により列幅管理情報２１１のオリジナル幅は、列幅管理情報２１１の現在表示幅にコピーされても良い。
【００４０】
２１２は本発明による行列表示装置の起動時、或はＧＵＩ入力処理部２００によりある行の高さの変更操作がなされた時、その時点での行の情報の解析部（以下、行高さ解析部）である。
【００４１】
２１３は行高さ解析部２１２により解析された各行の情報である、各行の現在表示している高さと、選択された行かどうかのフラグ、選択された行のデータが全て表示可能な行高さ、起動時或はユーザの行スプリット線操作等によりサイズを指定された場合のユーザが設定しているオリジナルの行高さの記憶部（以下、行高さ管理情報）である。
【００４２】
２１６は予めデフォルトの値として定められている列の通常時の幅、最小表示時の幅の記憶部（以下、既定列幅情報）である。ユーザによりデータが入力されていない新規のマトリクス表が表示された場合には、既定列幅情報２１６の通常時の幅で全ての列が表示されるのが一般的である。
【００４３】
２１５は予め設定されていた既定列幅情報２１６の情報である列幅を、ＧＵＩ入力処理部２００により上書きする設定部（以下、既定列幅設定部）である。
【００４４】
２１７は予めデフォルトの値として定められている行の通常時の高さ、最小表示時の高さの記憶部（以下、既定行高さ情報）である。ユーザによりデータが入力されていない新規のマトリクス表が表示された場合には、既定列幅情報２１６の通常時の高さで全ての行が表示されるのが一般的である。
【００４５】
２１８は予め設定されていた既定行高さ情報２１７の情報である行高さを、ＧＵＩ入力処理部２００により上書きする設定部（以下、既定行高さ設定部）である。
【００４６】
２１４は列幅管理情報２１１と既定列幅情報２１６と行高さ管理情報２１３と既定行高さ情報２１８の情報から、マトリクス表の対象となる列の幅、或は対象となる行の高さを変更する更新部（以下、マトリクス表更新部）である。マトリクス表更新部２１４の処理後の結果は、ＧＵＩ出力処理部２０１によりディスプレイ等に表示されユーザが確認することができる。
【００４７】
これ以降の説明においてのフローチャートによる処理手順は、例に限定されることはなく、本発明の結果を満たす限り如何なる手順の組み合わせも、複数処理をまとめることも、処理を細分化することも可能であり、又、各処理を個々に切り出して１つの機能要素として単体として機能し、示している処理以外の処理と組み合わせて使用することも可能である。
【００４８】
図４は本発明の列幅管理情報２１１と既定列幅情報２１６と行高さ管理情報２１３と既定行高さ情報２１８の一例を示している。以後の説明で、各情報の単位は、描画する際に必要なピクセル数とする。
【００４９】
列幅管理情報２１１は、この例では列を一意に識別するための列番号４０１と、列の現在表示されている幅を示す現在表示幅４０２と、ユーザが列スプリット線等の操作で列幅を調整していた場合のオリジナル列幅４０３と、ユーザが列の操作を行った場合に選択されたかどうかのフラグである選択列４０４である。オリジナル列幅４０３は、例えば「Ｃ」列の現在表示幅が４２１のように４０ピクセル、オリジナル幅が４２２のように４０ピクセルである場合に、ユーザがスプリット線の操作で「Ｃ」列の列幅を１００ピクセルに広げた場合、オリジナル幅が４２４のように１００ピクセルに更新される。
【００５０】
又、この例では、現在表示幅が４２３のように１００ピクセルに更新されているが、現在表示幅は、ＧＵＩで表示されているマトリクス表からいつでも作成することができるため、このユーザの操作の結果で更新しても更新しなくても良い。又、本実施の形態では、説明を分かり易くするために列幅管理情報２１１として全ての列に対してこれら情報を管理しているように示すが、実際には、ユーザが指定した列、つまり選択列４０４のフラグ情報が真（ＴＲＵＥ）である列に対してのみの情報だけでも構わない。
【００５１】
既定列幅情報２１６は、この例では全ての列で共通に使用される値として、マトリクス表をデータの未入力状態で新規作成された時等に列の幅として使われる通常幅４０５と、列の非表示操作がなされた時に列の非表示幅として使われる最小幅４０６である。但し、本実施の形態では、説明を分かり易くするために既定列情報２１６として全ての列で共通の値を使用するとして示すが、実際には、列番号の情報を付加し全ての列に対してこれら情報を個々に管理しても構わない。
【００５２】
行高さ管理情報２１３は、この例では行を一意に識別するための行番号４１１と、行の現在表示されている高さを示す現在表示高さ４１２と、ユーザが行スプリット線等の操作で行高さを調整していた場合のオリジナル行高さ４１３と、ユーザが行の操作を行った場合に選択されたかどうかのフラグである選択行４１４である。但し、本実施の形態では、説明を分かり易くするために行高さ管理情報２１３として全ての行に対してこれら情報を管理しているように示すが、実際には、ユーザが指定した行、つまり、選択行４１４のフラグ情報が真（ＴＲＵＥ）である行に対してのみの情報だけでも構わない。
【００５３】
既定行高さ情報２１８は、この例では全ての行で共通に使用される値として、マトリクス表をデータの未入力状態で新規作成された時等に行の高さとして使われる通常高さ４１５と、行の非表示操作がなされた時に行の非表示高さとして使われる最小高さ４１６である。但し、本実施の形態では、説明を分かり易くするために既定高さ情報２１８として全ての行で共通の値を使用するとして示すが、実際には、行番号の情報を付加し全ての行に対してこれら情報を個々に管理しても構わない。
【００５４】
図６はユーザが列幅を変更する操作を行った場合に、列幅管理情報２１１におけるデータ値の変化の一例を示している。図７はその時のユーザが列幅を変更する操作によるＧＵＩの描画の一例を示している。この詳細な説明については、図５のフローチャートと共に説明する。以降、マトリクス表が新規作成された場合には、全ての列が４０ピクセルで初期化されるものとする。又、このフローチャートの説明では、列の情報と処理を例として説明するが、行の情報と処理に置き換えても有効である。
【００５５】
ステップ５０１のフローが開始される状況は、例えば、図７の（ａ）のようなマトリクス表でユーザが列スプリット線を操作して、「Ｃ」列の列幅を自由に設定していたとする。この時点での列幅管理情報２１１の状態は、図６の６０１の状態であり、「Ｃ」列の現在表示幅は８０ピクセル、オリジナル幅は、ユーザが列幅を変更していた状態なので８０ピクセルに変更されている状態、「Ｃ」列以外の現在表示幅とオリジナル幅は、全てマトリクス表の新規作成時と同じ４０ピクセルとなっている。このとき、図７の７０１のように「Ｃ」列の表示切り替え操作をするとこのフローが開始される。本実施の形態では、マウスポインタのダブルクリックを表示切り替え操作の例として説明する。
【００５６】
ステップ５０２では、列幅管理情報２１１の表示切り替え操作の対象となる列の情報を更新する。図７の７０１では「Ｃ」列を選択していたので、図６の６１２のように列番号「Ｃ」の選択列が真の値に更新された状態である。
【００５７】
ステップ５０３では、表示切り替え操作の対象となる列の現在の表示幅を抽出する。図７の７０１では「Ｃ」列を選択していたので、「Ｃ」列の現在表示幅は図６の６０６のように８０ピクセルである。
【００５８】
ステップ５０４では、ステップ５０３で抽出した表示切り替え操作の対象となる列の現在表示幅が、既定列幅情報２１６の最小幅と通常幅と列幅管理情報２１１のオリジナル幅との比較を行い、現在表示幅が最小幅と同じ幅の場合にはステップ５０５へ、現在表示幅が通常幅と同じ幅の場合にはステップ５０６へ、現在表示幅がオリジナル幅と同じ幅の場合にはステップ５０７へ、それ以外の幅の場合にはステップ５０９へ進む。図６の６０６は、現在表示幅がオリジナル幅と同じ幅であることからステップ５０７へ進むことになる。
【００５９】
ステップ５０７では、表示切り替え操作の対象となる列の全行のデータを参照して、全てのデータを表示可能な最大幅を計算している。
【００６０】
ステップ５０８では、ステップ５０７で計算した最大幅を、列幅管理情報２１１の現在表示幅に設定している。図６の６１１では、１００ピクセルを設定している。この時点で列幅管理情報２１１は図６の６０２の状態になっている。
【００６１】
ステップ５１０では、更新後の列幅管理情報２１１からマトリクス表を更新している。
【００６２】
ステップ５１１では、ステップ５１０でマトリクス表の更新が終了しているので、表示切り替え操作の対象となる列の情報である選択列をクリアする。この時点で図６の６１２は偽の値に更新されることになる。
【００６３】
ステップ５１２では、ステップ５１０で更新されたマトリクス表をＧＵＩとしてウィンドウに更新して描画する。この時点でのＧＵＩの描画イメージは図７（ｂ）であり、「Ｃ」列の全てのデータが表示できる最大幅で表示されている様子である。つまり、図７（ａ）のような状態で、「Ｃ」列に対して表示切り替え操作であるマウスのダブルクリックをすると、図７（ｂ）のように「Ｃ」列の全てのデータが表示可能な列幅で「Ｃ」列が再描画される。
【００６４】
ステップ５０９へ遷移する状態は、ステップ５０４での判断で、表示切り替え対象となる列の現在表示幅が、最小幅でも通常幅でもオリジナル幅でもない場合であり、その場合に、表示切り替え操作の対象となる列の列管理情報２１１の現在表示幅を既定列幅情報２１６の最小幅に設定している。図７（ｂ）のような状態で、図７の７０２のように「Ｃ」列の表示切り替え操作が行われ、ステップ５０１のフローが開始されると、ステップ５０２では図６の６１４のように「Ｃ」列の選択列が真の値に更新され、ステップ５０９では図６の６２２を参照して「Ｃ」列の現在表示幅を図６の６１３のように５ピクセルを設定する。この時点で列幅管理情報２１１は図６の６０３の状態になっている。この結果、ステップ５１０，５１１，５１２のフローを経て、最終的にユーザに表示されるマトリクス表のＧＵＩは図７の（ｃ）のようになる。つまり、図７の（ｂ）のような状態で、「Ｃ」列に対して表示切り替え操作であるマウスのダブルクリックをすると、図７の（ｃ）のように、列が存在することが判断できる程度の最小の列幅で「Ｃ」列が再描画される。
【００６５】
ステップ５０５へ遷移する状態は、ステップ５０４での判断で、表示切り替え対象となる列の現在表示幅が、既定列幅管理情報２１６の最小幅と等しい場合であり、その場合に、表示切り替え操作の対象となる列の列管理情報２１１の現在表示幅を既定列幅情報２１６の通常幅に設定している。
【００６６】
図７の（ｃ）のような状態で、図７の７０３のように「Ｃ」列の表示切り替え操作が行われ、ステップ５０１のフローが開始されると、ステップ５０２では図６の６１６のように「Ｃ」列の選択列が真の値に更新され、ステップ５０９では図６の６２１を参照して「Ｃ」列の現在表示幅を図６の６１５のように４０ピクセルを設定する。この時点で列幅管理情報２１１は図６の６０４の状態になっている。この結果、ステップ５１０，５１１，５１２のフローを経て、最終的にユーザに表示されるマトリクス表のＧＵＩは図７の（ｄ）のようになる。つまり、図７の（ｃ）のような状態で、「Ｃ」列に対して表示切り替え操作であるマウスのダブルクリックをすると、図７の（ｄ）のように、列が新規作成時等に設定されていた通常の列幅で「Ｃ」列が再描画される。
【００６７】
ステップ５０６へ遷移する状態は、ステップ５０４での判断で、表示切り替え対象となる列の現在表示幅が、既定列幅管理情報２１６の通常幅と等しい場合であり、その場合に、表示切り替え操作の対象となる列の列管理情報２１１の現在表示幅をオリジナル幅に設定している。
【００６８】
図７（ｄ）のような状態で、図７の７０４のように「Ｃ」列の表示切り替え操作が行われ、ステップ５０１のフローが開始されると、ステップ５０２では図６の６１８のように「Ｃ」列の選択列が真の値に更新され、ステップ５０９では図６の６１９を参照して「Ｃ」列の現在表示幅を図６の６１７のように８０ピクセルを設定する。この時点で列幅管理情報２１１は図６の６０５の状態になっている。この結果、ステップ５１０，５１１，５１２のフローを経て、最終的にユーザに表示されるマトリクス表のＧＵＩは図７の（ａ）のようになる。つまり、図７の（ｄ）のような状態で、「Ｃ」列に対して表示切り替え操作であるマウスのダブルクリックをすると、図７の（ａ）のように、ユーザが予め操作して設定していた列幅で「Ｃ」列が再描画される。
【００６９】
以上のように、本発明の行列表示装置によれば、単一の列や行を簡単なＧＵＩ操作により非表示した時に得られる効果、つまり表示が必要ない列や行を非表示にすることで画面を有効に利用することや、効率良くデータの編集をし易くするという効果とほぼ同等の効果を得ることができ、且つ、非表示になっている列や行が存在することを容易に判断可能な状態にし、更に、簡単なＧＵＩ操作により再表示することを可能にすることにより、ユーザに好適なデータを処理するシステムを提供することになる。
【００７０】
＜実施の形態２＞
次に、本発明の実施の形態２を図８のフローチャット及び図９と図１０の図面を用いて説明する。
【００７１】
図９はユーザが列幅を変更する操作を行った場合に、列幅管理情報２１１におけるデータ値の変化の一例を示している。図１０はその時のユーザが列幅を変更する操作によるＧＵＩの描画の一例を示している。この詳細な説明については、図８のフローチャートと共に説明する。以降、マトリクス表が新規作成された場合には、全ての列が４０ピクセルで初期化されるものとする。又、このフローチャートの説明では、列の情報と処理を例として説明するが、行の情報と処理に置き換えても有効である。
【００７２】
ステップ８０１のフローが開始される状況は、例えば、図１０（ａ）のようなマトリクス表でユーザがキーボードやマウスの操作により複数の列を選択しており、図１０の１００１のように「Ｃ」「Ｄ」「Ｅ」「Ｆ」列が選択状態にあったとする。このとき、図１０の１００２のように、何かしらの操作を決定するためにポップアップメニュー等を出す操作をするとこのフローが開始される。但し、図１０の例では、説明を簡潔にするために、ポップアップメニューの内容は列幅の操作に関するものだけを示すが、通常は列幅の操作以外の操作メニューもあることが多い。
【００７３】
ステップ８０２では、ユーザの操作が列幅の変更操作かどうかを判断する。列幅の変更操作の場合にはステップ８０３へ進み、それ以外の操作の場合には、このフローを抜ける。
【００７４】
ステップ８０３では、列幅変更操作の対象となる列の、列幅管理情報２１１の選択列の情報を更新する。図１０の１００１では「Ｃ」「Ｄ」「Ｅ」「Ｆ」列を選択していたので、図９の９１１のように列番号「Ｃ」「Ｄ」「Ｅ」「Ｆ」の選択列が真の値に更新された状態である。
【００７５】
ステップ８０４では、ユーザの操作が列幅の変更操作のうち何の操作かどうかを判断する。列幅の非表示操作である場合にはステップ８０５へ、列幅の通常幅での表示操作である場合にはステップ８０６へ、列幅の最大幅での表示操作である場合にはステップ８０７へ進む。図１０の１００２の例では、選択した「Ｃ」「Ｄ」「Ｅ」「Ｆ」列の非表示であることからステップ８０５へ進むことになる。
【００７６】
ステップ８０５では、列幅変更操作の対象となる列の、列幅管理情報２１１の現在表示幅の情報を、既定列幅情報２１６の最小幅に設定する。図９の９２２の例では、最小幅の５ピクセルを、図９の９１２のように「Ｃ」「Ｄ」「Ｅ」「Ｆ」列の現在表示幅にコピーしている。この時点で列幅管理情報２１１は９０２の状態になっている。
【００７７】
ステップ８０８では、更新後の列幅管理情報２１１からマトリクス表を更新している。
【００７８】
ステップ８０９では、ステップ８０８でマトリクス表の更新が終了しているので、列幅変更操作の対象となる列の情報である選択列をクリアする。この時点で図９の９１３の「Ｃ」「Ｄ」「Ｅ」「Ｆ」列の選択列の値は偽の値に更新されることになる。但し、ユーザに示すＧＵＩとしては、選択状態を残しておいても構わない。
【００７９】
ステップ８１０では、ステップ８０９で更新されたマトリクス表をＧＵＩとしてウィンドウに更新して描画する。この時点でのＧＵＩの描画イメージは図１０（ｂ）であり、「Ｃ」「Ｄ」「Ｅ」「Ｆ」列が最小幅で表示されている様子である。つまり、図１０（ａ）のような状態で、「Ｃ」「Ｄ」「Ｅ」「Ｆ」列に対して非表示操作をすると、図１０（ｂ）のように、列が存在することが判断できる程度の最小の列幅で「Ｃ」「Ｄ」「Ｅ」「Ｆ」列が再描画される。
【００８０】
ステップ８０６へ遷移する状態は、ステップ８０４での判断で、列幅変更操作の内容が列幅の通常幅での表示操作である場合である。例えば、図１０（ｂ）のような状態から図１０（ｃ）のような列幅変更操作が行われた場合である。その場合に、列幅変更操作の対象となる列の、列幅管理情報２１１の現在表示幅の情報を、既定列幅情報２１６の通常幅に設定する。図９の９２１の例では、通常幅の４０ピクセルを、図９の９１４のように「Ｃ」「Ｄ」「Ｅ」「Ｆ」列の現在表示幅にコピーしている。この時点で列幅管理情報２１１は９０３の状態になっている。
【００８１】
この結果、ステップ８０８，８０９，８１０のフローを経て、最終的にユーザに表示されるマトリクス表のＧＵＩは図１０（ｄ）のようになる。つまり、図１０（ｂ）のような状態で図１０（ｃ）のように複数列に対して通常幅への列幅変更操作がなされると、図１０（ｄ）のように、選択されている複数列が通常幅で再描画される。このとき、図１０の１０１３のように「Ｃ」「Ｆ」列は、通常幅では表示できないデータ長であり、データが隠れている状態を示している。
【００８２】
ステップ８０７へ遷移する状態は、ステップ８０４での判断で、列幅変更操作の内容が列幅の最大幅での表示操作である場合である。例えば、図１０（ｂ）のような状態から図１０（ｅ）のような列幅変更操作が行われた場合である。その場合に、列幅変更操作の対象となる各列に対して、全行のデータを参照して全てのデータを表示可能な最大幅を計算している。
【００８３】
ステップ８０８では、ステップ８０７で計算した各列の最大幅を、列幅管理情報２１１の現在表示幅に設定する。図９の９１５の例では、各列の最大幅を計算した結果、「Ｃ」列は６０ピクセル、「Ｄ」列は４０ピクセル、「Ｅ」列は４０ピクセル、「Ｆ」列は６０ピクセルとなり、それら値を「Ｃ」「Ｄ」「Ｅ」「Ｆ」列の現在表示幅にコピーしている。この時点で列幅管理情報２１１は９０４の状態になっている。
【００８４】
この結果、ステップ８０８，８０９，８１０のフローを経て、最終的にユーザに表示されるマトリクス表のＧＵＩは図１０（ｆ）のようになる。つまり、図１０（ｂ）のような状態で図１０（ｅ）のように複数列に対して最大幅への列幅変更操作がなされると、図１０（ｅ）のように、選択されている複数列が最大幅で再描画される。このとき、図１０のの１０２３の「Ｃ」「Ｆ」列は、最大データ長のデータが表示できる幅で再描画されている状態を示している。
【００８５】
以上のように、本発明の行列表示装置によれば、複数の列や行を簡単なＧＵＩ操作により非表示した時に得られる効果、つまり、表示が必要ない列や行を非表示にすることで画面を有効に利用することや、効率良くデータの編集をし易くするという効果とほぼ同等の効果を得ることができ、且つ、非表示になっている列や行が存在することを容易に判断可能な状態にし、更に、簡単なＧＵＩ操作により再表示することを可能にすることにより、ユーザに好適なデータを処理するシステムを提供することになる。
【００８６】
＜実施の形態３＞
以下、本発明の実施の形態３を図１１を用いて説明する。
【００８７】
図１１はユーザが列一覧表示から非表示にしたい列を設定する操作によるＧＵＩの一例を示している。処理内容は実施の形態１で説明した図５のフローチャートの処理と、実施の形態２で説明した図８のフローチャートの処理と、一部の処理を加えることで実現可能である。
【００８８】
図１１の１１０１のようなマトリクス表において、ユーザは特定の列を選択せずに図１１の１１０５のようにポップアップメニューから列の表示設定をする操作をする。その操作の結果、全列に対して列管理情報２１１の現在表示幅を参照し、既定列幅情報２１６の最小幅より大きい値の現在表示幅の列は表示状態と判断し、最小幅以下の値の現在行事幅の列は非表示状態と判断し、図１１の１１０２のような列の一覧が描画された表示設定ダイアログボックスをＧＵＩで表示する。
【００８９】
表示設定ダイアログボックスには、列の列番号や列名の一覧と、先に判断した表示状態の結果をチェックボックスにより表している。ユーザは、この表示設定ダイアログボックスの、各列のチェックボックスのチェックを付加したり外したりする操作を行った後に、図１１の１１０３のように「ＯＫ」ボタンをクリックすると、表示設定ダイアログボックスによりチェックが外された列の関しては、列幅管理情報２１１の現在表示幅に既定列幅情報２１６の最小幅が設定され、更新後の列幅管理情報２１１からマトリクス表が更新され、図１１の１１０４のようなＧＵＩが再描画されることになる。
【図面の簡単な説明】
【００９０】
【図１】本発明の実施の形態のシステムの概要構成を示すブロック図である。
【図２】本発明の実施の形態のシステムの記憶する情報構成を示すブロック図である。
【図３】従来のマトリクス表の表示ＧＵＩの一例を示す図である。
【図４】本発明の実施の形態において記憶する情報の一例を示す図である。
【図５】本発明の実施の形態１における行列表示処理を示すフローチャートの一例を示す図である。
【図６】本発明の実施の形態１における記憶する情報の更新の一例を示す図である。
【図７】本発明の実施の形態１におけるマトリクス表のＧＵＩの一例を示す図である。
【図８】本発明の実施の形態２における行列表示処理を示すフローチャートの一例である。
【図９】本発明の実施の形態２における記憶する情報の更新の一例を示す図である。
【図１０】本発明の実施の形態２におけるマトリクス表のＧＵＩの一例を示す図である。
【図１１】本発明の実施の形態３におけるマトリクス表のＧＵＩの一例を示す図である。
【符号の説明】
【００９１】
２００    ＧＵＩ入力処理部
２０１    ＧＵＩ出力処理部
２１０    列幅解析部
２１１    列幅管理情報
２１２    行高さ解析部
２１３    行高さ管理情報
２１４    既定列幅設定部
２１５    既定列幅情報
２１７    既定行高さ設定部
２１８    既定行高さ情報
２１９    マトリクス表更新部
【図１】
2006195678.tif 000003
【図２】
2006195678.tif 000004
【図３】
2006195678.tif 000005
【図４】
2006195678.tif 000006
【図５】
2006195678.tif 000007
【図６】
2006195678.tif 000008
【図７】
2006195678.tif 000009
【図８】
2006195678.tif 000010
【図９】
2006195678.tif 000011
【図１０】
2006195678.tif 000012
【図１１】
2006195678.tif 000013