(57)【要約】【課題】編集の操作ミスによる再操作、編集の調整操作の煩わしさを低減する。【解決手段】移動手段１ａは、ユーザの操作に応じて、表示装置２に表示しているオブジェクト３ａ〜３ｈを移動する。移動位置取得手段１ｂは、移動されたオブジェクト３ａ〜３ｈの移動位置を取得する。位置算出手段１ｃは、編集された流れ図の構成に関する情報が記憶されるオブジェクト情報ファイル１ｇより、流れ図を構成しているオブジェクト３ａ〜３ｈの構成位置を参照し、移動位置の構成位置との位置関係を算出する。表示手段１ｄは、算出された位置関係に応じて、オブジェクト３ａ〜３ｈの流れ図における編集機能を表示装置２に一覧表示する。取得手段１ｅは、ユーザの操作によって選択された編集機能を取得する。編集手段１ｆは、取得された編集機能に従って、オブジェクト３ａ〜３ｈを流れ図に編集する。【選択図】図１
2010134944.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
表示装置に表示されたオブジェクトの表示位置を移動させる操作を受け付け、
移動後の該オブジェクトの位置に応じて、該オブジェクトに関する異なる編集メニューを表示する、
処理を実行させることを特徴とするプログラム。
【請求項２】
コンピュータに、
表示装置に表示されたオブジェクトの表示位置を移動させる操作を受け付け、
移動後の該オブジェクトが、他のオブジェクトと重なる場合に、該オブジェクトと該他のオブジェクトに関する編集メニューを表示する、
処理を実行させることを特徴とするプログラム。
【請求項３】
コンピュータに、
表示装置に表示されたオブジェクトの表示位置をドラッグ操作により移動させ、
ドロップ操作に応じて、該オブジェクトに関する編集メニューを表示する、
処理を実行させることを特徴とするプログラム。
【請求項４】
コンピュータを用いたオブジェクトに関する編集方法において、
表示装置に表示されたオブジェクトの表示位置を移動させる操作を受け付け、
移動後の該オブジェクトの位置に応じて、該オブジェクトに関する異なる編集メニューを表示する、
ことを特徴とする編集方法。
【請求項５】
コンピュータを用いたオブジェクトに関する編集方法において、
表示装置に表示されたオブジェクトの表示位置を移動させる操作を受け付け、
移動後の該オブジェクトが、他のオブジェクトと重なる場合に、該オブジェクトと該他のオブジェクトに関する編集メニューを表示する、
ことを特徴とする編集方法。
【請求項６】
コンピュータを用いたオブジェクトに関する編集方法において、
表示装置に表示されたオブジェクトの表示位置をドラッグ操作により移動させ、
ドロップ操作に応じて、該オブジェクトに関する編集メニューを表示する、
ことを特徴とする編集方法。
【請求項７】
コンピュータにおいて、
オブジェクトを表示する表示装置と、
該表示装置に表示されたオブジェクトの表示位置を移動させる操作を受け付ける操作部と、を有し、
該操作部を用いた操作による移動後の該オブジェクトの位置に応じて、該オブジェクトに関する異なる編集メニューを表示する、
ことを特徴とするコンピュータ。
【請求項８】
コンピュータにおいて、
複数のオブジェクトを表示する表示する表示装置と、
該表示装置に表示された前記複数のオブジェクトのうちのいずれかのオブジェクトの表示位置を移動させる操作を受け付ける操作部と、を有し
該操作部を用いた操作による移動後の該いずれかのオブジェクトが、他のオブジェクトと重なる場合に、該いずれかのオブジェクトと該他のオブジェクトに関する編集メニューを表示する、
ことを特徴とするコンピュータ。
【請求項９】
コンピュータにおいて、
オブジェクトを表示する表示装置と、
操作部と、を有し、
該表示装置に表示されたオブジェクトの表示位置を該操作部を用いたドラッグ操作により移動させ、該操作部を用いたドロップ操作に応じて、該オブジェクトに関する編集メニューを表示する、
ことを特徴とするコンピュータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はプログラム、編集方法、およびコンピュータに関し、特にオブジェクトを含む流れ図を作成するプログラム、編集方法、およびコンピュータに関する。
【背景技術】
【０００２】
現在、フローチャートを容易に作成するための様々なソフトウェアが提供されている。例えば、図形編集をするソフトウェアに、第１のコネクタにより互いに接続された第１のオブジェクトおよび第２のオブジェクトにおいて、第３のオブジェクトが第１のコネクタに対して予め決められた位置に配置されときに、第１のオブジェクトと第３のオブジェクトとを接続する第２のコネクタおよび第３のオブジェクトと第２のオブジェクトとを接続する第３のコネクタを生成するようにしたソフトウェアがある（例えば、特許文献１参照）。これによって、互いに接続されているオブジェクトに他のオブジェクトを挿入する際の操作を簡単にしている。
【０００３】
また、直列的に接続された第１のオブジェクト、第２のオブジェクト、および第３のオブジェクトを含む図形において、第２のオブジェクトが選択されたときに、その第２のオブジェクトを削除するとともに、第１のオブジェクトと第３のオブジェクトとを接続するようにしたソフトウェアがある（例えば、特許文献２参照）。これによって、互いに接続されているオブジェクトの一部のオブジェクトを削除する際の操作を簡単にしている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０００−２７６６０８号公報（段落番号〔００１９〕〜〔００２５〕、図２（ａ）〜図２（ｄ））
【特許文献２】特開２００１−２９１１１２号公報（段落番号〔００１７〕〜〔００２２〕、図２（ａ）、図２（ｂ））
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記したような従来技術においては、操作ミスによって、オブジェクトを予め決められた位置に移動した場合でも、自動的にそのオブジェクトは挿入されてしまう。また、操作ミスによってオブジェクトを選択した場合でも、自動的にそのオブジェクトは削除されてしまう。また、多数オブジェクトが重なった場所で、一部のオブジェクトに対して正しく挿入する操作が困難である。そのため、操作ミス時の再操作に煩わしさを感じることや、挿入前に調整操作が必要となる場合があるという問題点があった。
【０００６】
本発明はこのような点に鑑みてなされたものであり、編集の操作ミスによる再操作、編集の調整操作の煩わしさを低減するプログラム、編集方法、およびコンピュータを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、コンピュータに、表示装置に表示されたオブジェクトの表示位置を移動させる操作を受け付け、移動後の該オブジェクトの位置に応じて、該オブジェクトに関する異なる編集メニューを表示する、処理を実行させることを特徴とするプログラムが提供される。
【０００８】
また、上記課題を解決するために、コンピュータに、表示装置に表示されたオブジェクトの表示位置を移動させる操作を受け付け、移動後の該オブジェクトが、他のオブジェクトと重なる場合に、該オブジェクトと該他のオブジェクトに関する編集メニューを表示する、処理を実行させることを特徴とするプログラムが提供される。
【０００９】
また、上記課題を解決するために、コンピュータに、表示装置に表示されたオブジェクトの表示位置をドラッグ操作により移動させ、ドロップ操作に応じて、該オブジェクトに関する編集メニューを表示する、処理を実行させることを特徴とするプログラムが提供される。
【発明の効果】
【００１０】
開示のプログラムによれば、編集の操作ミスによる再操作、編集の調整操作の煩わしさを低減することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の原理を説明する原理図である。
【図２】本発明の実施の形態に係るコンピュータのハードウェア構成を示すブロック図である。
【図３】モニタの表示画面を示した図である。
【図４】コンピュータの機能ブロック図である。
【図５】オブジェクト情報ファイルのデータ構成例である。
【図６】グリッド座標、移動開始点および移動終了点を説明する図である。
【図７】差分算出部と位置情報比較部の機能を具体例によって説明する図のその１である。
【図８】差分算出部と位置情報比較部の機能を具体例によって説明する図のその２である。
【図９】移動対象のオブジェクトが他のオブジェクトに重ねられるよう移動されたときのメニュー表示の組み合わせを説明する図である。
【図１０】移動対象のオブジェクトが他のオブジェクトに重ねられないよう移動されたときのメニュー表示の組み合わせを説明する図である。
【図１１】割り込み編集前の画面を示した図である。
【図１２】移動対象オブジェクトが他のオブジェクトに重ねられたときの画面を示した図である。
【図１３】前に割り込みのメニューが選択されたときの画面を示した図である。
【図１４】移動、取り外し編集前の画面を示した図である。
【図１５】移動対象オブジェクトが移動されたときの画面を示した図である。
【図１６】ここに取り外しのメニューが選択されたときの画面を示した図である。
【図１７】割り込み編集をするときのコンピュータの処理の流れを示したフローチャートである。
【図１８】割り込み編集をするときのコンピュータの処理の流れを示したフローチャートである。
【図１９】割り込み編集をするときのコンピュータの処理の流れを示したフローチャートである。
【図２０】移動、取り外し編集をするときのコンピュータの処理の流れを示したフローチャートである。
【図２１】移動、取り外し編集をするときのコンピュータの処理の流れを示したフローチャートである。
【発明を実施するための形態】
【００１２】
以下、本発明の原理を図面を参照して詳細に説明する。
図１は、本発明の原理を説明する原理図である。
図に示すようにコンピュータ１は、移動手段１ａ、移動位置取得手段１ｂ、位置算出手段１ｃ、表示手段１ｄ、取得手段１ｅ、編集手段１ｆ、およびオブジェクト情報ファイル１ｇを有している。コンピュータ１には表示装置２が接続されている。表示装置２には、オブジェクト３ａ〜３ｈが表示され、オブジェクト３ａ〜３ｇは流れ図を構成している。
【００１３】
オブジェクト情報ファイル１ｇには、表示装置２上で編集された流れ図の構成に関する情報が記憶される。例えば、編集されたオブジェクト３ａ〜３ｈの位置、オブジェクト３ａ〜３ｈ間の接続関係が記憶される。
【００１４】
移動手段１ａは、ユーザの操作に応じて、表示装置２に表示しているオブジェクト３ａ〜３ｈを移動する。なお、図１においては、オブジェクト３ｈが移動されるとする。
移動位置取得手段１ｂは、移動手段１ａより移動されたオブジェクト３ｈの移動位置を取得する。
【００１５】
位置算出手段１ｃは、オブジェクト情報ファイル１ｇより、流れ図を構成しているオブジェクト３ａ〜３ｈの構成位置を参照し、移動されるオブジェクト３ｈの、流れ図を構成しているオブジェクト３ａ〜３ｇとの位置関係を算出する。
【００１６】
表示手段１ｄは、位置算出手段１ｃより算出された、移動されるオブジェクト３ｈの、流れ図を構成しているオブジェクト３ａ〜３ｇとの位置関係に応じて、オブジェクト３ａ〜３ｈの流れ図における編集機能を表示装置２に一覧表示する。例えば、移動されるオブジェクト３ｈが、流れ図を構成しているオブジェクト３ａと重なるように移動された場合、表示手段１ｄは、編集機能を表示装置２に一覧表示する。なお、図においては、機能Ａ，Ｂ，…が表示された一覧表示４が示してある。
【００１７】
取得手段１ｅは、ユーザの操作によって一覧表示４から選択された編集機能を取得する。
編集手段１ｆは、取得手段１ｅより取得された編集機能に従って、オブジェクト３ｈを流れ図に編集する。なお、編集された流れ図の構成に関する情報は、オブジェクト情報ファイル１ｇに記憶される。
【００１８】
以下、原理図の動作について説明する。
ユーザは、流れ図を編集したい場合、表示装置２に表示されているオブジェクト３ｈを、例えば、編集したい位置に移動するよう操作する。移動手段１ａは、このユーザの操作に応じて、表示装置２に表示しているオブジェクト３ｈを移動する。
【００１９】
移動位置取得手段１ｂは、移動されたオブジェクト３ｈの移動位置を取得する。位置算出手段１ｃは、オブジェクト情報ファイル１ｇより、流れ図を構成しているオブジェクト３ａ〜３ｇの構成位置を参照し、オブジェクト３ｈの移動位置と、オブジェクト３ａ〜３ｇの構成位置との位置関係を算出する。
【００２０】
表示手段１ｄは、位置算出手段１ｃより算出された位置関係より、編集機能の一覧表示４を表示装置２に表示する。取得手段１ｅは、ユーザの操作によって選択された編集機能を取得する。編集手段１ｆは、選択された編集機能に従って、オブジェクト３ｈをオブジェクト３ａ〜３ｇに編集する。
【００２１】
このように、オブジェクトの移動によって編集機能を表示装置に一覧表示し、ユーザに所望の編集機能を選択させる。そして、選択された編集機能に従って、オブジェクトを流れ図に編集するようにした。これにより、簡単な操作で流れ図の編集ができ、ユーザの編集の操作ミスによる再操作、編集の調整操作の煩わしさを低減することができる。
【００２２】
以下、本発明の実施の形態を図面を参照して詳細に説明する。
まず、本発明の流れ図作成プログラムが実行されるコンピュータのハードウェア構成について説明する。
【００２３】
図２は、本発明の実施の形態に係るコンピュータのハードウェア構成を示すブロック図である。
図に示すコンピュータ１０は、ＣＰＵ(Central Processing Unit)１０ａによって装置全体が制御されている。ＣＰＵ１０ａには、バス１０ｇを介してＲＡＭ(Random Access Memory)１０ｂ、ハードディスクドライブ(ＨＤＤ:Hard Disk Drive)１０ｃ、グラフィック処理装置１０ｄ、入力インターフェース１０ｅ、および通信インターフェース１０ｆが接続されている。
【００２４】
ＲＡＭ１０ｂには、ＣＰＵ１０ａに実行させるＯＳ(Operating System)のプログラム、流れ図を作成する流れ図作成プログラムやＣＰＵ１０ａによる処理に必要な各種データが一時的に格納される。ＨＤＤ１０ｃには、ＯＳ、アプリケーションプログラム、後述するオブジェクト情報ファイルなどが格納される。
【００２５】
グラフィック処理装置１０ｄには、モニタ１０ｈが接続されている。グラフィック処理装置１０ｄは、ＣＰＵ１０ａからの命令に従って、画像をモニタ１０ｈの表示画面に表示させる。入力インターフェース１０ｅには、キーボード１０ｉと、マウス１０ｊとが接続されている。入力インターフェース１０ｅは、キーボード１０ｉやマウス１０ｊから送られてくる信号を、バス１０ｇを介してＣＰＵ１０ａに送信する。
【００２６】
通信インターフェース１０ｆは、ネットワークと接続される。通信インターフェース１０ｆは、ＣＰＵ１０ａからの命令に従って、ネットワークに接続されている他のコンピュータと通信することができる。
【００２７】
以上のようなハードウェア構成によって、本発明の流れ図作成プログラムの処理を実行することができる。
次に、流れ図作成プログラムによって作成することができる流れ図について説明する。
【００２８】
図３は、モニタの表示画面を示した図である。
モニタ１０ｈの表示画面には、流れ図作成プログラムの実行によって、図に示すように流れ図作成画面２１が表示される。流れ図作成画面２１は、オブジェクトを選択するためのオブジェクト選択部２２、流れ図を作成するための流れ図作成部２３から構成されている。
【００２９】
モニタ１０ｈの表示画面には、流れ図作成画面２１上を指し示すポインタ２４が表示される。ポインタ２４は、ユーザのマウス１０ｊまたはキーボード１０ｉの操作に従って移動する。ユーザは、ポインタ２４によって、流れ図作成画面２１上のオブジェクトやメニューを操作することができる。
【００３０】
オブジェクトは、所定の機能を持ったプログラムを実行するためのコマンドおよびバッチファイルを図像で表したものである。例えば、入力されるデータを読み込むプログラム、読み込まれたデータを演算するプログラム、演算したデータを保存するプログラムを実行するためのコマンドおよびバッチファイルがオブジェクトによって表される。
【００３１】
オブジェクト選択部２２には、これらオブジェクトの一覧が表示されている。ユーザは、ポインタ２４をオブジェクト選択部２２の選択したいオブジェクトの上に移動させ、流れ図作成部２３にドラッグアンドドロップすることにより、オブジェクトを流れ図作成部２３に移動することができる。
【００３２】
流れ図作成部２３では、ユーザの操作によって、オブジェクト選択部２２から選択されたオブジェクトが、方向性をもった接続線（図中矢印）で接続される。流れ図作成部２３で作成された流れ図のオブジェクトは、接続線の順に従ってコマンドまたはバッチファイルを順に実行することとなる。つまり、ユーザは、オブジェクトの流れ図を作成することにより、コード入力することなく、一連の処理機能を持ったプログラムを容易に作成することができる。
【００３３】
流れ図に新たなオブジェクトを、例えば、割り込み（追加）編集するには、新たなオブジェクトを、割り込ませたい位置のオブジェクトに重なるよう移動させる。すると、新たなオブジェクトを、重ねられたオブジェクトの前に割り込みするか、後ろに割り込みするか、および交換するかを問う表示がされる。ユーザは、ポインタ２４を操作して所望の表示部分を選択することにより、オブジェクトを流れ図に割り込ませることができる。
【００３４】
また、流れ図を構成しているオブジェクトを移動するまたは削除するには、そのオブジェクトを現在の位置から移動させる。すると、オブジェクトを移動させた場所に移動するか、流れ図から削除するかを問う表示がされる。ユーザは、ポインタ２４を操作して所望の表示部分を選択することにより、オブジェクトを流れ図から移動または削除することができる。
【００３５】
次に、コンピュータ１０が流れ図作成プログラムを実行することにより有する機能について説明する。
図４は、コンピュータの機能ブロック図である。
【００３６】
図に示すようにコンピュータ１０は、流れ図作成プログラムを実行することにより、操作入力部１１、移動検出部１２、差分算出部１３、位置情報比較部１４、編集機能表示部１５、編集機能取得部１６、編集部１７、およびオブジェクト情報取得部１８の各機能を有している。オブジェクト情報ファイル１９は、流れ図作成部２３で編集された流れ図の構成に関する情報が格納されるファイルである。オブジェクト情報ファイル１９は、例えば、ＲＡＭ１０ｂまたはＨＤＤ１０ｃの記憶装置に構築される。
【００３７】
図５は、オブジェクト情報ファイルのデータ構成例である。
図に示すようにオブジェクト情報ファイル１９には、流れ図作成部２３に展開（貼付）可能なオブジェクトの数だけ、予め領域１９ａ，１９ｂ，１９ｃ，…が準備される。領域１９ａ，１９ｂ，１９ｃ，…の各々で、１つのオブジェクトの流れ図に関する情報が管理される。各領域１９ａ，１９ｂ，１９ｃ，…は、オブジェクトの欄、位置情報の欄、オブジェクトサイズの欄、先行接続情報の欄、後続接続情報の欄、およびコマンドの欄を有している。
【００３８】
オブジェクトの欄には、流れ図作成部２３上に展開されるオブジェクトを識別するための配列番号が格納される。配列番号は、例えば、０，１，２，…と正の整数が順に付与される。
【００３９】
位置情報の欄には、オブジェクトの流れ図作成画面２１上での位置が格納される。位置情報は、グリッド座標で表される（後述詳細）。
オブジェクトサイズの欄には、オブジェクトを表している図像の大きさが格納される。
【００４０】
先行接続情報の欄には、その先行接続情報の属している領域で情報管理されているオブジェクトの前段に接続されているオブジェクトの配列番号が格納される。前段に接続されているオブジェクトとは、先行接続情報の属している領域で情報管理されているオブジェクトに対して、接続線を出しているオブジェクトのことである。なお、前段にオブジェクトが接続されていない場合は、前段のオブジェクトを指し示すことのあり得ない値、例えば、−１が格納される。
【００４１】
後続接続情報の欄には、その後続接続情報の属している領域で情報管理されているオブジェクトの後段に接続されているオブジェクトの配列番号が格納される。後段に接続されているオブジェクトとは、後続接続情報の属している領域で情報管理されているオブジェクトが接続線を出している先のオブジェクトのことである。なお、後段にオブジェクトが接続されていない場合は、後段のオブジェクトを指し示すことのあり得ない値、例えば、−１が格納される。
【００４２】
コマンドの欄には、そのコマンドの属している領域で情報管理されているオブジェクトが実行するコマンドまたはバッチファイルの種類が格納される。例えば、コマンドがｂａｃｋｕｐ．ｅｘｅであれば、そのオブジェクトはデータを保存する処理を実行する。
【００４３】
図５の例では、領域１９ｂで管理されるオブジェクトの配列番号は１である。領域１９ｂで管理されているオブジェクトの位置情報は（１０，８）である。オブジェクトサイズは３２である。先行接続情報は（２，３，４）である。なお、領域１９ｃで管理されるオブジェクトの配列番号は２であるので、領域１９ｂで管理されているオブジェクトの前段には、領域１９ｃで管理されているオブジェクトが接続されていることになる。後続接続情報は（５，６，７）である。コマンドはｓｔｏｐ．ｂａｔである。
【００４４】
図４の説明に戻る。オブジェクト情報取得部１８は、流れ図作成部２３で編集された流れ図の構成に関する情報を取得する。そして、情報を取得したオブジェクトの属するオブジェクト情報ファイル１９の領域に、取得した情報を格納する。例えば、編集されたオブジェクトの位置情報、オブジェクトサイズ、先行接続情報、後続接続情報、およびコマンド情報を取得して、オブジェクト情報ファイル１９に格納する。
【００４５】
オブジェクト情報取得部１８は、流れ図作成部２３上でオブジェクトが移動されると、そのオブジェクトの移動が完了したときの位置情報を取得し、オブジェクト情報ファイル１９の位置情報を更新する。また、オブジェクト情報取得部１８は、オブジェクトの前段または後段の接続が変更されたとき、そのオブジェクトの先行接続情報または後続接続情報を取得し更新する。また、オブジェクト情報取得部１８は、流れ図作成部２３上からオブジェクトが取り除かれたとき、そのオブジェクトの領域の各情報を破棄する。
【００４６】
操作入力部１１は、マウス１０ｊまたはキーボード１０ｉからユーザが操作した情報を入力する。
移動検出部１２は、ユーザのポインタ２４の操作によって移動されるオブジェクトの移動開始点と移動終了点を検出する。移動検出部１２は、オブジェクト上にポインタ２４を移動させてマウス１０ｊのボタンを押下したとき移動開始点を検出する。そして、マウス１０ｊのボタンを押下したままマウス１０ｊを移動させ、マウス１０ｊのボタンを離したとき移動終了点を検出する。
【００４７】
移動検出部１２は、検出した移動開始点と移動終了点を、例えば、ＲＡＭ１０ｂの記憶装置に一時的に記憶する。オブジェクトの移動開始点および移動終了点は、流れ図作成画面２１上に割り当てられたグリッド座標で表される。
【００４８】
ここで、グリッド座標、移動開始点および移動終了点について詳細に説明する。
図６は、グリッド座標、移動開始点および移動終了点を説明する図である。
図に示すように、流れ図作成画面２１には、グリッド座標が割り当てられる。流れ図作成画面２１の左上角を原点に、水平方向にＸ軸、垂直方向にＹ軸が割り当てられている。流れ図作成画面２１には、点線で示した移動開始前のオブジェクトＡと、実線で示した移動終了後のオブジェクトＡが例示してある。
【００４９】
オブジェクトの位置は、オブジェクトのある一部を含んでいるグリッド座標、例えば、オブジェクトの中心を含むグリッド座標で表す。図６においては、移動開始前のオブジェクトＡの位置は（１，１）である。移動終了後のオブジェクトＡの位置は（４，３）である。従って、図６におけるオブジェクトＡの移動開始点と移動終了点は、（１，１）、（４，３）と表される。なお、移動開始点、移動終了点が、流れ図作成画面２１の実測位置で取得される場合、グリッドサイズで割る演算により、グリッド座標での値に換算される。
【００５０】
図４の説明に戻る。差分算出部１３は、ユーザのポインタ２４の操作によって移動されたオブジェクトの移動差分値を算出する。差分算出部１３は、移動検出部１２により一時的にＲＡＭ１０ｂに記憶された移動開始点と移動終了点の差分を取ることによって、オブジェクトの移動差分値を算出する。差分算出部１３は、算出した移動差分値を、例えば、ＲＡＭ１０ｂの記憶装置に一時的に記憶する。
【００５１】
位置情報比較部１４は、流れ図を構成していない移動対象のオブジェクトが、他のオブジェクトの上に重ねられたか否かを判断する。具体的には、位置情報比較部１４は、移動対象となっているオブジェクトの移動前の位置情報をオブジェクト情報ファイル１９から取得し、差分算出部１３により算出されて一時的にＲＡＭ１０ｂに記憶されている移動差分値を加算する。そして、位置情報比較部１４は、算出した加算値を、オブジェクト情報ファイル１９に格納されている他のオブジェクト（移動対象以外のオブジェクト）の位置情報と比較し、一致しているか否かを判断する。つまり、加算値と、他のオブジェクトの位置情報とが一致していれば、移動対象となっているオブジェクトは、流れ図を構成している他のオブジェクトの上に重ねられた位置にあると判断することができる。位置情報比較部１４は、比較結果が一致した場合、加算値と一致した位置情報の属する領域の配列番号を、例えば、ＲＡＭ１０ｂの記憶装置に一時的に記憶する。
【００５２】
また、位置情報比較部１４は、流れ図を構成している移動対象のオブジェクトが、他の全てのオブジェクトの上に重ねられていないか否かを判断する。具体的には、位置情報比較部１４は、移動対象となっているオブジェクトの移動前の位置情報をオブジェクト情報ファイル１９から取得し、差分算出部１３により算出されてＲＡＭ１０ｂに一時的に記憶されている移動差分値を加算する。位置情報比較部１４は、算出した加算値を、オブジェクト情報ファイル１９に格納されている他のオブジェクトの位置情報と比較し、一致しているか否かを判断する。つまり、加算結果と、他のオブジェクトの位置情報とが一致していなければ、移動対象となっているオブジェクトは、他のオブジェクトの上に重ねられていないと判断することができる。位置情報比較部１４は、比較結果が全て一致しなかった場合、移動対象となっているオブジェクトの配列番号を、例えば、ＲＡＭ１０ｂの記憶装置に一時的に記憶する。
【００５３】
また、位置情報比較部１４は、操作入力部１１より１つのオブジェクトが選択されて操作されているか、複数のオブジェクトが選択されて操作されているかを判断する。
ここで、差分算出部１３と位置情報比較部１４の機能を具体例によって説明する。まず、位置情報比較部１４が、移動対象となっているオブジェクトが他のオブジェクトの上に重ねられたと判断する場合について説明する。
【００５４】
図７は、差分算出部と位置情報比較部の機能を具体例によって説明する図のその１である。
図において、配列番号０のオブジェクトを移動対象のオブジェクトとする。配列番号０のオブジェクトの移動開始点は、移動検出部１２より（１０，９）が検出されたとする。また、配列番号０のオブジェクトの移動終了点は、移動検出部１２より（１０，８）が検出されたとする。なお、移動検出部１２より検出される移動開始点は、オブジェクト情報ファイル１９の、配列番号０のオブジェクトの位置情報と一致する。
【００５５】
差分算出部１３は、移動検出部１２より検出された移動開始点と移動終了点の差分をとった移動差分値を算出する。移動開始点は（１０，９）で、移動終了点は（１０，８）であるので、移動差分値は（０，−１）となる。
【００５６】
位置情報比較部１４は、移動対象となっている配列番号０のオブジェクトの、移動前の位置情報をオブジェクト情報ファイル１９から取得し、差分算出部１３より算出された移動差分値を加算する。配列番号０のオブジェクトの、移動前の位置情報は（１０，９）、移動差分値は（０，−１）であるので、加算値は（１０，８）となる。
【００５７】
位置情報比較部１４は、算出した加算値と、オブジェクト情報ファイル１９の各領域の位置情報とを比較していく。位置情報比較部１４は、比較結果が一致した場合、算出した加算値と一致した位置情報の属する領域の配列番号をＲＡＭ１０ｂに記憶する。上記例では、加算値は（１０，８）である。この加算値と一致する位置情報を有するオブジェクトの配列番号は、図７のオブジェクト情報ファイル１９を参照すると１である。従って、この場合、配列番号１がＲＡＭ１０ｂに記憶される。
【００５８】
次に、位置情報比較部１４が、移動対象となっているオブジェクトが他の全てのオブジェクトの上に重ねられていないと判断する場合について説明する。
図８は、差分算出部と位置情報比較部の機能を具体例によって説明する図のその２である。
【００５９】
図において、配列番号０のオブジェクトを移動対象のオブジェクトとする。配列番号０のオブジェクトの移動開始点は、移動検出部１２より（９，８）が検出されたとする。また、配列番号０のオブジェクトの移動終了点は、移動検出部１２より（９，９）が検出されたとする。
【００６０】
差分算出部１３は、移動検出部１２より検出された移動開始点と移動終了点の差分をとった移動差分値を算出する。移動開始点は（９，８）で、移動終了点は（９，９）であるので、移動差分値は（０，１）となる。
【００６１】
位置情報比較部１４は、移動対象となっている配列番号０のオブジェクトの、移動前の位置情報をオブジェクト情報ファイル１９から取得し、差分算出部１３より算出された移動差分値を加算する。配列番号０のオブジェクトの、移動前の位置情報は（９，８）、移動差分値は（０，１）であるので、加算値は（９，９）となる。
【００６２】
位置情報比較部１４は、算出した加算値と、オブジェクト情報ファイル１９の各領域の位置情報とを比較していく。位置情報比較部１４は、比較が全て一致しなかった場合、移動対象となっているオブジェクトの配列番号をＲＡＭ１０ｂに記憶する。上記例では、加算値は（９，９）で、図８に示すオブジェクト情報ファイル１９の全ての位置情報と一致しなかったとすれば、移動対象となっているオブジェクトの配列番号０がＲＡＭ１０ｂに格納される。
【００６３】
図４の説明に戻る。編集機能表示部１５は、オブジェクトの移動に応じて、そのオブジェクトの流れ図における編集機能を流れ図作成画面２１上に表示する。編集機能の表示は、例えば、ポップアップで表示される。編集機能の表示内容は、移動対象のオブジェクトが他のオブジェクトに重ねられるように移動されたときと、移動対象のオブジェクトが他の全てのオブジェクトの上に重ねられないように移動されたときとで異なる。そこで、場合分けをして説明する。まず、移動対象のオブジェクトが他のオブジェクトに重ねられるように移動されたときについて説明する。
【００６４】
編集機能表示部１５は、位置情報比較部１４がＲＡＭ１０ｂに一時記憶した配列番号の領域に属する先行接続情報と後続接続情報とを、オブジェクト情報ファイル１９を参照して取得する。すなわち、編集機能表示部１５は、移動対象のオブジェクトが重ねられた他のオブジェクトの先行接続情報と後続接続情報とを取得する。編集機能表示部１５は、取得した先行接続情報と後続接続情報とに基づいて、移動対象のオブジェクトを、重ねられた他のオブジェクトと交換するか、重ねられた他のオブジェクトの後段に割り込ませるか、重ねられた他のオブジェクトの前段に割り込ませるか、編集をキャンセルするかのメニュー表示（編集機能の表示）を流れ図作成部２３にする。
【００６５】
ここで、先行接続情報および後続接続情報と、流れ図作成部２３に表示されるメニュー表示の組み合わせの関係について説明する。
図９は、移動対象のオブジェクトが他のオブジェクトに重ねられるよう移動されたときのメニュー表示の組み合わせを説明する図である。
【００６６】
図に示す表３１のメニュー表示内容は、流れ図作成部２３に表示されるメニューの種類を示している。流れ図作成部２３に表示されるメニューには、後ろに割り込み、前に割り込み、および交換がある。
【００６７】
表３１に示す接続なしは、移動対象のオブジェクトが重ねられた他のオブジェクトの前段および後段には、オブジェクトが接続されていないことを示している。後続のみは、移動対象のオブジェクトが重ねられた他のオブジェクトの後段にのみ、オブジェクトが接続されていることを示している。先行のみは、移動対象のオブジェクトが重ねられた他のオブジェクトの前段にのみ、オブジェクトが接続されていることを示している。先行と後続には、移動対象のオブジェクトが重ねられた他のオブジェクトの前段と後段の両方に、オブジェクトが接続されていることを示している。表３１の１は、それに対応するメニュー表示内容の表示があることを示し、０は、それに対応するメニュー表示内容の表示がないことを示している。
【００６８】
例えば、表３１より、接続なしの場合、交換のメニューのみが表示される。後続のみの場合、後ろに割り込みと交換のメニューが表示される。先行のみの場合、前に割り込みと交換のメニューが表示される。先行と後続の場合、後ろに割り込みと前に割り込みと交換のメニューが表示される。
【００６９】
次に、移動対象のオブジェクトが他の全てのオブジェクトの上に重ねられないように移動されたときについて説明する。
編集機能表示部１５は、位置情報比較部１４がＲＡＭ１０ｂに一時記憶した配列番号の領域に属する先行接続情報と後続接続情報とを、オブジェクト情報ファイル１９を参照して取得する。すなわち、編集機能表示部１５は、全てのオブジェクトの上に重ねられないよう移動された移動対象のオブジェクトの先行接続情報と後続接続情報とを取得する。編集機能表示部１５は、取得した先行接続情報と後続接続情報とに基づいて、移動対象のオブジェクトを、単に移動するか、流れ図から取り外すか、編集をキャンセルするかのメニュー表示を流れ図作成部２３にする。
【００７０】
ここで、先行接続情報および後続接続情報と、流れ図作成部２３に表示されるメニュー表示の組み合わせの関係について説明する。
図１０は、移動対象のオブジェクトが他のオブジェクトに重ねられないよう移動されたときのメニュー表示の組み合わせを説明する図である。
【００７１】
図に示す表３２のメニュー表示内容は、流れ図作成部２３に表示されるメニューの種類を示している。流れ図作成部２３に表示されるメニューには、ここに移動、ここに取り外しがある。
【００７２】
表３２に示す接続なしは、移動対象のオブジェクトの前段および後段には、オブジェクトが接続されていないことを示している。後続のみは、移動対象のオブジェクトの後段にのみ、オブジェクトが接続されていることを示している。先行のみは、移動対象のオブジェクトの前段にのみ、オブジェクトが接続されていることを示している。先行と後続には、移動対象のオブジェクトの前段と後段の両方に、オブジェクトが接続されていることを示している。表３２の１は、それに対応するメニュー表示内容の表示があることを示し、０は、それに対応するメニュー表示内容の表示がないことを示している。
【００７３】
例えば、表３２より、接続なしの場合、後続のみの場合、および先行のみの場合メニューは表示されない。先行と後続の場合、ここに移動とここに取り外しのメニューが表示される。
【００７４】
図４の説明に戻る。ユーザは、例えば、マウス１０ｊまたはキーボード１０ｉの操作によって、ポインタ２４を移動し、流れ図作成部２３に表示されるメニューを選択する。編集機能取得部１６は、流れ図作成部２３に表示されるメニューの位置と、メニューを選択したときのポインタ２４の位置により、ユーザによって選択されたメニューを取得する。
【００７５】
編集部１７は、編集機能取得部１６によって選択されたメニューに従って、移動対象のオブジェクトを流れ図に編集する。編集部１７は、移動対象のオブジェクトが後ろに割り込みされる場合、重ねられたオブジェクトから出力されている接続線を、全て移動対象のオブジェクトから出力されるように変更する。そして、重ねられたオブジェクトから移動対象のオブジェクトに接続線を接続する。編集部１７は、移動対象のオブジェクトが前に割り込みされる場合、重ねられたオブジェクトに入力されている接続線を移動対象のオブジェクトの入力に接続する。そして、移動対象のオブジェクトから、重ねられたオブジェクトに接続線を接続する。編集部１７は、流れ図を構成しているオブジェクトが単に移動される場合、移動対象に接続されている接続線の接続を保ったまま、移動対象のオブジェクトを移動する。編集部１７は、移動対象のオブジェクトが接続線から取り外される場合、移動対象のオブジェクトへ入力されている接続線や出力している接続線を削除する。そして、移動対象のオブジェクトの前段のオブジェクトから出力されていた接続線を、移動対象のオブジェクトの後段だったオブジェクトに接続する。
【００７６】
また、編集部１７は、交換のメニューが選択された場合、移動対象のオブジェクトを、重ねられた他のオブジェクトと交換する。また、編集部１７は、キャンセルのメニューが選択された場合、移動されているオブジェクトを移動前の元の位置に戻す。
【００７７】
なお、編集部１７によって編集されたオブジェクトのオブジェクト情報ファイル１９の位置情報、先行接続情報、および後続接続情報は、オブジェクト情報取得部１８によって更新される。
【００７８】
次に、流れ図作成部２３の画面の流れについて説明する。まず、割り込み編集される場合の画面の流れについて説明する。
図１１は、割り込み編集前の画面を示した図である。
【００７９】
図に示すように流れ図作成部２３には、オブジェクト４１、オブジェクト４２ａ〜４２ｃ、オブジェクト４３ａ〜４３ｃ、オブジェクト４４が表示されているとする。
オブジェクト４１に対し、オブジェクト４２ａ〜４２ｃは先行オブジェクト（前段に接続されたオブジェクト）である。オブジェクト４１に対し、オブジェクト４３ａ〜４３ｃは後続オブジェクト（後段に接続されたオブジェクト）である。これらのオブジェクト４１，４２ａ〜４２ｃ，４３ａ〜４３ｃにより流れ図が構成されている。
【００８０】
オブジェクト４１の前後にオブジェクト４４を割り込ませるには、ポインタ２４によって、オブジェクト４４をオブジェクト４１の上に重ねるように移動する。
図１２は、移動対象オブジェクトが他のオブジェクトに重ねられたときの画面を示した図である。
【００８１】
図１１に示す移動対象のオブジェクト４４が、オブジェクト４１の上に重ねられると、図１２に示すようにメニューの一覧が示されたポップアップ５１が表示される。なお、移動対象のオブジェクト４４が重ねられるオブジェクト４１の前段、後段には、オブジェクトが接続されているので、ポップアップ５１には、前に割り込み、後ろに割り込み、交換、およびキャンセルのメニューが表示される。仮に、オブジェクト４１にオブジェクト４２ａ〜４２ｃが接続されていなかったとすると、ポップアップ５１には、後ろに割り込み、交換、およびキャンセルしか表示されない。
【００８２】
ポップアップ５１に表示されているメニュー上にポインタ２４を合わせると、ポインタ２４が合わされたメニューの表示が反転する。このとき、例えば、マウス１０ｊをクリックすると、メニューの選択が確定される。
【００８３】
図１３は、前に割り込みのメニューが選択されたときの画面を示した図である。
図１２に示すポップアップ５１において、前に割り込みが選択されると、図１３に示すように、オブジェクト４４がオブジェクト４１の前に割り込まれる。このとき、オブジェクト４２ａ〜４２ｃからオブジェクト４１に出力されていた接続線の接続は、オブジェクト４４に変更され、オブジェクト４４からオブジェクト４１に接続線が接続される。なお、この編集によるオブジェクト４１，４２ａ〜４２ｃ，４３ａ〜４３ｃ，４４の位置情報、先行接続情報、および後続接続情報は、オブジェクト情報取得部１８によって更新される。
【００８４】
次に、移動、取り外し編集される場合の画面の流れについて説明する。
図１４は、移動、取り外し編集前の画面を示した図である。
図に示すように流れ図作成部２３には、オブジェクト６１、オブジェクト６２、オブジェクト６３ａ〜６３ｃ、オブジェクト６４ａ〜６４ｃが表示されているとする。
【００８５】
オブジェクト６１に対し、オブジェクト６３ａ〜６３ｃは先行オブジェクトである。オブジェクト６１に対し、オブジェクト６２は後続オブジェクトである。また、オブジェクト６２に対し、オブジェクト６４ａ〜６４ｃは後続オブジェクトである。これらのオブジェクト６１，６２，６３ａ〜６３ｃ，６４ａ〜６４ｃより流れ図が構成されている。
【００８６】
オブジェクト６１を移動、または流れ図から取り外すには、ポインタ２４によって、オブジェクト６１を他のオブジェクト６２，６３ａ〜６３ｃ，６４ａ〜６４ｃと重ならないように移動する。
【００８７】
図１５は、移動対象オブジェクトが移動されたときの画面を示した図である。
図１４に示す移動対象のオブジェクト６１が他のオブジェクトと重ならないように移動されると、図１５に示すようにメニューの一覧が示されたポップアップ７１が表示される。なお、移動対象のオブジェクト６１の前段と後段には、オブジェクトが接続されているので、ポップアップ７１には、ここに移動、ここに取り外し、およびキャンセルのメニューが表示される。仮に、オブジェクト６１にオブジェクト６２，６３ａ〜６３ｃが接続されていなかったとすると、ポップアップ７１には、メニューが表示されない。
【００８８】
ポップアップ７１に表示されているメニュー上にポインタ２４を合わせると、ポインタ２４が合わされたメニューの表示が反転する。このとき、例えば、マウス１０ｊをクリックすると、メニューの選択が確定される。
【００８９】
図１６は、ここに取り外しのメニューが選択されたときの画面を示した図である。
図１５に示すポップアップ７１において、ここに取り外しが選択されると、図１６に示すように、オブジェクト６１が流れ図から取り外される。このとき、オブジェクト６３ａ〜６３ｃから出力されていた接続線を消去し、オブジェクト６１から出力されていた接続線を消去する。そして、オブジェクト６３ａ〜６３ｃからオブジェクト６２に接続線を接続する。なお、この編集によるオブジェクト６１，６２，６３ａ〜６３ｃ，６４ａ〜６４ｃの位置情報、先行接続情報、および後続接続情報は、オブジェクト情報取得部１８によって更新される。また、図１５のポップアップ７１において、ここに移動が選択された場合には、接続線を消去することなく、接続状態を保ったままオブジェクト６１を移動する。
【００９０】
以下、図４のコンピュータ１０の動作を、フローチャートを用いて説明する。
図１７〜図１９は、割り込み編集をするときのコンピュータの処理の流れを示したフローチャートである。
【００９１】
コンピュータ１０は、以下のステップに従って処理を実行する。
ステップＳ１において、移動検出部１２は、操作入力部１１が受け付けたユーザの操作情報より、移動されたオブジェクトの移動開始点を検出する。移動検出部１２は、検出した移動開始点をＲＡＭ１０ｂに記憶する。
【００９２】
ステップＳ２において、移動検出部１２は、操作入力部１１が受け付けたユーザの操作情報より、移動されたオブジェクトの移動終了点を検出する。移動検出部１２は、検出した移動終了点をＲＡＭ１０ｂに記憶する。
【００９３】
ステップＳ３において、差分算出部１３は、ＲＡＭ１０ｂに記憶されている移動開始点および移動終了点より、オブジェクトが移動されているか否かを判断する。オブジェクトが移動されている場合は、ステップＳ４に進む。オブジェクトが移動されていない場合は、ステップＳ２５へ進む。
【００９４】
ステップＳ４において、差分算出部１３は、移動されたオブジェクトの移動差分値を算出する。差分算出部１３は、移動検出部１２によりＲＡＭ１０ｂに記憶された移動開始点と移動終了点の差分を取ることによって、オブジェクトの移動差分値を算出する。差分算出部１３は、算出した移動差分値をＲＡＭ１０ｂに記憶する。
【００９５】
ステップＳ５において、位置情報比較部１４は、オブジェクト情報ファイル１９より、移動されたオブジェクトの移動前の位置情報を取得する。
ステップＳ６において、位置情報比較部１４は、移動されたオブジェクトの移動先の位置情報を取得する。位置情報比較部１４は、ステップＳ５により取得した移動前の位置情報に、ステップＳ４によりＲＡＭ１０ｂに格納された移動差分値を加算することにより、移動されたオブジェクトの移動先の位置情報を取得する。
【００９６】
ステップＳ７において、位置情報比較部１４は、移動されたオブジェクトの移動先の位置情報と、オブジェクト情報ファイル１９を参照して他のオブジェクトの位置情報とを比較する。位置情報比較部１４は、オブジェクト情報ファイル１９に格納されている全てのオブジェクトの位置情報とを比較していく。
【００９７】
ステップＳ８において、位置情報比較部１４は、ステップＳ７の比較結果より、移動されたオブジェクトが他のオブジェクトの上に重なっているか否かの判断をする。移動されたオブジェクトが他のオブジェクトの上に重なっている場合、位置情報比較部１４は、移動されたオブジェクトが重ねられたオブジェクトの配列番号をＲＡＭ１０ｂに記憶する。そして、ステップＳ９へ進む。移動されたオブジェクトが他のオブジェクトの上に重なっていない場合は、ステップＳ１１へ進む。なお、移動されたオブジェクトの移動先の位置情報と、他のオブジェクトの位置情報とが一致している場合に、移動されたオブジェクトが他のオブジェクトの上に重なっていることになる。
【００９８】
ステップＳ９において、位置情報比較部１４は、操作入力部１１より１つのオブジェクトが選択されて移動されているか、複数のオブジェクトが選択されて移動されているかを判断する。１つのオブジェクトが選択されて移動されている場合は、ステップＳ１０へ進む。複数のオブジェクトが選択されて移動されている場合は、ステップＳ２１へ進む。
【００９９】
ステップＳ１０において、編集機能表示部１５は、位置情報比較部１４がＲＡＭ１０ｂに記憶した配列番号より、オブジェクトの先行接続情報と後続接続情報とをオブジェクト情報ファイル１９を参照して取得する。すなわち、編集機能表示部１５は、移動されたオブジェクトが重ねられたオブジェクトの先行接続情報と後続接続情報とを取得する。ステップＳ１２へ進む。
【０１００】
ステップＳ１１において、編集部１７は、画面上のオブジェクトを移動する。移動されたオブジェクトのオブジェクト情報ファイル１９の位置情報、先行接続情報、および後続接続情報は、オブジェクト情報取得部１８によって更新され、処理が終了する。
【０１０１】
ステップＳ１２において、編集機能表示部１５は、取得した後続接続情報より、オブジェクトが重ねられたオブジェクトの後段に、オブジェクトが接続されているか否かを判断する。後段にオブジェクトが接続されている場合、ステップＳ１３へ進む。後段にオブジェクトが接続されていない場合、ステップＳ１４へ進む。
【０１０２】
ステップＳ１３において、編集機能表示部１５は、流れ図作成部２３の画面に表示されるポップアップのデータに、後ろに割り込みという文字が表示されるためのデータを追加する。
【０１０３】
ステップＳ１４において、編集機能表示部１５は、取得した先行接続情報より、オブジェクトが重ねられたオブジェクトの前段に、オブジェクトが接続されているか否かを判断する。前段にオブジェクトが接続されている場合、ステップＳ１５へ進む。前段にオブジェクトが接続されていない場合、ステップＳ１６へ進む。
【０１０４】
ステップＳ１５において、編集機能表示部１５は、流れ図作成部２３の画面に表示されるポップアップのデータに、前に割り込みという文字が表示されるためのデータを追加する。
【０１０５】
ステップＳ１６において、編集機能表示部１５は、ポップアップに表示される後ろに割り込みまたは前に割り込みのメニュー要素があるか否かを判断する。メニュー要素があればステップＳ１７へ進む。メニュー要素がなければステップＳ２１へ進む。
【０１０６】
ステップＳ１７において、編集機能表示部１５は、流れ図作成部２３にポップアップを表示する。編集機能表示部１５は、ステップＳ１３，Ｓ１５で追加されるメニューと交換およびキャンセルというメニューをポップアップ上に表示する。
【０１０７】
ステップＳ１８において、編集機能取得部１６は、ユーザの操作によって選択されたポップアップのメニューを取得する。そして、編集機能取得部１６は、後ろに割り込みまたは前に割り込みの割り込みメニューが選択されたか否かを判断する。割り込みメニューが選択された場合、ステップＳ２２へ進む。割り込みメニューが選択されなかった場合、ステップＳ１９へ進む。
【０１０８】
ステップＳ１９において、編集機能取得部１６は、ユーザの操作によって交換またはキャンセルのメニューが選択されたか否かを判断する。編集機能取得部１６は、交換のメニューが選択された場合、ステップＳ２０へ進む。キャンセルのメニューが選択された場合、ステップＳ２１へ進む。
【０１０９】
ステップＳ２０において、編集部１７は、移動されたオブジェクトを、重ねられたオブジェクトと交換する。編集部１７は、まず、重ねられたオブジェクトに接続されている接続線を切り離す。そして、移動されたオブジェクトの移動前の配置位置と重ねられたオブジェクトの配置位置を交換し、移動されたオブジェクトに接続線を接続する。編集されたオブジェクト情報ファイル１９の位置情報、先行接続情報、および後続接続情報は、オブジェクト情報取得部１８によって更新され、処理が終了する。
【０１１０】
ステップＳ２１において、編集部１７は、移動されたオブジェクトの移動を中断し、移動される前の元の位置に戻す。そして、処理が終了する。
ステップＳ２２において、編集部１７は、移動されたオブジェクトと移動されたオブジェクトが重ねられたオブジェクトの再配置位置を決定する。
【０１１１】
ステップＳ２３において、編集部１７は、編集機能取得部１６によって取得されたメニューの内容を判断する。後ろに割り込みのメニューであればステップＳ２４へ進む。前に割り込みのメニューであれば、ステップＳ２６へ進む。
【０１１２】
ステップＳ２４において、編集部１７は、移動されたオブジェクトが重ねられたオブジェクトから後続オブジェクトに出力されている接続線を、割り込みするオブジェクト（移動されたオブジェクト）から接続するように変更する。
【０１１３】
ステップＳ２５において、編集部１７は、移動されたオブジェクトが重ねられたオブジェクトから割り込みのオブジェクトに接続線を接続する。編集されたオブジェクトのオブジェクト情報ファイル１９の位置情報、先行接続情報、および後続接続情報は、オブジェクト情報取得部１８によって更新され、処理が終了する。
【０１１４】
ステップＳ２６において、編集部１７は、移動されたオブジェクトが重ねられたオブジェクトに接続されている先行オブジェクトからの接続線を、割り込みするオブジェクトに接続する。
【０１１５】
ステップＳ２７において、編集部１７は、割り込みするオブジェクトから、重ねられたオブジェクトに接続線を接続する。編集されたオブジェクトのオブジェクト情報ファイル１９の位置情報、先行接続情報、および後続接続情報は、オブジェクト情報取得部１８によって更新され、処理が終了する。
【０１１６】
図２０、図２１は、移動、取り外し編集をするときのコンピュータの処理の流れを示したフローチャートである。
コンピュータ１０は、以下のステップに従って処理を実行する。
【０１１７】
ステップＳ４１において、移動検出部１２は、操作入力部１１が受け付けたユーザの操作情報より、移動されたオブジェクトの移動開始点を検出する。移動検出部１２は、検出した移動開始点をＲＡＭ１０ｂに記憶する。
【０１１８】
ステップＳ４２において、移動検出部１２は、操作入力部１１が受け付けたユーザの操作情報より、移動されたオブジェクトの移動終了点を検出する。移動検出部１２は、検出した移動終了点をＲＡＭ１０ｂに記憶する。
【０１１９】
ステップＳ４３において、差分算出部１３は、ＲＡＭ１０ｂに記憶されている移動開始点および移動終了点より、オブジェクトが移動されているか否かを判断する。オブジェクトが移動されている場合は、ステップＳ４４に進む。オブジェクトが移動されていない場合は、ステップＳ６４へ進む。
【０１２０】
ステップＳ４４において、差分算出部１３は、移動されたオブジェクトの移動差分値を算出する。差分算出部１３は、移動検出部１２によりＲＡＭ１０ｂに記憶された移動開始点と移動終了点の差分を取ることによって、オブジェクトの移動差分値を算出する。差分算出部１３は、算出した移動差分値をＲＡＭ１０ｂに記憶する。
【０１２１】
ステップＳ４５において、位置情報比較部１４は、オブジェクト情報ファイル１９より、移動されたオブジェクトの移動前の位置情報を取得する。
ステップＳ４６において、位置情報比較部１４は、移動されたオブジェクトの移動先の位置情報を取得する。位置情報比較部１４は、ステップＳ４５により取得した移動前の位置情報に、ステップＳ４４によりＲＡＭ１０ｂに格納された移動差分値を加算することにより、移動されたオブジェクトの移動先の位置情報を取得する。
【０１２２】
ステップＳ４７において、位置情報比較部１４は、移動されたオブジェクトの移動先の位置情報と、オブジェクト情報ファイル１９を参照して他のオブジェクトの位置情報とを比較する。位置情報比較部１４は、オブジェクト情報ファイル１９に格納されている全てのオブジェクトの位置情報とを比較していく。
【０１２３】
ステップＳ４８において、位置情報比較部１４は、ステップＳ４７の比較結果より、移動されたオブジェクトが他のオブジェクトの上に重なっているか否かの判断をする。移動されたオブジェクトが他の全てのオブジェクトの上に重なっていない場合、位置情報比較部１４は、移動されたオブジェクトの配列番号をＲＡＭ１０ｂに記憶する。そして、ステップＳ４９へ進む。移動されたオブジェクトが他のオブジェクトの上に重なっている場合は、ステップＳ６４へ進む。なお、移動されたオブジェクトの移動先の位置情報と、他のオブジェクトの位置情報とが一致していない場合に、移動されたオブジェクトが他のオブジェクトの上に重なっていないことになる。
【０１２４】
ステップＳ４９において、位置情報比較部１４は、操作入力部１１より１つのオブジェクトが選択されて移動されているか、複数のオブジェクトが選択されて移動されているかを判断する。１つのオブジェクトが選択されて移動されている場合は、ステップＳ５０へ進む。複数のオブジェクトが選択されて移動されている場合は、ステップＳ６３へ進む。
【０１２５】
ステップＳ５０において、編集機能表示部１５は、位置情報比較部１４がＲＡＭ１０ｂに記憶した配列番号より、オブジェクトの先行接続情報と後続接続情報とをオブジェクト情報ファイル１９を参照して取得する。すなわち、編集機能表示部１５は、移動されたオブジェクトの先行接続情報と後続接続情報とを取得する。
【０１２６】
ステップＳ５１において、編集機能表示部１５は、取得した後続接続情報より、移動されたオブジェクトの後段に、オブジェクトが接続されているか否かを判断する。後段にオブジェクトが接続されている場合、ステップＳ５２へ進む。後段にオブジェクトが接続されていない場合、ステップＳ６３へ進む。
【０１２７】
ステップＳ５２において、編集機能表示部１５は、取得した先行接続情報より、移動されたオブジェクトの前段に、オブジェクトが接続されているか否かを判断する。前段にオブジェクトが接続されている場合、ステップＳ５３へ進む。前段にオブジェクトが接続されていない場合、ステップＳ６３へ進む。
【０１２８】
ステップＳ５３において、編集機能表示部１５は、流れ図作成部２３の画面に表示されるポップアップのデータに、ここに取り外しという文字が表示されるためのデータを追加する。
【０１２９】
ステップＳ５４において、編集機能表示部１５は、流れ図作成部２３の画面に表示されるポップアップのデータに、ここに移動という文字が表示されるためのデータを追加する。
【０１３０】
ステップＳ５５において、編集機能表示部１５は、ポップアップに表示されるここに取り外しおよびここに移動のメニュー要素があるか否かを判断する。メニュー要素があればステップＳ５６へ進む。メニュー要素がなければステップＳ６３へ進む。
【０１３１】
ステップＳ５６において、編集機能表示部１５は、流れ図作成部２３にポップアップを表示する。編集機能表示部１５は、ステップＳ５３，Ｓ５４で追加されたメニューとキャンセルというメニューをポップアップ上に表示する。
【０１３２】
ステップＳ５７において、編集機能取得部１６は、ユーザの操作によって選択されたポップアップのメニューを取得する。そして、編集機能取得部１６は、キャンセルが選択されたか否かを判断する。キャンセルのメニューが選択された場合、ステップＳ６４へ進む。キャンセルのメニューが選択されてない場合、ステップＳ５８へ進む。
【０１３３】
ステップＳ５８において、編集機能取得部１６は、ここに取り外しのメニューが選択されたかここに移動のメニューが選択されたかを判断する。ここに取り外しのメニューが選択された場合、ステップＳ５９へ進む。ここに移動のメニューが選択された場合、ステップＳ６２へ進む。
【０１３４】
ステップＳ５９において、編集部１７は、移動されたオブジェクトの先行オブジェクトから出力されている接続線を消去する。
ステップＳ６０において、編集部１７は、移動されたオブジェクトから後続オブジェクトに出力されている接続線を消去する。
【０１３５】
ステップＳ６１において、移動されたオブジェクトの先行オブジェクトと後続オブジェクトを接続線で接続する。編集されたオブジェクトのオブジェクト情報ファイル１９の位置情報、先行接続情報、および後続接続情報は、オブジェクト情報取得部１８によって更新され、処理が終了する。
【０１３６】
ステップＳ６２において、編集部１７は、接続線を消去することなく接続状態を保ったままオブジェクトを移動する。編集されたオブジェクトのオブジェクト情報ファイル１９の位置情報、先行接続情報、および後続接続情報は、オブジェクト情報取得部１８によって更新され、処理が終了する。
【０１３７】
ステップＳ６３において、編集部１７は、接続線を消去することなく画面上のオブジェクトを移動する。移動されたオブジェクトのオブジェクト情報ファイル１９の位置情報、先行接続情報、および後続接続情報は、オブジェクト情報取得部１８によって更新され、処理が終了する。
【０１３８】
ステップＳ６４において、編集部１７は、移動されたオブジェクトの移動を中断し、移動される前の元の位置に戻す。そして、編集の処理が終了する。
このように、オブジェクトの移動によって編集機能をポップアップで一覧表示し、ユーザに所望の編集機能を選択させるようにした。これにより、簡単な操作で流れ図の編集ができ、ユーザの編集の操作ミスによる再操作、編集の調整操作の煩わしさを低減することができる。
【０１３９】
なお、上記では、オブジェクト情報ファイル１９には、先行接続情報と後続接続情報を記憶するようにしたが、一方の接続情報のみを記憶するようにしてもよい。どちらか一方で、他方の接続情報を知ることができるためである。例えば、先行接続情報のみを記憶するようにした場合、先行接続情報の属するオブジェクトは、先行接続情報で特定される先行オブジェクトの後続であることがわかる。これによって、オブジェクト情報ファイル１９が記憶される、例えば、ＲＡＭ１０ｂ、ＨＤＤ１０ｃの記憶装置の記憶容量を低減することができる。
【０１４０】
また、上記ではプログラムを実行するためのコマンド、バッチファイルの流れ図の作成について説明したが、例えば、フローチャートなどの図形によって処理の流れを作成する流れ図の作成にも適用できる。
【０１４１】
なお、コンピュータが有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、ハードディスク装置（ＨＤＤ）フレキシブルディスク（ＦＤ）、磁気テープなどがある。光ディスクには、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ（Random Access Memory）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）などがある。光磁気記録媒体には、ＭＯ（Magneto-Optical disk）などがある。
【０１４２】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。
【０１４３】
（付記１）  オブジェクトを含む流れ図を作成する流れ図作成プログラムにおいて、
コンピュータを、
ユーザの操作に応じて、表示装置に表示している前記オブジェクトを移動する移動手段、
移動された前記オブジェクトの移動位置を取得する移動位置取得手段、
編集された前記流れ図の構成に関する情報が記憶されるオブジェクト情報ファイルより、前記流れ図を構成している前記オブジェクトの構成位置を参照し、前記移動位置の前記構成位置との位置関係を算出する位置算出手段、
前記位置関係に応じて、前記オブジェクトの前記流れ図における編集機能を前記表示装置に一覧表示する表示手段、
前記ユーザの操作によって選択された前記編集機能を取得する取得手段、
前記編集機能に従って、前記オブジェクトを前記流れ図に編集する編集手段、
として機能させることを特徴とする流れ図作成プログラム。
【０１４４】
（付記２）  前記表示手段は、前記位置関係に応じて、前記一覧表示の内容を変更することを特徴とする付記１記載の流れ図作成プログラム。
（付記３）  前記流れ図を構成していない非構成オブジェクトが、前記流れ図を構成している前記オブジェクトの上に移動された場合、前記表示手段は、前記オブジェクトの前段に前記非構成オブジェクトを割り込ませるかおよび前記オブジェクトの後段に前記非構成オブジェクトを割り込ませるかの旨の前記一覧表示をすることを特徴とする付記１記載の流れ図作成プログラム。
【０１４５】
（付記４）  前記表示手段は、前記一覧表示に前記オブジェクトを前記非構成オブジェクトと交換するか否かの旨の表示をさらにすることを特徴とする付記３記載の流れ図作成プログラム。
【０１４６】
（付記５）  前記編集手段は、前記非構成オブジェクトを前記オブジェクトに接続されている接続線の間に割り込ませることを特徴とする付記３記載の流れ図作成プログラム。
（付記６）  前記流れ図を構成している前記オブジェクトが、他の前記オブジェクトに重ならないように移動された場合、前記表示手段は、前記オブジェクトを移動された場所に移動させるかおよび前記オブジェクトを前記流れ図から削除するかの旨の前記一覧表示をすることを特徴とする付記１記載の流れ図作成プログラム。
【０１４７】
（付記７）  前記オブジェクトは、プログラムを実行するコマンドまたはバッチファイルを図像化したものであることを特徴とする付記１記載の流れ図作成プログラム。
（付記８）  前記オブジェクト情報ファイルには、前記オブジェクトの位置および前記オブジェクト間の接続情報が含まれていることを特徴とする付記１記載の流れ図作成プログラム。
【０１４８】
（付記９）  オブジェクトを含む流れ図を作成する流れ図作成装置において、
ユーザの操作に応じて、表示装置に表示している前記オブジェクトを移動する移動手段と、
移動された前記オブジェクトの移動位置を取得する移動位置取得手段と、
編集された前記流れ図の構成に関する情報が記憶されるオブジェクト情報ファイルより、前記流れ図を構成している前記オブジェクトの構成位置を参照し、前記移動位置の前記構成位置との位置関係を算出する位置算出手段と、
前記位置関係に応じて、前記オブジェクトの前記流れ図における編集機能を前記表示装置に一覧表示する表示手段と、
前記ユーザの操作によって選択された前記編集機能を取得する取得手段と、
前記編集機能に従って、前記オブジェクトを前記流れ図に編集する編集手段と、
を有することを特徴とする流れ図作成装置。
【０１４９】
（付記１０）  コンピュータによってオブジェクトを含む流れ図を作成する流れ図作成方法において、
ユーザの操作に応じて、表示装置に表示している前記オブジェクトを移動手段で移動し、
移動された前記オブジェクトの移動位置を移動位置取得手段で取得し、
編集された前記流れ図の構成に関する情報が記憶されるオブジェクト情報ファイルより、前記流れ図を構成している前記オブジェクトの構成位置を参照し、前記移動位置の前記構成位置との位置関係を位置算出手段で算出し、
前記位置関係に応じて、前記オブジェクトの前記流れ図における編集機能を前記表示装置に表示手段で一覧表示し、
前記ユーザの操作によって選択された前記編集機能を取得手段で取得し、
前記編集機能に従って、前記オブジェクトを前記流れ図に編集手段で編集する、
ことを特徴とする流れ図作成方法。
【符号の説明】
【０１５０】
１，１０  コンピュータ
１ａ  移動手段
１ｂ  移動位置取得手段
１ｃ  位置算出手段
１ｄ  表示手段
１ｅ  取得手段
１ｆ  編集手段
１ｇ，１９  オブジェクト情報ファイル
２  表示装置
３ａ〜３ｈ  オブジェクト
４  一覧表示
１１  操作入力部
１２  移動検出部
１３  差分算出部
１４  位置情報比較部
１５  編集機能表示部
１６  編集機能取得部
１７  編集部
１８  オブジェクト情報取得部
２１  流れ図作成画面
２２  オブジェクト選択部
２３  流れ図作成部
【図１】
2010134944.tif 000003
【図２】
2010134944.tif 000004
【図３】
2010134944.tif 000005
【図４】
2010134944.tif 000006
【図５】
2010134944.tif 000007
【図６】
2010134944.tif 000008
【図７】
2010134944.tif 000009
【図８】
2010134944.tif 000010
【図９】
2010134944.tif 000011
【図１０】
2010134944.tif 000012
【図１１】
2010134944.tif 000013
【図１２】
2010134944.tif 000014
【図１３】
2010134944.tif 000015
【図１４】
2010134944.tif 000016
【図１５】
2010134944.tif 000017
【図１６】
2010134944.tif 000018
【図１７】
2010134944.tif 000019
【図１８】
2010134944.tif 000020
【図１９】
2010134944.tif 000021
【図２０】
2010134944.tif 000022
【図２１】
2010134944.tif 000023