プログラム、編集方法、およびコンピュータ
【課題】編集の操作ミスによる再操作、編集の調整操作の煩わしさを低減する。
【解決手段】移動手段1aは、ユーザの操作に応じて、表示装置2に表示しているオブジェクト3a〜3hを移動する。移動位置取得手段1bは、移動されたオブジェクト3a〜3hの移動位置を取得する。位置算出手段1cは、編集された流れ図の構成に関する情報が記憶されるオブジェクト情報ファイル1gより、流れ図を構成しているオブジェクト3a〜3hの構成位置を参照し、移動位置の構成位置との位置関係を算出する。表示手段1dは、算出された位置関係に応じて、オブジェクト3a〜3hの流れ図における編集機能を表示装置2に一覧表示する。取得手段1eは、ユーザの操作によって選択された編集機能を取得する。編集手段1fは、取得された編集機能に従って、オブジェクト3a〜3hを流れ図に編集する。
【解決手段】移動手段1aは、ユーザの操作に応じて、表示装置2に表示しているオブジェクト3a〜3hを移動する。移動位置取得手段1bは、移動されたオブジェクト3a〜3hの移動位置を取得する。位置算出手段1cは、編集された流れ図の構成に関する情報が記憶されるオブジェクト情報ファイル1gより、流れ図を構成しているオブジェクト3a〜3hの構成位置を参照し、移動位置の構成位置との位置関係を算出する。表示手段1dは、算出された位置関係に応じて、オブジェクト3a〜3hの流れ図における編集機能を表示装置2に一覧表示する。取得手段1eは、ユーザの操作によって選択された編集機能を取得する。編集手段1fは、取得された編集機能に従って、オブジェクト3a〜3hを流れ図に編集する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明はプログラム、編集方法、およびコンピュータに関し、特にオブジェクトを含む流れ図を作成するプログラム、編集方法、およびコンピュータに関する。
【背景技術】
【0002】
現在、フローチャートを容易に作成するための様々なソフトウェアが提供されている。例えば、図形編集をするソフトウェアに、第1のコネクタにより互いに接続された第1のオブジェクトおよび第2のオブジェクトにおいて、第3のオブジェクトが第1のコネクタに対して予め決められた位置に配置されときに、第1のオブジェクトと第3のオブジェクトとを接続する第2のコネクタおよび第3のオブジェクトと第2のオブジェクトとを接続する第3のコネクタを生成するようにしたソフトウェアがある(例えば、特許文献1参照)。これによって、互いに接続されているオブジェクトに他のオブジェクトを挿入する際の操作を簡単にしている。
【0003】
また、直列的に接続された第1のオブジェクト、第2のオブジェクト、および第3のオブジェクトを含む図形において、第2のオブジェクトが選択されたときに、その第2のオブジェクトを削除するとともに、第1のオブジェクトと第3のオブジェクトとを接続するようにしたソフトウェアがある(例えば、特許文献2参照)。これによって、互いに接続されているオブジェクトの一部のオブジェクトを削除する際の操作を簡単にしている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2000−276608号公報(段落番号〔0019〕〜〔0025〕、図2(a)〜図2(d))
【特許文献2】特開2001−291112号公報(段落番号〔0017〕〜〔0022〕、図2(a)、図2(b))
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上記したような従来技術においては、操作ミスによって、オブジェクトを予め決められた位置に移動した場合でも、自動的にそのオブジェクトは挿入されてしまう。また、操作ミスによってオブジェクトを選択した場合でも、自動的にそのオブジェクトは削除されてしまう。また、多数オブジェクトが重なった場所で、一部のオブジェクトに対して正しく挿入する操作が困難である。そのため、操作ミス時の再操作に煩わしさを感じることや、挿入前に調整操作が必要となる場合があるという問題点があった。
【0006】
本発明はこのような点に鑑みてなされたものであり、編集の操作ミスによる再操作、編集の調整操作の煩わしさを低減するプログラム、編集方法、およびコンピュータを提供することを目的とする。
【課題を解決するための手段】
【0007】
上記課題を解決するために、コンピュータに、表示装置に表示されたオブジェクトの表示位置を移動させる操作を受け付け、移動後の該オブジェクトの位置に応じて、該オブジェクトに関する異なる編集メニューを表示する、処理を実行させることを特徴とするプログラムが提供される。
【0008】
また、上記課題を解決するために、コンピュータに、表示装置に表示されたオブジェクトの表示位置を移動させる操作を受け付け、移動後の該オブジェクトが、他のオブジェクトと重なる場合に、該オブジェクトと該他のオブジェクトに関する編集メニューを表示する、処理を実行させることを特徴とするプログラムが提供される。
【0009】
また、上記課題を解決するために、コンピュータに、表示装置に表示されたオブジェクトの表示位置をドラッグ操作により移動させ、ドロップ操作に応じて、該オブジェクトに関する編集メニューを表示する、処理を実行させることを特徴とするプログラムが提供される。
【発明の効果】
【0010】
開示のプログラムによれば、編集の操作ミスによる再操作、編集の調整操作の煩わしさを低減することができる。
【図面の簡単な説明】
【0011】
【図1】本発明の原理を説明する原理図である。
【図2】本発明の実施の形態に係るコンピュータのハードウェア構成を示すブロック図である。
【図3】モニタの表示画面を示した図である。
【図4】コンピュータの機能ブロック図である。
【図5】オブジェクト情報ファイルのデータ構成例である。
【図6】グリッド座標、移動開始点および移動終了点を説明する図である。
【図7】差分算出部と位置情報比較部の機能を具体例によって説明する図のその1である。
【図8】差分算出部と位置情報比較部の機能を具体例によって説明する図のその2である。
【図9】移動対象のオブジェクトが他のオブジェクトに重ねられるよう移動されたときのメニュー表示の組み合わせを説明する図である。
【図10】移動対象のオブジェクトが他のオブジェクトに重ねられないよう移動されたときのメニュー表示の組み合わせを説明する図である。
【図11】割り込み編集前の画面を示した図である。
【図12】移動対象オブジェクトが他のオブジェクトに重ねられたときの画面を示した図である。
【図13】前に割り込みのメニューが選択されたときの画面を示した図である。
【図14】移動、取り外し編集前の画面を示した図である。
【図15】移動対象オブジェクトが移動されたときの画面を示した図である。
【図16】ここに取り外しのメニューが選択されたときの画面を示した図である。
【図17】割り込み編集をするときのコンピュータの処理の流れを示したフローチャートである。
【図18】割り込み編集をするときのコンピュータの処理の流れを示したフローチャートである。
【図19】割り込み編集をするときのコンピュータの処理の流れを示したフローチャートである。
【図20】移動、取り外し編集をするときのコンピュータの処理の流れを示したフローチャートである。
【図21】移動、取り外し編集をするときのコンピュータの処理の流れを示したフローチャートである。
【発明を実施するための形態】
【0012】
以下、本発明の原理を図面を参照して詳細に説明する。
図1は、本発明の原理を説明する原理図である。
図に示すようにコンピュータ1は、移動手段1a、移動位置取得手段1b、位置算出手段1c、表示手段1d、取得手段1e、編集手段1f、およびオブジェクト情報ファイル1gを有している。コンピュータ1には表示装置2が接続されている。表示装置2には、オブジェクト3a〜3hが表示され、オブジェクト3a〜3gは流れ図を構成している。
【0013】
オブジェクト情報ファイル1gには、表示装置2上で編集された流れ図の構成に関する情報が記憶される。例えば、編集されたオブジェクト3a〜3hの位置、オブジェクト3a〜3h間の接続関係が記憶される。
【0014】
移動手段1aは、ユーザの操作に応じて、表示装置2に表示しているオブジェクト3a〜3hを移動する。なお、図1においては、オブジェクト3hが移動されるとする。
移動位置取得手段1bは、移動手段1aより移動されたオブジェクト3hの移動位置を取得する。
【0015】
位置算出手段1cは、オブジェクト情報ファイル1gより、流れ図を構成しているオブジェクト3a〜3hの構成位置を参照し、移動されるオブジェクト3hの、流れ図を構成しているオブジェクト3a〜3gとの位置関係を算出する。
【0016】
表示手段1dは、位置算出手段1cより算出された、移動されるオブジェクト3hの、流れ図を構成しているオブジェクト3a〜3gとの位置関係に応じて、オブジェクト3a〜3hの流れ図における編集機能を表示装置2に一覧表示する。例えば、移動されるオブジェクト3hが、流れ図を構成しているオブジェクト3aと重なるように移動された場合、表示手段1dは、編集機能を表示装置2に一覧表示する。なお、図においては、機能A,B,…が表示された一覧表示4が示してある。
【0017】
取得手段1eは、ユーザの操作によって一覧表示4から選択された編集機能を取得する。
編集手段1fは、取得手段1eより取得された編集機能に従って、オブジェクト3hを流れ図に編集する。なお、編集された流れ図の構成に関する情報は、オブジェクト情報ファイル1gに記憶される。
【0018】
以下、原理図の動作について説明する。
ユーザは、流れ図を編集したい場合、表示装置2に表示されているオブジェクト3hを、例えば、編集したい位置に移動するよう操作する。移動手段1aは、このユーザの操作に応じて、表示装置2に表示しているオブジェクト3hを移動する。
【0019】
移動位置取得手段1bは、移動されたオブジェクト3hの移動位置を取得する。位置算出手段1cは、オブジェクト情報ファイル1gより、流れ図を構成しているオブジェクト3a〜3gの構成位置を参照し、オブジェクト3hの移動位置と、オブジェクト3a〜3gの構成位置との位置関係を算出する。
【0020】
表示手段1dは、位置算出手段1cより算出された位置関係より、編集機能の一覧表示4を表示装置2に表示する。取得手段1eは、ユーザの操作によって選択された編集機能を取得する。編集手段1fは、選択された編集機能に従って、オブジェクト3hをオブジェクト3a〜3gに編集する。
【0021】
このように、オブジェクトの移動によって編集機能を表示装置に一覧表示し、ユーザに所望の編集機能を選択させる。そして、選択された編集機能に従って、オブジェクトを流れ図に編集するようにした。これにより、簡単な操作で流れ図の編集ができ、ユーザの編集の操作ミスによる再操作、編集の調整操作の煩わしさを低減することができる。
【0022】
以下、本発明の実施の形態を図面を参照して詳細に説明する。
まず、本発明の流れ図作成プログラムが実行されるコンピュータのハードウェア構成について説明する。
【0023】
図2は、本発明の実施の形態に係るコンピュータのハードウェア構成を示すブロック図である。
図に示すコンピュータ10は、CPU(Central Processing Unit)10aによって装置全体が制御されている。CPU10aには、バス10gを介してRAM(Random Access Memory)10b、ハードディスクドライブ(HDD:Hard Disk Drive)10c、グラフィック処理装置10d、入力インターフェース10e、および通信インターフェース10fが接続されている。
【0024】
RAM10bには、CPU10aに実行させるOS(Operating System)のプログラム、流れ図を作成する流れ図作成プログラムやCPU10aによる処理に必要な各種データが一時的に格納される。HDD10cには、OS、アプリケーションプログラム、後述するオブジェクト情報ファイルなどが格納される。
【0025】
グラフィック処理装置10dには、モニタ10hが接続されている。グラフィック処理装置10dは、CPU10aからの命令に従って、画像をモニタ10hの表示画面に表示させる。入力インターフェース10eには、キーボード10iと、マウス10jとが接続されている。入力インターフェース10eは、キーボード10iやマウス10jから送られてくる信号を、バス10gを介してCPU10aに送信する。
【0026】
通信インターフェース10fは、ネットワークと接続される。通信インターフェース10fは、CPU10aからの命令に従って、ネットワークに接続されている他のコンピュータと通信することができる。
【0027】
以上のようなハードウェア構成によって、本発明の流れ図作成プログラムの処理を実行することができる。
次に、流れ図作成プログラムによって作成することができる流れ図について説明する。
【0028】
図3は、モニタの表示画面を示した図である。
モニタ10hの表示画面には、流れ図作成プログラムの実行によって、図に示すように流れ図作成画面21が表示される。流れ図作成画面21は、オブジェクトを選択するためのオブジェクト選択部22、流れ図を作成するための流れ図作成部23から構成されている。
【0029】
モニタ10hの表示画面には、流れ図作成画面21上を指し示すポインタ24が表示される。ポインタ24は、ユーザのマウス10jまたはキーボード10iの操作に従って移動する。ユーザは、ポインタ24によって、流れ図作成画面21上のオブジェクトやメニューを操作することができる。
【0030】
オブジェクトは、所定の機能を持ったプログラムを実行するためのコマンドおよびバッチファイルを図像で表したものである。例えば、入力されるデータを読み込むプログラム、読み込まれたデータを演算するプログラム、演算したデータを保存するプログラムを実行するためのコマンドおよびバッチファイルがオブジェクトによって表される。
【0031】
オブジェクト選択部22には、これらオブジェクトの一覧が表示されている。ユーザは、ポインタ24をオブジェクト選択部22の選択したいオブジェクトの上に移動させ、流れ図作成部23にドラッグアンドドロップすることにより、オブジェクトを流れ図作成部23に移動することができる。
【0032】
流れ図作成部23では、ユーザの操作によって、オブジェクト選択部22から選択されたオブジェクトが、方向性をもった接続線(図中矢印)で接続される。流れ図作成部23で作成された流れ図のオブジェクトは、接続線の順に従ってコマンドまたはバッチファイルを順に実行することとなる。つまり、ユーザは、オブジェクトの流れ図を作成することにより、コード入力することなく、一連の処理機能を持ったプログラムを容易に作成することができる。
【0033】
流れ図に新たなオブジェクトを、例えば、割り込み(追加)編集するには、新たなオブジェクトを、割り込ませたい位置のオブジェクトに重なるよう移動させる。すると、新たなオブジェクトを、重ねられたオブジェクトの前に割り込みするか、後ろに割り込みするか、および交換するかを問う表示がされる。ユーザは、ポインタ24を操作して所望の表示部分を選択することにより、オブジェクトを流れ図に割り込ませることができる。
【0034】
また、流れ図を構成しているオブジェクトを移動するまたは削除するには、そのオブジェクトを現在の位置から移動させる。すると、オブジェクトを移動させた場所に移動するか、流れ図から削除するかを問う表示がされる。ユーザは、ポインタ24を操作して所望の表示部分を選択することにより、オブジェクトを流れ図から移動または削除することができる。
【0035】
次に、コンピュータ10が流れ図作成プログラムを実行することにより有する機能について説明する。
図4は、コンピュータの機能ブロック図である。
【0036】
図に示すようにコンピュータ10は、流れ図作成プログラムを実行することにより、操作入力部11、移動検出部12、差分算出部13、位置情報比較部14、編集機能表示部15、編集機能取得部16、編集部17、およびオブジェクト情報取得部18の各機能を有している。オブジェクト情報ファイル19は、流れ図作成部23で編集された流れ図の構成に関する情報が格納されるファイルである。オブジェクト情報ファイル19は、例えば、RAM10bまたはHDD10cの記憶装置に構築される。
【0037】
図5は、オブジェクト情報ファイルのデータ構成例である。
図に示すようにオブジェクト情報ファイル19には、流れ図作成部23に展開(貼付)可能なオブジェクトの数だけ、予め領域19a,19b,19c,…が準備される。領域19a,19b,19c,…の各々で、1つのオブジェクトの流れ図に関する情報が管理される。各領域19a,19b,19c,…は、オブジェクトの欄、位置情報の欄、オブジェクトサイズの欄、先行接続情報の欄、後続接続情報の欄、およびコマンドの欄を有している。
【0038】
オブジェクトの欄には、流れ図作成部23上に展開されるオブジェクトを識別するための配列番号が格納される。配列番号は、例えば、0,1,2,…と正の整数が順に付与される。
【0039】
位置情報の欄には、オブジェクトの流れ図作成画面21上での位置が格納される。位置情報は、グリッド座標で表される(後述詳細)。
オブジェクトサイズの欄には、オブジェクトを表している図像の大きさが格納される。
【0040】
先行接続情報の欄には、その先行接続情報の属している領域で情報管理されているオブジェクトの前段に接続されているオブジェクトの配列番号が格納される。前段に接続されているオブジェクトとは、先行接続情報の属している領域で情報管理されているオブジェクトに対して、接続線を出しているオブジェクトのことである。なお、前段にオブジェクトが接続されていない場合は、前段のオブジェクトを指し示すことのあり得ない値、例えば、−1が格納される。
【0041】
後続接続情報の欄には、その後続接続情報の属している領域で情報管理されているオブジェクトの後段に接続されているオブジェクトの配列番号が格納される。後段に接続されているオブジェクトとは、後続接続情報の属している領域で情報管理されているオブジェクトが接続線を出している先のオブジェクトのことである。なお、後段にオブジェクトが接続されていない場合は、後段のオブジェクトを指し示すことのあり得ない値、例えば、−1が格納される。
【0042】
コマンドの欄には、そのコマンドの属している領域で情報管理されているオブジェクトが実行するコマンドまたはバッチファイルの種類が格納される。例えば、コマンドがbackup.exeであれば、そのオブジェクトはデータを保存する処理を実行する。
【0043】
図5の例では、領域19bで管理されるオブジェクトの配列番号は1である。領域19bで管理されているオブジェクトの位置情報は(10,8)である。オブジェクトサイズは32である。先行接続情報は(2,3,4)である。なお、領域19cで管理されるオブジェクトの配列番号は2であるので、領域19bで管理されているオブジェクトの前段には、領域19cで管理されているオブジェクトが接続されていることになる。後続接続情報は(5,6,7)である。コマンドはstop.batである。
【0044】
図4の説明に戻る。オブジェクト情報取得部18は、流れ図作成部23で編集された流れ図の構成に関する情報を取得する。そして、情報を取得したオブジェクトの属するオブジェクト情報ファイル19の領域に、取得した情報を格納する。例えば、編集されたオブジェクトの位置情報、オブジェクトサイズ、先行接続情報、後続接続情報、およびコマンド情報を取得して、オブジェクト情報ファイル19に格納する。
【0045】
オブジェクト情報取得部18は、流れ図作成部23上でオブジェクトが移動されると、そのオブジェクトの移動が完了したときの位置情報を取得し、オブジェクト情報ファイル19の位置情報を更新する。また、オブジェクト情報取得部18は、オブジェクトの前段または後段の接続が変更されたとき、そのオブジェクトの先行接続情報または後続接続情報を取得し更新する。また、オブジェクト情報取得部18は、流れ図作成部23上からオブジェクトが取り除かれたとき、そのオブジェクトの領域の各情報を破棄する。
【0046】
操作入力部11は、マウス10jまたはキーボード10iからユーザが操作した情報を入力する。
移動検出部12は、ユーザのポインタ24の操作によって移動されるオブジェクトの移動開始点と移動終了点を検出する。移動検出部12は、オブジェクト上にポインタ24を移動させてマウス10jのボタンを押下したとき移動開始点を検出する。そして、マウス10jのボタンを押下したままマウス10jを移動させ、マウス10jのボタンを離したとき移動終了点を検出する。
【0047】
移動検出部12は、検出した移動開始点と移動終了点を、例えば、RAM10bの記憶装置に一時的に記憶する。オブジェクトの移動開始点および移動終了点は、流れ図作成画面21上に割り当てられたグリッド座標で表される。
【0048】
ここで、グリッド座標、移動開始点および移動終了点について詳細に説明する。
図6は、グリッド座標、移動開始点および移動終了点を説明する図である。
図に示すように、流れ図作成画面21には、グリッド座標が割り当てられる。流れ図作成画面21の左上角を原点に、水平方向にX軸、垂直方向にY軸が割り当てられている。流れ図作成画面21には、点線で示した移動開始前のオブジェクトAと、実線で示した移動終了後のオブジェクトAが例示してある。
【0049】
オブジェクトの位置は、オブジェクトのある一部を含んでいるグリッド座標、例えば、オブジェクトの中心を含むグリッド座標で表す。図6においては、移動開始前のオブジェクトAの位置は(1,1)である。移動終了後のオブジェクトAの位置は(4,3)である。従って、図6におけるオブジェクトAの移動開始点と移動終了点は、(1,1)、(4,3)と表される。なお、移動開始点、移動終了点が、流れ図作成画面21の実測位置で取得される場合、グリッドサイズで割る演算により、グリッド座標での値に換算される。
【0050】
図4の説明に戻る。差分算出部13は、ユーザのポインタ24の操作によって移動されたオブジェクトの移動差分値を算出する。差分算出部13は、移動検出部12により一時的にRAM10bに記憶された移動開始点と移動終了点の差分を取ることによって、オブジェクトの移動差分値を算出する。差分算出部13は、算出した移動差分値を、例えば、RAM10bの記憶装置に一時的に記憶する。
【0051】
位置情報比較部14は、流れ図を構成していない移動対象のオブジェクトが、他のオブジェクトの上に重ねられたか否かを判断する。具体的には、位置情報比較部14は、移動対象となっているオブジェクトの移動前の位置情報をオブジェクト情報ファイル19から取得し、差分算出部13により算出されて一時的にRAM10bに記憶されている移動差分値を加算する。そして、位置情報比較部14は、算出した加算値を、オブジェクト情報ファイル19に格納されている他のオブジェクト(移動対象以外のオブジェクト)の位置情報と比較し、一致しているか否かを判断する。つまり、加算値と、他のオブジェクトの位置情報とが一致していれば、移動対象となっているオブジェクトは、流れ図を構成している他のオブジェクトの上に重ねられた位置にあると判断することができる。位置情報比較部14は、比較結果が一致した場合、加算値と一致した位置情報の属する領域の配列番号を、例えば、RAM10bの記憶装置に一時的に記憶する。
【0052】
また、位置情報比較部14は、流れ図を構成している移動対象のオブジェクトが、他の全てのオブジェクトの上に重ねられていないか否かを判断する。具体的には、位置情報比較部14は、移動対象となっているオブジェクトの移動前の位置情報をオブジェクト情報ファイル19から取得し、差分算出部13により算出されてRAM10bに一時的に記憶されている移動差分値を加算する。位置情報比較部14は、算出した加算値を、オブジェクト情報ファイル19に格納されている他のオブジェクトの位置情報と比較し、一致しているか否かを判断する。つまり、加算結果と、他のオブジェクトの位置情報とが一致していなければ、移動対象となっているオブジェクトは、他のオブジェクトの上に重ねられていないと判断することができる。位置情報比較部14は、比較結果が全て一致しなかった場合、移動対象となっているオブジェクトの配列番号を、例えば、RAM10bの記憶装置に一時的に記憶する。
【0053】
また、位置情報比較部14は、操作入力部11より1つのオブジェクトが選択されて操作されているか、複数のオブジェクトが選択されて操作されているかを判断する。
ここで、差分算出部13と位置情報比較部14の機能を具体例によって説明する。まず、位置情報比較部14が、移動対象となっているオブジェクトが他のオブジェクトの上に重ねられたと判断する場合について説明する。
【0054】
図7は、差分算出部と位置情報比較部の機能を具体例によって説明する図のその1である。
図において、配列番号0のオブジェクトを移動対象のオブジェクトとする。配列番号0のオブジェクトの移動開始点は、移動検出部12より(10,9)が検出されたとする。また、配列番号0のオブジェクトの移動終了点は、移動検出部12より(10,8)が検出されたとする。なお、移動検出部12より検出される移動開始点は、オブジェクト情報ファイル19の、配列番号0のオブジェクトの位置情報と一致する。
【0055】
差分算出部13は、移動検出部12より検出された移動開始点と移動終了点の差分をとった移動差分値を算出する。移動開始点は(10,9)で、移動終了点は(10,8)であるので、移動差分値は(0,−1)となる。
【0056】
位置情報比較部14は、移動対象となっている配列番号0のオブジェクトの、移動前の位置情報をオブジェクト情報ファイル19から取得し、差分算出部13より算出された移動差分値を加算する。配列番号0のオブジェクトの、移動前の位置情報は(10,9)、移動差分値は(0,−1)であるので、加算値は(10,8)となる。
【0057】
位置情報比較部14は、算出した加算値と、オブジェクト情報ファイル19の各領域の位置情報とを比較していく。位置情報比較部14は、比較結果が一致した場合、算出した加算値と一致した位置情報の属する領域の配列番号をRAM10bに記憶する。上記例では、加算値は(10,8)である。この加算値と一致する位置情報を有するオブジェクトの配列番号は、図7のオブジェクト情報ファイル19を参照すると1である。従って、この場合、配列番号1がRAM10bに記憶される。
【0058】
次に、位置情報比較部14が、移動対象となっているオブジェクトが他の全てのオブジェクトの上に重ねられていないと判断する場合について説明する。
図8は、差分算出部と位置情報比較部の機能を具体例によって説明する図のその2である。
【0059】
図において、配列番号0のオブジェクトを移動対象のオブジェクトとする。配列番号0のオブジェクトの移動開始点は、移動検出部12より(9,8)が検出されたとする。また、配列番号0のオブジェクトの移動終了点は、移動検出部12より(9,9)が検出されたとする。
【0060】
差分算出部13は、移動検出部12より検出された移動開始点と移動終了点の差分をとった移動差分値を算出する。移動開始点は(9,8)で、移動終了点は(9,9)であるので、移動差分値は(0,1)となる。
【0061】
位置情報比較部14は、移動対象となっている配列番号0のオブジェクトの、移動前の位置情報をオブジェクト情報ファイル19から取得し、差分算出部13より算出された移動差分値を加算する。配列番号0のオブジェクトの、移動前の位置情報は(9,8)、移動差分値は(0,1)であるので、加算値は(9,9)となる。
【0062】
位置情報比較部14は、算出した加算値と、オブジェクト情報ファイル19の各領域の位置情報とを比較していく。位置情報比較部14は、比較が全て一致しなかった場合、移動対象となっているオブジェクトの配列番号をRAM10bに記憶する。上記例では、加算値は(9,9)で、図8に示すオブジェクト情報ファイル19の全ての位置情報と一致しなかったとすれば、移動対象となっているオブジェクトの配列番号0がRAM10bに格納される。
【0063】
図4の説明に戻る。編集機能表示部15は、オブジェクトの移動に応じて、そのオブジェクトの流れ図における編集機能を流れ図作成画面21上に表示する。編集機能の表示は、例えば、ポップアップで表示される。編集機能の表示内容は、移動対象のオブジェクトが他のオブジェクトに重ねられるように移動されたときと、移動対象のオブジェクトが他の全てのオブジェクトの上に重ねられないように移動されたときとで異なる。そこで、場合分けをして説明する。まず、移動対象のオブジェクトが他のオブジェクトに重ねられるように移動されたときについて説明する。
【0064】
編集機能表示部15は、位置情報比較部14がRAM10bに一時記憶した配列番号の領域に属する先行接続情報と後続接続情報とを、オブジェクト情報ファイル19を参照して取得する。すなわち、編集機能表示部15は、移動対象のオブジェクトが重ねられた他のオブジェクトの先行接続情報と後続接続情報とを取得する。編集機能表示部15は、取得した先行接続情報と後続接続情報とに基づいて、移動対象のオブジェクトを、重ねられた他のオブジェクトと交換するか、重ねられた他のオブジェクトの後段に割り込ませるか、重ねられた他のオブジェクトの前段に割り込ませるか、編集をキャンセルするかのメニュー表示(編集機能の表示)を流れ図作成部23にする。
【0065】
ここで、先行接続情報および後続接続情報と、流れ図作成部23に表示されるメニュー表示の組み合わせの関係について説明する。
図9は、移動対象のオブジェクトが他のオブジェクトに重ねられるよう移動されたときのメニュー表示の組み合わせを説明する図である。
【0066】
図に示す表31のメニュー表示内容は、流れ図作成部23に表示されるメニューの種類を示している。流れ図作成部23に表示されるメニューには、後ろに割り込み、前に割り込み、および交換がある。
【0067】
表31に示す接続なしは、移動対象のオブジェクトが重ねられた他のオブジェクトの前段および後段には、オブジェクトが接続されていないことを示している。後続のみは、移動対象のオブジェクトが重ねられた他のオブジェクトの後段にのみ、オブジェクトが接続されていることを示している。先行のみは、移動対象のオブジェクトが重ねられた他のオブジェクトの前段にのみ、オブジェクトが接続されていることを示している。先行と後続には、移動対象のオブジェクトが重ねられた他のオブジェクトの前段と後段の両方に、オブジェクトが接続されていることを示している。表31の1は、それに対応するメニュー表示内容の表示があることを示し、0は、それに対応するメニュー表示内容の表示がないことを示している。
【0068】
例えば、表31より、接続なしの場合、交換のメニューのみが表示される。後続のみの場合、後ろに割り込みと交換のメニューが表示される。先行のみの場合、前に割り込みと交換のメニューが表示される。先行と後続の場合、後ろに割り込みと前に割り込みと交換のメニューが表示される。
【0069】
次に、移動対象のオブジェクトが他の全てのオブジェクトの上に重ねられないように移動されたときについて説明する。
編集機能表示部15は、位置情報比較部14がRAM10bに一時記憶した配列番号の領域に属する先行接続情報と後続接続情報とを、オブジェクト情報ファイル19を参照して取得する。すなわち、編集機能表示部15は、全てのオブジェクトの上に重ねられないよう移動された移動対象のオブジェクトの先行接続情報と後続接続情報とを取得する。編集機能表示部15は、取得した先行接続情報と後続接続情報とに基づいて、移動対象のオブジェクトを、単に移動するか、流れ図から取り外すか、編集をキャンセルするかのメニュー表示を流れ図作成部23にする。
【0070】
ここで、先行接続情報および後続接続情報と、流れ図作成部23に表示されるメニュー表示の組み合わせの関係について説明する。
図10は、移動対象のオブジェクトが他のオブジェクトに重ねられないよう移動されたときのメニュー表示の組み合わせを説明する図である。
【0071】
図に示す表32のメニュー表示内容は、流れ図作成部23に表示されるメニューの種類を示している。流れ図作成部23に表示されるメニューには、ここに移動、ここに取り外しがある。
【0072】
表32に示す接続なしは、移動対象のオブジェクトの前段および後段には、オブジェクトが接続されていないことを示している。後続のみは、移動対象のオブジェクトの後段にのみ、オブジェクトが接続されていることを示している。先行のみは、移動対象のオブジェクトの前段にのみ、オブジェクトが接続されていることを示している。先行と後続には、移動対象のオブジェクトの前段と後段の両方に、オブジェクトが接続されていることを示している。表32の1は、それに対応するメニュー表示内容の表示があることを示し、0は、それに対応するメニュー表示内容の表示がないことを示している。
【0073】
例えば、表32より、接続なしの場合、後続のみの場合、および先行のみの場合メニューは表示されない。先行と後続の場合、ここに移動とここに取り外しのメニューが表示される。
【0074】
図4の説明に戻る。ユーザは、例えば、マウス10jまたはキーボード10iの操作によって、ポインタ24を移動し、流れ図作成部23に表示されるメニューを選択する。編集機能取得部16は、流れ図作成部23に表示されるメニューの位置と、メニューを選択したときのポインタ24の位置により、ユーザによって選択されたメニューを取得する。
【0075】
編集部17は、編集機能取得部16によって選択されたメニューに従って、移動対象のオブジェクトを流れ図に編集する。編集部17は、移動対象のオブジェクトが後ろに割り込みされる場合、重ねられたオブジェクトから出力されている接続線を、全て移動対象のオブジェクトから出力されるように変更する。そして、重ねられたオブジェクトから移動対象のオブジェクトに接続線を接続する。編集部17は、移動対象のオブジェクトが前に割り込みされる場合、重ねられたオブジェクトに入力されている接続線を移動対象のオブジェクトの入力に接続する。そして、移動対象のオブジェクトから、重ねられたオブジェクトに接続線を接続する。編集部17は、流れ図を構成しているオブジェクトが単に移動される場合、移動対象に接続されている接続線の接続を保ったまま、移動対象のオブジェクトを移動する。編集部17は、移動対象のオブジェクトが接続線から取り外される場合、移動対象のオブジェクトへ入力されている接続線や出力している接続線を削除する。そして、移動対象のオブジェクトの前段のオブジェクトから出力されていた接続線を、移動対象のオブジェクトの後段だったオブジェクトに接続する。
【0076】
また、編集部17は、交換のメニューが選択された場合、移動対象のオブジェクトを、重ねられた他のオブジェクトと交換する。また、編集部17は、キャンセルのメニューが選択された場合、移動されているオブジェクトを移動前の元の位置に戻す。
【0077】
なお、編集部17によって編集されたオブジェクトのオブジェクト情報ファイル19の位置情報、先行接続情報、および後続接続情報は、オブジェクト情報取得部18によって更新される。
【0078】
次に、流れ図作成部23の画面の流れについて説明する。まず、割り込み編集される場合の画面の流れについて説明する。
図11は、割り込み編集前の画面を示した図である。
【0079】
図に示すように流れ図作成部23には、オブジェクト41、オブジェクト42a〜42c、オブジェクト43a〜43c、オブジェクト44が表示されているとする。
オブジェクト41に対し、オブジェクト42a〜42cは先行オブジェクト(前段に接続されたオブジェクト)である。オブジェクト41に対し、オブジェクト43a〜43cは後続オブジェクト(後段に接続されたオブジェクト)である。これらのオブジェクト41,42a〜42c,43a〜43cにより流れ図が構成されている。
【0080】
オブジェクト41の前後にオブジェクト44を割り込ませるには、ポインタ24によって、オブジェクト44をオブジェクト41の上に重ねるように移動する。
図12は、移動対象オブジェクトが他のオブジェクトに重ねられたときの画面を示した図である。
【0081】
図11に示す移動対象のオブジェクト44が、オブジェクト41の上に重ねられると、図12に示すようにメニューの一覧が示されたポップアップ51が表示される。なお、移動対象のオブジェクト44が重ねられるオブジェクト41の前段、後段には、オブジェクトが接続されているので、ポップアップ51には、前に割り込み、後ろに割り込み、交換、およびキャンセルのメニューが表示される。仮に、オブジェクト41にオブジェクト42a〜42cが接続されていなかったとすると、ポップアップ51には、後ろに割り込み、交換、およびキャンセルしか表示されない。
【0082】
ポップアップ51に表示されているメニュー上にポインタ24を合わせると、ポインタ24が合わされたメニューの表示が反転する。このとき、例えば、マウス10jをクリックすると、メニューの選択が確定される。
【0083】
図13は、前に割り込みのメニューが選択されたときの画面を示した図である。
図12に示すポップアップ51において、前に割り込みが選択されると、図13に示すように、オブジェクト44がオブジェクト41の前に割り込まれる。このとき、オブジェクト42a〜42cからオブジェクト41に出力されていた接続線の接続は、オブジェクト44に変更され、オブジェクト44からオブジェクト41に接続線が接続される。なお、この編集によるオブジェクト41,42a〜42c,43a〜43c,44の位置情報、先行接続情報、および後続接続情報は、オブジェクト情報取得部18によって更新される。
【0084】
次に、移動、取り外し編集される場合の画面の流れについて説明する。
図14は、移動、取り外し編集前の画面を示した図である。
図に示すように流れ図作成部23には、オブジェクト61、オブジェクト62、オブジェクト63a〜63c、オブジェクト64a〜64cが表示されているとする。
【0085】
オブジェクト61に対し、オブジェクト63a〜63cは先行オブジェクトである。オブジェクト61に対し、オブジェクト62は後続オブジェクトである。また、オブジェクト62に対し、オブジェクト64a〜64cは後続オブジェクトである。これらのオブジェクト61,62,63a〜63c,64a〜64cより流れ図が構成されている。
【0086】
オブジェクト61を移動、または流れ図から取り外すには、ポインタ24によって、オブジェクト61を他のオブジェクト62,63a〜63c,64a〜64cと重ならないように移動する。
【0087】
図15は、移動対象オブジェクトが移動されたときの画面を示した図である。
図14に示す移動対象のオブジェクト61が他のオブジェクトと重ならないように移動されると、図15に示すようにメニューの一覧が示されたポップアップ71が表示される。なお、移動対象のオブジェクト61の前段と後段には、オブジェクトが接続されているので、ポップアップ71には、ここに移動、ここに取り外し、およびキャンセルのメニューが表示される。仮に、オブジェクト61にオブジェクト62,63a〜63cが接続されていなかったとすると、ポップアップ71には、メニューが表示されない。
【0088】
ポップアップ71に表示されているメニュー上にポインタ24を合わせると、ポインタ24が合わされたメニューの表示が反転する。このとき、例えば、マウス10jをクリックすると、メニューの選択が確定される。
【0089】
図16は、ここに取り外しのメニューが選択されたときの画面を示した図である。
図15に示すポップアップ71において、ここに取り外しが選択されると、図16に示すように、オブジェクト61が流れ図から取り外される。このとき、オブジェクト63a〜63cから出力されていた接続線を消去し、オブジェクト61から出力されていた接続線を消去する。そして、オブジェクト63a〜63cからオブジェクト62に接続線を接続する。なお、この編集によるオブジェクト61,62,63a〜63c,64a〜64cの位置情報、先行接続情報、および後続接続情報は、オブジェクト情報取得部18によって更新される。また、図15のポップアップ71において、ここに移動が選択された場合には、接続線を消去することなく、接続状態を保ったままオブジェクト61を移動する。
【0090】
以下、図4のコンピュータ10の動作を、フローチャートを用いて説明する。
図17〜図19は、割り込み編集をするときのコンピュータの処理の流れを示したフローチャートである。
【0091】
コンピュータ10は、以下のステップに従って処理を実行する。
ステップS1において、移動検出部12は、操作入力部11が受け付けたユーザの操作情報より、移動されたオブジェクトの移動開始点を検出する。移動検出部12は、検出した移動開始点をRAM10bに記憶する。
【0092】
ステップS2において、移動検出部12は、操作入力部11が受け付けたユーザの操作情報より、移動されたオブジェクトの移動終了点を検出する。移動検出部12は、検出した移動終了点をRAM10bに記憶する。
【0093】
ステップS3において、差分算出部13は、RAM10bに記憶されている移動開始点および移動終了点より、オブジェクトが移動されているか否かを判断する。オブジェクトが移動されている場合は、ステップS4に進む。オブジェクトが移動されていない場合は、ステップS25へ進む。
【0094】
ステップS4において、差分算出部13は、移動されたオブジェクトの移動差分値を算出する。差分算出部13は、移動検出部12によりRAM10bに記憶された移動開始点と移動終了点の差分を取ることによって、オブジェクトの移動差分値を算出する。差分算出部13は、算出した移動差分値をRAM10bに記憶する。
【0095】
ステップS5において、位置情報比較部14は、オブジェクト情報ファイル19より、移動されたオブジェクトの移動前の位置情報を取得する。
ステップS6において、位置情報比較部14は、移動されたオブジェクトの移動先の位置情報を取得する。位置情報比較部14は、ステップS5により取得した移動前の位置情報に、ステップS4によりRAM10bに格納された移動差分値を加算することにより、移動されたオブジェクトの移動先の位置情報を取得する。
【0096】
ステップS7において、位置情報比較部14は、移動されたオブジェクトの移動先の位置情報と、オブジェクト情報ファイル19を参照して他のオブジェクトの位置情報とを比較する。位置情報比較部14は、オブジェクト情報ファイル19に格納されている全てのオブジェクトの位置情報とを比較していく。
【0097】
ステップS8において、位置情報比較部14は、ステップS7の比較結果より、移動されたオブジェクトが他のオブジェクトの上に重なっているか否かの判断をする。移動されたオブジェクトが他のオブジェクトの上に重なっている場合、位置情報比較部14は、移動されたオブジェクトが重ねられたオブジェクトの配列番号をRAM10bに記憶する。そして、ステップS9へ進む。移動されたオブジェクトが他のオブジェクトの上に重なっていない場合は、ステップS11へ進む。なお、移動されたオブジェクトの移動先の位置情報と、他のオブジェクトの位置情報とが一致している場合に、移動されたオブジェクトが他のオブジェクトの上に重なっていることになる。
【0098】
ステップS9において、位置情報比較部14は、操作入力部11より1つのオブジェクトが選択されて移動されているか、複数のオブジェクトが選択されて移動されているかを判断する。1つのオブジェクトが選択されて移動されている場合は、ステップS10へ進む。複数のオブジェクトが選択されて移動されている場合は、ステップS21へ進む。
【0099】
ステップS10において、編集機能表示部15は、位置情報比較部14がRAM10bに記憶した配列番号より、オブジェクトの先行接続情報と後続接続情報とをオブジェクト情報ファイル19を参照して取得する。すなわち、編集機能表示部15は、移動されたオブジェクトが重ねられたオブジェクトの先行接続情報と後続接続情報とを取得する。ステップS12へ進む。
【0100】
ステップS11において、編集部17は、画面上のオブジェクトを移動する。移動されたオブジェクトのオブジェクト情報ファイル19の位置情報、先行接続情報、および後続接続情報は、オブジェクト情報取得部18によって更新され、処理が終了する。
【0101】
ステップS12において、編集機能表示部15は、取得した後続接続情報より、オブジェクトが重ねられたオブジェクトの後段に、オブジェクトが接続されているか否かを判断する。後段にオブジェクトが接続されている場合、ステップS13へ進む。後段にオブジェクトが接続されていない場合、ステップS14へ進む。
【0102】
ステップS13において、編集機能表示部15は、流れ図作成部23の画面に表示されるポップアップのデータに、後ろに割り込みという文字が表示されるためのデータを追加する。
【0103】
ステップS14において、編集機能表示部15は、取得した先行接続情報より、オブジェクトが重ねられたオブジェクトの前段に、オブジェクトが接続されているか否かを判断する。前段にオブジェクトが接続されている場合、ステップS15へ進む。前段にオブジェクトが接続されていない場合、ステップS16へ進む。
【0104】
ステップS15において、編集機能表示部15は、流れ図作成部23の画面に表示されるポップアップのデータに、前に割り込みという文字が表示されるためのデータを追加する。
【0105】
ステップS16において、編集機能表示部15は、ポップアップに表示される後ろに割り込みまたは前に割り込みのメニュー要素があるか否かを判断する。メニュー要素があればステップS17へ進む。メニュー要素がなければステップS21へ進む。
【0106】
ステップS17において、編集機能表示部15は、流れ図作成部23にポップアップを表示する。編集機能表示部15は、ステップS13,S15で追加されるメニューと交換およびキャンセルというメニューをポップアップ上に表示する。
【0107】
ステップS18において、編集機能取得部16は、ユーザの操作によって選択されたポップアップのメニューを取得する。そして、編集機能取得部16は、後ろに割り込みまたは前に割り込みの割り込みメニューが選択されたか否かを判断する。割り込みメニューが選択された場合、ステップS22へ進む。割り込みメニューが選択されなかった場合、ステップS19へ進む。
【0108】
ステップS19において、編集機能取得部16は、ユーザの操作によって交換またはキャンセルのメニューが選択されたか否かを判断する。編集機能取得部16は、交換のメニューが選択された場合、ステップS20へ進む。キャンセルのメニューが選択された場合、ステップS21へ進む。
【0109】
ステップS20において、編集部17は、移動されたオブジェクトを、重ねられたオブジェクトと交換する。編集部17は、まず、重ねられたオブジェクトに接続されている接続線を切り離す。そして、移動されたオブジェクトの移動前の配置位置と重ねられたオブジェクトの配置位置を交換し、移動されたオブジェクトに接続線を接続する。編集されたオブジェクト情報ファイル19の位置情報、先行接続情報、および後続接続情報は、オブジェクト情報取得部18によって更新され、処理が終了する。
【0110】
ステップS21において、編集部17は、移動されたオブジェクトの移動を中断し、移動される前の元の位置に戻す。そして、処理が終了する。
ステップS22において、編集部17は、移動されたオブジェクトと移動されたオブジェクトが重ねられたオブジェクトの再配置位置を決定する。
【0111】
ステップS23において、編集部17は、編集機能取得部16によって取得されたメニューの内容を判断する。後ろに割り込みのメニューであればステップS24へ進む。前に割り込みのメニューであれば、ステップS26へ進む。
【0112】
ステップS24において、編集部17は、移動されたオブジェクトが重ねられたオブジェクトから後続オブジェクトに出力されている接続線を、割り込みするオブジェクト(移動されたオブジェクト)から接続するように変更する。
【0113】
ステップS25において、編集部17は、移動されたオブジェクトが重ねられたオブジェクトから割り込みのオブジェクトに接続線を接続する。編集されたオブジェクトのオブジェクト情報ファイル19の位置情報、先行接続情報、および後続接続情報は、オブジェクト情報取得部18によって更新され、処理が終了する。
【0114】
ステップS26において、編集部17は、移動されたオブジェクトが重ねられたオブジェクトに接続されている先行オブジェクトからの接続線を、割り込みするオブジェクトに接続する。
【0115】
ステップS27において、編集部17は、割り込みするオブジェクトから、重ねられたオブジェクトに接続線を接続する。編集されたオブジェクトのオブジェクト情報ファイル19の位置情報、先行接続情報、および後続接続情報は、オブジェクト情報取得部18によって更新され、処理が終了する。
【0116】
図20、図21は、移動、取り外し編集をするときのコンピュータの処理の流れを示したフローチャートである。
コンピュータ10は、以下のステップに従って処理を実行する。
【0117】
ステップS41において、移動検出部12は、操作入力部11が受け付けたユーザの操作情報より、移動されたオブジェクトの移動開始点を検出する。移動検出部12は、検出した移動開始点をRAM10bに記憶する。
【0118】
ステップS42において、移動検出部12は、操作入力部11が受け付けたユーザの操作情報より、移動されたオブジェクトの移動終了点を検出する。移動検出部12は、検出した移動終了点をRAM10bに記憶する。
【0119】
ステップS43において、差分算出部13は、RAM10bに記憶されている移動開始点および移動終了点より、オブジェクトが移動されているか否かを判断する。オブジェクトが移動されている場合は、ステップS44に進む。オブジェクトが移動されていない場合は、ステップS64へ進む。
【0120】
ステップS44において、差分算出部13は、移動されたオブジェクトの移動差分値を算出する。差分算出部13は、移動検出部12によりRAM10bに記憶された移動開始点と移動終了点の差分を取ることによって、オブジェクトの移動差分値を算出する。差分算出部13は、算出した移動差分値をRAM10bに記憶する。
【0121】
ステップS45において、位置情報比較部14は、オブジェクト情報ファイル19より、移動されたオブジェクトの移動前の位置情報を取得する。
ステップS46において、位置情報比較部14は、移動されたオブジェクトの移動先の位置情報を取得する。位置情報比較部14は、ステップS45により取得した移動前の位置情報に、ステップS44によりRAM10bに格納された移動差分値を加算することにより、移動されたオブジェクトの移動先の位置情報を取得する。
【0122】
ステップS47において、位置情報比較部14は、移動されたオブジェクトの移動先の位置情報と、オブジェクト情報ファイル19を参照して他のオブジェクトの位置情報とを比較する。位置情報比較部14は、オブジェクト情報ファイル19に格納されている全てのオブジェクトの位置情報とを比較していく。
【0123】
ステップS48において、位置情報比較部14は、ステップS47の比較結果より、移動されたオブジェクトが他のオブジェクトの上に重なっているか否かの判断をする。移動されたオブジェクトが他の全てのオブジェクトの上に重なっていない場合、位置情報比較部14は、移動されたオブジェクトの配列番号をRAM10bに記憶する。そして、ステップS49へ進む。移動されたオブジェクトが他のオブジェクトの上に重なっている場合は、ステップS64へ進む。なお、移動されたオブジェクトの移動先の位置情報と、他のオブジェクトの位置情報とが一致していない場合に、移動されたオブジェクトが他のオブジェクトの上に重なっていないことになる。
【0124】
ステップS49において、位置情報比較部14は、操作入力部11より1つのオブジェクトが選択されて移動されているか、複数のオブジェクトが選択されて移動されているかを判断する。1つのオブジェクトが選択されて移動されている場合は、ステップS50へ進む。複数のオブジェクトが選択されて移動されている場合は、ステップS63へ進む。
【0125】
ステップS50において、編集機能表示部15は、位置情報比較部14がRAM10bに記憶した配列番号より、オブジェクトの先行接続情報と後続接続情報とをオブジェクト情報ファイル19を参照して取得する。すなわち、編集機能表示部15は、移動されたオブジェクトの先行接続情報と後続接続情報とを取得する。
【0126】
ステップS51において、編集機能表示部15は、取得した後続接続情報より、移動されたオブジェクトの後段に、オブジェクトが接続されているか否かを判断する。後段にオブジェクトが接続されている場合、ステップS52へ進む。後段にオブジェクトが接続されていない場合、ステップS63へ進む。
【0127】
ステップS52において、編集機能表示部15は、取得した先行接続情報より、移動されたオブジェクトの前段に、オブジェクトが接続されているか否かを判断する。前段にオブジェクトが接続されている場合、ステップS53へ進む。前段にオブジェクトが接続されていない場合、ステップS63へ進む。
【0128】
ステップS53において、編集機能表示部15は、流れ図作成部23の画面に表示されるポップアップのデータに、ここに取り外しという文字が表示されるためのデータを追加する。
【0129】
ステップS54において、編集機能表示部15は、流れ図作成部23の画面に表示されるポップアップのデータに、ここに移動という文字が表示されるためのデータを追加する。
【0130】
ステップS55において、編集機能表示部15は、ポップアップに表示されるここに取り外しおよびここに移動のメニュー要素があるか否かを判断する。メニュー要素があればステップS56へ進む。メニュー要素がなければステップS63へ進む。
【0131】
ステップS56において、編集機能表示部15は、流れ図作成部23にポップアップを表示する。編集機能表示部15は、ステップS53,S54で追加されたメニューとキャンセルというメニューをポップアップ上に表示する。
【0132】
ステップS57において、編集機能取得部16は、ユーザの操作によって選択されたポップアップのメニューを取得する。そして、編集機能取得部16は、キャンセルが選択されたか否かを判断する。キャンセルのメニューが選択された場合、ステップS64へ進む。キャンセルのメニューが選択されてない場合、ステップS58へ進む。
【0133】
ステップS58において、編集機能取得部16は、ここに取り外しのメニューが選択されたかここに移動のメニューが選択されたかを判断する。ここに取り外しのメニューが選択された場合、ステップS59へ進む。ここに移動のメニューが選択された場合、ステップS62へ進む。
【0134】
ステップS59において、編集部17は、移動されたオブジェクトの先行オブジェクトから出力されている接続線を消去する。
ステップS60において、編集部17は、移動されたオブジェクトから後続オブジェクトに出力されている接続線を消去する。
【0135】
ステップS61において、移動されたオブジェクトの先行オブジェクトと後続オブジェクトを接続線で接続する。編集されたオブジェクトのオブジェクト情報ファイル19の位置情報、先行接続情報、および後続接続情報は、オブジェクト情報取得部18によって更新され、処理が終了する。
【0136】
ステップS62において、編集部17は、接続線を消去することなく接続状態を保ったままオブジェクトを移動する。編集されたオブジェクトのオブジェクト情報ファイル19の位置情報、先行接続情報、および後続接続情報は、オブジェクト情報取得部18によって更新され、処理が終了する。
【0137】
ステップS63において、編集部17は、接続線を消去することなく画面上のオブジェクトを移動する。移動されたオブジェクトのオブジェクト情報ファイル19の位置情報、先行接続情報、および後続接続情報は、オブジェクト情報取得部18によって更新され、処理が終了する。
【0138】
ステップS64において、編集部17は、移動されたオブジェクトの移動を中断し、移動される前の元の位置に戻す。そして、編集の処理が終了する。
このように、オブジェクトの移動によって編集機能をポップアップで一覧表示し、ユーザに所望の編集機能を選択させるようにした。これにより、簡単な操作で流れ図の編集ができ、ユーザの編集の操作ミスによる再操作、編集の調整操作の煩わしさを低減することができる。
【0139】
なお、上記では、オブジェクト情報ファイル19には、先行接続情報と後続接続情報を記憶するようにしたが、一方の接続情報のみを記憶するようにしてもよい。どちらか一方で、他方の接続情報を知ることができるためである。例えば、先行接続情報のみを記憶するようにした場合、先行接続情報の属するオブジェクトは、先行接続情報で特定される先行オブジェクトの後続であることがわかる。これによって、オブジェクト情報ファイル19が記憶される、例えば、RAM10b、HDD10cの記憶装置の記憶容量を低減することができる。
【0140】
また、上記ではプログラムを実行するためのコマンド、バッチファイルの流れ図の作成について説明したが、例えば、フローチャートなどの図形によって処理の流れを作成する流れ図の作成にも適用できる。
【0141】
なお、コンピュータが有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、ハードディスク装置(HDD)フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。光磁気記録媒体には、MO(Magneto-Optical disk)などがある。
【0142】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。
【0143】
(付記1) オブジェクトを含む流れ図を作成する流れ図作成プログラムにおいて、
コンピュータを、
ユーザの操作に応じて、表示装置に表示している前記オブジェクトを移動する移動手段、
移動された前記オブジェクトの移動位置を取得する移動位置取得手段、
編集された前記流れ図の構成に関する情報が記憶されるオブジェクト情報ファイルより、前記流れ図を構成している前記オブジェクトの構成位置を参照し、前記移動位置の前記構成位置との位置関係を算出する位置算出手段、
前記位置関係に応じて、前記オブジェクトの前記流れ図における編集機能を前記表示装置に一覧表示する表示手段、
前記ユーザの操作によって選択された前記編集機能を取得する取得手段、
前記編集機能に従って、前記オブジェクトを前記流れ図に編集する編集手段、
として機能させることを特徴とする流れ図作成プログラム。
【0144】
(付記2) 前記表示手段は、前記位置関係に応じて、前記一覧表示の内容を変更することを特徴とする付記1記載の流れ図作成プログラム。
(付記3) 前記流れ図を構成していない非構成オブジェクトが、前記流れ図を構成している前記オブジェクトの上に移動された場合、前記表示手段は、前記オブジェクトの前段に前記非構成オブジェクトを割り込ませるかおよび前記オブジェクトの後段に前記非構成オブジェクトを割り込ませるかの旨の前記一覧表示をすることを特徴とする付記1記載の流れ図作成プログラム。
【0145】
(付記4) 前記表示手段は、前記一覧表示に前記オブジェクトを前記非構成オブジェクトと交換するか否かの旨の表示をさらにすることを特徴とする付記3記載の流れ図作成プログラム。
【0146】
(付記5) 前記編集手段は、前記非構成オブジェクトを前記オブジェクトに接続されている接続線の間に割り込ませることを特徴とする付記3記載の流れ図作成プログラム。
(付記6) 前記流れ図を構成している前記オブジェクトが、他の前記オブジェクトに重ならないように移動された場合、前記表示手段は、前記オブジェクトを移動された場所に移動させるかおよび前記オブジェクトを前記流れ図から削除するかの旨の前記一覧表示をすることを特徴とする付記1記載の流れ図作成プログラム。
【0147】
(付記7) 前記オブジェクトは、プログラムを実行するコマンドまたはバッチファイルを図像化したものであることを特徴とする付記1記載の流れ図作成プログラム。
(付記8) 前記オブジェクト情報ファイルには、前記オブジェクトの位置および前記オブジェクト間の接続情報が含まれていることを特徴とする付記1記載の流れ図作成プログラム。
【0148】
(付記9) オブジェクトを含む流れ図を作成する流れ図作成装置において、
ユーザの操作に応じて、表示装置に表示している前記オブジェクトを移動する移動手段と、
移動された前記オブジェクトの移動位置を取得する移動位置取得手段と、
編集された前記流れ図の構成に関する情報が記憶されるオブジェクト情報ファイルより、前記流れ図を構成している前記オブジェクトの構成位置を参照し、前記移動位置の前記構成位置との位置関係を算出する位置算出手段と、
前記位置関係に応じて、前記オブジェクトの前記流れ図における編集機能を前記表示装置に一覧表示する表示手段と、
前記ユーザの操作によって選択された前記編集機能を取得する取得手段と、
前記編集機能に従って、前記オブジェクトを前記流れ図に編集する編集手段と、
を有することを特徴とする流れ図作成装置。
【0149】
(付記10) コンピュータによってオブジェクトを含む流れ図を作成する流れ図作成方法において、
ユーザの操作に応じて、表示装置に表示している前記オブジェクトを移動手段で移動し、
移動された前記オブジェクトの移動位置を移動位置取得手段で取得し、
編集された前記流れ図の構成に関する情報が記憶されるオブジェクト情報ファイルより、前記流れ図を構成している前記オブジェクトの構成位置を参照し、前記移動位置の前記構成位置との位置関係を位置算出手段で算出し、
前記位置関係に応じて、前記オブジェクトの前記流れ図における編集機能を前記表示装置に表示手段で一覧表示し、
前記ユーザの操作によって選択された前記編集機能を取得手段で取得し、
前記編集機能に従って、前記オブジェクトを前記流れ図に編集手段で編集する、
ことを特徴とする流れ図作成方法。
【符号の説明】
【0150】
1,10 コンピュータ
1a 移動手段
1b 移動位置取得手段
1c 位置算出手段
1d 表示手段
1e 取得手段
1f 編集手段
1g,19 オブジェクト情報ファイル
2 表示装置
3a〜3h オブジェクト
4 一覧表示
11 操作入力部
12 移動検出部
13 差分算出部
14 位置情報比較部
15 編集機能表示部
16 編集機能取得部
17 編集部
18 オブジェクト情報取得部
21 流れ図作成画面
22 オブジェクト選択部
23 流れ図作成部
【技術分野】
【0001】
本発明はプログラム、編集方法、およびコンピュータに関し、特にオブジェクトを含む流れ図を作成するプログラム、編集方法、およびコンピュータに関する。
【背景技術】
【0002】
現在、フローチャートを容易に作成するための様々なソフトウェアが提供されている。例えば、図形編集をするソフトウェアに、第1のコネクタにより互いに接続された第1のオブジェクトおよび第2のオブジェクトにおいて、第3のオブジェクトが第1のコネクタに対して予め決められた位置に配置されときに、第1のオブジェクトと第3のオブジェクトとを接続する第2のコネクタおよび第3のオブジェクトと第2のオブジェクトとを接続する第3のコネクタを生成するようにしたソフトウェアがある(例えば、特許文献1参照)。これによって、互いに接続されているオブジェクトに他のオブジェクトを挿入する際の操作を簡単にしている。
【0003】
また、直列的に接続された第1のオブジェクト、第2のオブジェクト、および第3のオブジェクトを含む図形において、第2のオブジェクトが選択されたときに、その第2のオブジェクトを削除するとともに、第1のオブジェクトと第3のオブジェクトとを接続するようにしたソフトウェアがある(例えば、特許文献2参照)。これによって、互いに接続されているオブジェクトの一部のオブジェクトを削除する際の操作を簡単にしている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2000−276608号公報(段落番号〔0019〕〜〔0025〕、図2(a)〜図2(d))
【特許文献2】特開2001−291112号公報(段落番号〔0017〕〜〔0022〕、図2(a)、図2(b))
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上記したような従来技術においては、操作ミスによって、オブジェクトを予め決められた位置に移動した場合でも、自動的にそのオブジェクトは挿入されてしまう。また、操作ミスによってオブジェクトを選択した場合でも、自動的にそのオブジェクトは削除されてしまう。また、多数オブジェクトが重なった場所で、一部のオブジェクトに対して正しく挿入する操作が困難である。そのため、操作ミス時の再操作に煩わしさを感じることや、挿入前に調整操作が必要となる場合があるという問題点があった。
【0006】
本発明はこのような点に鑑みてなされたものであり、編集の操作ミスによる再操作、編集の調整操作の煩わしさを低減するプログラム、編集方法、およびコンピュータを提供することを目的とする。
【課題を解決するための手段】
【0007】
上記課題を解決するために、コンピュータに、表示装置に表示されたオブジェクトの表示位置を移動させる操作を受け付け、移動後の該オブジェクトの位置に応じて、該オブジェクトに関する異なる編集メニューを表示する、処理を実行させることを特徴とするプログラムが提供される。
【0008】
また、上記課題を解決するために、コンピュータに、表示装置に表示されたオブジェクトの表示位置を移動させる操作を受け付け、移動後の該オブジェクトが、他のオブジェクトと重なる場合に、該オブジェクトと該他のオブジェクトに関する編集メニューを表示する、処理を実行させることを特徴とするプログラムが提供される。
【0009】
また、上記課題を解決するために、コンピュータに、表示装置に表示されたオブジェクトの表示位置をドラッグ操作により移動させ、ドロップ操作に応じて、該オブジェクトに関する編集メニューを表示する、処理を実行させることを特徴とするプログラムが提供される。
【発明の効果】
【0010】
開示のプログラムによれば、編集の操作ミスによる再操作、編集の調整操作の煩わしさを低減することができる。
【図面の簡単な説明】
【0011】
【図1】本発明の原理を説明する原理図である。
【図2】本発明の実施の形態に係るコンピュータのハードウェア構成を示すブロック図である。
【図3】モニタの表示画面を示した図である。
【図4】コンピュータの機能ブロック図である。
【図5】オブジェクト情報ファイルのデータ構成例である。
【図6】グリッド座標、移動開始点および移動終了点を説明する図である。
【図7】差分算出部と位置情報比較部の機能を具体例によって説明する図のその1である。
【図8】差分算出部と位置情報比較部の機能を具体例によって説明する図のその2である。
【図9】移動対象のオブジェクトが他のオブジェクトに重ねられるよう移動されたときのメニュー表示の組み合わせを説明する図である。
【図10】移動対象のオブジェクトが他のオブジェクトに重ねられないよう移動されたときのメニュー表示の組み合わせを説明する図である。
【図11】割り込み編集前の画面を示した図である。
【図12】移動対象オブジェクトが他のオブジェクトに重ねられたときの画面を示した図である。
【図13】前に割り込みのメニューが選択されたときの画面を示した図である。
【図14】移動、取り外し編集前の画面を示した図である。
【図15】移動対象オブジェクトが移動されたときの画面を示した図である。
【図16】ここに取り外しのメニューが選択されたときの画面を示した図である。
【図17】割り込み編集をするときのコンピュータの処理の流れを示したフローチャートである。
【図18】割り込み編集をするときのコンピュータの処理の流れを示したフローチャートである。
【図19】割り込み編集をするときのコンピュータの処理の流れを示したフローチャートである。
【図20】移動、取り外し編集をするときのコンピュータの処理の流れを示したフローチャートである。
【図21】移動、取り外し編集をするときのコンピュータの処理の流れを示したフローチャートである。
【発明を実施するための形態】
【0012】
以下、本発明の原理を図面を参照して詳細に説明する。
図1は、本発明の原理を説明する原理図である。
図に示すようにコンピュータ1は、移動手段1a、移動位置取得手段1b、位置算出手段1c、表示手段1d、取得手段1e、編集手段1f、およびオブジェクト情報ファイル1gを有している。コンピュータ1には表示装置2が接続されている。表示装置2には、オブジェクト3a〜3hが表示され、オブジェクト3a〜3gは流れ図を構成している。
【0013】
オブジェクト情報ファイル1gには、表示装置2上で編集された流れ図の構成に関する情報が記憶される。例えば、編集されたオブジェクト3a〜3hの位置、オブジェクト3a〜3h間の接続関係が記憶される。
【0014】
移動手段1aは、ユーザの操作に応じて、表示装置2に表示しているオブジェクト3a〜3hを移動する。なお、図1においては、オブジェクト3hが移動されるとする。
移動位置取得手段1bは、移動手段1aより移動されたオブジェクト3hの移動位置を取得する。
【0015】
位置算出手段1cは、オブジェクト情報ファイル1gより、流れ図を構成しているオブジェクト3a〜3hの構成位置を参照し、移動されるオブジェクト3hの、流れ図を構成しているオブジェクト3a〜3gとの位置関係を算出する。
【0016】
表示手段1dは、位置算出手段1cより算出された、移動されるオブジェクト3hの、流れ図を構成しているオブジェクト3a〜3gとの位置関係に応じて、オブジェクト3a〜3hの流れ図における編集機能を表示装置2に一覧表示する。例えば、移動されるオブジェクト3hが、流れ図を構成しているオブジェクト3aと重なるように移動された場合、表示手段1dは、編集機能を表示装置2に一覧表示する。なお、図においては、機能A,B,…が表示された一覧表示4が示してある。
【0017】
取得手段1eは、ユーザの操作によって一覧表示4から選択された編集機能を取得する。
編集手段1fは、取得手段1eより取得された編集機能に従って、オブジェクト3hを流れ図に編集する。なお、編集された流れ図の構成に関する情報は、オブジェクト情報ファイル1gに記憶される。
【0018】
以下、原理図の動作について説明する。
ユーザは、流れ図を編集したい場合、表示装置2に表示されているオブジェクト3hを、例えば、編集したい位置に移動するよう操作する。移動手段1aは、このユーザの操作に応じて、表示装置2に表示しているオブジェクト3hを移動する。
【0019】
移動位置取得手段1bは、移動されたオブジェクト3hの移動位置を取得する。位置算出手段1cは、オブジェクト情報ファイル1gより、流れ図を構成しているオブジェクト3a〜3gの構成位置を参照し、オブジェクト3hの移動位置と、オブジェクト3a〜3gの構成位置との位置関係を算出する。
【0020】
表示手段1dは、位置算出手段1cより算出された位置関係より、編集機能の一覧表示4を表示装置2に表示する。取得手段1eは、ユーザの操作によって選択された編集機能を取得する。編集手段1fは、選択された編集機能に従って、オブジェクト3hをオブジェクト3a〜3gに編集する。
【0021】
このように、オブジェクトの移動によって編集機能を表示装置に一覧表示し、ユーザに所望の編集機能を選択させる。そして、選択された編集機能に従って、オブジェクトを流れ図に編集するようにした。これにより、簡単な操作で流れ図の編集ができ、ユーザの編集の操作ミスによる再操作、編集の調整操作の煩わしさを低減することができる。
【0022】
以下、本発明の実施の形態を図面を参照して詳細に説明する。
まず、本発明の流れ図作成プログラムが実行されるコンピュータのハードウェア構成について説明する。
【0023】
図2は、本発明の実施の形態に係るコンピュータのハードウェア構成を示すブロック図である。
図に示すコンピュータ10は、CPU(Central Processing Unit)10aによって装置全体が制御されている。CPU10aには、バス10gを介してRAM(Random Access Memory)10b、ハードディスクドライブ(HDD:Hard Disk Drive)10c、グラフィック処理装置10d、入力インターフェース10e、および通信インターフェース10fが接続されている。
【0024】
RAM10bには、CPU10aに実行させるOS(Operating System)のプログラム、流れ図を作成する流れ図作成プログラムやCPU10aによる処理に必要な各種データが一時的に格納される。HDD10cには、OS、アプリケーションプログラム、後述するオブジェクト情報ファイルなどが格納される。
【0025】
グラフィック処理装置10dには、モニタ10hが接続されている。グラフィック処理装置10dは、CPU10aからの命令に従って、画像をモニタ10hの表示画面に表示させる。入力インターフェース10eには、キーボード10iと、マウス10jとが接続されている。入力インターフェース10eは、キーボード10iやマウス10jから送られてくる信号を、バス10gを介してCPU10aに送信する。
【0026】
通信インターフェース10fは、ネットワークと接続される。通信インターフェース10fは、CPU10aからの命令に従って、ネットワークに接続されている他のコンピュータと通信することができる。
【0027】
以上のようなハードウェア構成によって、本発明の流れ図作成プログラムの処理を実行することができる。
次に、流れ図作成プログラムによって作成することができる流れ図について説明する。
【0028】
図3は、モニタの表示画面を示した図である。
モニタ10hの表示画面には、流れ図作成プログラムの実行によって、図に示すように流れ図作成画面21が表示される。流れ図作成画面21は、オブジェクトを選択するためのオブジェクト選択部22、流れ図を作成するための流れ図作成部23から構成されている。
【0029】
モニタ10hの表示画面には、流れ図作成画面21上を指し示すポインタ24が表示される。ポインタ24は、ユーザのマウス10jまたはキーボード10iの操作に従って移動する。ユーザは、ポインタ24によって、流れ図作成画面21上のオブジェクトやメニューを操作することができる。
【0030】
オブジェクトは、所定の機能を持ったプログラムを実行するためのコマンドおよびバッチファイルを図像で表したものである。例えば、入力されるデータを読み込むプログラム、読み込まれたデータを演算するプログラム、演算したデータを保存するプログラムを実行するためのコマンドおよびバッチファイルがオブジェクトによって表される。
【0031】
オブジェクト選択部22には、これらオブジェクトの一覧が表示されている。ユーザは、ポインタ24をオブジェクト選択部22の選択したいオブジェクトの上に移動させ、流れ図作成部23にドラッグアンドドロップすることにより、オブジェクトを流れ図作成部23に移動することができる。
【0032】
流れ図作成部23では、ユーザの操作によって、オブジェクト選択部22から選択されたオブジェクトが、方向性をもった接続線(図中矢印)で接続される。流れ図作成部23で作成された流れ図のオブジェクトは、接続線の順に従ってコマンドまたはバッチファイルを順に実行することとなる。つまり、ユーザは、オブジェクトの流れ図を作成することにより、コード入力することなく、一連の処理機能を持ったプログラムを容易に作成することができる。
【0033】
流れ図に新たなオブジェクトを、例えば、割り込み(追加)編集するには、新たなオブジェクトを、割り込ませたい位置のオブジェクトに重なるよう移動させる。すると、新たなオブジェクトを、重ねられたオブジェクトの前に割り込みするか、後ろに割り込みするか、および交換するかを問う表示がされる。ユーザは、ポインタ24を操作して所望の表示部分を選択することにより、オブジェクトを流れ図に割り込ませることができる。
【0034】
また、流れ図を構成しているオブジェクトを移動するまたは削除するには、そのオブジェクトを現在の位置から移動させる。すると、オブジェクトを移動させた場所に移動するか、流れ図から削除するかを問う表示がされる。ユーザは、ポインタ24を操作して所望の表示部分を選択することにより、オブジェクトを流れ図から移動または削除することができる。
【0035】
次に、コンピュータ10が流れ図作成プログラムを実行することにより有する機能について説明する。
図4は、コンピュータの機能ブロック図である。
【0036】
図に示すようにコンピュータ10は、流れ図作成プログラムを実行することにより、操作入力部11、移動検出部12、差分算出部13、位置情報比較部14、編集機能表示部15、編集機能取得部16、編集部17、およびオブジェクト情報取得部18の各機能を有している。オブジェクト情報ファイル19は、流れ図作成部23で編集された流れ図の構成に関する情報が格納されるファイルである。オブジェクト情報ファイル19は、例えば、RAM10bまたはHDD10cの記憶装置に構築される。
【0037】
図5は、オブジェクト情報ファイルのデータ構成例である。
図に示すようにオブジェクト情報ファイル19には、流れ図作成部23に展開(貼付)可能なオブジェクトの数だけ、予め領域19a,19b,19c,…が準備される。領域19a,19b,19c,…の各々で、1つのオブジェクトの流れ図に関する情報が管理される。各領域19a,19b,19c,…は、オブジェクトの欄、位置情報の欄、オブジェクトサイズの欄、先行接続情報の欄、後続接続情報の欄、およびコマンドの欄を有している。
【0038】
オブジェクトの欄には、流れ図作成部23上に展開されるオブジェクトを識別するための配列番号が格納される。配列番号は、例えば、0,1,2,…と正の整数が順に付与される。
【0039】
位置情報の欄には、オブジェクトの流れ図作成画面21上での位置が格納される。位置情報は、グリッド座標で表される(後述詳細)。
オブジェクトサイズの欄には、オブジェクトを表している図像の大きさが格納される。
【0040】
先行接続情報の欄には、その先行接続情報の属している領域で情報管理されているオブジェクトの前段に接続されているオブジェクトの配列番号が格納される。前段に接続されているオブジェクトとは、先行接続情報の属している領域で情報管理されているオブジェクトに対して、接続線を出しているオブジェクトのことである。なお、前段にオブジェクトが接続されていない場合は、前段のオブジェクトを指し示すことのあり得ない値、例えば、−1が格納される。
【0041】
後続接続情報の欄には、その後続接続情報の属している領域で情報管理されているオブジェクトの後段に接続されているオブジェクトの配列番号が格納される。後段に接続されているオブジェクトとは、後続接続情報の属している領域で情報管理されているオブジェクトが接続線を出している先のオブジェクトのことである。なお、後段にオブジェクトが接続されていない場合は、後段のオブジェクトを指し示すことのあり得ない値、例えば、−1が格納される。
【0042】
コマンドの欄には、そのコマンドの属している領域で情報管理されているオブジェクトが実行するコマンドまたはバッチファイルの種類が格納される。例えば、コマンドがbackup.exeであれば、そのオブジェクトはデータを保存する処理を実行する。
【0043】
図5の例では、領域19bで管理されるオブジェクトの配列番号は1である。領域19bで管理されているオブジェクトの位置情報は(10,8)である。オブジェクトサイズは32である。先行接続情報は(2,3,4)である。なお、領域19cで管理されるオブジェクトの配列番号は2であるので、領域19bで管理されているオブジェクトの前段には、領域19cで管理されているオブジェクトが接続されていることになる。後続接続情報は(5,6,7)である。コマンドはstop.batである。
【0044】
図4の説明に戻る。オブジェクト情報取得部18は、流れ図作成部23で編集された流れ図の構成に関する情報を取得する。そして、情報を取得したオブジェクトの属するオブジェクト情報ファイル19の領域に、取得した情報を格納する。例えば、編集されたオブジェクトの位置情報、オブジェクトサイズ、先行接続情報、後続接続情報、およびコマンド情報を取得して、オブジェクト情報ファイル19に格納する。
【0045】
オブジェクト情報取得部18は、流れ図作成部23上でオブジェクトが移動されると、そのオブジェクトの移動が完了したときの位置情報を取得し、オブジェクト情報ファイル19の位置情報を更新する。また、オブジェクト情報取得部18は、オブジェクトの前段または後段の接続が変更されたとき、そのオブジェクトの先行接続情報または後続接続情報を取得し更新する。また、オブジェクト情報取得部18は、流れ図作成部23上からオブジェクトが取り除かれたとき、そのオブジェクトの領域の各情報を破棄する。
【0046】
操作入力部11は、マウス10jまたはキーボード10iからユーザが操作した情報を入力する。
移動検出部12は、ユーザのポインタ24の操作によって移動されるオブジェクトの移動開始点と移動終了点を検出する。移動検出部12は、オブジェクト上にポインタ24を移動させてマウス10jのボタンを押下したとき移動開始点を検出する。そして、マウス10jのボタンを押下したままマウス10jを移動させ、マウス10jのボタンを離したとき移動終了点を検出する。
【0047】
移動検出部12は、検出した移動開始点と移動終了点を、例えば、RAM10bの記憶装置に一時的に記憶する。オブジェクトの移動開始点および移動終了点は、流れ図作成画面21上に割り当てられたグリッド座標で表される。
【0048】
ここで、グリッド座標、移動開始点および移動終了点について詳細に説明する。
図6は、グリッド座標、移動開始点および移動終了点を説明する図である。
図に示すように、流れ図作成画面21には、グリッド座標が割り当てられる。流れ図作成画面21の左上角を原点に、水平方向にX軸、垂直方向にY軸が割り当てられている。流れ図作成画面21には、点線で示した移動開始前のオブジェクトAと、実線で示した移動終了後のオブジェクトAが例示してある。
【0049】
オブジェクトの位置は、オブジェクトのある一部を含んでいるグリッド座標、例えば、オブジェクトの中心を含むグリッド座標で表す。図6においては、移動開始前のオブジェクトAの位置は(1,1)である。移動終了後のオブジェクトAの位置は(4,3)である。従って、図6におけるオブジェクトAの移動開始点と移動終了点は、(1,1)、(4,3)と表される。なお、移動開始点、移動終了点が、流れ図作成画面21の実測位置で取得される場合、グリッドサイズで割る演算により、グリッド座標での値に換算される。
【0050】
図4の説明に戻る。差分算出部13は、ユーザのポインタ24の操作によって移動されたオブジェクトの移動差分値を算出する。差分算出部13は、移動検出部12により一時的にRAM10bに記憶された移動開始点と移動終了点の差分を取ることによって、オブジェクトの移動差分値を算出する。差分算出部13は、算出した移動差分値を、例えば、RAM10bの記憶装置に一時的に記憶する。
【0051】
位置情報比較部14は、流れ図を構成していない移動対象のオブジェクトが、他のオブジェクトの上に重ねられたか否かを判断する。具体的には、位置情報比較部14は、移動対象となっているオブジェクトの移動前の位置情報をオブジェクト情報ファイル19から取得し、差分算出部13により算出されて一時的にRAM10bに記憶されている移動差分値を加算する。そして、位置情報比較部14は、算出した加算値を、オブジェクト情報ファイル19に格納されている他のオブジェクト(移動対象以外のオブジェクト)の位置情報と比較し、一致しているか否かを判断する。つまり、加算値と、他のオブジェクトの位置情報とが一致していれば、移動対象となっているオブジェクトは、流れ図を構成している他のオブジェクトの上に重ねられた位置にあると判断することができる。位置情報比較部14は、比較結果が一致した場合、加算値と一致した位置情報の属する領域の配列番号を、例えば、RAM10bの記憶装置に一時的に記憶する。
【0052】
また、位置情報比較部14は、流れ図を構成している移動対象のオブジェクトが、他の全てのオブジェクトの上に重ねられていないか否かを判断する。具体的には、位置情報比較部14は、移動対象となっているオブジェクトの移動前の位置情報をオブジェクト情報ファイル19から取得し、差分算出部13により算出されてRAM10bに一時的に記憶されている移動差分値を加算する。位置情報比較部14は、算出した加算値を、オブジェクト情報ファイル19に格納されている他のオブジェクトの位置情報と比較し、一致しているか否かを判断する。つまり、加算結果と、他のオブジェクトの位置情報とが一致していなければ、移動対象となっているオブジェクトは、他のオブジェクトの上に重ねられていないと判断することができる。位置情報比較部14は、比較結果が全て一致しなかった場合、移動対象となっているオブジェクトの配列番号を、例えば、RAM10bの記憶装置に一時的に記憶する。
【0053】
また、位置情報比較部14は、操作入力部11より1つのオブジェクトが選択されて操作されているか、複数のオブジェクトが選択されて操作されているかを判断する。
ここで、差分算出部13と位置情報比較部14の機能を具体例によって説明する。まず、位置情報比較部14が、移動対象となっているオブジェクトが他のオブジェクトの上に重ねられたと判断する場合について説明する。
【0054】
図7は、差分算出部と位置情報比較部の機能を具体例によって説明する図のその1である。
図において、配列番号0のオブジェクトを移動対象のオブジェクトとする。配列番号0のオブジェクトの移動開始点は、移動検出部12より(10,9)が検出されたとする。また、配列番号0のオブジェクトの移動終了点は、移動検出部12より(10,8)が検出されたとする。なお、移動検出部12より検出される移動開始点は、オブジェクト情報ファイル19の、配列番号0のオブジェクトの位置情報と一致する。
【0055】
差分算出部13は、移動検出部12より検出された移動開始点と移動終了点の差分をとった移動差分値を算出する。移動開始点は(10,9)で、移動終了点は(10,8)であるので、移動差分値は(0,−1)となる。
【0056】
位置情報比較部14は、移動対象となっている配列番号0のオブジェクトの、移動前の位置情報をオブジェクト情報ファイル19から取得し、差分算出部13より算出された移動差分値を加算する。配列番号0のオブジェクトの、移動前の位置情報は(10,9)、移動差分値は(0,−1)であるので、加算値は(10,8)となる。
【0057】
位置情報比較部14は、算出した加算値と、オブジェクト情報ファイル19の各領域の位置情報とを比較していく。位置情報比較部14は、比較結果が一致した場合、算出した加算値と一致した位置情報の属する領域の配列番号をRAM10bに記憶する。上記例では、加算値は(10,8)である。この加算値と一致する位置情報を有するオブジェクトの配列番号は、図7のオブジェクト情報ファイル19を参照すると1である。従って、この場合、配列番号1がRAM10bに記憶される。
【0058】
次に、位置情報比較部14が、移動対象となっているオブジェクトが他の全てのオブジェクトの上に重ねられていないと判断する場合について説明する。
図8は、差分算出部と位置情報比較部の機能を具体例によって説明する図のその2である。
【0059】
図において、配列番号0のオブジェクトを移動対象のオブジェクトとする。配列番号0のオブジェクトの移動開始点は、移動検出部12より(9,8)が検出されたとする。また、配列番号0のオブジェクトの移動終了点は、移動検出部12より(9,9)が検出されたとする。
【0060】
差分算出部13は、移動検出部12より検出された移動開始点と移動終了点の差分をとった移動差分値を算出する。移動開始点は(9,8)で、移動終了点は(9,9)であるので、移動差分値は(0,1)となる。
【0061】
位置情報比較部14は、移動対象となっている配列番号0のオブジェクトの、移動前の位置情報をオブジェクト情報ファイル19から取得し、差分算出部13より算出された移動差分値を加算する。配列番号0のオブジェクトの、移動前の位置情報は(9,8)、移動差分値は(0,1)であるので、加算値は(9,9)となる。
【0062】
位置情報比較部14は、算出した加算値と、オブジェクト情報ファイル19の各領域の位置情報とを比較していく。位置情報比較部14は、比較が全て一致しなかった場合、移動対象となっているオブジェクトの配列番号をRAM10bに記憶する。上記例では、加算値は(9,9)で、図8に示すオブジェクト情報ファイル19の全ての位置情報と一致しなかったとすれば、移動対象となっているオブジェクトの配列番号0がRAM10bに格納される。
【0063】
図4の説明に戻る。編集機能表示部15は、オブジェクトの移動に応じて、そのオブジェクトの流れ図における編集機能を流れ図作成画面21上に表示する。編集機能の表示は、例えば、ポップアップで表示される。編集機能の表示内容は、移動対象のオブジェクトが他のオブジェクトに重ねられるように移動されたときと、移動対象のオブジェクトが他の全てのオブジェクトの上に重ねられないように移動されたときとで異なる。そこで、場合分けをして説明する。まず、移動対象のオブジェクトが他のオブジェクトに重ねられるように移動されたときについて説明する。
【0064】
編集機能表示部15は、位置情報比較部14がRAM10bに一時記憶した配列番号の領域に属する先行接続情報と後続接続情報とを、オブジェクト情報ファイル19を参照して取得する。すなわち、編集機能表示部15は、移動対象のオブジェクトが重ねられた他のオブジェクトの先行接続情報と後続接続情報とを取得する。編集機能表示部15は、取得した先行接続情報と後続接続情報とに基づいて、移動対象のオブジェクトを、重ねられた他のオブジェクトと交換するか、重ねられた他のオブジェクトの後段に割り込ませるか、重ねられた他のオブジェクトの前段に割り込ませるか、編集をキャンセルするかのメニュー表示(編集機能の表示)を流れ図作成部23にする。
【0065】
ここで、先行接続情報および後続接続情報と、流れ図作成部23に表示されるメニュー表示の組み合わせの関係について説明する。
図9は、移動対象のオブジェクトが他のオブジェクトに重ねられるよう移動されたときのメニュー表示の組み合わせを説明する図である。
【0066】
図に示す表31のメニュー表示内容は、流れ図作成部23に表示されるメニューの種類を示している。流れ図作成部23に表示されるメニューには、後ろに割り込み、前に割り込み、および交換がある。
【0067】
表31に示す接続なしは、移動対象のオブジェクトが重ねられた他のオブジェクトの前段および後段には、オブジェクトが接続されていないことを示している。後続のみは、移動対象のオブジェクトが重ねられた他のオブジェクトの後段にのみ、オブジェクトが接続されていることを示している。先行のみは、移動対象のオブジェクトが重ねられた他のオブジェクトの前段にのみ、オブジェクトが接続されていることを示している。先行と後続には、移動対象のオブジェクトが重ねられた他のオブジェクトの前段と後段の両方に、オブジェクトが接続されていることを示している。表31の1は、それに対応するメニュー表示内容の表示があることを示し、0は、それに対応するメニュー表示内容の表示がないことを示している。
【0068】
例えば、表31より、接続なしの場合、交換のメニューのみが表示される。後続のみの場合、後ろに割り込みと交換のメニューが表示される。先行のみの場合、前に割り込みと交換のメニューが表示される。先行と後続の場合、後ろに割り込みと前に割り込みと交換のメニューが表示される。
【0069】
次に、移動対象のオブジェクトが他の全てのオブジェクトの上に重ねられないように移動されたときについて説明する。
編集機能表示部15は、位置情報比較部14がRAM10bに一時記憶した配列番号の領域に属する先行接続情報と後続接続情報とを、オブジェクト情報ファイル19を参照して取得する。すなわち、編集機能表示部15は、全てのオブジェクトの上に重ねられないよう移動された移動対象のオブジェクトの先行接続情報と後続接続情報とを取得する。編集機能表示部15は、取得した先行接続情報と後続接続情報とに基づいて、移動対象のオブジェクトを、単に移動するか、流れ図から取り外すか、編集をキャンセルするかのメニュー表示を流れ図作成部23にする。
【0070】
ここで、先行接続情報および後続接続情報と、流れ図作成部23に表示されるメニュー表示の組み合わせの関係について説明する。
図10は、移動対象のオブジェクトが他のオブジェクトに重ねられないよう移動されたときのメニュー表示の組み合わせを説明する図である。
【0071】
図に示す表32のメニュー表示内容は、流れ図作成部23に表示されるメニューの種類を示している。流れ図作成部23に表示されるメニューには、ここに移動、ここに取り外しがある。
【0072】
表32に示す接続なしは、移動対象のオブジェクトの前段および後段には、オブジェクトが接続されていないことを示している。後続のみは、移動対象のオブジェクトの後段にのみ、オブジェクトが接続されていることを示している。先行のみは、移動対象のオブジェクトの前段にのみ、オブジェクトが接続されていることを示している。先行と後続には、移動対象のオブジェクトの前段と後段の両方に、オブジェクトが接続されていることを示している。表32の1は、それに対応するメニュー表示内容の表示があることを示し、0は、それに対応するメニュー表示内容の表示がないことを示している。
【0073】
例えば、表32より、接続なしの場合、後続のみの場合、および先行のみの場合メニューは表示されない。先行と後続の場合、ここに移動とここに取り外しのメニューが表示される。
【0074】
図4の説明に戻る。ユーザは、例えば、マウス10jまたはキーボード10iの操作によって、ポインタ24を移動し、流れ図作成部23に表示されるメニューを選択する。編集機能取得部16は、流れ図作成部23に表示されるメニューの位置と、メニューを選択したときのポインタ24の位置により、ユーザによって選択されたメニューを取得する。
【0075】
編集部17は、編集機能取得部16によって選択されたメニューに従って、移動対象のオブジェクトを流れ図に編集する。編集部17は、移動対象のオブジェクトが後ろに割り込みされる場合、重ねられたオブジェクトから出力されている接続線を、全て移動対象のオブジェクトから出力されるように変更する。そして、重ねられたオブジェクトから移動対象のオブジェクトに接続線を接続する。編集部17は、移動対象のオブジェクトが前に割り込みされる場合、重ねられたオブジェクトに入力されている接続線を移動対象のオブジェクトの入力に接続する。そして、移動対象のオブジェクトから、重ねられたオブジェクトに接続線を接続する。編集部17は、流れ図を構成しているオブジェクトが単に移動される場合、移動対象に接続されている接続線の接続を保ったまま、移動対象のオブジェクトを移動する。編集部17は、移動対象のオブジェクトが接続線から取り外される場合、移動対象のオブジェクトへ入力されている接続線や出力している接続線を削除する。そして、移動対象のオブジェクトの前段のオブジェクトから出力されていた接続線を、移動対象のオブジェクトの後段だったオブジェクトに接続する。
【0076】
また、編集部17は、交換のメニューが選択された場合、移動対象のオブジェクトを、重ねられた他のオブジェクトと交換する。また、編集部17は、キャンセルのメニューが選択された場合、移動されているオブジェクトを移動前の元の位置に戻す。
【0077】
なお、編集部17によって編集されたオブジェクトのオブジェクト情報ファイル19の位置情報、先行接続情報、および後続接続情報は、オブジェクト情報取得部18によって更新される。
【0078】
次に、流れ図作成部23の画面の流れについて説明する。まず、割り込み編集される場合の画面の流れについて説明する。
図11は、割り込み編集前の画面を示した図である。
【0079】
図に示すように流れ図作成部23には、オブジェクト41、オブジェクト42a〜42c、オブジェクト43a〜43c、オブジェクト44が表示されているとする。
オブジェクト41に対し、オブジェクト42a〜42cは先行オブジェクト(前段に接続されたオブジェクト)である。オブジェクト41に対し、オブジェクト43a〜43cは後続オブジェクト(後段に接続されたオブジェクト)である。これらのオブジェクト41,42a〜42c,43a〜43cにより流れ図が構成されている。
【0080】
オブジェクト41の前後にオブジェクト44を割り込ませるには、ポインタ24によって、オブジェクト44をオブジェクト41の上に重ねるように移動する。
図12は、移動対象オブジェクトが他のオブジェクトに重ねられたときの画面を示した図である。
【0081】
図11に示す移動対象のオブジェクト44が、オブジェクト41の上に重ねられると、図12に示すようにメニューの一覧が示されたポップアップ51が表示される。なお、移動対象のオブジェクト44が重ねられるオブジェクト41の前段、後段には、オブジェクトが接続されているので、ポップアップ51には、前に割り込み、後ろに割り込み、交換、およびキャンセルのメニューが表示される。仮に、オブジェクト41にオブジェクト42a〜42cが接続されていなかったとすると、ポップアップ51には、後ろに割り込み、交換、およびキャンセルしか表示されない。
【0082】
ポップアップ51に表示されているメニュー上にポインタ24を合わせると、ポインタ24が合わされたメニューの表示が反転する。このとき、例えば、マウス10jをクリックすると、メニューの選択が確定される。
【0083】
図13は、前に割り込みのメニューが選択されたときの画面を示した図である。
図12に示すポップアップ51において、前に割り込みが選択されると、図13に示すように、オブジェクト44がオブジェクト41の前に割り込まれる。このとき、オブジェクト42a〜42cからオブジェクト41に出力されていた接続線の接続は、オブジェクト44に変更され、オブジェクト44からオブジェクト41に接続線が接続される。なお、この編集によるオブジェクト41,42a〜42c,43a〜43c,44の位置情報、先行接続情報、および後続接続情報は、オブジェクト情報取得部18によって更新される。
【0084】
次に、移動、取り外し編集される場合の画面の流れについて説明する。
図14は、移動、取り外し編集前の画面を示した図である。
図に示すように流れ図作成部23には、オブジェクト61、オブジェクト62、オブジェクト63a〜63c、オブジェクト64a〜64cが表示されているとする。
【0085】
オブジェクト61に対し、オブジェクト63a〜63cは先行オブジェクトである。オブジェクト61に対し、オブジェクト62は後続オブジェクトである。また、オブジェクト62に対し、オブジェクト64a〜64cは後続オブジェクトである。これらのオブジェクト61,62,63a〜63c,64a〜64cより流れ図が構成されている。
【0086】
オブジェクト61を移動、または流れ図から取り外すには、ポインタ24によって、オブジェクト61を他のオブジェクト62,63a〜63c,64a〜64cと重ならないように移動する。
【0087】
図15は、移動対象オブジェクトが移動されたときの画面を示した図である。
図14に示す移動対象のオブジェクト61が他のオブジェクトと重ならないように移動されると、図15に示すようにメニューの一覧が示されたポップアップ71が表示される。なお、移動対象のオブジェクト61の前段と後段には、オブジェクトが接続されているので、ポップアップ71には、ここに移動、ここに取り外し、およびキャンセルのメニューが表示される。仮に、オブジェクト61にオブジェクト62,63a〜63cが接続されていなかったとすると、ポップアップ71には、メニューが表示されない。
【0088】
ポップアップ71に表示されているメニュー上にポインタ24を合わせると、ポインタ24が合わされたメニューの表示が反転する。このとき、例えば、マウス10jをクリックすると、メニューの選択が確定される。
【0089】
図16は、ここに取り外しのメニューが選択されたときの画面を示した図である。
図15に示すポップアップ71において、ここに取り外しが選択されると、図16に示すように、オブジェクト61が流れ図から取り外される。このとき、オブジェクト63a〜63cから出力されていた接続線を消去し、オブジェクト61から出力されていた接続線を消去する。そして、オブジェクト63a〜63cからオブジェクト62に接続線を接続する。なお、この編集によるオブジェクト61,62,63a〜63c,64a〜64cの位置情報、先行接続情報、および後続接続情報は、オブジェクト情報取得部18によって更新される。また、図15のポップアップ71において、ここに移動が選択された場合には、接続線を消去することなく、接続状態を保ったままオブジェクト61を移動する。
【0090】
以下、図4のコンピュータ10の動作を、フローチャートを用いて説明する。
図17〜図19は、割り込み編集をするときのコンピュータの処理の流れを示したフローチャートである。
【0091】
コンピュータ10は、以下のステップに従って処理を実行する。
ステップS1において、移動検出部12は、操作入力部11が受け付けたユーザの操作情報より、移動されたオブジェクトの移動開始点を検出する。移動検出部12は、検出した移動開始点をRAM10bに記憶する。
【0092】
ステップS2において、移動検出部12は、操作入力部11が受け付けたユーザの操作情報より、移動されたオブジェクトの移動終了点を検出する。移動検出部12は、検出した移動終了点をRAM10bに記憶する。
【0093】
ステップS3において、差分算出部13は、RAM10bに記憶されている移動開始点および移動終了点より、オブジェクトが移動されているか否かを判断する。オブジェクトが移動されている場合は、ステップS4に進む。オブジェクトが移動されていない場合は、ステップS25へ進む。
【0094】
ステップS4において、差分算出部13は、移動されたオブジェクトの移動差分値を算出する。差分算出部13は、移動検出部12によりRAM10bに記憶された移動開始点と移動終了点の差分を取ることによって、オブジェクトの移動差分値を算出する。差分算出部13は、算出した移動差分値をRAM10bに記憶する。
【0095】
ステップS5において、位置情報比較部14は、オブジェクト情報ファイル19より、移動されたオブジェクトの移動前の位置情報を取得する。
ステップS6において、位置情報比較部14は、移動されたオブジェクトの移動先の位置情報を取得する。位置情報比較部14は、ステップS5により取得した移動前の位置情報に、ステップS4によりRAM10bに格納された移動差分値を加算することにより、移動されたオブジェクトの移動先の位置情報を取得する。
【0096】
ステップS7において、位置情報比較部14は、移動されたオブジェクトの移動先の位置情報と、オブジェクト情報ファイル19を参照して他のオブジェクトの位置情報とを比較する。位置情報比較部14は、オブジェクト情報ファイル19に格納されている全てのオブジェクトの位置情報とを比較していく。
【0097】
ステップS8において、位置情報比較部14は、ステップS7の比較結果より、移動されたオブジェクトが他のオブジェクトの上に重なっているか否かの判断をする。移動されたオブジェクトが他のオブジェクトの上に重なっている場合、位置情報比較部14は、移動されたオブジェクトが重ねられたオブジェクトの配列番号をRAM10bに記憶する。そして、ステップS9へ進む。移動されたオブジェクトが他のオブジェクトの上に重なっていない場合は、ステップS11へ進む。なお、移動されたオブジェクトの移動先の位置情報と、他のオブジェクトの位置情報とが一致している場合に、移動されたオブジェクトが他のオブジェクトの上に重なっていることになる。
【0098】
ステップS9において、位置情報比較部14は、操作入力部11より1つのオブジェクトが選択されて移動されているか、複数のオブジェクトが選択されて移動されているかを判断する。1つのオブジェクトが選択されて移動されている場合は、ステップS10へ進む。複数のオブジェクトが選択されて移動されている場合は、ステップS21へ進む。
【0099】
ステップS10において、編集機能表示部15は、位置情報比較部14がRAM10bに記憶した配列番号より、オブジェクトの先行接続情報と後続接続情報とをオブジェクト情報ファイル19を参照して取得する。すなわち、編集機能表示部15は、移動されたオブジェクトが重ねられたオブジェクトの先行接続情報と後続接続情報とを取得する。ステップS12へ進む。
【0100】
ステップS11において、編集部17は、画面上のオブジェクトを移動する。移動されたオブジェクトのオブジェクト情報ファイル19の位置情報、先行接続情報、および後続接続情報は、オブジェクト情報取得部18によって更新され、処理が終了する。
【0101】
ステップS12において、編集機能表示部15は、取得した後続接続情報より、オブジェクトが重ねられたオブジェクトの後段に、オブジェクトが接続されているか否かを判断する。後段にオブジェクトが接続されている場合、ステップS13へ進む。後段にオブジェクトが接続されていない場合、ステップS14へ進む。
【0102】
ステップS13において、編集機能表示部15は、流れ図作成部23の画面に表示されるポップアップのデータに、後ろに割り込みという文字が表示されるためのデータを追加する。
【0103】
ステップS14において、編集機能表示部15は、取得した先行接続情報より、オブジェクトが重ねられたオブジェクトの前段に、オブジェクトが接続されているか否かを判断する。前段にオブジェクトが接続されている場合、ステップS15へ進む。前段にオブジェクトが接続されていない場合、ステップS16へ進む。
【0104】
ステップS15において、編集機能表示部15は、流れ図作成部23の画面に表示されるポップアップのデータに、前に割り込みという文字が表示されるためのデータを追加する。
【0105】
ステップS16において、編集機能表示部15は、ポップアップに表示される後ろに割り込みまたは前に割り込みのメニュー要素があるか否かを判断する。メニュー要素があればステップS17へ進む。メニュー要素がなければステップS21へ進む。
【0106】
ステップS17において、編集機能表示部15は、流れ図作成部23にポップアップを表示する。編集機能表示部15は、ステップS13,S15で追加されるメニューと交換およびキャンセルというメニューをポップアップ上に表示する。
【0107】
ステップS18において、編集機能取得部16は、ユーザの操作によって選択されたポップアップのメニューを取得する。そして、編集機能取得部16は、後ろに割り込みまたは前に割り込みの割り込みメニューが選択されたか否かを判断する。割り込みメニューが選択された場合、ステップS22へ進む。割り込みメニューが選択されなかった場合、ステップS19へ進む。
【0108】
ステップS19において、編集機能取得部16は、ユーザの操作によって交換またはキャンセルのメニューが選択されたか否かを判断する。編集機能取得部16は、交換のメニューが選択された場合、ステップS20へ進む。キャンセルのメニューが選択された場合、ステップS21へ進む。
【0109】
ステップS20において、編集部17は、移動されたオブジェクトを、重ねられたオブジェクトと交換する。編集部17は、まず、重ねられたオブジェクトに接続されている接続線を切り離す。そして、移動されたオブジェクトの移動前の配置位置と重ねられたオブジェクトの配置位置を交換し、移動されたオブジェクトに接続線を接続する。編集されたオブジェクト情報ファイル19の位置情報、先行接続情報、および後続接続情報は、オブジェクト情報取得部18によって更新され、処理が終了する。
【0110】
ステップS21において、編集部17は、移動されたオブジェクトの移動を中断し、移動される前の元の位置に戻す。そして、処理が終了する。
ステップS22において、編集部17は、移動されたオブジェクトと移動されたオブジェクトが重ねられたオブジェクトの再配置位置を決定する。
【0111】
ステップS23において、編集部17は、編集機能取得部16によって取得されたメニューの内容を判断する。後ろに割り込みのメニューであればステップS24へ進む。前に割り込みのメニューであれば、ステップS26へ進む。
【0112】
ステップS24において、編集部17は、移動されたオブジェクトが重ねられたオブジェクトから後続オブジェクトに出力されている接続線を、割り込みするオブジェクト(移動されたオブジェクト)から接続するように変更する。
【0113】
ステップS25において、編集部17は、移動されたオブジェクトが重ねられたオブジェクトから割り込みのオブジェクトに接続線を接続する。編集されたオブジェクトのオブジェクト情報ファイル19の位置情報、先行接続情報、および後続接続情報は、オブジェクト情報取得部18によって更新され、処理が終了する。
【0114】
ステップS26において、編集部17は、移動されたオブジェクトが重ねられたオブジェクトに接続されている先行オブジェクトからの接続線を、割り込みするオブジェクトに接続する。
【0115】
ステップS27において、編集部17は、割り込みするオブジェクトから、重ねられたオブジェクトに接続線を接続する。編集されたオブジェクトのオブジェクト情報ファイル19の位置情報、先行接続情報、および後続接続情報は、オブジェクト情報取得部18によって更新され、処理が終了する。
【0116】
図20、図21は、移動、取り外し編集をするときのコンピュータの処理の流れを示したフローチャートである。
コンピュータ10は、以下のステップに従って処理を実行する。
【0117】
ステップS41において、移動検出部12は、操作入力部11が受け付けたユーザの操作情報より、移動されたオブジェクトの移動開始点を検出する。移動検出部12は、検出した移動開始点をRAM10bに記憶する。
【0118】
ステップS42において、移動検出部12は、操作入力部11が受け付けたユーザの操作情報より、移動されたオブジェクトの移動終了点を検出する。移動検出部12は、検出した移動終了点をRAM10bに記憶する。
【0119】
ステップS43において、差分算出部13は、RAM10bに記憶されている移動開始点および移動終了点より、オブジェクトが移動されているか否かを判断する。オブジェクトが移動されている場合は、ステップS44に進む。オブジェクトが移動されていない場合は、ステップS64へ進む。
【0120】
ステップS44において、差分算出部13は、移動されたオブジェクトの移動差分値を算出する。差分算出部13は、移動検出部12によりRAM10bに記憶された移動開始点と移動終了点の差分を取ることによって、オブジェクトの移動差分値を算出する。差分算出部13は、算出した移動差分値をRAM10bに記憶する。
【0121】
ステップS45において、位置情報比較部14は、オブジェクト情報ファイル19より、移動されたオブジェクトの移動前の位置情報を取得する。
ステップS46において、位置情報比較部14は、移動されたオブジェクトの移動先の位置情報を取得する。位置情報比較部14は、ステップS45により取得した移動前の位置情報に、ステップS44によりRAM10bに格納された移動差分値を加算することにより、移動されたオブジェクトの移動先の位置情報を取得する。
【0122】
ステップS47において、位置情報比較部14は、移動されたオブジェクトの移動先の位置情報と、オブジェクト情報ファイル19を参照して他のオブジェクトの位置情報とを比較する。位置情報比較部14は、オブジェクト情報ファイル19に格納されている全てのオブジェクトの位置情報とを比較していく。
【0123】
ステップS48において、位置情報比較部14は、ステップS47の比較結果より、移動されたオブジェクトが他のオブジェクトの上に重なっているか否かの判断をする。移動されたオブジェクトが他の全てのオブジェクトの上に重なっていない場合、位置情報比較部14は、移動されたオブジェクトの配列番号をRAM10bに記憶する。そして、ステップS49へ進む。移動されたオブジェクトが他のオブジェクトの上に重なっている場合は、ステップS64へ進む。なお、移動されたオブジェクトの移動先の位置情報と、他のオブジェクトの位置情報とが一致していない場合に、移動されたオブジェクトが他のオブジェクトの上に重なっていないことになる。
【0124】
ステップS49において、位置情報比較部14は、操作入力部11より1つのオブジェクトが選択されて移動されているか、複数のオブジェクトが選択されて移動されているかを判断する。1つのオブジェクトが選択されて移動されている場合は、ステップS50へ進む。複数のオブジェクトが選択されて移動されている場合は、ステップS63へ進む。
【0125】
ステップS50において、編集機能表示部15は、位置情報比較部14がRAM10bに記憶した配列番号より、オブジェクトの先行接続情報と後続接続情報とをオブジェクト情報ファイル19を参照して取得する。すなわち、編集機能表示部15は、移動されたオブジェクトの先行接続情報と後続接続情報とを取得する。
【0126】
ステップS51において、編集機能表示部15は、取得した後続接続情報より、移動されたオブジェクトの後段に、オブジェクトが接続されているか否かを判断する。後段にオブジェクトが接続されている場合、ステップS52へ進む。後段にオブジェクトが接続されていない場合、ステップS63へ進む。
【0127】
ステップS52において、編集機能表示部15は、取得した先行接続情報より、移動されたオブジェクトの前段に、オブジェクトが接続されているか否かを判断する。前段にオブジェクトが接続されている場合、ステップS53へ進む。前段にオブジェクトが接続されていない場合、ステップS63へ進む。
【0128】
ステップS53において、編集機能表示部15は、流れ図作成部23の画面に表示されるポップアップのデータに、ここに取り外しという文字が表示されるためのデータを追加する。
【0129】
ステップS54において、編集機能表示部15は、流れ図作成部23の画面に表示されるポップアップのデータに、ここに移動という文字が表示されるためのデータを追加する。
【0130】
ステップS55において、編集機能表示部15は、ポップアップに表示されるここに取り外しおよびここに移動のメニュー要素があるか否かを判断する。メニュー要素があればステップS56へ進む。メニュー要素がなければステップS63へ進む。
【0131】
ステップS56において、編集機能表示部15は、流れ図作成部23にポップアップを表示する。編集機能表示部15は、ステップS53,S54で追加されたメニューとキャンセルというメニューをポップアップ上に表示する。
【0132】
ステップS57において、編集機能取得部16は、ユーザの操作によって選択されたポップアップのメニューを取得する。そして、編集機能取得部16は、キャンセルが選択されたか否かを判断する。キャンセルのメニューが選択された場合、ステップS64へ進む。キャンセルのメニューが選択されてない場合、ステップS58へ進む。
【0133】
ステップS58において、編集機能取得部16は、ここに取り外しのメニューが選択されたかここに移動のメニューが選択されたかを判断する。ここに取り外しのメニューが選択された場合、ステップS59へ進む。ここに移動のメニューが選択された場合、ステップS62へ進む。
【0134】
ステップS59において、編集部17は、移動されたオブジェクトの先行オブジェクトから出力されている接続線を消去する。
ステップS60において、編集部17は、移動されたオブジェクトから後続オブジェクトに出力されている接続線を消去する。
【0135】
ステップS61において、移動されたオブジェクトの先行オブジェクトと後続オブジェクトを接続線で接続する。編集されたオブジェクトのオブジェクト情報ファイル19の位置情報、先行接続情報、および後続接続情報は、オブジェクト情報取得部18によって更新され、処理が終了する。
【0136】
ステップS62において、編集部17は、接続線を消去することなく接続状態を保ったままオブジェクトを移動する。編集されたオブジェクトのオブジェクト情報ファイル19の位置情報、先行接続情報、および後続接続情報は、オブジェクト情報取得部18によって更新され、処理が終了する。
【0137】
ステップS63において、編集部17は、接続線を消去することなく画面上のオブジェクトを移動する。移動されたオブジェクトのオブジェクト情報ファイル19の位置情報、先行接続情報、および後続接続情報は、オブジェクト情報取得部18によって更新され、処理が終了する。
【0138】
ステップS64において、編集部17は、移動されたオブジェクトの移動を中断し、移動される前の元の位置に戻す。そして、編集の処理が終了する。
このように、オブジェクトの移動によって編集機能をポップアップで一覧表示し、ユーザに所望の編集機能を選択させるようにした。これにより、簡単な操作で流れ図の編集ができ、ユーザの編集の操作ミスによる再操作、編集の調整操作の煩わしさを低減することができる。
【0139】
なお、上記では、オブジェクト情報ファイル19には、先行接続情報と後続接続情報を記憶するようにしたが、一方の接続情報のみを記憶するようにしてもよい。どちらか一方で、他方の接続情報を知ることができるためである。例えば、先行接続情報のみを記憶するようにした場合、先行接続情報の属するオブジェクトは、先行接続情報で特定される先行オブジェクトの後続であることがわかる。これによって、オブジェクト情報ファイル19が記憶される、例えば、RAM10b、HDD10cの記憶装置の記憶容量を低減することができる。
【0140】
また、上記ではプログラムを実行するためのコマンド、バッチファイルの流れ図の作成について説明したが、例えば、フローチャートなどの図形によって処理の流れを作成する流れ図の作成にも適用できる。
【0141】
なお、コンピュータが有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、ハードディスク装置(HDD)フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。光磁気記録媒体には、MO(Magneto-Optical disk)などがある。
【0142】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。
【0143】
(付記1) オブジェクトを含む流れ図を作成する流れ図作成プログラムにおいて、
コンピュータを、
ユーザの操作に応じて、表示装置に表示している前記オブジェクトを移動する移動手段、
移動された前記オブジェクトの移動位置を取得する移動位置取得手段、
編集された前記流れ図の構成に関する情報が記憶されるオブジェクト情報ファイルより、前記流れ図を構成している前記オブジェクトの構成位置を参照し、前記移動位置の前記構成位置との位置関係を算出する位置算出手段、
前記位置関係に応じて、前記オブジェクトの前記流れ図における編集機能を前記表示装置に一覧表示する表示手段、
前記ユーザの操作によって選択された前記編集機能を取得する取得手段、
前記編集機能に従って、前記オブジェクトを前記流れ図に編集する編集手段、
として機能させることを特徴とする流れ図作成プログラム。
【0144】
(付記2) 前記表示手段は、前記位置関係に応じて、前記一覧表示の内容を変更することを特徴とする付記1記載の流れ図作成プログラム。
(付記3) 前記流れ図を構成していない非構成オブジェクトが、前記流れ図を構成している前記オブジェクトの上に移動された場合、前記表示手段は、前記オブジェクトの前段に前記非構成オブジェクトを割り込ませるかおよび前記オブジェクトの後段に前記非構成オブジェクトを割り込ませるかの旨の前記一覧表示をすることを特徴とする付記1記載の流れ図作成プログラム。
【0145】
(付記4) 前記表示手段は、前記一覧表示に前記オブジェクトを前記非構成オブジェクトと交換するか否かの旨の表示をさらにすることを特徴とする付記3記載の流れ図作成プログラム。
【0146】
(付記5) 前記編集手段は、前記非構成オブジェクトを前記オブジェクトに接続されている接続線の間に割り込ませることを特徴とする付記3記載の流れ図作成プログラム。
(付記6) 前記流れ図を構成している前記オブジェクトが、他の前記オブジェクトに重ならないように移動された場合、前記表示手段は、前記オブジェクトを移動された場所に移動させるかおよび前記オブジェクトを前記流れ図から削除するかの旨の前記一覧表示をすることを特徴とする付記1記載の流れ図作成プログラム。
【0147】
(付記7) 前記オブジェクトは、プログラムを実行するコマンドまたはバッチファイルを図像化したものであることを特徴とする付記1記載の流れ図作成プログラム。
(付記8) 前記オブジェクト情報ファイルには、前記オブジェクトの位置および前記オブジェクト間の接続情報が含まれていることを特徴とする付記1記載の流れ図作成プログラム。
【0148】
(付記9) オブジェクトを含む流れ図を作成する流れ図作成装置において、
ユーザの操作に応じて、表示装置に表示している前記オブジェクトを移動する移動手段と、
移動された前記オブジェクトの移動位置を取得する移動位置取得手段と、
編集された前記流れ図の構成に関する情報が記憶されるオブジェクト情報ファイルより、前記流れ図を構成している前記オブジェクトの構成位置を参照し、前記移動位置の前記構成位置との位置関係を算出する位置算出手段と、
前記位置関係に応じて、前記オブジェクトの前記流れ図における編集機能を前記表示装置に一覧表示する表示手段と、
前記ユーザの操作によって選択された前記編集機能を取得する取得手段と、
前記編集機能に従って、前記オブジェクトを前記流れ図に編集する編集手段と、
を有することを特徴とする流れ図作成装置。
【0149】
(付記10) コンピュータによってオブジェクトを含む流れ図を作成する流れ図作成方法において、
ユーザの操作に応じて、表示装置に表示している前記オブジェクトを移動手段で移動し、
移動された前記オブジェクトの移動位置を移動位置取得手段で取得し、
編集された前記流れ図の構成に関する情報が記憶されるオブジェクト情報ファイルより、前記流れ図を構成している前記オブジェクトの構成位置を参照し、前記移動位置の前記構成位置との位置関係を位置算出手段で算出し、
前記位置関係に応じて、前記オブジェクトの前記流れ図における編集機能を前記表示装置に表示手段で一覧表示し、
前記ユーザの操作によって選択された前記編集機能を取得手段で取得し、
前記編集機能に従って、前記オブジェクトを前記流れ図に編集手段で編集する、
ことを特徴とする流れ図作成方法。
【符号の説明】
【0150】
1,10 コンピュータ
1a 移動手段
1b 移動位置取得手段
1c 位置算出手段
1d 表示手段
1e 取得手段
1f 編集手段
1g,19 オブジェクト情報ファイル
2 表示装置
3a〜3h オブジェクト
4 一覧表示
11 操作入力部
12 移動検出部
13 差分算出部
14 位置情報比較部
15 編集機能表示部
16 編集機能取得部
17 編集部
18 オブジェクト情報取得部
21 流れ図作成画面
22 オブジェクト選択部
23 流れ図作成部
【特許請求の範囲】
【請求項1】
コンピュータに、
表示装置に表示されたオブジェクトの表示位置を移動させる操作を受け付け、
移動後の該オブジェクトが、他のオブジェクトと重なる場合に、該オブジェクトと、該他のオブジェクトとの接続関係に関する編集メニューを表示する、
処理を実行させることを特徴とするプログラム。
【請求項2】
コンピュータに、
表示装置に表示されたオブジェクトの表示位置をドラッグ操作により移動させ、
ドロップ操作に応じて、該オブジェクトと、表示されている他のオブジェクトとの接続関係に関する編集メニューを表示する、
処理を実行させることを特徴とするプログラム。
【請求項3】
コンピュータを用いたオブジェクトに関する編集方法において、
表示装置に表示されたオブジェクトの表示位置を移動させる操作を受け付け、
移動後の該オブジェクトが、他のオブジェクトと重なる場合に、該オブジェクトと、該他のオブジェクトとの接続関係に関する編集メニューを表示する、
ことを特徴とする編集方法。
【請求項4】
コンピュータを用いたオブジェクトに関する編集方法において、
表示装置に表示されたオブジェクトの表示位置をドラッグ操作により移動させ、
ドロップ操作に応じて、該オブジェクトと、表示されている他のオブジェクトとの接続関係に関する編集メニューを表示する、
ことを特徴とする編集方法。
【請求項5】
コンピュータにおいて、
複数のオブジェクトを表示する表示装置と、
該表示装置に表示された前記複数のオブジェクトのうちのいずれかのオブジェクトの表示位置を移動させる操作を受け付ける操作部と、を有し、
該操作部を用いた操作による移動後の該いずれかのオブジェクトが、他のオブジェクトと重なる場合に、該いずれかのオブジェクトと、該他のオブジェクトとの接続関係に関する編集メニューを表示する、
ことを特徴とするコンピュータ。
【請求項6】
コンピュータにおいて、
オブジェクトを表示する表示装置と、
操作部と、を有し、
該表示装置に表示されたオブジェクトの表示位置を該操作部を用いたドラッグ操作により移動させ、該操作部を用いたドロップ操作に応じて、該オブジェクトと、表示されている他のオブジェクトとの接続関係に関する編集メニューを表示する、
ことを特徴とするコンピュータ。
【請求項1】
コンピュータに、
表示装置に表示されたオブジェクトの表示位置を移動させる操作を受け付け、
移動後の該オブジェクトが、他のオブジェクトと重なる場合に、該オブジェクトと、該他のオブジェクトとの接続関係に関する編集メニューを表示する、
処理を実行させることを特徴とするプログラム。
【請求項2】
コンピュータに、
表示装置に表示されたオブジェクトの表示位置をドラッグ操作により移動させ、
ドロップ操作に応じて、該オブジェクトと、表示されている他のオブジェクトとの接続関係に関する編集メニューを表示する、
処理を実行させることを特徴とするプログラム。
【請求項3】
コンピュータを用いたオブジェクトに関する編集方法において、
表示装置に表示されたオブジェクトの表示位置を移動させる操作を受け付け、
移動後の該オブジェクトが、他のオブジェクトと重なる場合に、該オブジェクトと、該他のオブジェクトとの接続関係に関する編集メニューを表示する、
ことを特徴とする編集方法。
【請求項4】
コンピュータを用いたオブジェクトに関する編集方法において、
表示装置に表示されたオブジェクトの表示位置をドラッグ操作により移動させ、
ドロップ操作に応じて、該オブジェクトと、表示されている他のオブジェクトとの接続関係に関する編集メニューを表示する、
ことを特徴とする編集方法。
【請求項5】
コンピュータにおいて、
複数のオブジェクトを表示する表示装置と、
該表示装置に表示された前記複数のオブジェクトのうちのいずれかのオブジェクトの表示位置を移動させる操作を受け付ける操作部と、を有し、
該操作部を用いた操作による移動後の該いずれかのオブジェクトが、他のオブジェクトと重なる場合に、該いずれかのオブジェクトと、該他のオブジェクトとの接続関係に関する編集メニューを表示する、
ことを特徴とするコンピュータ。
【請求項6】
コンピュータにおいて、
オブジェクトを表示する表示装置と、
操作部と、を有し、
該表示装置に表示されたオブジェクトの表示位置を該操作部を用いたドラッグ操作により移動させ、該操作部を用いたドロップ操作に応じて、該オブジェクトと、表示されている他のオブジェクトとの接続関係に関する編集メニューを表示する、
ことを特徴とするコンピュータ。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【公開番号】特開2012−113750(P2012−113750A)
【公開日】平成24年6月14日(2012.6.14)
【国際特許分類】
【出願番号】特願2012−49124(P2012−49124)
【出願日】平成24年3月6日(2012.3.6)
【分割の表示】特願2009−298339(P2009−298339)の分割
【原出願日】平成15年12月16日(2003.12.16)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】
【公開日】平成24年6月14日(2012.6.14)
【国際特許分類】
【出願日】平成24年3月6日(2012.3.6)
【分割の表示】特願2009−298339(P2009−298339)の分割
【原出願日】平成15年12月16日(2003.12.16)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】
[ Back to top ]