public static IFigureIO GetInstance(string type)
        {
            IFigureIO f = null;

            switch (type)
            {
            case "CSV":
            case "csv":
                f = new FigureIO_CSV();
                break;

            case "JSON":
            case "json":
                f = new FigureIO_JSON();
                break;

            case "XML":
            case "xml":
                f = new FigureIO_XML();
                break;

            case "YML":
            case "YAML":
            case "yml":
            case "yaml":
                f = new FigureIO_YML();
                break;

            default:
                throw new InvalidEnumArgumentException();
            }

            return(f);
        }
Пример #2
0
        public override void Action(object sender, EventArgs e)
        {
            try
            {
                OpenFileDialog openFD = new OpenFileDialog();
                openFD.Filter = "JSON (*.json)|*.json|CSV (*.csv)|*.csv|XML (*.xml)|*.xml|YML (*.yml)|*.yml";
                DialogResult res = openFD.ShowDialog();

                if (res == DialogResult.OK)
                {
                    // TODO: Load file
                    IFigureIO f = FigureIO_Selector.GetInstance(openFD.FileName.Remove(0, openFD.FileName.LastIndexOf('.') + 1));
                    fileName     = openFD.FileName;
                    f.PathToFile = openFD.FileName;
                    cmd.canvas.Controls.AddRange(f.Read().ToArray());
                }
                openFD.Dispose();

                DrawingVector2DTool.figures = new List <Control>();
                for (int i = 1; i < cmd.canvas.Controls.Count; ++i)
                {
                    SimpleFigures f = cmd.canvas.Controls[i] as SimpleFigures;
                    f.GainFocus   += cmd.canvas.OnGainFocus;
                    f.LostFocus   += cmd.canvas.OnLostFocus;
                    f.FigurePaste += cmd.canvas.OnFigurePaste;

                    DrawingVector2DTool.figures.Add(cmd.canvas.Controls[i]);
                    cmd.canvas.Controls[i].BringToFront();

                    f.PropertyPanel = (cmd.canvas.Parent.Parent.Parent.Parent as MiniPaintV).propertyPanel;
                }
            }
            catch { }
        }
        public static void LoadSelector(CanvasVector Canvas)
        {
            try
            {
                OpenFileDialog openFD = new OpenFileDialog();
                openFD.Filter = "CSV (*.csv)|*.csv|JSON (*.json)|*.json|XML (*.xml)|*.xml|YML (*.yml)|*.yml";
                DialogResult res = openFD.ShowDialog();

                if (res == DialogResult.OK)
                {
                    // TODO: Load file
                    IFigureIO f = FigureIO_Selector.GetInstance(openFD.FileName.Remove(0, openFD.FileName.LastIndexOf('.') + 1));
                    f.PathToFile = openFD.FileName;
                    Canvas.Controls.AddRange(f.Read().ToArray());
                }
                openFD.Dispose();

                figures = new Dictionary <int, Control>();
                for (int i = 1; i < Canvas.Controls.Count; ++i)
                {
                    figures.Add(i, Canvas.Controls[i]);
                    Canvas.Controls[i].BringToFront();
                }
            }
            catch { }
        }
Пример #4
0
        public override void Action(object sender, EventArgs e)
        {
            try
            {
                OpenFileDialog openFD = new OpenFileDialog();
                openFD.Filter = "JSON (*.json)|*.json|CSV (*.csv)|*.csv|XML (*.xml)|*.xml|YML (*.yml)|*.yml";
                bool?res = openFD.ShowDialog();

                IFigureIO f = FigureIO_Selector.GetInstance(openFD.FileName.Remove(0, openFD.FileName.LastIndexOf('.') + 1));
                fileName     = openFD.FileName;
                f.PathToFile = openFD.FileName;
                elems        = f.Read().ToArray();
            }
            catch { }
        }
        public static void SaveSelector(CanvasVector Canvas)
        {
            try
            {
                List <Control> controls = Canvas.GetImage().Values.ToList();

                SaveFileDialog saveFD = new SaveFileDialog();
                saveFD.Filter = "CSV (*.csv)|*.csv|JSON (*.json)|*.json|XML (*.xml)|*.xml|YML (*.yml)|*.yml";
                DialogResult res = saveFD.ShowDialog();

                if (res == DialogResult.OK)
                {
                    // TODO: save file
                    IFigureIO f = FigureIO_Selector.GetInstance(saveFD.FileName.Remove(0, saveFD.FileName.LastIndexOf('.') + 1));
                    f.PathToFile = saveFD.FileName;
                    f.Write(controls);
                }
                saveFD.Dispose();
            }
            catch { }
        }
Пример #6
0
        public override void Action(object sender, EventArgs e)
        {
            try
            {
                List <UIElement> controls = cmd.canvasVector.GetMemento();

                SaveFileDialog saveFD = new SaveFileDialog();
                saveFD.Filter = "JSON (*.json)|*.json|CSV (*.csv)|*.csv|XML (*.xml)|*.xml|YML (*.yml)|*.yml";
                bool?res = saveFD.ShowDialog();

                if (res == true)
                {
                    // TODO: save file
                    IFigureIO f = FigureIO_Selector.GetInstance(saveFD.FileName.Remove(0, saveFD.FileName.LastIndexOf('.') + 1));
                    f.PathToFile = saveFD.FileName;
                    f.Write(controls);
                }

                // need to close dialog after saving
            }
            catch { }
        }
Пример #7
0
        public override void Action(object sender, EventArgs e)
        {
            try
            {
                List <Control> controls = cmd.canvas.GetMemento();

                SaveFileDialog saveFD = new SaveFileDialog();
                saveFD.Filter = "JSON (*.json)|*.json|CSV (*.csv)|*.csv|XML (*.xml)|*.xml|YML (*.yml)|*.yml";
                DialogResult res = saveFD.ShowDialog();

                if (res == DialogResult.OK)
                {
                    // TODO: save file
                    IFigureIO f = FigureIO_Selector.GetInstance(saveFD.FileName.Remove(0, saveFD.FileName.LastIndexOf('.') + 1));
                    f.PathToFile = saveFD.FileName;
                    f.Write(controls);
                }
                saveFD.Dispose();

                Form.ActiveForm.Close();
            }
            catch { }
        }