private void Banzai3_Load(object sender, EventArgs e) { Localization.SetLocalName(this); foreach (var btn in toolStrip.Controls.OfType <ToolStripButton>()) { Localization.SetLocalName(btn); } var dir = Settings.Default.LastDir; var file = Settings.Default.LastFile; if (!string.IsNullOrWhiteSpace(dir) && !string.IsNullOrWhiteSpace(file)) { try { cross = CrossIO.Import(dir, file); } catch (Exception ex) { MessageBox.Show($"Error loading last save{Environment.NewLine}{ex}"); } } scaleSize = Settings.Default.LastScale; if (scaleSize > ScaleMax || scaleSize < ScaleMin) { scaleSize = ScaleStd; } UpdateSize(); UpdateBtnState(); cross.CheckLines(); panelScroll.MouseWheel += PanelCross_MouseWheel; }
private void TestCheckLineVal(string sample, string len, string state) { var results = new Dictionary<Cross.SectionState, char> { {Cross.SectionState.Right, '+'}, {Cross.SectionState.Wrong, '-'}, {Cross.SectionState.InProgress, '?'} }; var source = new Dictionary<char, Cross.CellState> { {'#', Cross.CellState.Fill}, {'.', Cross.CellState.Dot}, {' ', Cross.CellState.Unknown} }; var cross = new Cross(sample.Length, 1); for (int i = 0; i < sample.Length; i++) { cross.SetCell(i, 0, source[sample[i]]); } cross.Left[0] = new Cross.Line(len.Split().Select(int.Parse)); cross.CheckLines(); var res = new string( cross.Left[0] .Sections .Select(s => results[s.State]) .ToArray()); if (res != state) throw new Exception($"[{sample}] [{len}] [{state}]{Environment.NewLine}==> Wrong [{res}]"); }
private void btnSelect_Click(object sender, EventArgs e) { if (!editorMode) { SaveCurrent(); } //TODO need cortage var newCross = CrossChoiceForm.SelectCross(Settings.Default.LastDir); if (newCross == null) { return; } switch (newCross.Length) { case 1: { var size = SelectSizeForm.GetSize(null); if (size == null) { return; } var newDir = newCross[0]; cross = new Cross(size.Value.Width, size.Value.Height); Settings.Default.LastDir = newDir; Settings.Default.LastFile = ""; Settings.Default.Save(); editorMode = true; break; } case 2: { var newDir = newCross[0]; var newFile = newCross[1]; try { cross = CrossIO.Import(newDir, newFile); } catch (Exception) { MessageBox.Show(Localization.GetLocalName("ERROR_IO")); } Settings.Default.LastDir = newDir; Settings.Default.LastFile = newFile; Settings.Default.Save(); editorMode = false; break; } case 3: { var newDir = newCross[0]; var newFile = newCross[1]; try { cross = CrossIO.ImportEditor(newFile); } catch (Exception) { MessageBox.Show(Localization.GetLocalName("ERROR_IO")); } Settings.Default.LastDir = newDir; Settings.Default.LastFile = newFile; Settings.Default.Save(); editorMode = true; break; } } UpdateSize(); UpdateBtnState(); cross.CheckLines(); panelCross.Invalidate(); }
private void btnSelect_Click(object sender, EventArgs e) { if(!editorMode) SaveCurrent(); //TODO need cortage var newCross = CrossChoiceForm.SelectCross(Settings.Default.LastDir); if (newCross == null) return; switch (newCross.Length) { case 1: { var size = SelectSizeForm.GetSize(null); if (size == null) return; var newDir = newCross[0]; cross = new Cross(size.Value.Width, size.Value.Height); Settings.Default.LastDir = newDir; Settings.Default.LastFile = ""; Settings.Default.Save(); editorMode = true; break; } case 2: { var newDir = newCross[0]; var newFile = newCross[1]; try { cross = CrossIO.Import(newDir, newFile); } catch (Exception) { MessageBox.Show(Localization.GetLocalName("ERROR_IO")); } Settings.Default.LastDir = newDir; Settings.Default.LastFile = newFile; Settings.Default.Save(); editorMode = false; break; } case 3: { var newDir = newCross[0]; var newFile = newCross[1]; try { cross = CrossIO.ImportEditor(newFile); } catch (Exception) { MessageBox.Show(Localization.GetLocalName("ERROR_IO")); } Settings.Default.LastDir = newDir; Settings.Default.LastFile = newFile; Settings.Default.Save(); editorMode = true; break; } } UpdateSize(); UpdateBtnState(); cross.CheckLines(); panelCross.Invalidate(); }