private void menuOpen_Click(object sender, RoutedEventArgs e)
 {
     if (Program.OpenProject())
     {
         if (!ViewOpenCurrentProjectInWindow())
         {
             WindowMsgError windowError = new WindowMsgError("Ошибка", "Ошибка открытия проекта");
         }
     }
 }
Exemplo n.º 2
0
        //реализовано
        public static bool OpenProject(string path = "")
        {
            if (path == "")
            {
                Microsoft.Win32.OpenFileDialog openDlg = new Microsoft.Win32.OpenFileDialog();

                #region SettingOpenFileDialog

                openDlg.InitialDirectory = PathFolder;
                openDlg.Title            = "Загрузка файла";
                openDlg.FileName         = "";
                openDlg.DefaultExt       = ".epp";
                openDlg.Filter           = "Evacuation Plan Project (.epp)|*.epp";

                #endregion

                if ((bool)openDlg.ShowDialog() != true)
                {
                    return(false);
                }
                PathProject = openDlg.FileName;
                path        = PathProject;
            }

            if (File.Exists(path))
            {
                PathProject = path;

                using (FileStream fs = new FileStream(path, FileMode.Open))
                {
                    using (XmlTextReader xmlIn = new XmlTextReader(fs))
                    {
                        try
                        {
                            CurrentProject = new Project(xmlIn);
                        }
                        catch
                        {
                            WindowMsgError windowError = new WindowMsgError("Ошибка при открытии проекта", "Неверный формат файла");
                            windowError.ShowDialog();
                            return(false);
                        }
                    }
                }

                return(true);
            }
            else
            {
                WindowMsgError errorFileNotFound = new WindowMsgError("Ошибка при открытии проекта", "Неверный путь к тесту");
                errorFileNotFound.ShowDialog();
                return(false);
            }
        }
        private void menuExport_Click(object sender, RoutedEventArgs e)
        {
            //из интернета

            #region InternetVersion


            Rect   bounds = VisualTreeHelper.GetDescendantBounds(myCanvasWork);
            double dpi    = 96d * 3;


            RenderTargetBitmap rtb = new RenderTargetBitmap((int)bounds.Width * 3, (int)bounds.Height * 3, dpi, dpi, System.Windows.Media.PixelFormats.Default);


            DrawingVisual dv = new DrawingVisual();
            using (DrawingContext dc = dv.RenderOpen())
            {
                VisualBrush vb = new VisualBrush(myCanvasWork);
                dc.DrawRectangle(vb, null, new Rect(new Point(), bounds.Size));
            }

            rtb.Render(dv);
            //cохранение в файл
            PngBitmapEncoder png = new PngBitmapEncoder();
            png.Frames.Add(BitmapFrame.Create(rtb));

            #region SaveDialog

            //настройка и вызов SaveDialog
            Microsoft.Win32.SaveFileDialog saveDlg = new Microsoft.Win32.SaveFileDialog();
            saveDlg.InitialDirectory = Program.PathFolder;
            saveDlg.FileName         = Program.CurrentProject.Name + "ExportImage";
            saveDlg.Title            = "Создание нового проекта";
            saveDlg.DefaultExt       = ".png";
            saveDlg.Filter           = "Portable Network Graphics (.png)|*.png";

            if ((bool)saveDlg.ShowDialog() == true)
            {
                using (Stream stm = File.Create(saveDlg.FileName))
                {
                    png.Save(stm);
                }
            }
            else
            {
                WindowMsgError errorWindow = new WindowMsgError("Ошибка экспорта", "Изображение не сохранено");
            }

            #endregion



            #endregion
        }
        //-----------------------------------------------------------------

        private void menuNew_Click(object sender, RoutedEventArgs e)
        {
            //тест
            WindowCreateProject createProjectWinsow = new WindowCreateProject();

            if (createProjectWinsow.ShowDialog() == true)
            {
                if (!ViewOpenCurrentProjectInWindow())
                {
                    WindowMsgError windowError = new WindowMsgError("Ошибка", "Ошибка создания проекта");
                }
            }
        }
Exemplo n.º 5
0
        //реализовано
        public static bool NewProject(string Name)
        {
            Microsoft.Win32.SaveFileDialog createDlg = new Microsoft.Win32.SaveFileDialog();

            #region SettingSaveFileDialog

            createDlg.InitialDirectory = PathFolder;
            createDlg.FileName         = Name;
            createDlg.Title            = "Создание нового проекта";
            createDlg.DefaultExt       = ".epp";
            createDlg.Filter           = "Evacuation Plan Project (.epp)|*.epp";

            #endregion

            if ((bool)createDlg.ShowDialog())
            {
                //создание файла на диске
                #region CreateFileOnDisk
                try
                {
                    using (FileStream fs = new FileStream(createDlg.FileName, FileMode.Create))
                    {
                        using (XmlTextWriter xmlOut = new XmlTextWriter(fs, Encoding.Unicode))
                        {
                            Project newProject = new Project(Name);
                            newProject.ListBuildObject.Add(new LineWall("Стена", new Point(10, 10), new Point(100, 100)));
                            newProject.SaveToFile(xmlOut);
                        }
                    }
                }
                catch (Exception)
                {
                    WindowMsgError errorFileNotExist = new WindowMsgError("Ошибка", "Тест не создан");
                    errorFileNotExist.ShowDialog();
                    return(false);
                }

                #endregion

                return(OpenProject(createDlg.FileName));
            }

            return(false);
        }
Exemplo n.º 6
0
        //реализовано
        public static bool SaveOrSaveAsProject(string path = "")
        {
            //false если save
            bool saveOrSaveAs = false;

            if (path == "")
            {
                if (CurrentProject != null)
                {
                    Microsoft.Win32.SaveFileDialog saveDlg = new Microsoft.Win32.SaveFileDialog();

                    #region SettingSaveFileDialog

                    saveDlg.InitialDirectory = PathFolder;
                    saveDlg.FileName         = CurrentProject.Name;
                    saveDlg.Title            = "Создание нового проекта";
                    saveDlg.DefaultExt       = ".epp";
                    saveDlg.Filter           = "Evacuation Plan Project (.epp)|*.epp";

                    #endregion

                    if ((bool)saveDlg.ShowDialog() != true)
                    {
                        return(false);
                    }

                    PathProject  = saveDlg.FileName;
                    path         = PathProject;
                    saveOrSaveAs = true;
                }
            }

            if (saveOrSaveAs || File.Exists(path))
            {
                PathProject = path;

                //сохранение проекта на диске
                #region CreateProjectOnDisk
                try
                {
                    using (FileStream fs = new FileStream(path, FileMode.Create))
                    {
                        using (XmlTextWriter xmlOut = new XmlTextWriter(fs, Encoding.Unicode))
                        {
                            CurrentProject.SaveToFile(xmlOut);
                        }
                    }
                }
                catch (Exception)
                {
                    WindowMsgError errorFileNotExist = new WindowMsgError("Ошибка", "Проект не создан");
                    errorFileNotExist.ShowDialog();
                    return(false);
                }

                #endregion

                return(true);
            }

            return(false);
        }