/**
* IgoModel クラスは、囲碁Viewerのモデルを提供する抽象クラスです。
* @author Jiro Suzuki
*/
abstract class IgoModel{
/** 保存して閉じる */
protected static final int SaveAndClose=0;
/** 保存しないで閉じる */
protected static final int NotSaveAndClose=1;
/** 保存しないで閉じない */
protected static final int NotSaveAndNotClose=2;
protected IgoView view;
protected IgoModel parent;
protected Kifu kifu;
protected Kifu kifuForExam;
protected int numOfMoves;
protected IntBoard intBoard;
protected Mode mode;
protected boolean isExam;
protected String fileName;
protected Turn turn;
/**
* 空の IgoModel インスタンスを生成します。
*/
IgoModel(){
}
/**
* 親インスタンス指定した IgoModel インスタンスを生成します。
* @param parent 所有者
*/
IgoModel(IgoModel parent){
this.parent=parent;
}
/**
* 指定されたビューを設定し、インスタンスを初期化します。
* @param view インターフェース IgoView を実装したオブジェクト
*/
public void initialize(IgoView view){
this.view=view;
initialize();
}
/**
* インスタンスを初期化します。
*/
public void initialize(){
kifu=new Kifu();
kifuForExam=new Kifu();
numOfMoves=-1;
intBoard=new IntBoard();
mode=new Mode();
isExam=false;
fileName=new String("");
turn=new Turn();
}
/**
* ファイルを開くときに呼び出します。
*/
public void open(){}
/**
* ファイルを新規作成するときに呼び出します。
*/
public void record(){}
/**
* ファイルを上書き保存するときに呼び出します。
*/
public void save(){}
/**
* ファイルを新規保存するときに呼び出します。
*/
public void saveAs(){}
/**
* 現行モードを終了するときに呼び出します。
*/
public void exit(){}
/**
* メインダイアログを閉じるときに呼び出します。
*/
public void close(){}
/**
* 編集状態にするときに呼び出します。
*/
public void startEdit(){}
/**
* 一手戻るときに呼び出します。
*/
public void back(){}
/**
* 一手進むときに呼び出します。
*/
public void forward(){}
/**
* 五手戻るときに呼び出します。
*/
public void back5(){}
/**
* 五手進むときに呼び出します。
*/
public void forward5(){}
/**
* 初手に戻るときに呼び出します。
*/
public void backAll(){}
/**
* 終局面にするときに呼び出します。
*/
public void forwardAll(){}
/**
* パスをするときに呼び出します。
*/
public void pass(){}
/**
* 設計途中で変更が生じたため、棚上げ。
*/
public void pause(){}
/**
* 検討モードと再生モードを行き来するときに呼び出します。
*/
public void examine(){}
/**
* 石を置くときに呼び出します。
* @param row 行番号
* @param col 列番号
*/
public void putStone(int row,int col){}
/**
* 対局情報を表示ときに呼び出します。
*/
public void displayGameInfo(){}
/**
* 対局情報を更新するときに呼び出します。
*/
public void updateGameInfo(GameInformation gameInfo){}
/**
* 自動再生にするときに呼び出します。
*/
public void autoPlay(){}
/**
* 自動再生の再生速度を変更するときに呼び出します。
*/
public void updateInterval(){}
/**
* ビューを更新するときに呼び出します。
*/
public void doUpdateView(){}
/**
* 初期モード・新規作成モードを開始するときに呼び出します。
*/
public void start(){}
/**
* 更新モードを開始するときに呼び出します。
* @param kifu 棋譜情報
* @param numOfMoves 手数
* @param fileName ファイル名(フルパス指定)
* @param turn 手番
*/
public void start(Kifu kifu,int numOfMoves,String fileName,Turn turn){}
/**
* 再生モードを開始するときに呼び出します。
* @param fileName ファイル名(フルパス指定)
*/
public void start(String fileName){}
private void write(){}
}