예제 #1
0
        public void FileLoad()
        {
            OpenFileDialog dialog = new OpenFileDialog();

            dialog.Filter     = "kurs files (*.kurs)|*.kurs|dat files (*.dat)|*.dat";
            dialog.DefaultExt = "kurs";
            dialog.FileName   = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);

            if (dialog.ShowDialog() == true)
            {
                var path = dialog.FileName;

                using (FileStream fs = new FileStream(path, FileMode.Open))
                {
                    BinaryFormatter formatter = new BinaryFormatter();

                    WorkAreaSerialization ser = formatter.Deserialize(fs) as WorkAreaSerialization;

                    workArea.Load(ser);
                }
            }
        }
        public void Load(WorkAreaSerialization ser)
        {
            #region Clear

            ConnectionList.Clear();
            GateList.Clear();

            InputPins.Clear();
            OutputPins.Clear();

            SelectedInputPin  = null;
            SelectedOutputPin = null;

            #endregion

            foreach (WorkAreaSerialization.GateModelWithCoordinates g in ser.GateList)
            {
                AddGate(new GateViewModelWithCoordinates(new GateViewModel(g.gate), g.X, g.Y));
            }

            GatesLoaded();

            RestoreConnections();
        }