JP3953738B2 - 図形編集装置、および図形編集装置として機能させるためのプログラムを格納した記録媒体 - Google Patents

図形編集装置、および図形編集装置として機能させるためのプログラムを格納した記録媒体 Download PDF

Info

Publication number
JP3953738B2
JP3953738B2 JP2001019068A JP2001019068A JP3953738B2 JP 3953738 B2 JP3953738 B2 JP 3953738B2 JP 2001019068 A JP2001019068 A JP 2001019068A JP 2001019068 A JP2001019068 A JP 2001019068A JP 3953738 B2 JP3953738 B2 JP 3953738B2
Authority
JP
Japan
Prior art keywords
information
line
graphic
registered
information table
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2001019068A
Other languages
English (en)
Other versions
JP2001291112A (ja
JP2001291112A5 (ja
Inventor
伸弘 齋藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2001019068A priority Critical patent/JP3953738B2/ja
Publication of JP2001291112A publication Critical patent/JP2001291112A/ja
Publication of JP2001291112A5 publication Critical patent/JP2001291112A5/ja
Application granted granted Critical
Publication of JP3953738B2 publication Critical patent/JP3953738B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)
  • Stored Programmes (AREA)
  • User Interface Of Digital Computer (AREA)

Description

【0001】
【発明の属する技術分野】
互いに接続されているオブジェクトの中の一部のオブジェクトを削除する装置および方法に係わる。
【0002】
【従来の技術】
近年、各種フローチャートは、しばしば、コンピュータを用いて作成される。図形等を作成する機能を持ったソフトウェアとしては、例えば、「Power Point (マイクロソフト社)」や「Visio (ビジオ社)」などが知られている。
【0003】
フローチャートは、たとえば、作業工程の手順やソフトウェアプログラムの処理の手順を表すために用いられており、通常、複数のオブジェクト、及びそれら複数のオブジェクトどうしの間を互いに接続するラインまたはコネクタを含んでいる。
【0004】
図38(a) は、コンピュータの表示画面に表示されているフローチャートの一例である。ここでは、3つのオブジェクト(オブジェクトA〜オブジェクトC)が順番に接続されたフローチャートが示されている。
【0005】
オブジェクトどうしを互いに接続するラインは、フローチャートにおけるそれらのオブジェクトの順番あるいは従属関係を表す。たとえば、ラインAB(オブジェクトAとオブジェクトBとを接続するコネクタ)は、オブジェクトAの右上角を起点としているので、この場合、オブジェクトAがオブジェクトBに対する先行オブジェクトであり、オブジェクトBがオブジェクトAの後続オブジェクトであることを表している。
【0006】
ところで、フローチャートの作成に際しては、その編集作業中に、互いに接続されているオブジェクトの中の一部のオブジェクトを削除するようなケースがしばしば発生する。例えば、オブジェクトAとオブジェクトCとの間に設けられているオブジェクトBを削除するようなケースが発生する。この場合、例えば、まず図38(b) に示すように、オブジェクトAとオブジェクトBとを接続するラインABを消去する。ラインを消去する際には、たとえば、そのラインの両端の2つのオブジェクトを指定するか、或いは、メニューから消去処理を呼び出した後に消去すべきラインを指定する。また、同様に、図38(c) に示すように、オブジェクトBとオブジェクトCとを接続するラインBCを消去する。
【0007】
続いて、図38(d) に示すように、オブジェクトBを削除する。オブジェクトを削除する処理は、例えばメニューから呼び出される。そして、図38(e) に示すように、オブジェクトCの位置を移動させた後に、図38(f) に示すように、オブジェクトAとオブジェクトCとの間を接続する。上記処理により、フローチャート内での各オブジェクト前後関係あるいは連携関係を維持しながら、任意のオブジェクトが削除される。
【0008】
【発明が解決しようとする課題】
上述のように、フローチャート等の作成に際して、互いに接続されているオブジェクトの中の一部のオブジェクトを削除する処理は既知の技術である。しかしながら、既存のアプリケーションソフトウェアでは、その操作に手間がかかり、ユーザは煩わしさを感じることが多かった。例えば、図38(a) 〜図38(f) を参照しながら説明した例においては、ユーザは、(a) 削除すべきオブジェクトに接続されているラインを消去する操作、(b) 対照オブジェクトを削除する操作、(c) オブジェクト間を接続する操作、を行わなければならない。
【0009】
この問題は、特に、オブジェクトどうしの間の接続関係が複雑な図形において顕著になる。そして、消去すべきラインの数または新たに設定すべきラインの数が多くなると、それに伴ってユーザの手間や作業時間も増加する。また、ラインの消去や設定に際して、ミスが発生する確率も増加してしまう。
【0010】
なお、この問題は、フローチャートを作成するアプリケーションソフトウェアのみに係わるものではなく、たとえば、図形作成用のソフトウェアや、回路図等を作成するためのソフトウェアにおいても発生し得る。
【0011】
本発明の課題は、互いに接続されているオブジェクトの中の一部のオブジェクトを削除する際の操作を簡単にすることである。
【0012】
【課題を解決するための手段】
本発明の図形編集装置は、直列的に接続された第1のオブジェクト、第2のオブジェクトおよび第3のオブジェクトを含む図形を表示する表示手段と、第2のオブジェクトが選択されたときにその第2のオブジェクトを削除すると共に第1のオブジェクトと第3のオブジェクトとを接続する編集手段と、を有する。
【0013】
本発明の他の実施形態の図形編集装置は、上記表示手段、および第2のオブジェクトが予め決められた領域に移動されたときにその第2のオブジェクトを削除すると共に第1のオブジェクトと第3のオブジェクトとを接続する編集手段と、を有する。
【0014】
表示手段は、例えばコンピュータの表示画面に、第1〜第3のオブジェクトを表示する。また、第2のオブジェクトは、例えばユーザの操作により、上記表示画面上で選択される。
【0015】
編集手段は、上述のように、第2のオブジェクトが選択されたときに、或いは第2のオブジェクトが予め決められた領域に移動されたときに、その第2のオブジェクトを削除すると共に第1のオブジェクトと第3のオブジェクトとを接続する。したがって、ユーザは、互いに接続されたオブジェクトの中の一部のオブジェクトを削除しようとする際に、それらを接続しているラインまたはコネクタを削除する操作や、所望のオブジェクトを削除した後に残されたオブジェクト同士を接続する操作を行う必要がない。
【0016】
上記構成において、オブジェクトどうしの間の従属関係を管理する管理手段をさらに設けてもよい。この場合、第2のオブジェクトが削除される前にその第2のオブジェクトが第1のオブジェクトに従属し且つ第3のオブジェクトが第2のオブジェクトに従属していた場合には、第3のオブジェクトを第1のオブジェクトに従属させるように管理される。この構成を導入すれば、互いに接続されたオブジェクトの中の一部のオブジェクトが削除された際にも、残されたオジェクト内でのオブジェクト同士の前後関係または接続順番は維持される。
【0017】
【発明の実施の形態】
本発明の図形編集方法は、図1に示すように、コンピュータ1の画面に表示された図形等を編集する方法に係わる。図形等は、基本的に、マウス2を用いたユーザによる操作により編集されるが、他の入力デバイスを利用して入力される指示により編集することもできる。なお、以下の実施例では、本発明の方法により編集される図形の例としてフローチャートを採り上げて説明する。フローチャートにおいては、各ステップに対応する図形ユニットが、それぞれ1つの「オブジェクト」として扱われる。
第1の実施形態
図2(a) および図2(b) は、本発明の第1の実施形態における図形の編集方法を示す図である。ここでは、オブジェクトA、オブジェクトB、オブジェクトCが順番に接続された図形(フローチャート)が表示されている状態において、オブジェクトAとオブジェクトCとの間に設けられているオブジェクトBを削除する場合を説明する。なお、第1の実施形態の図形編集ソフトウェアは、オブジェクトを表示するための仮想座標系を提供し、各オブジェクトは、その座標系に従って表示されるものとする。
【0018】
図2(a) に示す状態において、オブジェクトAとオブジェクトCとの間に設けられているオブジェクトBを削除する場合には、ユーザは、まず、そのオブジェクトBを選択(または、指定)する。オブジェクトの選択は、例えば、マウスを用いて所望のオブジェクトを直接的にクリックすることにより行ってもよいし、或いは、マウスを用いた範囲指定により行ってもよい。範囲指定によりオブジェクトを選択する場合には、その指定された範囲内に存在する1以上のオブジェクトが選択されることになる。
【0019】
このオブジェクトBは、ラインABによりオブジェクトAに接続され、また、ラインBCによりオブジェクトCに接続されている。ここで、ラインABは、オブジェクトAの右上角を起点としているので、この場合、オブジェクトAがオブジェクトBに対する先行オブジェクトであり、オブジェクトBがオブジェクトAの後続オブジェクトであることを表している。同様に、オブジェクトBがオブジェクトCに対する先行オブジェクトであり、オブジェクトCがオブジェクトBの後続オブジェクトであることを表している。なお、「ライン」は「コネクタ」と呼ばれることもある。
【0020】
続いて、ユーザは、削除処理の実行を指示する。この削除処理は、例えば、図形編集ソフトウェアにより提供されている機能を利用する。図形編集ソフトウェアは、通常、ユーザにより選択された部品(オブジェクトを含む)を削除する機能をメニューの中に持っている。
【0021】
オブジェクトBが選択された状態で削除処理が実行されると、図2(b) に示すように、オブジェクトBはその図形から削除される。そして、このとき、オブジェクトAとオブジェクトCとを接続するラインが自動的に生成される。また、オブジェクトAとオブジェクトCとの間隔が適切になるように、オブジェクトCの表示位置が、図中、左方向に自動的に移動させられる。
【0022】
このように、第1の実施形態の編集方法によれば、順番に接続された複数のオブジェクトの中の一部のオブジェクトを削除しようとする場合には、オブジェクトを選択する操作、及びその選択したオブジェクトを削除するための指示を入力する操作を行うだけでよい。これらの操作により、削除前のオブジェクト間の接続関係を維持しながら残されたオブジェクトが自動的に接続され、また、各オブジェクトの再配置も自動的に行われる。
【0023】
次に、第1の実施形態の編集方法を詳しく説明する。なお、オブジェクトA〜Cは、それぞれ仮想座標系において、(X,Y)=(000,000)、(001,000)、(002,000)に表示されているものとする。
【0024】
図3(a) 〜図3(c) は、第1の実施形態の図形編集ソフトウェアが提供するテーブルの例である。そして、これらのテーブルに格納されている情報は、第1の実施形態の図形編集ソフトウェアにより描かれている図形の表示状態を表す。換言すれば、図形編集ソフトウェアにより作成される図形は、これらのテーブルに格納されている情報に従って表示される。
【0025】
図3(a) は、オブジェクト情報テーブル11の一例を模式的に示す図である。「配列1」は、表示されているオブジェクトを識別するための識別番号である。「表示情報」は、各オブジェクト内に表示される情報、またはそのラベル名である。「位置情報」は、後述するデータテーブル13から各オブジェクトに係わる詳細情報を呼び出すためのキー情報である。なお、新たなオブジェクトが生成されると、対応するレコードがこのテーブルに追加され、オブジェクトを削除すると、このテーブルから対応するレコードが削除される。
【0026】
図3(b) は、ライン情報テーブル12の一例を模式的に示す図である。「配列2」は、表示されているオブジェクトどうしを接続するラインを識別する識別番号である。「前方情報」は、各ラインの前方に配置されているオブジェクトを指示する情報である。また、「後方情報」は、各ラインの後方に配置されているオブジェクトを指示する情報である。なお、「前方情報」および「後方情報」は、オブジェクト情報テーブル11の「配列1」の値を用いてオブジェクトを指示する。
【0027】
図3(c) は、データテーブル13の一例を模式的に示す図である。「配列4」は、オブジェクト情報テーブル11に登録されている各オブジェクトに係わる詳細情報を呼び出すために利用される識別子である。「データ名」は、各オブジェクト内に表示される情報である。「先行情報」は、各オブジェクトに先行するオブジェクトを表す情報である。「X座標」及び「Y座標」は、各オブジェクトが表示される位置の座標であり、この実施例では仮想座標系を用いて表される。
【0028】
図3(a) 〜図3(c) に示す各テーブルの内容は、ここでは、図2(a) に示す図形の表示状態に対応している。即ち、図3(a) に示すオブジェクト情報テーブル11に従って、オブジェクトA、B、Cが表示されている。また、図3(c) に示すデータテーブル13に従って、オブジェクトA、B、Cはそれぞれ(X,Y)=(000,000)、(001,000)および(002,000)に表示されている。
【0029】
図3(b) に示すライン情報テーブル12の「配列2=11」のレコードにおいて、「配列1=01」のレコードに登録されているオブジェクトと「配列1=02」のレコードに登録されているオブジェクトとを接続するラインが登録されている。ここで、図3(a) に示すように、「配列1=01」のレコードにはオブジェクトAが登録されており、「配列1=02」のレコードにはオブジェクトBが登録されている。したがって、図3(b) に示すライン情報テーブル12の「配列2=11」のレコードに登録されている情報に従って、オブジェクトAとオブジェクトBとを接続するライン(すなわち、ラインAB)が表示される。同様に、「配列2=12」のレコードに登録されている情報に従って、オブジェクトBとオブジェクトCとを接続するライン(すなわち、ラインBC)が表示される。なお、ライン情報テーブルに登録される「前方情報」および「後方情報」により、オブジェクト間の前後関係(あるいは、接続順番)が表されている。
【0030】
図4(a) 〜図4(d) は、表示されている図形が編集される際に一時的に利用される作業用テーブルの例である。図4(a) は、選択テーブル21である。「配列0」は、ユーザにより選択されたオブジェクトを識別する。図4(b) は、新規ライン情報テーブル22である。「配列2a」は、新たに表示すべきラインを識別する。図4(c) は、前方情報テーブル23である。「配列3a」は、ユーザにより選択されたオブジェクトの前方に接続されているオブジェクトを識別する。図4(d) は、後方情報テーブル24である。「配列3b」は、ユーザにより選択されたオブジェクトの後方に接続されているオブジェクトを識別する。
【0031】
次に、図5を参照しながら、オブジェクトを削除する際の概略シーケンスを説明する。このシーケンスは、ユーザにより所定のオブジェクトが選択された後の動作を示している。なお、図5において使用されている括弧付きの数字は、下記の説明で使用する処理番号に対応する。例えば、図5に示す「(1) 」は、以下の説明における処理1に対応する。
【0032】
処理1:ユーザにより選択されたオブジェクト(削除対象オブジェクト)を特定する。この選択されたオブジェクトは、選択テーブルに登録される。
処理2:データテーブルにおいて、削除対象オブジェクトが「先行情報」として登録されているレコードを抽出し、そのレコードの「先行情報」及び「座標」を更新する。なお、処理2は、処理2−1〜処理2−3を含む。
【0033】
処理2−1:選択テーブルに登録されている削除対象オブジェクトに対応するレコードをデータテーブルから抽出する。このとき、データテーブルは、「配列0」の値をキーとしてアクセスされる。
【0034】
処理2−2:処理2−1で抽出したレコードの「データ名」と一致する「先行情報」を有するレコードを抽出する。
処理2−3:処理2−1で抽出したレコードの「先行情報」「X座標」および「Y座標」をそれぞれ処理2−2で抽出したレコードの「先行情報」「X座標」および「Y座標」に書き込む
処理3:削除対象オブジェクトに接続するラインを特定する。尚、処理3は、処理3−1および処理3−2を含む。
【0035】
処理3−1:削除対象オブジェクトとそれに先行するオブジェクトとを接続するラインを特定する。このとき、ライン情報テーブルの後方情報フィールドが、「配列1」の値をキーとしてアクセスされる。
【0036】
処理3−2:削除対象オブジェクトとそれに後続するオブジェクトとを接続するラインを特定する。このとき、ライン情報テーブルの前方情報フィールドが、「配列1」の値をキーとしてアクセスされる。
【0037】
処理4:削除対象オブジェクトに先行するオブジェクトを前方情報テーブルに登録する。このとき、処理3−2で得られた「前方情報」が前方情報テーブルに登録される。
【0038】
処理5:削除対象オブジェクトに後続するオブジェクトを後方情報テーブルに登録する。このとき、処理3−1で得られた「後方情報」が後方情報テーブルに登録される。
【0039】
処理6:新たに表示すべきラインを新規ライン情報テーブルに登録する。具体的には、前方情報テーブルに登録されているオブジェクトと後方情報テーブルに登録されているオブジェクトとを接続するラインが新規ライン情報テーブルに登録される。なお、前方情報テーブルまたは後方情報テーブルに複数のオブジェクトが登録されている場合には、各オブジェクト同士を接続するラインが新規ライン情報テーブルに登録される。したがって、もし、前方情報テーブルにn個のオブジェクトが登録されており、後方情報テーブルにm個のオブジェクトが登録されている場合には、n×m本のラインが新規ライン情報テーブルに登録されることになる。
【0040】
処理7:新規ライン情報テーブルに登録されているラインをライン情報テーブルに書き込む。具体的には、処理3−1または処理3−2においてアクセスされたレコードに登録されている情報が、新規ライン情報テーブルに登録されている情報に置き換えられる。
【0041】
処理8:オブジェクト情報テーブルおよびデータテーブルから削除対象オブジェクトに対応するレコードを削除する。
処理9:作業用のテーブルを初期化する。具体的には、新規ライン情報テーブル、前方情報テーブル、および後方情報テーブルを初期化し、他の全ての処理が完了した後に選択テーブルを初期化する。
【0042】
そして、図形編集ソフトウェアは、上記処理1〜処理9を実行した後、オブジェクト情報テーブル、ライン情報テーブル、およびデータテーブルに登録されている情報に従って図形を描画する。これにより、ユーザにより選択されたオブジェクトが削除された図形が表示される。このとき、表示されるオブジェクトは、ユーザにより選択されたオブジェクトが削除される前のオブジェクト間の前後関係を維持している。
【0043】
次に、第1の実施形態の図形編集方法を利用してオブジェクトを削除する処理の具体的な実施例を示す。
第1の実施例
第1の実施例では、図2(a) に示す状態においてオブジェクトBを削除することにより図2(b) に示す状態を得る際の処理を説明する。ここで、図2(a) に示す図形が表示されているとき、オブジェクト情報テーブル、ライン情報テーブルおよびデータテーブルは、それぞれ図3(a) 、図3(b) および図3(c) に示す状態である。
【0044】
オブジェクトBを削除しようとする場合、ユーザは、オブジェクトBを選択すると共に、削除処理の実行を指示する。所望のオブジェクトを選択する方法は、特に限定されるものではないが、例えば、マウスの操作により選択する。なお、オブジェクトを選択する手順および削除処理の実行を指示する手順との順番は限定されるものではない。例えば、第1の実施形態の図形編集ソフトウェアは、削除指示を受け付けた後に削除すべきオブジェクトの選択を受け付ける構成であってもよい。
【0045】
図形編集ソフトウェアは、ユーザによりオブジェクトBが選択されると、図5を参照しながら説明した処理1〜処理9を実行する。
処理1:図形編集ソフトウェアは、ユーザによりオブジェクトBが選択されると、選択テーブル21にオブジェクトBを登録する。具体的には、オブジェクト情報テーブル11においてオブジェクトBを識別する値である「02」が、選択テーブル21に登録される。したがって、オブジェクトBが選択されると、図4(a) に示す選択テーブル21が作成される。
【0046】
処理2:図形編集ソフトウェアは、データテーブル13において、オブジェクトBの後方に接続されているオブジェクトのためのレコードを抽出し、そのレコードの「先行情報」および「座標」を更新する。このとき、このレコードの「先行情報」及び「座標」には、オブジェクトBの「先行情報」及び「座標」が書き込まれる。具体的には、処理2−1〜処理2−3が実行される。
【0047】
処理2−1:図形編集ソフトウェアは、図6(a) に示すように、選択テーブル21に登録されている「配列0=02」をキーとしてオブジェクト情報テーブル11にアクセスし、対応するレコードを抽出する。そして、そのレコードの「位置情報=102」をキーとしてデータテーブル13にアクセスし、対応するレコードを抽出する。
【0048】
処理2−2:データテーブル13において、処理2−1で抽出したレコードの「データ名=b」をキーとして先行情報フィールドを検索し、「先行情報=b」が登録されているレコードを抽出する。
【0049】
処理2−3:データテーブル13において、図6(b) に示すように、処理2−2で抽出したレコードの「先行情報」および「座標」を、処理2−1で抽出したレコードの「先行情報」および「座標」にそれぞれ置き換える。なお、各オブジェクトが横方法に接続されているときは、「X座標」が更新され、各オブジェクトが縦方法に接続されているときは、「Y座標」が更新される。したがって、図6(b) に示すように、「配列4=103」のレコードは、「先行情報」が「b」から「a」に更新され、また、「X座標」が「002」から「001」に更新される。
【0050】
処理3:オブジェクトBに接続するラインを特定する。すなわち、ライン情報テーブル12において、「後方情報」としてオブジェクトBが登録されているレコード、および「前方情報」としてオブジェクトBが登録されているレコードを抽出する。具体的には、処理3−1および処理3−2が実行される。
【0051】
処理3−1:図7(a) に示すように、「配列1=02」をキーとしてデータテーブル13の後方情報フィールドを検索し、「後方情報=02」が登録されているレコードを抽出する。これにより、データテーブル13から「配列2=11」により特定されるレコードが抽出される。
【0052】
処理3−2:図7(a) に示すように、「配列1=02」をキーとしてデータテーブル13の前方情報フィールドを検索し、「前方情報=02」が登録されているレコードを抽出する。これにより、データテーブル13から「配列2=12」により特定されるレコードが抽出される。
【0053】
処理4:オブジェクトBに先行するオブジェクトを前方情報テーブル23に登録する。具体的には、図7(b) に示すように、処理3−2で抽出されたレコードの「前方情報=01」が、前方情報テーブル23に登録される。
【0054】
処理5:オブジェクトBに後続するオブジェクトを後方情報テーブル24に登録する。具体的には、図7(b) に示すように、処理3−1で抽出されたレコードの「後方情報=03」が、後方情報テーブル24に登録される。
【0055】
処理6:新たに表示すべきラインを新規ライン情報テーブルに登録する。具体的には、その新たに表示すべきラインに接続されるオブジェクトを登録する。すなわち、図8(a) に示すように、前方情報テーブル23に登録されている「前方情報=01」および後方情報テーブル24に登録されている「後方情報=03」が、それぞれ、新規ライン情報テーブル22に登録される。
【0056】
処理7:新規ライン情報テーブル22に登録されている情報をライン情報テーブル12に書き込む。具体的には、図8(b) に示すように、ライン情報テーブル12において、処理3−1または処理3−2においてアクセスされたレコードに登録されている情報が、新規ライン情報テーブル22に登録されている情報に置き換えられる。これにより、ライン情報テーブル12には、「前方情報=01(オブジェクトA)」と「後方情報=03(オブジェクトC)」とを接続するラインが登録される。
【0057】
処理8:オブジェクト情報テーブル11およびデータテーブル13において、図9(a) に示すように、オブジェクトBに対応するレコードを削除する。
処理9:オブジェクトBを削除する際に利用した作業用のテーブルを初期化する。即ち、図9(b) に示すように、新規ライン情報テーブル22、前方情報テーブル23、および後方情報テーブル24の各レコードを削除し、さらに、他の全ての処理が完了した後に選択テーブル21に登録されている情報を削除する。
【0058】
図10は、上記処理1〜処理9により更新されたオブジェクト情報テーブル11、ライン情報テーブル12およびデータテーブル13の例である。そして、図形編集ソフトウェアは、これらの更新されたテーブルに登録されている情報に従って図形を描画する。すなわち、図10(a) に示したオブジェクト情報テーブル11および図10(c) に示したデータテーブル13に従って、オブジェクトAが(X,Y=000,000)に表示され、オブジェクトCが(X,Y=001,000)に表示される。また、図10(b) に示したライン情報テーブル12に従って、オブジェクトAとオブジェクトCとを接続するラインが表示される。このとき、オブジェクトAとオブジェクトCとの前後関係は、ライン情報テーブル12に登録されている。すなわち、オブジェクトAはオブジェクトCに対する先行オブジェクトであり、オブジェクトCはオブジェクトAに対する後続オブジェクトである。上記処理により、図2(b) に示す図形が得られる。
【0059】
なお、上記実施例では、オブジェクト間の従属関係が横方向の座標を用いて表わるというルールの下で描かれた図形を採り上げたので、オブジェクトAとオブジェクトCとの間に設けられているオブジェクトBを削除した際には、オブジェクトCが横方向にシフトさせられた。しかしながら、本発明は、この構成に限定されるものではない。例えば、オブジェクト間の従属関係が縦方向の座標を用いて表わるというルールの下で描かれた図形においては、オブジェクトAとオブジェクトCとの間に設けられているオブジェクトBを削除した際に、オブジェクトCが上方向にシフトさせてもよい。
【0060】
この場合、オブジェクトを移動させる方向は、例えば、ユーザにより選択されたオブジェクトの座標とそのオブジェクトの下流側に接続されているオブジェクトの座標とを比較することにより判定される。例えば、ユーザにより選択されたオブジェクトのY座標とそのオブジェクトの下流側に接続されているオブジェクトのY座標とが同じであれば、そのオブジェクトを横方向にシフトし、それらのX座標が互いに同じであれば、そのオブジェクトを上方向にシフトさせる。
第2の実施例
第2の実施例は、図11(a) に示す状態においてオブジェクトCを削除することにより図11(b) に示す図形を得る処理である。ここで、図11(a) に示す図形が表示されているとき、オブジェクト情報テーブル、ライン情報テーブルおよびデータテーブルは、それぞれ図12(a) 、図12(b) および図12(c) に示す状態である。
【0061】
図形編集ソフトウェアは、ユーザによりオブジェクトCが選択されると、図5を参照しながら説明した処理1〜処理9を実行する。
処理1:ユーザによりオブジェクトCが選択されると、選択テーブル21にオブジェクトCを登録する。すなわち、オブジェクト情報テーブル11においてオブジェクトCを識別する値である「03」が選択テーブル21に登録される。
【0062】
処理2:データテーブル13において、オブジェクトCの後方に接続されているオブジェクトのためのレコードを抽出し、そのレコードの「先行情報」および「座標」を更新する。このとき、このレコードの「先行情報」および「座標」には、オブジェクトCの「先行情報」及び「座標」が書き込まれる。具体的には、処理2−1〜処理2−3が実行される。
【0063】
処理2−1:図13(a) に示すように、選択テーブル21に登録されている「配列0=03」をキーとしてオブジェクト情報テーブル11にアクセスし、対応するレコードを抽出する。そして、そのレコードの「位置情報=103」をキーとしてデータテーブル13にアクセスし、対応するレコードを抽出する。
【0064】
処理2−2:データテーブル13において、処理2−1で抽出したレコードの「データ名=c」をキーとして先行情報フィールドを検索し、「先行情報=c」が登録されているレコードを抽出する。これにより、図13(a) に示すように、3つのレコードが抽出される。
【0065】
処理2−3:データテーブル13において、処理2−2で抽出した各レコードの「先行情報」及び「座標」を、それぞれ処理2−1で抽出したレコードの「先行情報」および「座標」に置き換える。これにより、図13(b) に示すように、「配列4=104」「配列4=105」および「配列4=106」の各レコードは、それぞれ「先行情報」が「c」から「a,b」に更新されると共に、「X座標」が「002」から「001」に更新される。
【0066】
処理3:オブジェクトCに接続するラインを特定する。すなわち、ライン情報テーブル12において、「後方情報」としてオブジェクトCが登録されているレコード、および「前方情報」としてオブジェクトCが登録されているレコードを抽出する。具体的には、処理3−1および処理3−2が実行される。
【0067】
処理3−1:図14(a) に示すように、「配列1=03」をキーとしてデータテーブル13の後方情報フィールドを検索し、「後方情報=03」が登録されているレコードを抽出する。これにより、データテーブル13から、「配列2=11」により特定されるレコード、および「配列2=12」により特定されるレコードが抽出される。
【0068】
処理3−2:図14(a) に示すように、「配列1=03」をキーとしてデータテーブル13の前方情報フィールドを検索し、「前方情報=03」が登録されているレコードを抽出する。これにより、データテーブル13から、「配列2=13」により特定されるレコード、「配列2=14」により特定されるレコード、および「配列2=15」により特定されるレコードが抽出される。
【0069】
処理4:オブジェクトCに先行するオブジェクトを前方情報テーブル23に登録する。具体的には、図14(b) に示すように、処理3−2で抽出された各レコードに登録されている「前方情報=01」および「前方情報=02」が、前方情報テーブル23に登録される。
【0070】
処理5:オブジェクトCに後続するオブジェクトを後方情報テーブル24に登録する。具体的には、図14(b) に示すように、処理3−1で抽出された各レコードに登録されている「後方情報=04」「後方情報=05」および「後方情報=06」が、後方情報テーブル24に登録される。
【0071】
処理6:新たに表示すべきラインを新規ライン情報テーブルに登録する。具体的には、図15(a) に示すように、前方情報テーブル23に登録されている各オブジェクトと後方情報テーブル24に登録されている各オブジェクトとの組合せにより得られるラインが新規ライン情報テーブル22に登録される。この実施例では、前方情報テーブル23に2個のオブジェクトが登録されており、後方情報テーブル24に3個のオブジェクトが登録されているので、新規ライン情報テーブル22には6本のラインが登録される。
【0072】
処理7:新規ライン情報テーブル22に登録されている情報をライン情報テーブル12に書き込む。具体的には、図15(b) に示すように、ライン情報テーブル12において、処理3−1または処理3−2においてアクセスされたレコードに登録されている情報が、新規ライン情報テーブル22に登録されている情報に置き換えられる。これにより、ライン情報テーブル12には、6本のラインが登録される。すなわち、「前方情報=01(オブジェクトA)」と「後方情報=04(オブジェクトD)」とを接続するライン、「前方情報=01(オブジェクトA)」と「後方情報=05(オブジェクトE)」とを接続するライン、「前方情報=01(オブジェクトA)」と「後方情報=06(オブジェクトF)」とを接続するライン、「前方情報=02(オブジェクトB)」と「後方情報=04(オブジェクトD)」とを接続するライン、「前方情報=02(オブジェクトB)」と「後方情報=05(オブジェクトE)」とを接続するライン、「前方情報=02(オブジェクトB)」と「後方情報=06(オブジェクトF)」とを接続するラインが登録される。
【0073】
処理8:オブジェクト情報テーブル11およびデータテーブル13において、図16に示すように、オブジェクトCに対応するレコードを削除する。
処理9:オブジェクトCを削除する際に利用した作業用のテーブルを初期化する。すなわち、新規ライン情報テーブル22、前方情報テーブル23、および後方情報テーブル24の各レコードを削除し、さらに、他の全ての処理が完了した後に選択テーブル21に登録されている情報を削除する。
【0074】
図17は、上記処理1〜処理9により更新されたオブジェクト情報テーブル11、ライン情報テーブル12およびデータテーブル13の例である。そして、図形編集ソフトウェアは、これらの更新されたテーブルに登録されている情報に従って図形を描画する。すなわち、図17(a) に示したオブジェクト情報テーブル11に登録されているオブジェクトA、B、D、E、Fが、それぞれ図17(c) に示したデータテーブル13に登録されている位置に表示される。また、図17(b) に示したライン情報テーブル12に従って、6本のラインが表示される。これにより、図11(b) に示す図形が得られる。
第1の実施形態の編集方法のフローチャート
図18は、ユーザの操作のフローチャートである。ステップS1では、ユーザは、オブジェクトを選択する。ステップS2では、ユーザは、その選択したオブジェクトの削除を実行するための指示を入力する。なお、オブジェクトを選択する方法、および指示を入力する方法は、上述した通りである。また、上述したように、図形編集ソフトウェアのプログラムによっては、オブジェクトを選択する操作と、削除処理の実行を指示する操作の順番が逆になる。
【0075】
このように、この実施形態の図形編集ソフトウェアを利用して図形中のオブジェクトを削除する際には、ユーザは、オブジェクト同士を接続するラインを削除する作業や、オブジェクトを削除した後に残ったオブジェクト同士を接続する作業を行う必要はなく、その操作が簡単である。
【0076】
図19は、図形編集ソフトウェアの動作の概略フローチャートである。このフローチャートの処理は、ユーザによってオブジェクトが選択されたときに実行される。ステップS11では、ユーザにより選択されたオブジェクトを検出する。ステップS12では、図形データを更新する。図形データとは、少なくとも図3に示したテーブルに登録されている情報を含む。ステップS13では、ステップS12において更新された図形データに従って図形を表示する。
【0077】
図20は、選択されたオブジェクトを検出する処理のフローチャートであり、図19のステップS11の処理に相当する。ステップS21では、ユーザにより選択されたオブジェクトを検出する。ステップS22では、ステップS21で検出したオブジェクトを選択テーブルに登録する。上記処理により、ユーザにより選択された1以上のオブジェクトが選択テーブルに登録される。
【0078】
図21は、図形データを更新する処理のフローチャートであり、図19のステップS12の処理に相当する。この処理は、選択テーブルに登録されている各オブジェクトについて実行される。すなわち、この処理は、ユーザにより選択されたオブジェクト毎に実行される。
【0079】
ステップS31では、選択テーブルに登録されているオブジェクトが1つ取得される。ステップS32では、オブジェクト情報テーブルを参照することによりステップS31で取得したオブジェクトが特定される。そして、この特定されたオブジェクトについてステップS33〜S37が実行される。
【0080】
ステップS33では、データテーブルが更新される。この処理は、図5を参照しながら説明した処理2に相当する。ステップS34では、前方情報テーブルおよび後方情報テーブルが作成される。この処理は、上記処理3〜処理5に相当する。ステップS35では、新規ラインのためのライン情報が作成される。この処理は、上記処理6に相当する。ステップS36では、ライン情報テーブルが更新される。この処理は、上記処理7に相当する。ステップS37では、削除処理が実行される。この処理は、上記処理7および処理9に相当する。ステップS38は、選択テーブルに登録されているすべてのオブジェクトについてステップS32〜S37を実行するための処理である。
【0081】
図22は、データテーブルを更新する処理のフローチャートであり、図21のステップS33の処理に相当する。ステップS41では、オブジェクト情報テーブルにおいて、特定されたオブジェクトに対応する「位置情報」を取得する。ステップS42では、データテーブルにおいて、ステップS41で取得した「位置情報」に対応する「配列4」を取得する。ステップS43では、ステップS42で取得した「配列4」に対応する「データ名」を取得する。
【0082】
ステップS44では、データテーブルの先行情報フィールドを検索し、ステップS43で取得した「データ名」と一致する「先行情報」が登録されているレコードを抽出する。そのようなレコードを抽出できたときは、ステップS45へ進み、そうでない場合には処理を終了する。
【0083】
ステップS45では、オブジェクトの移動方向が縦方向なのか横方向なのかを調べる。例えば、図2または図11に(c) に示した例は、オブジェクトの移動方向は横方向である。オブジェクトの移動方向が縦方向であった時は、ステップS46において、ステップS44で抽出したレコードの「先行情報」および「Y座標」を更新する。一方、オブジェクトの移動方向が横方向であった時は、ステップS47において、ステップS44で抽出したレコードの「先行情報」及び「X座標」を更新する。なお、ステップS46またはS47において、「先行情報」および「座標」は、ステップS42で取得した「配列4」により特定されるレコードの「先行情報」および「座標」に置き換えられる。ステップS48は、先行情報フィールドに登録されている全ての要素についてステップS44〜S47を実行するための処理である。
【0084】
上記処理により、ユーザにより選択されたオブジェクトの後方に接続されているオブジェクトの表示位置を指定する情報が更新される。このとき、ユーザにより選択されたオブジェクトが削除される前の図形および削除された後の図形において、各オブジェクト同士の接続関係または前後関係が変わることはない。
【0085】
図23は、前方情報テーブルおよび後方情報テーブルを作成する処理のフローチャートであり、図21のステップS34の処理に相当する。ステップS51では、オブジェクト情報テーブルにおいて特定されたオブジェクトを識別する「配列1」を取得する。ステップS52では、ライン情報テーブルにおいて、ステップS51で取得した「配列1」と一致する「前方情報」または「後方情報」があるか否かを調べる。そして、「配列1」と一致する「前方情報」または「後方情報」がある場合は、ステップS53において、「配列1」と一致したのは「後方情報」があるのか否かを判断する。
【0086】
「配列1」と「後方情報」とが互いに一致したのであれば、ステップS54において、その「後方情報」が登録されているレコードから「配列2」および「前方情報」を取得する。そして、ステップS55において、それらの「配列2」および「前方情報」を前方情報テーブルに登録する。一方、「配列1」と「後方情報」とが互いに一致していなかった場合には、ステップS56において、「配列1」と一致した「前方情報」が登録されているレコードから「配列2」及び「後方情報」を取得する。そして、ステップS57において、それらの「配列2」および「後方情報」を後方情報テーブルに登録する。ステップS58は、特定されたオブジェクトに接続するすべてのラインについてステップS52〜S57を実行するための処理である。
【0087】
上記処理により、ユーザにより選択されたオブジェクトに接続されているオブジェクトがリストアップされる。このとき、その選択されたオブジェクトの前方側に設けられているオブジェクトと後方側に設けられているオブジェクトとは互いに異なるグループに分類される。
【0088】
図24は、新規ラインのための情報を作成する処理のフローチャートであり、図21のステップS35の処理に相当する。ステップS61では、前方情報テーブルの先頭から「前方情報」を1つ取得する。ステップS62では、後方情報テーブルの先頭から「後方情報」を1つ取得する。ステップS63では、取得した「前方情報」および「後方情報」を新規ライン情報テーブルに登録する。
【0089】
ステップS64は、ステップS63の処理が実行されていない「後方情報」が残っていたときに、ステップS62に戻って次の「後方情報」を取得するための処理である。ステップS65は、ステップS62〜S63の処理が実行されていない「前方情報」が残っていた時に、ステップS61に戻って次の「前方情報」を取得するための処理である。上記処理により、新たに表示すべきラインが決定される。
【0090】
図25は、ライン情報テーブルを更新する処理のフローチャートであり、図21のステップS36の処理に相当する。ステップS71では、オブジェクト情報テーブルにおいて特定されたオブジェクトを識別する「配列1」を取得する。ステップS72では、ライン情報テーブル内に、ステップS71で取得した「配列1」と一致する「前方情報」または「後方情報」があるか否かを調べる。
【0091】
「配列1」と一致する「前方情報」または「後方情報」がある場合は、ステップS73において、新規ライン情報テーブルにデータが登録されているか否かを調べる。そして、新規ライン情報テーブルにデータが登録されているときは、ステップS74において、「配列1」と一致する「前方情報」または「後方情報」が登録されているライン情報テーブル上のレコードのデータを、新規ライン情報テーブルのデータに置き換える。一方、新規ライン情報テーブルにデータが登録されていなかった時は、ステップS75において、「配列1」と一致する「前方情報」または「後方情報」が登録されているライン情報テーブル上のレコードを削除する。
【0092】
「配列1」と一致する「前方情報」または「後方情報」がなかった場合は、ステップS76において、新規ライン情報テーブルにデータが登録されているか否かを調べる。そして、新規ライン情報テーブルにデータが登録されている時は、ステップS77において、新規ライン情報テーブルのデータをライン情報テーブルに追加する。
【0093】
上記処理により、新たに表示すべきラインがライン情報テーブルに登録されることになる。このとき、ユーザにより選択されたオブジェクトを削除することにより表示する必要がなくなるラインが、ライン情報テーブルから削除される。
【0094】
図26は、削除処理のフローチャートであり、図21のステップS37の処理に相当する。ステップS81では、オブジェクト情報テーブルから、特定されたオブジェクトに対応するレコードを削除する。ステップS82では、データテーブルから、特定されたオブジェクトに対応するレコードを削除する。ステップS83では、新規ライン情報テーブルをクリア(すなわち、初期化)する。ステップS84では、前方情報テーブルをクリアする。ステップS85では、後方情報テーブルをクリアする。ステップS86では、選択テーブルをクリアする。上記処理により、ユーザにより選択されたオブジェクトを表示するための情報が削除される。
第3の実施例
上述した第1および第2の実施例では、仮想座標系を利用して図形を表示し、各オブジェクトは、その仮想座標が提供する各桝の中に配置される。これに対して、第3の実施例では、図形編集ソフトウェアにより作成される図形を表示すべきスクリーンの構成に対応する座標系(以下、「絶対座標」と呼ぶ。)を利用して図形が表示される。
【0095】
図27は、絶対座標を利用して表示されている図形の例である。この図形は、オブジェクトA〜Cを含み、オブジェクトAとオブジェクトBとの間はラインDにより接続され、オブジェクトBとオブジェクトCとの間はラインEにより接続されている。各オブジェクトは、ここでは、ぞれぞれ長方形である。そして、オブジェクトを表示するための情報は、各オブジェクトの左上隅の座標データ、高さデータ、幅データを含む。なお、オブジェクトの位置を表す情報は、各オブジェクトの左上隅の座標に限定されるものではなく、例えば、各オブジェクトの中心の座標であってもよい。また、ラインを表示するための情報は、各ラインの開始点座標データ、終了点座標データ、長さデータを含んでいる。なお、図27に示す例では、長さデータは、開始点のY座標と終了点のY座標との差により表されるが、オブジェクトが横方向に接続されていく図形においては、長さデータは開始点のX座標と終了点のX座標との差により表される。
【0096】
上記図形において、オブジェクトBを削除する場合を想定する。オブジェクトBが削除される場合、第3の実施例の方法においては、ラインDまたはラインEのいずれか一方のみが削除される。例えば、ラインDが削除される場合には、ラインEおよびオブジェクトCがオブジェクトAが表示されている方向に移動することにより、オブジェクトAとオブジェクトCとがラインEにより接続されることになる。一方、ラインEが削除される場合には、オブジェクトCがオブジェクトAが表示されている方向に移動することにより、オブジェクトAとオブジェクトCとがラインDにより接続されることになる。
【0097】
図28は、第3の実施例におけるオブジェクト削除処理の概略フローチャートである。このフローチャートの処理は、ユーザによりオブジェクトが選択されたときに実行される。
【0098】
ステップS91では、削除すべきラインを決定する。どのラインを削除すべきかは、例えば、ユーザにより選択されたオブジェクトに接続されているラインについて、「ラインの長さ」または「ラインの長さ+削除されるオブジェクトに大きさ」に基づいて決定される。図27に示した図形においてオブジェクトBを削除する際、「ラインの長さ」に基づいて削除すべきラインを決定する場合には、「LDH」と「LEH」とを比較し、短い方のラインを削除する。一方、「ラインの長さ+削除されるオブジェクトに大きさ」に基づいて削除すべきラインを決定する場合には、「LDH+BH 」と「LEH+BH 」とを比較し、その値が小さい方のラインを削除する。
【0099】
ステップS92では、ラインを表示すべき位置を表す位置情報を更新する。ここで、オブジェクトが縦方向に接続されていく図形においては、Y座標が更新され、横方向に接続されていく図形においては、X座標が更新される。なお、位置座標を更新すべきラインは、基本的に、削除されるオブジェクトの下流側に設けられているラインである。
【0100】
ステップS93では、オブジェクトを表示すべき位置を表す位置情報を更新する。ここで、オブジェクトが縦方向に接続されていく図形においては、Y座標が更新され、横方向に接続されていく図形においては、X座標が更新される。位置座標を更新すべきオブジェクトは、基本的に、削除されるオブジェクトの下流側に設けられているオブジェクトである。そして、ステップS94において、ステップS92およびステップS93において更新された位置情報に従って図形が描画される。
【0101】
具体例を示す。
(1) 「LDH」<「LEH」の場合
この場合、ラインDが削除される。そして、ラインE及びオブジェクトCが、「ラインDの長さ+オブジェクトBの高さ」だけ移動する。すなわち、ラインEについての表示情報は、以下のように更新される。
開始点:(LEsx,LEsy)→(LEsx,LEsy−LDH−BH )
終了点:(LEex,LEey)→(LEex,LEey−LDH−BH )
長さ :LEH→LEH
また、オブジェクトCについての表示情報は、以下のように更新される。
左上座標:(CL ,CT )→(CL ,CT −LDH−BH )
高さ :CH →CH
幅 :Cw →Cw
(2) 「LDH」>「LEH」の場合
この場合、ラインEが削除される。そして、オブジェクトCが、「ラインEの長さ+オブジェクトBの高さ」だけ移動する。すなわち、オブジェクトCについての表示情報は、以下のように更新される。
左上座標:(CL ,CT )→(CL ,CT −LEH−BH )
高さ :CH →CH
幅 :Cw →Cw
(3) 「LDH」=「LEH」の場合
この場合は、予め決められたアルゴリズムに従って、(1) または(2) のいずれか一方を実行する。
【0102】
このように、第1および第2の実施例では、あるオブジェクトを削除すると、そのオブジェクトに接続していたすべてのラインが削除されると共に、残ったオブジェクト同士を接続するためのラインが新たに生成されていた。これに対して第3の実施例では、オブジェクトに削除に伴って削除されるラインは必要最小限である。
【0103】
なお、第1〜第3の実施例では、説明を簡単にするために描かなかったが、削除すべきオブジェクトの下流側に複数のオブジェクトが直列的に接続されている場合には、オブジェクトの削除に伴って、それら直列に接続されている複数のオブジェクトの表示位置は、一体的に移動する。
【0104】
例えば、図29(a) に示す図形を想定する。この図形では、オブジェクトA〜Eが直列的に接続されている。ここで、図29(b) に示すように、オブジェクトBが削除されると、オブジェクトC〜Eはそれぞれ上流方向へ移動させられる。この場合、図形処理ソフトウェアは、オブジェクトBが選択されたことを認識すると、以下の処理を実行する。
(1) データテーブルを参照し、オブジェクトBが「先行情報」として登録されているオブジェクトを検出する。
(2) データテーブルを参照し、上記(1) により検出されたオブジェクトが「先行情報」として登録されているオブジェクトを探す。
(3) 上記(2) によりオブジェクトが検出されたときは、(2) に戻ってさらに次のオブジェクトを探す。
【0105】
図29(b) に示す例においては、(1) によりオブジェクトCが検出され、上記(2) および(3) を繰り返すことによりオブジェクトDおよびEが検出される。そして、オブジェクト情報テーブルからオブジェクトBが削除されるとともに、データテーブルにおいて、オブジェクトC〜Eの「Y座標」が更新される。このとき、ライン情報テーブルにおいて、オブジェクトAとオブジェクトCとを接続するラインが登録されているものとする。これにより、図29(c) に示す図形が表示される。
【0106】
また、上述の例では、特に示さなかったが、複数のオブジェクトを同時に削除したい場合には、ユーザは、例えば、図30(a) に示すように、マウス等を用いて複数のオブジェクトを取り囲む範囲を指定する。この実施例では、オブジェクトC、Eが同時に選択されている。このように、複数のオブジェクトがユーザにより同時に選択されると、図形編集ソフトウェアは、選択テーブルにそれら複数のオブジェクトを登録する。そして、各オブジェクト毎に上述した処理を実行する。すなわち、オブジェクトCが削除されることにより、オブジェクトBとオブジェクトDとが接続され、オブジェクトEが削除されることにより、オブジェクトBとオブジェクトFとが接続されれる。これにより、図30(b) に示す図形が得られる。
第2の実施形態
上述した第1の実施形態の編集方法においては、ユーザは、オブジェクトを削除しようとする場合には、削除すべきオブジェクトを選択する操作、および削除処理の実行を指示する操作が必要であった。これに対して、第2の実施形態の編集方法においては、削除すべきオブジェクトを所定の位置に移動させることによりそのオブジェクトが削除される。このとき、残されたオブジェクトは、ユーザによって選択されたオブジェクトが削除される前の前後関係(接続順番)を維持する。
【0107】
図31は、第2の実施形態の編集方法を説明する図である。この編集方法においては、図形編集ソフトウェアは、表示画面上に廃棄エリア31を提供(表示)する。そして、図形編集ソフトウェアは、その廃棄エリア31の上に図形を構成する部品(オブジェクトおよびラインを含む)が配置されると、その部品を削除する。
【0108】
図31(a) に示す図形から、オブジェクトBを削除する場合を想定する。この場合、ユーザは、例えば、そのオブジェクトBをドラッグして廃棄エリア31にドロップする。図形編集ソフトウェアは、廃棄エリア31とオブジェクトBとがオーバラップしたことを検出すると、図31(c) に示すように、オブジェクトBを削除すると共に、オブジェクトAとオブジェクトCとを接続する。
【0109】
なお、図形編集ソフトウェアは、あるオブジェクトを削除した後に残されたオブジェクト同士の間隔が必要以上に大きくなってしまう場合には、オブジェクトの位置を変更することにより、オブジェクト同士の間隔を適切に修正する。例えば、図32(a) および図32(b) に示すように、オブジェクトBがドラッグされて廃棄エリア31の上にドロップされたとき、オブジェクトAとオブジェクトCとの間隔aが予め決められている値よりも大きかったときには、その間隔が適切な値(a−α)になるようにオブジェクトCを移動させる。これにより、図32(c) に示す図形が得られる。
【0110】
また、図31および図32に示した実施例では、オブジェクトが予め決められた所定の廃棄エリアにドロップされたことを検出して削除処理が実行されるが、第2の実施形態の編集方法は、この方法に限定されるものではない。例えば、図33(a) 〜図33(c) に示すように、図形中の任意のオブジェクトがその図形から所定距離Lよりも遠く離れた位置に移動させられたときに、そのオブジェクトが自動的に削除されるような構成であってもよい。
【0111】
図34(a) は、第2の実施形態において使用されるオブジェクト情報テーブルの例である。オブジェクト情報テーブルには、各オブジェクトが表示されている位置の座標や、そのオブジェクトの形状を表す情報等が格納される。「座標」としては、例えば、各オブジェクトの左上隅の絶対座標または各オブジェクトの中心座標が格納される。また、「形状」としては、基本的に、アプリケーションソフトウェアが提供する図形部品を識別する情報が用いられる。アプリケーションソフトウェアは、例えば、長方形、菱形、円、などを提供する。さらに、各オブジェクトの形状を表す具体的な情報として、オブジェクトの「高さ」や「幅」などが格納される。
【0112】
図34(b) は、第2の実施形態において使用されるライン情報テーブルの例である。ライン情報テーブルには、各ラインが表示されている位置、その形状を特定する情報、並びにオブジェクト間の接続関係を表す情報が格納される。「始点座標」および「終点座標」は、それぞれ各ラインの始点の座標および終点の座標である。また、「前方情報」および「後方情報」は、第1の実施形態において説明したものと同じであり、各ラインの前方に接続されているオブジェクトを特定する情報、および各ラインの後方に接続されているオブジェクトを特定する情報である。なお、各ラインと前方オブジェクトとの接続点が「始点座標」であり、また、各ラインと後方オブジェクトとの接続点が「終点座標」である。さらに、「高さ」は、各ラインの始点のY座標と終点のY座標との差を表す。
【0113】
なお、このライン情報テーブルにより、オブジェクト間の従属関係が管理される。たとえば、図34(b) に示すテーブルでは、オブジェクトBがオブジェクトAに従属しており、オブジェクトCがオブジェクトBに従属していることが登録されている。
【0114】
図35は、第2の実施形態の図形編集ソフトウェアの動作を説明するフローチャートである。このフローチャートの処理は、あるオブジェクトがユーザによりドラッグされたときに実行される。以下では、図31または図32を参照し、オブジェクトBを削除する場合を例に採り上げて説明する。
【0115】
ステップS101では、ユーザによりドラッグされているオブジェクトの位置を追随しながら検出する。ステップS102では、そのオブジェクトがドロップされた位置を検出し、そのオブジェクトが廃棄エリアにオーバラップしているのか否かを調べる。なお、図形編集ソフトウェアは、廃棄エリアの表示位置を認識している。そして、そのオブジェクトが廃棄エリアにオーバラップしている場合には、ステップS103へ進み、そうでない場合には、ステップS110においてそのオブジェクトを描画する。ステップS110は、いわゆる「移動」処理に相当する。
【0116】
ステップS103では、オブジェクト情報テーブルを参照し、廃棄エリアにドロップされたオブジェクトの「高さ」を取得する。ステップS104では、ライン情報テーブルを参照し、廃棄エリアにドロップされたオブジェクトに接続されている各ラインの「高さ」を取得する。図31または図32に示す実施例においては、ステップS103の処理により「BH(オブジェクトBの高さ)」が取得され、また、ステップS104の処理により「DH(ラインDの高さ)」および「EH(ラインEの高さ)」が取得される。
【0117】
ステップS105では、ステップS103及びS104で取得した各「高さ」の合計値を算出し、その合計値が予め設定されている閾値以下であるか否かを調べる。そして、もし、上記合計値が閾値よりも大きかった場合には、ステップS106において、廃棄エリアにドロップされたオブジェクトの下流側に接続されているオブジェクトの座標を更新する。この更新された座標は、オブジェクト情報テーブルに登録される。なお、上記合計値が閾値以下であった場合には、ステップS106はスキップされる。
【0118】
ステップS107では、廃棄エリアにドロップされたオブジェクトの上流側に設けられていたオブジェクトと下流側に設けられていたオブジェクトとを接続するラインのためのライン情報を生成する。これにより、実施例では、「前方情報=オブジェクトA」および「後方情報=オブジェクトC」を有するラインがライン情報テーブルに登録される。ステップS108では、オブジェクト情報テーブルにおいて、廃棄エリアにドロップされたオブジェクトに対応するレコードが削除される。この後、ステップS109において、オブジェクト情報テーブルおよびライン情報テーブルに従って図形を描画する。
【0119】
なお、図35に示すフローチャートは、オブジェクトが廃棄エリアにドロップされたことを検出して削除処理が実行される場合を示しているが、オブジェクトが図形から所定距離よりも離れたことを検出して削除処理を実行する場合には、ステップS102の代わりに、移動させられたオブジェクトと図形との距離が所定値を越えているか否かを判断するステップを設ければよい。
【0120】
また、上記第1および第2の実施形態の各実施例では、編集される図形の例としてフローチャートを採り上げて説明したが、本発明は、これに限定されるものではなく、ラインまたはコネクタにより複数のオブジェクトが互いに接続または連携された図形等を編集する方法を含む。たとえば、回路図を作成および編集する方法にも適用される。この場合、回路を構成する各素子が「オブジェクト」であり、各素子間を互いに接続する信号線が「ライン」である。
【0121】
さらに、図31または図32においては、削除されるオブジェクトの上流側または下流側のそれぞれ1つのオブジェクトが連結されている状態を示したが、2以上のオブジェクトが連結されていてもよい。これは、フローチャートの場合はフローの分岐を、回路の場合は2以上の素子が連結していることを意味する。この連結関係は、上述の連結関係と同様に、図34において例示したオブジェクト情報テーブル、ライン情報テーブルにより管理される。この場合の削除処理は、当該連結関係を保ったまま実行される。
【0122】
本発明の図形編集機能は、コンピュータを用いて上述のフローチャートに示した処理を記述したプログラムを実行することにより実現される。そのプログラムを実行するコンピュータ100のブロック図を図36に示す。
【0123】
CPU101は、上述のフローチャートに示した処理を記述したプログラムを記憶装置102からメモリ103にロードして実行する。記憶装置102は、例えばハードディスクであり、上記プログラムを格納する。メモリ103は、例えば半導体メモリであり、CPU101の作業領域として使用される。各種テーブルは、このメモリ103に作成される。
【0124】
記録媒体ドライバ104は、CPU101の指示に従って可搬性記録媒体105にアクセスする。可搬性記録媒体105は、半導体デバイス(例えば、ICカード等)、磁気的作用により情報が入出力される媒体(フロッピーディスク、磁気テープ等)、光学的作用により情報が入出力される媒体(光ディスク等)を含む。通信制御装置106は、CPU101の指示に従って網との間でデータを送受信する。
【0125】
図37は、本発明に係わるソフトウェアプログラムなどの提供方法を説明する図である。本発明に係わるプログラムは、例えば、以下の3つの方法の中の任意の方法により提供される。
【0126】
(a) コンピュータ100にインストールされて提供される。この場合、プログラム等は、たとえば、出荷前にプレインストールされる。
(b) 可搬性記録媒体に格納されて提供される。この場合、可搬性記録媒体105に格納されているプログラム等は、基本的に、記録媒体ドライバ104を介して記憶装置102にインストールされる。
【0127】
(c) 網上のサーバから提供される。この場合、基本的には、コンピュータ100がサーバに格納されているプログラム等をダウンロードすることによってそのプログラム等を取得する。
【0128】
【発明の効果】
コンピュータを用いて図形等を表示しながら作成・編集する処理において、互いに接続されているオブジェクトの中の一部のオブジェクトを削除する際の処理が簡単になったので、ユーザの負担が減少し、作業効率が向上する。また、図形等の編集に際してのミスが生じる可能性も減少する。
【図面の簡単な説明】
【図1】本発明が実施される環境の一例を説明する図である。
【図2】第1の実施形態における図形の編集方法を説明する図である。
【図3】第1の実施形態の図形編集ソフトウェアが提供するテーブルの例である。
【図4】表示されている図形が編集される際に一時的に利用される作業用テーブルの例である。
【図5】オブジェクト削除処理の概略シーケンス図である。
【図6】テーブルを更新する処理を説明する図(その1)である。
【図7】テーブルを更新する処理を説明する図(その2)である。
【図8】テーブルを更新する処理を説明する図(その3)である。
【図9】テーブルを更新する処理を説明する図(その4)である。
【図10】更新されたテーブルの例である。
【図11】第2の実施例における図形編集の例である。
【図12】オブジェクトを削除する前の図形を表すテーブルの例である。
【図13】テーブルを更新する処理を説明する図(その1)である。
【図14】テーブルを更新する処理を説明する図(その2)である。
【図15】テーブルを更新する処理を説明する図(その3)である。
【図16】テーブルを更新する処理を説明する図(その4)である。
【図17】更新されたテーブルの例である。
【図18】ユーザの操作のフローチャートである。
【図19】図形編集ソフトウェアの動作の概略フローチャートである。
【図20】選択されたオブジェクトを検出する処理のフローチャートである。
【図21】図形データを更新する処理のフローチャートである。
【図22】データテーブルを更新する処理のフローチャートである。
【図23】前方情報テーブルおよび後方情報テーブルを作成する処理のフローチャートである。
【図24】新規ラインのための情報を作成するフローチャートである。
【図25】ライン情報テーブルを更新する処理のフローチャートである。
【図26】削除処理のフローチャートである。
【図27】絶対座標を利用して表示されている図形の例である。
【図28】第3の実施例におけるオブジェクト削除処理の概略フローチャートである。
【図29】削除すべきオブジェクトの下流に複数のオブジェクトが直列的に接続されていた場合の削除処理の例である。
【図30】複数のオブジェクトが同時に選択された場合の処理を説明する図である。
【図31】第2の実施形態の編集方法を説明する図(その1)である。
【図32】第2の実施形態の編集方法を説明する図(その2)である。
【図33】第2の実施形態の編集方法を説明する図(その3)である。
【図34】 (a) は、オブジェクト情報テーブルの一例を示す図であり、(b) は、ライン情報テーブルの一例を示す図である。
【図35】第2の実施形態の図形編集ソフトウェアの動作を説明するフローチャートである。
【図36】本発明の編集方法の処理を記述したプログラムを実行するコンピュータのブロックである。
【図37】本発明に係わるソフトウェアプログラム等の提供方法を説明する図である。
【図38】既存の方法により互いに接続されているオブジェクトの中の一部を削除する際の手順を説明する図である。
【符号の説明】
1 コンピュータ
2 マウス
11 オブジェクト情報テーブル
12 ライン情報テーブル
13 データテーブル
21 選択テーブル
22 新規ライン情報テーブル
23 前方情報テーブル
24 後方情報テーブル
100 コンピュータ
101 CPU
102 記憶装置
103 メモリ
104 記録媒体ドライバ
105 可搬性記録媒体
106 通信制御装置

Claims (6)

  1. 直列的に接続された第1のオブジェクト、第2のオブジェクトおよび第3のオブジェクトを含む図形を表示する表示手段と、
    前記表示手段における各オブジェクトの表示位置を示す位置情報を管理するテーブルを格納する格納手段と、
    第2のオブジェクトが選択されたときに、その第2のオブジェクトを削除すると共に、第1のオブジェクトと第3のオブジェクトとを接続する編集手段と、を備え、
    前記編集手段は、前記テーブルを参照し、前記第2のオブジェクトを削除する前の前記第1のオブジェクトと前記第3のオブジェクトとの間隔が所定値を超えていた場合に、そのテーブルを更新することによって、前記第2のオブジェクトを削除した後の前記第3のオブジェクトの表示位置を更新する
    ことを特徴とする図形編集装置。
  2. 上記編集手段は、第2のオブジェクトが選択および削除されたときにその第2のオブジェクトが表示されていた位置に上記第3のオブジェクトを表示する
    ことを特徴とする請求項1に記載の図形編集装置。
  3. 各枡目がそれぞれ1つのオブジェクトを表示するための領域として定義された仮想座標系を提供する座標系提供手段をさらに有し、
    上記表示手段は、上記仮想座標系を用いて各オブジェクトを表示し、上記編集手段は、上記仮想座標系を用いて各オブジェクトを配置する
    ことを特徴とする請求項1に記載の図形編集装置。
  4. 直列的に接続された第1のオブジェクト、第2のオブジェクトおよび第3のオブジェクトを含む図形を表示する表示手段と、
    前記表示手段における各オブジェクトの表示位置を示す位置情報を管理するテーブルを格納する格納手段と、
    第2のオブジェクトを移動する旨の指示を受けたときに、前記テーブルを参照し、その第2のオブジェクトが上記図形に対して予め決められた閾値距離よりも遠く離れた位置に移動されたときに、その第2のオブジェクトを削除すると共に、第1のオブジェクトと第3のオブジェクトとを接続する編集手段と、
    を有する図形編集装置。
  5. コンピュータに、
    直列的に接続された第1のオブジェクト、第2のオブジェクトおよび第3のオブジェクトを含む図形を表示装置に表示する手順と、
    前記表示装置における各オブジェクトの表示位置を示す位置情報をメモリ上に形成するテーブルを用いて管理する手順と、
    第2のオブジェクトが選択されたときに、前記テーブルを参照し、その第2のオブジェクトを削除して第1のオブジェクトと第3のオブジェクトとを接続すると共に、前記第2のオブジェクトを削除する前の前記第1のオブジェクトと前記第3のオブジェクトとの間隔が所定値を超えていた場合には、そのテーブルを更新することによって、前記第2のオブジェクトを削除した後の前記第3のオブジェクトの表示位置を更新する手順、
    を実行させるためのプログラムを記録したコンピュータ読取可能な記録媒体。
  6. コンピュータに、
    直列的に接続された第1のオブジェクト、第2のオブジェクトおよび第3のオブジェクトを含む図形を表示装置に表示する手順と、
    前記表示装置における各オブジェクトの表示位置を示す位置情報をメモリ上に形成するテーブルを用いて管理する手順と、
    第2のオブジェクトを移動する旨の指示を受けたときに、前記テーブルを参照し、その第2のオブジェクトが前記図形に対して予め決められた閾値距離よりも遠く離れた位置に移動されたときに、その第2のオブジェクトを削除すると共に、第1のオブジェクトと第3のオブジェクトとを接続する手順、
    を実行させるためのプログラムを記録したコンピュータ読取可能な記録媒体。
JP2001019068A 2000-01-31 2001-01-26 図形編集装置、および図形編集装置として機能させるためのプログラムを格納した記録媒体 Expired - Fee Related JP3953738B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001019068A JP3953738B2 (ja) 2000-01-31 2001-01-26 図形編集装置、および図形編集装置として機能させるためのプログラムを格納した記録媒体

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2000-21979 2000-01-31
JP2000021979 2000-01-31
JP2001019068A JP3953738B2 (ja) 2000-01-31 2001-01-26 図形編集装置、および図形編集装置として機能させるためのプログラムを格納した記録媒体

Publications (3)

Publication Number Publication Date
JP2001291112A JP2001291112A (ja) 2001-10-19
JP2001291112A5 JP2001291112A5 (ja) 2004-12-09
JP3953738B2 true JP3953738B2 (ja) 2007-08-08

Family

ID=26584482

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001019068A Expired - Fee Related JP3953738B2 (ja) 2000-01-31 2001-01-26 図形編集装置、および図形編集装置として機能させるためのプログラムを格納した記録媒体

Country Status (1)

Country Link
JP (1) JP3953738B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7668608B2 (en) * 2006-09-01 2010-02-23 Fisher-Rosemount Systems, Inc. Graphical programming language object editing and reporting tool
JP5012887B2 (ja) * 2009-12-28 2012-08-29 富士通株式会社 プログラム、編集方法、およびコンピュータ
JP2016115017A (ja) * 2014-12-12 2016-06-23 日本電信電話株式会社 フローチャート作成方法及びプログラム
JP6162909B2 (ja) * 2015-07-31 2017-07-12 楽天株式会社 木構造データ編集装置、木構造データ編集方法、及びプログラム

Also Published As

Publication number Publication date
JP2001291112A (ja) 2001-10-19

Similar Documents

Publication Publication Date Title
JP3569153B2 (ja) 図形編集装置、および図形編集方法、並びにそのためのプログラムを格納した記憶媒体
US8910064B2 (en) GUI program creation supporting apparatus, GUI program creation support method, computer-readable recording medium and integrated circuit
JP3372563B2 (ja) 木構造表示編集装置
US20140176566A1 (en) Apparatus for simultaneously storing area selected in image and apparatus for creating an image file by automatically recording image information
JP2009508227A (ja) ブラウズモードデザイナ
JP4588295B2 (ja) シーケンス解析方法およびシーケンス解析装置
WO2015055087A1 (zh) 图纸中实体的选择方法和装置
US20030217038A1 (en) Data file history management method and apparatus thereof
JP3953738B2 (ja) 図形編集装置、および図形編集装置として機能させるためのプログラムを格納した記録媒体
CN112417212A (zh) 一种用于短视频制作版本差异查找并展示的方法
JP2686758B2 (ja) 図形編集装置
JP3564371B2 (ja) 図形編集装置及び方法
US7053914B2 (en) Graphic editing device, graphic editing method and storage medium for storing a program
JP4475933B2 (ja) 流れ図作成プログラム及び流れ図作成方法
JP3498733B2 (ja) 木構造表示編集装置
JP4693167B2 (ja) 帳票検索装置、帳票検索方法、プログラム及びコンピュータ読み取り可能な記憶媒体
CN111431729A (zh) 基于拓扑图的资源管理交互方法
JP3533674B2 (ja) 情報表示装置およびその方法
CN116860222B (zh) 一种算法流程编辑方法及相关装置
JP4180099B2 (ja) シーケンス解析プログラムを記録した記録媒体、シーケンス解析装置およびシーケンス解析方法
JP4942193B2 (ja) 情報処理装置及び情報処理方法
CN112446198B (zh) 一种编辑图表的方法、装置、计算机存储介质及终端
JP2010182031A (ja) ソフトウエア生成支援装置
JP2001318944A (ja) 検索装置およびそのプログラム記録媒体
US20020049757A1 (en) Apparatus for processing data of overlapped facilities by means of virtual facility record and method therefor

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20061031

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061107

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061228

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070130

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070228

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20070409

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070424

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070425

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100511

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110511

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120511

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130511

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140511

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees