/** * 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(){} }