예제 #1
0
        /// <summary>
        /// Загрузка папки решения с Xml документа
        /// </summary>
        /// <param name="parent"></param>
        /// <param name="folderElement"></param>
        /// <returns></returns>
        private static SolutionFolder LoadSolutionFolderFromXmlDocument(SolutionFolder parent, XmlNode folderElement, Solution sol)
        {
            string expanded = folderElement.Attributes["expanded"].InnerText;
            string path     = folderElement.Attributes["path"].InnerText;

            if ((string.IsNullOrEmpty(path) == false) && (path[0] == '\\'))
            {
                path = path.Substring(1);
            }
            path = System.IO.Path.Combine(parent.Path, path);
            SolutionFolder res = new SolutionFolder(path, parent)
            {
                Expanded = string.Equals(expanded, "True")
            };

            foreach (XmlNode node in folderElement.ChildNodes)
            {
                if (node.Name.Equals("SolutionFolder"))
                {
                    res.AddElement(LoadSolutionFolderFromXmlDocument(res, node, sol));
                }
                if (node.Name.Equals("Project"))
                {
                    res.AddElement(LoadProjectFromXmlDocument(res, node, sol));
                }
            }
            return(res);
        }
예제 #2
0
        private void itemNewSolutionFolder_Click(object sender, System.Windows.RoutedEventArgs e)
        {
            SolutionFolder folder = new SolutionFolder(System.IO.Path.Combine(RootFolder.Path, GenerateFileName("NewFolder")), this);

            folder.Save();
            rootFolder.AddElement(folder);
            Save();
            SchematixCore.Core.UpdateExplorerPanel();
            rootFolder.Expanded = true;
            folder.Rename();
        }
예제 #3
0
 /// <summary>
 /// Обработчик события добавления существующего проекта по-умолчанию
 /// </summary>
 /// <param name="parent"></param>
 protected void CustomAddExsistingProject(SolutionFolder parent)
 {
     Microsoft.Win32.OpenFileDialog ofd = new Microsoft.Win32.OpenFileDialog();
     ofd.Filter           = "Schematix Project File|*.proj";
     ofd.InitialDirectory = Path;
     ofd.CheckFileExists  = true;
     ofd.Multiselect      = false;
     if (ofd.ShowDialog() == true)
     {
         //Пользователь выбрал проект, который необходимо добавить в решение
         if (System.IO.File.Exists(ofd.FileName))
         {
             Project newProj = Project.LoadProjectFromXml(parent, ofd.FileName);
             parent.AddElement(newProj);
             Save();
             SchematixCore.Core.UpdateExplorerPanel();
         }
     }
 }