Example #1
0
        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;
        }
Example #2
0
        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}]");
        }
Example #3
0
        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();
        }
Example #4
0
        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();
        }