public CreateEngineProfileForm(UciEngineProfileStorage profiles) { InitializeComponent(); Icon = Properties.Resources.application_icon; Profiles = profiles; }
public UciEngineProfile(UciEngineProfileStorage parent, JsonValue json) { Parent = parent; Name = json["name"]; Path = json["path"]; FileHash = json["hash"]; if (FileHash != ComputeMD5(Path)) { throw new FileNotFoundException("The filehash differs from the one of the installed engine."); } OverridedOptions = OverridedOptionsFromJson(json["options"]); }
public UciEngineProfile(UciEngineProfileStorage parent, string name, string path) { if (!IsValidUciEngine(path)) { throw new ArgumentException("Not a valid UCI engine."); } Parent = parent; Name = name; Path = path; FileHash = ComputeMD5(path); OverridedOptions = new List <KeyValuePair <string, string> >(); }
public EngineProfilesForm(UciEngineProfileStorage profiles, EngineProfilesFormMode mode) { InitializeComponent(); Icon = Properties.Resources.application_icon; Mode = mode; if (Mode == EngineProfilesFormMode.Manage) { confirmButton.Visible = false; } else { optionsButton.Visible = false; } Profiles = profiles; FillProfileListBox(); }
public void SetParent(UciEngineProfileStorage p) { Parent = p; }
public EngineAnalysisForm(UciEngineProfileStorage profiles, EmbeddedAnalysisHandler embeddedHandler = null) { InitializeComponent(); Icon = Properties.Resources.application_icon; EngineProfiles = profiles; EmbeddedControl = new EmbeddedEngineAnalysisControl(); AnalysisData = new DataTable(); AnalysisData.Columns.Add(new DataColumn("Move", typeof(MoveWithSan))); AnalysisData.Columns.Add(new DataColumn("Depth", typeof(int))); AnalysisData.Columns.Add(new DataColumn("SelDepth", typeof(int))); AnalysisData.Columns.Add(new DataColumn("Score", typeof(UciScore))); AnalysisData.Columns.Add(new DataColumn("Time", typeof(TimeSpan))); AnalysisData.Columns.Add(new DataColumn("Nodes", typeof(long))); AnalysisData.Columns.Add(new DataColumn("NPS", typeof(long))); AnalysisData.Columns.Add(new DataColumn("MultiPV", typeof(int))); AnalysisData.Columns.Add(new DataColumn("TBHits", typeof(long))); AnalysisData.Columns.Add(new DataColumn("PV", typeof(string))); AnalysisData.Columns.Add(new DataColumn("ScoreInt", typeof(int))); WinFormsControlUtil.MakeDoubleBuffered(analysisDataGridView); analysisDataGridView.DataSource = AnalysisData; SetupColumns(); analysisDataGridView.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCellsExceptHeader; EmbeddedAnalysisData = new DataTable(); EmbeddedAnalysisData.Columns.Add(new DataColumn("Move", typeof(MoveWithSan))); EmbeddedAnalysisData.Columns.Add(new DataColumn("D/SD", typeof(KeyValuePair <int, int>))); EmbeddedAnalysisData.Columns.Add(new DataColumn("Score", typeof(UciScore))); EmbeddedAnalysisData.Columns.Add(new DataColumn("Time", typeof(TimeSpan))); EmbeddedAnalysisData.Columns.Add(new DataColumn("Nodes", typeof(long))); EmbeddedAnalysisData.Columns.Add(new DataColumn("NPS", typeof(long))); EmbeddedAnalysisData.Columns.Add(new DataColumn("TBHits", typeof(long))); EmbeddedAnalysisData.Columns.Add(new DataColumn("ScoreInt", typeof(int))); EmbeddedAnalysisData.Columns.Add(new DataColumn("MultiPV", typeof(int))); WinFormsControlUtil.MakeDoubleBuffered(EmbeddedControl.AnalysisDataGridView); EmbeddedControl.AnalysisDataGridView.ColumnHeadersDefaultCellStyle = analysisDataGridView.ColumnHeadersDefaultCellStyle; foreach (DataGridViewColumn column in analysisDataGridView.Columns) { if (column.ValueType == typeof(long) || column.ValueType == typeof(int)) { column.DefaultCellStyle.Format = "N0"; column.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight; } } UpdateAnalysisButtonName(); EmbeddedControl.ToggleAnalysisButton.Enabled = false; closeToolStripMenuItem.Enabled = false; optionsToolStripMenuItem.Enabled = false; toggleAnalyzeButton.Enabled = false; embedButton.Enabled = false; IsEmbedded = false; EmbeddedHandler = embeddedHandler; if (EmbeddedHandler == null) { embedButton.Enabled = false; } PendingInfoResponses = new BlockingQueue <UciInfoResponse>(); Fen = FenProvider.StartPos; SideToMove = Player.White; InfoUpdateTimer = new System.Timers.Timer { Interval = 2000, AutoReset = true }; InfoUpdateTimer.Elapsed += ProcessPendingInfoReponses; InfoUpdateTimer.Enabled = true; ClearEngineIdInfo(); }