示例#1
0
        public void openProject(Stream stream)
        {
            if (stream.Length == 0)
            {
                return;
            }
            IFormatter formatter = new BinaryFormatter();
            My_Picture pict      = (My_Picture)formatter.Deserialize(stream);

            info = pict.info;
            stream.Close();

            if ((info != null) && (info.IsCorrect() == true))
            {
                foreach (My_Figure fig in pict.FigureList)
                {
                    fig.Core = core;

                    if (fig is My_Port)
                    {
                        (fig as My_Port).TextLabel.Core = core;
                    }
                }
                pict.core       = core;
                this.figureList = pict.FigureList;
            }
            else
            {
                if (info != null)
                {
                    core.Picture.openVHDLFile(info.VHDLFileName, info.Entity.name);
                }
            }

            if (core != null)
            {
                core.History.ClearHistory();
                core.History.add(this);
                core.History.SetAsSaved();
            }
        }