org.simBio.sim.gui.toolKit
Class SimpleGUIFrameWork

java.lang.Object
  extended by org.simBio.sim.gui.toolKit.SimpleGUIFrameWork

public abstract class SimpleGUIFrameWork
extends java.lang.Object

GUIでのファイル/状態を表すクラス.
Observer パターンで作成しても良いが、Inner class であるため利点が少ないので、直接コーディングを行った。

 状態A:Closed    ファイルを開いていない状態
 状態B:Opened    ファイルを開いて、変更の無い状態
 状態C:Modified  ファイルを開いて、変更のある状態
 
  func()         is call function for process.
        [Button] is pressed button in dialog.
  (Status) is status of processing.
 
                 +------------------------+    
                 V                                                |(Error/Cancel)    
 +------------+ open()  +-----------+   (OK)    +-----------+
 |  A:CLOSED    |---------->| (Loading) |---------->| B:OPENED  |---------------+
 +------------+                 +-----------+                   +-----------+                           |
                 ^       | openDlg()            ^                                        |          ^                           |setChanged()
                 |       |      +------------+  |       +----------------+          |                           |
                 |       +->|D:OpenDialog|--+   |close()/openDlg()          |                           |
                 |<-----+------------+[OK]      |                                   |                           |
                 |[Cancel]              ^                       |                                               |                               |
                 |                              |                       |                                               |                               |
                 |                              |                       |                                               |                               |
                 |                              |                       |                                               |                               |
                 |(close())             |(openDlg())|   +------------+ [OK]     +-----------+           |
                 |              +------------+          |       |E:SaveDialog|----->| (Saving)  |               |
                 +------|(Discarding)|<-----+   +------------+          +-----------+           |
                        +-->+------------+                                       ~ |[Cancel] |(Error)   ^save() |                                                               |
                        |(OK)       ^[discard]           saveAs()| +---------+                  |               |
                        |                   |                                            |               V                      |               |
        +-----------+ +-------------+                            +-----+-----------+----+               |
        | (Saving)  | | F:SaveSelect|<---------------------|C:MODIFIED |<-----------+
        +-----------+ +-------------+   close()/openDlg()  +-----------+
                |       ^  [save] |             |               [cancel]                          ^         ^
                |       +---------+             +-----------------------------+         |
                |               (Error)                                                                                 |
                +-------------------------------------------------------+
 
  状態A :isModified() == false
  状態B :isModified() == false
  状態C :isModified() == true
 

Version:
$Log: SimpleGUIFrameWork.java,v $ Revision 1.3 2006/05/15 05:04:50 chiakioka improve gui Revision 1.2 2006/02/28 04:09:04 nsarai Save As is always enabled Revision 1.1 2005/11/01 06:32:40 mikaelwing First version of simBio hosted on sourceforge, version 0.3 Revision 1.2 2005/10/14 03:11:06 mikael Resolve the save as function Revision 1.1 2005/09/12 04:57:34 sarai rearrenge folder structure as a Maven style Revision 1.3 2005/08/12 10:12:48 sarai fix TYPO
Author:
misaki

Field Summary
protected  java.lang.String fileName
           
 int mode
           
protected static int MODE_LOAD
           
protected static int MODE_OPERATED
           
protected static int MODE_OPERATING
           
protected static int MODE_WAIT
           
protected static int SELECTED_CANCEL
           
protected static int SELECTED_DISCARD
           
protected static int SELECTED_OK
           
protected static int STATUS_CLOSED
           
protected static int STATUS_MODIFIED
           
protected static int STATUS_OPENED
           
 
Constructor Summary
SimpleGUIFrameWork()
           
 
Method Summary
 boolean close()
          クローズする ファイルが読み込まれなくてもク終了時のローズされることがあるので、 状態遷移エラーは発生させない。
protected abstract  int confirmOverrideDialogBox(java.lang.String string)
          ファイル保存の際、上書きするかどうかの確認ダイアログボックスを開く
 void contentsChange()
          内容が変更された事を登録する。
