public void ReadProject(string path)
        {
            foreach (var tools in ToolsFactory.ToolsDic.Values)
            {
                foreach (var tool in tools)
                {
                    tool.ClearTestData();
                }
            }
            string pathWant = "";

            if (path.EndsWith(".prj"))
            {
                pathWant = path;
            }
            else
            {
                //pathWant = Environment.CurrentDirectory + "\\project\\" + path + ".prj";
                pathWant = Environment.CurrentDirectory + "\\project\\1.prj";
            }
            ProjectData project = SerializationFile.DeserializeObject(pathWant) as ProjectData; //如果是空的,反序列化时会出错,返回null

            //Dictionary<int, BindingList<ToolBase>> tools = SerializationFile.DeserializeObject(
            //    path) as Dictionary<int, BindingList<ToolBase>>;
            if (project == null)  //如果指定路径不存在文件,project即为null.
            {
                Util.Notify(Level.Err, "工程数据加载失败");
            }
            else
            {
                Instance = project;
                ToolsFactory.ToolsDic = project.ToolsDic;
                Util.Notify("工程数据加载成功");
            }
        }
        /// <summary>
        /// 保存工程数据到文件
        /// </summary>
        /// <param name="path"></param>
        public void SaveProject(string path)
        {
            bool canSave = true;

            //读取数据
            this.ToolsDic = ToolsFactory.ToolsDic;
            this.SerializeCheck();

            foreach (var item in ToolsDic.Values)
            {
                foreach (var item1 in item)
                {
                    item1.ClearTrainData();
                    item1.SerializeCheck();
                    if (SerializationFile.TrySerialize(item1) == false)
                    {
                        canSave = false;
                        throw new Exception(item1.Name + "数据序列化异常");
                    }
                }
            }

            if (canSave)
            {
                SerializationFile.SerializeObject(path, this);
            }
        }
Example #3
0
        private void buttonSaveAs_Click(object sender, EventArgs e)
        {
            SerializationFile sf       = new SerializationFile();
            string            fileName = DateTime.Now.ToString() + ".dat";

            fileName = fileName.Replace(':', '_');
            sf.SaveFile(_canvas, fileName);
        }
Example #4
0
        public void ReadSetting()
        {
            UserSetting setting = SerializationFile.DeserializeObject(UserDataPath) as UserSetting;

            if (setting != null)
            {
                //setting = new UserSetting();
                Instance = setting;
            }
            //Instance = setting;
        }
Example #5
0
 public void SaveSetting()
 {
     if (projectPath == projectPathInit)
     {
         projectPath = null;     //保存projectPath为null,当使用时调用ProjectPath返回projectPathInit值。
     }
     if (SerializationFile.TrySerialize(Instance))
     {
         try
         {
             SerializationFile.SerializeObject(userDataPath, Instance);
         }
         catch (Exception)
         {
             //Util.WriteLog(this.GetType(), ex);
             Util.Notify(Level.Err, "用户设置保存失败");
         }
     }
 }
Example #6
0
        private void Form1_Load(object sender, EventArgs e)
        {
            _canvas = Canvas.getInstance(pictureBox.Width, pictureBox.Height, Color.Black, 1);
            SerializationFile sf = new SerializationFile();

            sf.LoadFile(_canvas);
            _canvas.Bitmap            = new Bitmap(pictureBox.Width, pictureBox.Height);
            _canvas.PictureBoxHeight  = pictureBox.Height;
            _canvas.PictureBoxWidth   = pictureBox.Width;
            _pictureBoxMouseMove      = new PictureBoxMouseMoveDraw();
            checkBoxClockwise.Enabled = false;
            _figuresControls          = new List <Control>()
            {
                buttonBrush,
                buttonLine,
                buttonCircle,
                buttonEllipse,
                buttonIsoscalesTriangle,
                buttonRectangularTriangle,
                buttonSquare,
                buttonRectangle,
                buttonRegularPolygon,
                trackBarPointsAmount,
                trackBarWidth,
                buttonColor
            };

            _figuresControls.ForEach(i => i.Enabled = false);


            if (_canvas.Figures.Count > 0)
            {
                _canvas.DrawAll();
            }
            pictureBox.Image = _canvas.Bitmap;

            _canvas.Clockwise = true;
        }
Example #7
0
 public void Write(T xml)
 {
     SerializationFile.SerializeObject(xml, _fileName);
 }
Example #8
0
 public T Read()
 {
     return(SerializationFile.DeSerializeObject <T>(_fileName));
 }
Example #9
0
        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
            SerializationFile sf = new SerializationFile();

            sf.SaveFile(_canvas, "Figures.dat");
        }