Exemple #1
0
        private void Project_EnableUnity(VCProject project, bool excluded)
        {
            if (project == null)
            {
                return;
            }

            string config = Connect.GetActiveConfigString(project.Object as Project);

            UnityManager um = new UnityManager(project);

            um.LoadUnities();

            VCFilter unityfilter = um.Filter.GetVCFilter();

            if (unityfilter == null || um.Unities.Count == 0)
            {
                return;
            }

            foreach (VCFile file in project.Files as IVCCollection)
            {
                if (file.Extension.ToLower() == ".cpp")
                {
                    if (file.Parent == unityfilter)
                    {
                        Connect.SetExcludedFromBuild(file, config, !excluded);
                    }
                    else
                    {
                        Connect.SetExcludedFromBuild(file, config, excluded && (um.GetCppInUnity(file.RelativePath) != null));
                    }
                }
            }
        }
Exemple #2
0
        private void Item_RemoveFromUnity()
        {
            if (this.SelectedCppFile == null)
            {
                return;
            }

            UnityManager um = new UnityManager(this.ActiveVCProject);

            um.LoadUnities();

            Cpp cpp = um.GetCppInUnity(this.SelectedCppFile.RelativePath);

            if (cpp != null)
            {
                cpp.Unity.Cpps.Remove(cpp.Name);
                cpp.Unity.Save(this.ActiveVCProject.ProjectDirectory, um.Filter.Path, Connect.GetPCH(um.VCProject, um.VCConfig));

                Connect.SetExcludedFromBuild(this.SelectedCppFile, Connect.GetActiveConfigString(Connect.GetProject(this.SelectedCppFile)), false);
            }
        }
Exemple #3
0
        private void Project_ExportUnity(VCProject project, XmlElement xParent)
        {
            if (project == null)
            {
                return;
            }

            UnityManager um = new UnityManager(project);

            um.LoadUnities();

            VCFilter unityfilter = um.Filter.GetVCFilter();

            if (unityfilter == null || um.Unities.Count == 0)
            {
                return;
            }

            XmlElement xProject = Utils.AddXmlElement(xParent, "Project");

            Utils.AddXmlAttribute(xProject, "Name", project.Name);
            Utils.AddXmlAttribute(xProject, "Path", project.ProjectFile);
            Utils.AddXmlAttribute(xProject, "UnityFilterName", um.Filter.Name);
            Utils.AddXmlAttribute(xProject, "UnityFilterPath", um.Filter.Path);

            foreach (Unity unity in um.Unities.Values)
            {
                XmlElement xUnity = Utils.AddXmlElement(xProject, "Unity");
                Utils.AddXmlAttribute(xUnity, "Name", unity.Name);

                foreach (Cpp cpp in unity.Cpps.Values)
                {
                    XmlElement xCpp = Utils.AddXmlElement(xUnity, "Cpp");
                    Utils.AddXmlAttribute(xCpp, "Name", cpp.Name);
                    Utils.AddXmlAttribute(xCpp, "Condition", cpp.Condition);
                }
            }
        }
Exemple #4
0
        private void Project_ExportUnity(VCProject project, XmlElement xParent)
        {
            if (project == null) return;

            UnityManager um = new UnityManager(project);
            um.LoadUnities();

            VCFilter unityfilter = um.Filter.GetVCFilter();
            if (unityfilter == null || um.Unities.Count == 0) return;

            XmlElement xProject = Utils.AddXmlElement(xParent, "Project");
            Utils.AddXmlAttribute(xProject, "Name", project.Name);
            Utils.AddXmlAttribute(xProject, "Path", project.ProjectFile);
            Utils.AddXmlAttribute(xProject, "UnityFilterName", um.Filter.Name);
            Utils.AddXmlAttribute(xProject, "UnityFilterPath", um.Filter.Path);

            foreach (Unity unity in um.Unities.Values)
            {
                XmlElement xUnity = Utils.AddXmlElement(xProject, "Unity");
                Utils.AddXmlAttribute(xUnity, "Name", unity.Name);

                foreach (Cpp cpp in unity.Cpps.Values)
                {
                    XmlElement xCpp = Utils.AddXmlElement(xUnity, "Cpp");
                    Utils.AddXmlAttribute(xCpp, "Name", cpp.Name);
                    Utils.AddXmlAttribute(xCpp, "Condition", cpp.Condition);
                }
            }
        }
Exemple #5
0
        private void Project_EnableUnity(VCProject project, bool excluded)
        {
            if (project == null) return;

            string config = Connect.GetActiveConfigString(project.Object as Project);

            UnityManager um = new UnityManager(project);
            um.LoadUnities();

            VCFilter unityfilter = um.Filter.GetVCFilter();
            if (unityfilter == null || um.Unities.Count == 0) return;

            foreach (VCFile file in project.Files as IVCCollection)
            {
                if (file.Extension.ToLower() == ".cpp")
                {
                    if (file.Parent == unityfilter)
                    {
                        Connect.SetExcludedFromBuild(file, config, !excluded);
                    }
                    else
                    {
                        Connect.SetExcludedFromBuild(file, config, excluded && (um.GetCppInUnity(file.RelativePath) != null));
                    }
                }
            }
        }
Exemple #6
0
        private void Item_RemoveFromUnity()
        {
            if (this.SelectedCppFile == null) return;

            UnityManager um = new UnityManager(this.ActiveVCProject);
            um.LoadUnities();

            Cpp cpp = um.GetCppInUnity(this.SelectedCppFile.RelativePath);
            if (cpp != null)
            {
                cpp.Unity.Cpps.Remove(cpp.Name);
                cpp.Unity.Save(this.ActiveVCProject.ProjectDirectory, um.Filter.Path, Connect.GetPCH(um.VCProject, um.VCConfig));

                Connect.SetExcludedFromBuild(this.SelectedCppFile, Connect.GetActiveConfigString(Connect.GetProject(this.SelectedCppFile)), false);
            }
        }