protected abstract  boolean discardProc(java.lang.String fileName)
          メモリ上の編集内容の破棄を行う このメソッドでは、実体のファイルを削除する意図は**ありません**
 java.lang.String getFileName()
          現在処理中のファイル名を取得する。
 boolean isLoaded()
          動作モードが読込中であるかどうか確認する。
 boolean isModified()
          値が変更されているかどうか確認する。
 boolean isOpened()
          ファイルが開かれているかどうか確認する。
 boolean isOperated()
          動作モードが演算後であるかどうか確認する。
 boolean isOperating()
          動作モードが演算中であるかどうか確認する。
protected abstract  boolean loadProc(java.lang.String fileName)
          ファイルの読み込み処理を行う
 void modeLoading()
          動作モードを読込中にする。
 void modeOperated()
          動作モードを演算後にする。
 void modeOperating()
          動作モードを演算中にする。
 void modeWait()
          動作モードを入力待ちにする。
 boolean open(java.lang.String fileName)
          ファイル名を指定してオープンする
protected abstract  java.lang.String openDialogBox()
          ファイルを開くための、ダイアログボックスを開く
 boolean openDlg()
          ダイアログを開き、ファイル名を指定してオープンする
 boolean reload()
          オープンしているファイルを再読み込みする。
 boolean save()
          現在のファイル名で保存する
 boolean saveAs()
          ダイアログを開いて保存する
protected abstract  java.lang.String saveDialogBox(java.lang.String string)
          名前を付けてファイルを保存するための、ダイアログボックスを開く
protected abstract  boolean saveProc()
           
protected abstract  boolean saveProc(java.lang.String fileName)
          ファイルの書き込み処理を行う
protected abstract  int saveSelectDialogBox()
          現在のファイルを破棄するか保存するかを選択するダイアログボックスを開く
protected abstract  void statusChangedProc(java.lang.String fileName, int status)
          状態が変更された時に呼ばれる このメソッドでは、変更結果を元に画面の再描画を行う
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

STATUS_CLOSED

protected static final int STATUS_CLOSED
See Also:
Constant Field Values

STATUS_OPENED

protected static final int STATUS_OPENED
See Also:
Constant Field Values

STATUS_MODIFIED

protected static final int STATUS_MODIFIED
See Also:
Constant Field Values

SELECTED_DISCARD

protected static final int SELECTED_DISCARD
See Also:
Constant Field Values

SELECTED_OK

protected static final int SELECTED_OK
See Also:
Constant Field Values

SELECTED_CANCEL

protected static final int SELECTED_CANCEL
See Also:
Constant Field Values

MODE_WAIT

protected static final int MODE_WAIT
See Also:
Constant Field Values

MODE_LOAD

protected static final int MODE_LOAD
See Also:
Constant Field Values

MODE_OPERATING

protected static final int MODE_OPERATING
See Also:
Constant Field Values

MODE_OPERATED

protected static final int MODE_OPERATED
See Also:
Constant Field Values

mode

public int mode

fileName

protected java.lang.String fileName
Constructor Detail

SimpleGUIFrameWork

public SimpleGUIFrameWork()
Method Detail

open

public boolean open(java.lang.String fileName)
             throws java.lang.Exception
ファイル名を指定してオープンする

Returns:
true:成功/false:失敗
Throws:
java.lang.Exception

openDlg

public boolean openDlg()
                throws java.lang.Exception
ダイアログを開き、ファイル名を指定してオープンする

Returns:
true:成功/false:失敗
Throws:
java.lang.Exception

close

public boolean close()
              throws java.lang.Exception
クローズする ファイルが読み込まれなくてもク終了時のローズされることがあるので、 状態遷移エラーは発生させない。

Returns:
true:成功/false:失敗
Throws:
java.lang.Exception

save

public boolean save()
             throws java.lang.Exception
現在のファイル名で保存する

