private static void ExecuteOpenDialog(object sender, ExecutedRelayEventArgs e) { var element = e.Parameter as GLEvaluationElement; if (element == null) { throw new ArgumentNullException("element"); } try { var dialog = new GLEvaluationElementSettingDialog(element); dialog.SetCenterMouse(); // 親コントロールを取得します。 var glcontainer = element.GLContainer; var parent = (glcontainer != null ? glcontainer.ParentForm : null); // 親を指定して評価値用のダイアログを開きます。 dialog.ShowDialog(parent); } catch (Exception ex) { Util.ThrowIfFatal(ex); Log.ErrorException(ex, "評価値ダイアログの表示に失敗しました;;"); } }
private static void ExecuteRedoContinue(object sender, ExecutedRelayEventArgs e) { var element = e.Parameter as GLShogiElement; if (element == null) { throw new ArgumentNullException("element"); } try { var autoPlay = new DefaultAutoPlay( element.BoardModel, true, AutoPlayType.Redo) { IsUseEffect = false, }; //TODO element.StartAutoPlay(autoPlay); } catch (Exception ex) { Util.ThrowIfFatal(ex); DialogUtil.ShowError( "局面を連続して進めることに失敗しました ( ̄ω ̄;)"); } }
private static void ExecuteUndo(object sender, ExecutedRelayEventArgs e) { var element = e.Parameter as GLShogiElement; if (element == null) { throw new ArgumentNullException("element"); } try { element.BoardModel.Undo(); } catch (Exception ex) { Util.ThrowIfFatal(ex); DialogUtil.ShowError(ex, "指し手をⅰ手戻すことができませんでした ( ̄ω ̄;)"); } }
private static void ExecuteGotoLastState(object sender, ExecutedRelayEventArgs e) { var element = e.Parameter as GLShogiElement; if (element == null) { throw new ArgumentNullException("element"); } try { element.Board.RedoAll(); } catch (Exception ex) { Util.ThrowIfFatal(ex); DialogUtil.ShowError( "局面を最終局面にできませんでした ( ̄ω ̄;)"); } }