Ejemplo n.º 1
0
        GtkDesignInfo(DotNetProject project)
        {
            IExtendedDataItem item = (IExtendedDataItem)project;

            item.ExtendedProperties ["GtkDesignInfo"] = this;
            Project = project;
        }
        protected virtual void OnSaveOptions(OptionsData[] data)
        {
            IConfigurationTarget ce;
            string path;

            GetOwnerSolutionItem(this, out ce, out path);

            if (ce == null)
            {
                throw new InvalidOperationException("Options can't be saved.");
            }

            foreach (OptionsData d in data)
            {
                IExtendedDataItem edi = (IExtendedDataItem)ce.Configurations [d.Configuration];
                if (edi == null)
                {
                    continue;
                }
                UnitTestOptionsSet oset = (UnitTestOptionsSet)edi.ExtendedProperties ["UnitTestInformation"];
                if (oset == null)
                {
                    oset = new UnitTestOptionsSet();
                    edi.ExtendedProperties ["UnitTestInformation"] = oset;
                }

                UnitTestOptionsEntry te = oset.FindEntry(path);

                if (d.Options.Count > 0)
                {
                    if (te == null)
                    {
                        te      = new UnitTestOptionsEntry();
                        te.Path = path;
                        oset.Tests.Add(te);
                    }
                    te.Options.Clear();
                    te.Options.AddRange(d.Options);
                }
                else if (te != null)
                {
                    oset.Tests.Remove(te);
                }
            }

            ce.Save(new NullProgressMonitor());
        }
Ejemplo n.º 3
0
        public object ReadCombine(XmlReader reader)
        {
            DataItem data = (DataItem)Read(reader);

            // Both combine and SolutionFolder use the same element name, but the types are different
            if (data.Name == "Combine" && objectType == typeof(SolutionFolder))
            {
                data.Name = "SolutionFolder";
            }

            SolutionFolder    folder;
            IExtendedDataItem obj = (IExtendedDataItem)serializer.CreateInstance(objectType, data);
            Solution          sol = obj as Solution;

            if (sol != null)
            {
                folder = sol.RootFolder;
                sol.ConvertToFormat(MD1ProjectService.FileFormat, false);
                sol.FileName = serializer.SerializationContext.BaseFile;
                folder.ExtendedProperties ["FileName"] = serializer.SerializationContext.BaseFile;
            }
            else
            {
                folder = (SolutionFolder)obj;
                obj.ExtendedProperties ["FileName"] = serializer.SerializationContext.BaseFile;
            }

            // The folder entries must be added before deserializing the folder
            // since other folder members depend on it

            foreach (SolutionItem ce in entries)
            {
                folder.Items.Add(ce);
            }

            serializer.Deserialize(obj, data);

            if (sol != null)
            {
                CreateSolutionConfigurations(sol);
                LoadStartupMode(sol);
            }


            return(obj);
        }
Ejemplo n.º 4
0
 internal virtual object GetValue(object obj)
 {
     if (member != null)
     {
         FieldInfo field = member as FieldInfo;
         if (field != null)
         {
             return(field.GetValue(obj));
         }
         else
         {
             return(((PropertyInfo)member).GetValue(obj, null));
         }
     }
     else if (obj is IExtendedDataItem)
     {
         IExtendedDataItem eitem = (IExtendedDataItem)obj;
         if (initValue == null)
         {
             return(eitem.ExtendedProperties [Name]);
         }
         else
         {
             if (!eitem.ExtendedProperties.Contains(Name))
             {
                 return(initValue);
             }
             else
             {
                 return(eitem.ExtendedProperties [Name]);
             }
         }
     }
     else if (initValue != null)
     {
         return(initValue);
     }
     else
     {
         throw new InvalidOperationException("Invalid object property: " + obj.GetType() + "." + Name);
     }
 }
Ejemplo n.º 5
0
        public static GtkDesignInfo FromProject(Project project)
        {
            if (!(project is DotNetProject))
            {
                return(new GtkDesignInfo());
            }

            IExtendedDataItem item = (IExtendedDataItem)project;
            GtkDesignInfo     info = item.ExtendedProperties ["GtkDesignInfo"] as GtkDesignInfo;

            if (info == null)
            {
                info = new GtkDesignInfo((DotNetProject)project);
            }
            else
            {
                info.Project = (DotNetProject)project;
            }
            return(info);
        }
Ejemplo n.º 6
0
        public static void DisableProject(Project project)
        {
            if (HasDesignedObjects(project))
            {
                return;
            }

            GtkDesignInfo    info      = FromProject(project);
            StringCollection saveFiles = new StringCollection();

            saveFiles.AddRange(new string[] { info.ObjectsFile, info.SteticFile });
            info.CleanGtkFolder(saveFiles);
            project.Files.Remove(info.ObjectsFile);
            project.Files.Remove(info.SteticFile);
            IExtendedDataItem item = (IExtendedDataItem)project;

            item.ExtendedProperties.Remove("GtkDesignInfo");
            info.Dispose();
            ProjectNodeBuilder.OnSupportChanged(project);
        }
        protected virtual ICollection OnLoadOptions(string configuration)
        {
            IConfigurationTarget ce;
            string path;

            GetOwnerSolutionItem(this, out ce, out path);

            if (ce == null)
            {
                return(null);
            }

            IExtendedDataItem edi = (IExtendedDataItem)ce.Configurations [configuration];

            if (edi == null)
            {
                return(null);
            }

            UnitTestOptionsSet oset = (UnitTestOptionsSet)edi.ExtendedProperties ["UnitTestInformation"];

            if (oset == null)
            {
                return(null);
            }

            UnitTestOptionsEntry te = oset.FindEntry(path);

            if (te != null)
            {
                return(te.Options);
            }
            else
            {
                return(null);
            }
        }