Returns:
true:成功/false:失敗
Throws:
java.lang.Exception

saveAs

public boolean saveAs()
               throws java.lang.Exception
ダイアログを開いて保存する

Returns:
true:成功/false:失敗
Throws:
java.lang.Exception

reload

public boolean reload()
               throws java.lang.Exception
オープンしているファイルを再読み込みする。

Returns:
true:成功/false:失敗 or 保存を拒否され中断
Throws:
java.lang.Exception

contentsChange

public void contentsChange()
                    throws java.lang.Exception
内容が変更された事を登録する。

Throws:
java.lang.Exception

saveSelectDialogBox

protected abstract int saveSelectDialogBox()
現在のファイルを破棄するか保存するかを選択するダイアログボックスを開く

Returns:
選択結果 SELECTED_DISCARD 破棄する SELECTED_OK 保存する SELECTED_CANCEL キャンセル

openDialogBox

protected abstract java.lang.String openDialogBox()
ファイルを開くための、ダイアログボックスを開く

Returns:
ファイル名 null:キャンセル

saveDialogBox

protected abstract java.lang.String saveDialogBox(java.lang.String string)
名前を付けてファイルを保存するための、ダイアログボックスを開く

Parameters:
string - 現在のファイル名
Returns:
ファイル名 null:キャンセル

confirmOverrideDialogBox

protected abstract int confirmOverrideDialogBox(java.lang.String string)
ファイル保存の際、上書きするかどうかの確認ダイアログボックスを開く

Parameters:
string - 保存のファイル名
Returns:
SELECTED_OK:上書き許可 / SELECTED_CANCEL:上書き拒否

loadProc

protected abstract boolean loadProc(java.lang.String fileName)
ファイルの読み込み処理を行う

Parameters:
fileName - 読み込むファイル名
Returns:
処理結果 true:成功 / false:失敗

saveProc

protected abstract boolean saveProc(java.lang.String fileName)
ファイルの書き込み処理を行う

Parameters:
fileName - 保存するファイル名
Returns:
処理結果 true:成功 / false:失敗

saveProc

protected abstract boolean saveProc()

discardProc

protected abstract boolean discardProc(java.lang.String fileName)
メモリ上の編集内容の破棄を行う このメソッドでは、実体のファイルを削除する意図は**ありません**

Parameters:
fileName - 破棄するファイル名
Returns:
処理結果 true:成功 / false:失敗

statusChangedProc

protected abstract void statusChangedProc(java.lang.String fileName,
                                          int status)
状態が変更された時に呼ばれる このメソッドでは、変更結果を元に画面の再描画を行う

Parameters:
fileName - 変更後のファイル名
status - 変更後の状態 STATUS_CLOSED / STATUS_OPENED / STATUS_MODIFIED

getFileName

public java.lang.String getFileName()
現在処理中のファイル名を取得する。

Returns:
現在処理中のファイル名

isModified

public boolean isModified()
値が変更されているかどうか確認する。

Returns:
status true:変更されている/false:変更されていない

isOpened

public boolean isOpened()
ファイルが開かれているかどうか確認する。

Returns:
status true:開かれている/false:開かれていない

modeWait

public void modeWait()
動作モードを入力待ちにする。


modeLoading

public void modeLoading()
動作モードを読込中にする。


modeOperating

public void modeOperating()
動作モードを演算中にする。


modeOperated

public void modeOperated()
動作モードを演算後にする。


isLoaded

public boolean isLoaded()
動作モードが読込中であるかどうか確認する。

Returns:
status true:読込中である/false:読込中でない

isOperating

public boolean isOperating()
動作モードが演算中であるかどうか確認する。

Returns:
status true:演算中である/false:演算中でない

isOperated

public boolean isOperated()
動作モードが演算後であるかどうか確認する。

Returns:
status true:演算後である/false:演算後でない


Copyright © 2002-2008 Cell/Biodinamics simulation project. All Rights Reserved.