diff options
author | Lluis Sanchez <lluis@novell.com> | 2009-08-21 04:25:17 +0400 |
---|---|---|
committer | Lluis Sanchez <lluis@novell.com> | 2009-08-21 04:25:17 +0400 |
commit | 89d868f334efad0fd44725e59c0abbe3486ba6e2 (patch) | |
tree | 68f572e751d6776e395cea0352ff8a7e29e1cc17 /extras/MonoDevelop.AddinAuthoring | |
parent | 9eafc93b2ec2a052d24c89a40a1c55c9f92f2b3d (diff) |
* gtk-gui/gui.stetic:
* MonoDevelop.AddinAuthoring.addin.xml:
* MonoDevelop.AddinAuthoring/AddinData.cs:
* MonoDevelop.AddinAuthoring/ExtensionDomain.cs:
* MonoDevelop.AddinAuthoring/RegistrySelector.cs:
* MonoDevelop.AddinAuthoring/SolutionAddinData.cs:
* MonoDevelop.AddinAuthoring/AddinFeatureWidget.cs:
* MonoDevelop.AddinAuthoring/AddinAuthoringService.cs:
* MonoDevelop.AddinAuthoring/RegistryExtensionNode.cs:
* MonoDevelop.AddinAuthoring/AddinProjectReference.cs:
* MonoDevelop.AddinAuthoring/ExtensionEditorWidget.cs:
* MonoDevelop.AddinAuthoring/SelectRepositoryDialog.cs:
* gtk-gui/MonoDevelop.AddinAuthoring.SelectRepositoryDialog.cs:
* gtk-gui/MonoDevelop.AddinAuthoring.AddinDescriptionWidget.cs:
* MonoDevelop.AddinAuthoring.NodeBuilders/AddinReferenceNodeBuilder.cs:
* MonoDevelop.AddinAuthoring.NodeBuilders/ReferencesFolderNodeBuilder.cs:
Ongoing work.
svn path=/trunk/monodevelop/; revision=140393
Diffstat (limited to 'extras/MonoDevelop.AddinAuthoring')
17 files changed, 242 insertions, 380 deletions
diff --git a/extras/MonoDevelop.AddinAuthoring/ChangeLog b/extras/MonoDevelop.AddinAuthoring/ChangeLog index 419893d3f9..865ba525e7 100644 --- a/extras/MonoDevelop.AddinAuthoring/ChangeLog +++ b/extras/MonoDevelop.AddinAuthoring/ChangeLog @@ -1,3 +1,23 @@ +2009-08-21 Lluis Sanchez Gual <lluis@novell.com> + + * gtk-gui/gui.stetic: + * MonoDevelop.AddinAuthoring.addin.xml: + * MonoDevelop.AddinAuthoring/AddinData.cs: + * MonoDevelop.AddinAuthoring/ExtensionDomain.cs: + * MonoDevelop.AddinAuthoring/RegistrySelector.cs: + * MonoDevelop.AddinAuthoring/SolutionAddinData.cs: + * MonoDevelop.AddinAuthoring/AddinFeatureWidget.cs: + * MonoDevelop.AddinAuthoring/AddinAuthoringService.cs: + * MonoDevelop.AddinAuthoring/RegistryExtensionNode.cs: + * MonoDevelop.AddinAuthoring/AddinProjectReference.cs: + * MonoDevelop.AddinAuthoring/ExtensionEditorWidget.cs: + * MonoDevelop.AddinAuthoring/SelectRepositoryDialog.cs: + * gtk-gui/MonoDevelop.AddinAuthoring.SelectRepositoryDialog.cs: + * gtk-gui/MonoDevelop.AddinAuthoring.AddinDescriptionWidget.cs: + * MonoDevelop.AddinAuthoring.NodeBuilders/AddinReferenceNodeBuilder.cs: + * MonoDevelop.AddinAuthoring.NodeBuilders/ReferencesFolderNodeBuilder.cs: + Ongoing work. + 2009-08-12 Lluis Sanchez Gual <lluis@novell.com> * AssemblyInfo.cs: diff --git a/extras/MonoDevelop.AddinAuthoring/MonoDevelop.AddinAuthoring.NodeBuilders/AddinReferenceNodeBuilder.cs b/extras/MonoDevelop.AddinAuthoring/MonoDevelop.AddinAuthoring.NodeBuilders/AddinReferenceNodeBuilder.cs index 46fb00d245..174d7e89cf 100644 --- a/extras/MonoDevelop.AddinAuthoring/MonoDevelop.AddinAuthoring.NodeBuilders/AddinReferenceNodeBuilder.cs +++ b/extras/MonoDevelop.AddinAuthoring/MonoDevelop.AddinAuthoring.NodeBuilders/AddinReferenceNodeBuilder.cs @@ -43,7 +43,7 @@ namespace MonoDevelop.AddinAuthoring public class AddinReferenceNodeBuilder: TypeNodeBuilder { public override Type NodeDataType { - get { return typeof(AddinDependency); } + get { return typeof(AddinProjectReference); } } public override Type CommandHandlerType { @@ -57,15 +57,15 @@ namespace MonoDevelop.AddinAuthoring public override string GetNodeName (ITreeNavigator thisNode, object dataObject) { - AddinDependency adep = (AddinDependency) dataObject; - return Addin.GetIdName (adep.FullAddinId); + AddinProjectReference adep = (AddinProjectReference) dataObject; + return Addin.GetIdName (adep.Reference); } public override void BuildNode (ITreeBuilder treeBuilder, object dataObject, ref string label, ref Pixbuf icon, ref Pixbuf closedIcon) { - AddinDependency adep = (AddinDependency) dataObject; - label = Addin.GetIdName (adep.FullAddinId); + AddinProjectReference adep = (AddinProjectReference) dataObject; + label = Addin.GetIdName (adep.Reference); icon = closedIcon = Context.GetIcon ("md-addin"); } } @@ -76,11 +76,11 @@ namespace MonoDevelop.AddinAuthoring { DotNetProject p = CurrentNode.GetParentDataItem (typeof(Project), true) as DotNetProject; AddinData data = AddinData.GetAddinData (p); - AddinDependency adep = (AddinDependency) CurrentNode.DataItem; + AddinProjectReference adep = (AddinProjectReference) CurrentNode.DataItem; - string q = AddinManager.CurrentLocalizer.GetString ("Are you sure you want to remove the reference to add-in '{0}'?", Addin.GetIdName (adep.FullAddinId)); + string q = AddinManager.CurrentLocalizer.GetString ("Are you sure you want to remove the reference to add-in '{0}'?", Addin.GetIdName (adep.Reference)); if (MessageService.Confirm (q, AlertButton.Remove)) { - AddinAuthoringService.RemoveReferences (data, new string[] { adep.FullAddinId }); + AddinAuthoringService.RemoveReferences (data, new string[] { adep.Reference }); } } } diff --git a/extras/MonoDevelop.AddinAuthoring/MonoDevelop.AddinAuthoring.NodeBuilders/ReferencesFolderNodeBuilder.cs b/extras/MonoDevelop.AddinAuthoring/MonoDevelop.AddinAuthoring.NodeBuilders/ReferencesFolderNodeBuilder.cs index 3804619dfb..74e2f46022 100644 --- a/extras/MonoDevelop.AddinAuthoring/MonoDevelop.AddinAuthoring.NodeBuilders/ReferencesFolderNodeBuilder.cs +++ b/extras/MonoDevelop.AddinAuthoring/MonoDevelop.AddinAuthoring.NodeBuilders/ReferencesFolderNodeBuilder.cs @@ -48,32 +48,6 @@ namespace MonoDevelop.AddinAuthoring public override Type CommandHandlerType { get { return typeof(ReferencesFolderCommandHandler); } } - - public override void BuildChildNodes (ITreeBuilder builder, object dataObject) - { - DotNetProject p = builder.GetParentDataItem (typeof(Project), false) as DotNetProject; - Console.WriteLine ("pp33:" + p); - if (p != null) { - AddinData data = AddinData.GetAddinData (p); - if (data != null) { - Console.WriteLine ("pp : " + data.CachedAddinManifest.MainModule.Dependencies.Count + " " + p.Name); - foreach (Dependency dep in data.CachedAddinManifest.MainModule.Dependencies) - builder.AddChild (dep); - } - } - } - - public override bool HasChildNodes (ITreeBuilder builder, object dataObject) - { - Console.WriteLine ("pp1:" + dataObject); - DotNetProject p = builder.GetParentDataItem (typeof(Project), false) as DotNetProject; - if (p != null) { - AddinData data = AddinData.GetAddinData (p); - if (data != null) - return data.CachedAddinManifest.MainModule.Dependencies.Count > 0; - } - return false; - } } class ReferencesFolderCommandHandler: NodeCommandHandler diff --git a/extras/MonoDevelop.AddinAuthoring/MonoDevelop.AddinAuthoring.addin.xml b/extras/MonoDevelop.AddinAuthoring/MonoDevelop.AddinAuthoring.addin.xml index d282074680..621c7af70c 100644 --- a/extras/MonoDevelop.AddinAuthoring/MonoDevelop.AddinAuthoring.addin.xml +++ b/extras/MonoDevelop.AddinAuthoring/MonoDevelop.AddinAuthoring.addin.xml @@ -34,7 +34,6 @@ <!-- Extensions --> <Extension path = "/MonoDevelop/AddinAuthoring/AddinRegistries"> - <Registry name="MonoDevelop" path="~/.config/MonoDevelop" /> </Extension> <Extension path = "/MonoDevelop/Ide/Commands"> @@ -130,4 +129,9 @@ <Extension path = "/MonoDevelop/Ide/TextEditorExtensions"> <Class class = "MonoDevelop.AddinAuthoring.CodeCompletion.CodeCompletionExtension" insertbefore="MonoDevelop.XmlEditor.XmlTextEditorExtension" /> </Extension> + + <Extension path = "/MonoDevelop/ProjectModel/ExtendedProperties"> + <ItemProperty class = "MonoDevelop.Projects.DotNetProject" + name = "ExtensionDomain" type = "System.String" external="false"/> + </Extension> </Addin> diff --git a/extras/MonoDevelop.AddinAuthoring/MonoDevelop.AddinAuthoring/AddinAuthoringService.cs b/extras/MonoDevelop.AddinAuthoring/MonoDevelop.AddinAuthoring/AddinAuthoringService.cs index 1d6010cc1a..ad54cef7e2 100644 --- a/extras/MonoDevelop.AddinAuthoring/MonoDevelop.AddinAuthoring/AddinAuthoringService.cs +++ b/extras/MonoDevelop.AddinAuthoring/MonoDevelop.AddinAuthoring/AddinAuthoringService.cs @@ -28,14 +28,16 @@ using System; using System.IO; using System.Collections.Generic; +using System.Xml; using Mono.Addins; using Mono.Addins.Description; +using Mono.Addins.Setup; using MonoDevelop.Core; using MonoDevelop.Core.ProgressMonitoring; using MonoDevelop.Ide.Gui; using MonoDevelop.Projects; using MonoDevelop.Core.Serialization; -using System.Xml; +using MonoDevelop.Projects.Formats.MSBuild; namespace MonoDevelop.AddinAuthoring { @@ -123,6 +125,8 @@ namespace MonoDevelop.AddinAuthoring yield return node; foreach (RegistryInfo node in config.Registries) yield return node; + foreach (Application app in SetupService.GetExtensibleApplications ()) + yield return new RegistryInfo (app); } public static void AddCustomRegistry (RegistryInfo reg) @@ -152,6 +156,8 @@ namespace MonoDevelop.AddinAuthoring FilePath fp = Path.GetFullPath (path); foreach (Environment.SpecialFolder sf in Enum.GetValues (typeof(Environment.SpecialFolder))) { FilePath folderPath = Environment.GetFolderPath (sf); + if (folderPath.IsNullOrEmpty) + continue; if (fp.IsChildPathOf (folderPath)) return "[" + sf.ToString () + "]" + Path.DirectorySeparatorChar + fp.ToRelative (folderPath); } @@ -270,8 +276,8 @@ namespace MonoDevelop.AddinAuthoring { foreach (DotNetProject dnp in sol.GetAllSolutionItems<DotNetProject> ()) { AddinData data = AddinData.GetAddinData (dnp); - if (data != null && data.ExtendedApplication != null) - return data.ExtendedApplication; + if (data != null && data.ApplicationName != null) + return data.ApplicationName; } return null; } @@ -286,4 +292,15 @@ namespace MonoDevelop.AddinAuthoring get { return registries; } } } + + [Extension] + public class MonoAddinsMSBuildImportProvider: IMSBuildImportProvider + { + public IEnumerable<string> GetRequiredImports (SolutionEntityItem item) + { + DotNetProject project = item as DotNetProject; + if (project != null && project.GetAddinData () != null) + yield return @"$(MSBuildExtensionsPath)\Mono.Addins.targets"; + } + } } diff --git a/extras/MonoDevelop.AddinAuthoring/MonoDevelop.AddinAuthoring/AddinData.cs b/extras/MonoDevelop.AddinAuthoring/MonoDevelop.AddinAuthoring/AddinData.cs index 2d5c395d82..9bcfe9b200 100644 --- a/extras/MonoDevelop.AddinAuthoring/MonoDevelop.AddinAuthoring/AddinData.cs +++ b/extras/MonoDevelop.AddinAuthoring/MonoDevelop.AddinAuthoring/AddinData.cs @@ -45,7 +45,7 @@ namespace MonoDevelop.AddinAuthoring AddinRegistry registry; string lastOutputPath; bool isRoot; - ExtensionDomain domainData; + bool updating; AddinDescription manifest; AddinDescription compiledManifest; @@ -76,12 +76,8 @@ namespace MonoDevelop.AddinAuthoring watcher.EnableRaisingEvents = true; lastOutputPath = Path.GetDirectoryName (Project.GetOutputFileName (Project.DefaultConfigurationId)); - domainData = project.Items.GetAll<ExtensionDomain> ().FirstOrDefault (); - if (domainData == null) { - domainData = new ExtensionDomain (); - project.Items.Add (domainData); - } else if (!string.IsNullOrEmpty (domainData.Application)) { - project.ParentSolution.GetAddinData ().SetTargetApplication (domainData.Application); + if (!string.IsNullOrEmpty (ApplicationName)) { + project.ParentSolution.GetAddinData ().ApplicationName = ApplicationName; } SyncRoot (); @@ -90,13 +86,15 @@ namespace MonoDevelop.AddinAuthoring project.ReferenceAddedToProject += ProjectReferenceAddedToProject; project.ReferenceRemovedFromProject += ProjectReferenceRemovedFromProject; } - + void ProjectReferenceRemovedFromProject (object sender, ProjectReferenceEventArgs e) { } void ProjectReferenceAddedToProject (object sender, ProjectReferenceEventArgs e) { + if (updating) + return; if (e.ProjectReference.ReferenceType == ReferenceType.Project) { DotNetProject rp = project.ParentSolution.FindProjectByName (e.ProjectReference.Reference) as DotNetProject; if (rp != null) { @@ -138,8 +136,8 @@ namespace MonoDevelop.AddinAuthoring AddinData data = project.ExtendedProperties ["MonoDevelop.AddinAuthoring"] as AddinData; if (data == null) { - ExtensionDomain domainData = project.Items.GetAll<ExtensionDomain> ().FirstOrDefault (); - if (domainData != null) + string domainData = project.ExtendedProperties ["ExtensionDomain"] as string; + if (!string.IsNullOrEmpty (domainData)) data = new AddinData (project); } return data; @@ -184,9 +182,7 @@ namespace MonoDevelop.AddinAuthoring public AddinDescription LoadAddinManifest () { - Console.WriteLine ("ppl:" + AddinManifestFileName); AddinDescription d = AddinRegistry.ReadAddinManifestFile (AddinManifestFileName); - Console.WriteLine ("ppl2:" + d); return d; } @@ -208,48 +204,43 @@ namespace MonoDevelop.AddinAuthoring public AddinDescription CompiledAddinManifest { get { if (compiledManifest == null) { - if (File.Exists (project.GetOutputFileName (project.DefaultConfigurationId))) - compiledManifest = registry.GetAddinDescription (null, project.GetOutputFileName (project.DefaultConfigurationId)); + if (File.Exists (project.GetOutputFileName (project.DefaultConfigurationId))) { + compiledManifest = registry.GetAddinDescription (new ConsoleProgressStatus (false), project.GetOutputFileName (project.DefaultConfigurationId)); + } } return compiledManifest; } } - public string ExtendedApplication { - get { return domainData.Application; } + public string ApplicationName { + get { return project.ExtendedProperties ["ExtensionDomain"] as string; } set { - domainData.Application = value; + if (string.IsNullOrEmpty (value)) + project.ExtendedProperties.Remove ("ExtensionDomain"); + else + project.ExtendedProperties ["ExtensionDomain"] = value; + project.ParentSolution.GetAddinData ().ApplicationName = value; NotifyChanged (true); } } - + public AddinRegistry AddinRegistry { get { if (registry != null) return registry; return SetRegistry (); } -/* set { - registry = value; - RegistryPath = registry.RegistryPath; - } -*/ } + } AddinRegistry SetRegistry () { - if (ExtendedApplication == null) + if (ApplicationName == null) return registry = AddinRegistry.GetGlobalRegistry (); else { - if (Project.ParentSolution != null) { - registry = Project.ParentSolution.GetAddinRegistry (); - } - else if (isRoot) { - string outDir = Path.GetDirectoryName (Project.GetOutputFileName (Project.DefaultConfigurationId)); - registry = new AddinRegistry (outDir, outDir); - } else { - registry = Mono.Addins.Setup.SetupService.GetRegistryForPackage (ExtendedApplication); - } - return registry; + if (Project.ParentSolution != null) + return Project.ParentSolution.GetAddinRegistry (); + else + throw new InvalidOperationException (); } } @@ -292,7 +283,6 @@ namespace MonoDevelop.AddinAuthoring void SyncReferences () { - Console.WriteLine ("pp SyncReferences:"); bool changed = false; Hashtable addinRefs = new Hashtable (); foreach (AddinDependency adep in CachedAddinManifest.MainModule.Dependencies) { @@ -314,11 +304,16 @@ namespace MonoDevelop.AddinAuthoring } } if (!found) { - DotNetProject p = FindProjectImplementingAddin (adep.FullAddinId); - if (p != null) - Project.References.Add (new ProjectReference (p)); - else - Project.References.Add (new AddinProjectReference (adep.FullAddinId)); + try { + updating = true; + DotNetProject p = FindProjectImplementingAddin (adep.FullAddinId); + if (p != null) + Project.References.Add (new ProjectReference (p)); + else + Project.References.Add (new AddinProjectReference (adep.FullAddinId)); + } finally { + updating = false; + } changed = true; } addinRefs [adep.FullAddinId] = adep; diff --git a/extras/MonoDevelop.AddinAuthoring/MonoDevelop.AddinAuthoring/AddinFeatureWidget.cs b/extras/MonoDevelop.AddinAuthoring/MonoDevelop.AddinAuthoring/AddinFeatureWidget.cs index 39aba2a519..aab246a395 100644 --- a/extras/MonoDevelop.AddinAuthoring/MonoDevelop.AddinAuthoring/AddinFeatureWidget.cs +++ b/extras/MonoDevelop.AddinAuthoring/MonoDevelop.AddinAuthoring/AddinFeatureWidget.cs @@ -41,10 +41,15 @@ namespace MonoDevelop.AddinAuthoring else { if (solution.HasAddinRoot ()) boxRepo.Visible = false; - else { - RegistryInfo app = solution.GetAddinData().ExternalRegistryInfo; + else if (solution.GetAddinData() != null) { + Console.WriteLine ("pp1:" + solution); + SolutionAddinData sdata = solution.GetAddinData(); + Console.WriteLine ("pp2:" + sdata); + Console.WriteLine ("pp21:" + sdata.ApplicationName); + string app = sdata.ApplicationName; + Console.WriteLine ("pp3:"); if (app != null) { - regSelector.RegistryInfo = app; + regSelector.ApplicationName = app; regSelector.Sensitive = false; } } @@ -54,6 +59,7 @@ namespace MonoDevelop.AddinAuthoring entryId.Text = project.Name; } else { if (project.CompileTarget != CompileTarget.Library) { + // Editing options of an exe labelExtensibleApp.Visible = data == null; boxRepo.Visible = false; boxLibraryType.Visible = false; @@ -61,16 +67,20 @@ namespace MonoDevelop.AddinAuthoring isRoot = true; } else { + // Editing options of an add-in or extensible library labelExtensibleApp.Visible = false; if (data != null && data.CachedAddinManifest != null && data.CachedAddinManifest.IsRoot) radiobuttonLibrary.Active = true; else radiobuttonAddin.Active = true; isRoot = radiobuttonLibrary.Active; + + // There is a root in the solution. The target registry can't be selected. if (solution.HasAddinRoot ()) boxRepo.Visible = false; } if (data != null) { + regSelector.ApplicationName = data.ApplicationName; ((Gtk.Container)tableNames.Parent).Remove (tableNames); ((Gtk.Container)labelAddinInfo.Parent).Remove (labelAddinInfo); } else { @@ -90,34 +100,13 @@ namespace MonoDevelop.AddinAuthoring UpdateControls (); } - protected virtual void OnButtonBrowseClicked(object sender, System.EventArgs e) - { - -/* FolderDialog fd = new FolderDialog (AddinManager.CurrentLocalizer.GetString ("Select Repository")); - - try { - fd.SetFilename (Environment.GetFolderPath (Environment.SpecialFolder.Personal)); - - int response = fd.Run (); - - if (response == (int) ResponseType.Ok) { - paths.Add (fd.Filename); - UpdatePaths (); - comboRepos.Active = paths.Count - 1; - } - } finally { - fd.Destroy (); - } - */ - } - void UpdateControls () { boxRepo.Sensitive = !isRoot; } - public RegistryInfo RegistryInfo { - get { return isRoot ? null : regSelector.RegistryInfo; } + public string ApplicationName { + get { return isRoot ? null : regSelector.ApplicationName; } } public bool HasRegistryInfo { @@ -142,7 +131,7 @@ namespace MonoDevelop.AddinAuthoring public string Validate () { - if (!isRoot && RegistryInfo == null && boxRepo.Visible) + if (!isRoot && ApplicationName == null && boxRepo.Visible) return AddinManager.CurrentLocalizer.GetString ("Please select the application to be extended by this add-in."); else return null; @@ -184,8 +173,11 @@ namespace MonoDevelop.AddinAuthoring protected virtual void OnRegSelectorChanged (object sender, System.EventArgs e) { - RegistryInfo ri = regSelector.RegistryInfo; - AddinRegistry reg = new AddinRegistry (ri.RegistryPath, ri.ApplicationPath); + string app = regSelector.ApplicationName; + AddinRegistry reg = Mono.Addins.Setup.SetupService.GetRegistryForApplication (app); + if (reg == null) + return; + Hashtable names = new Hashtable (); foreach (Addin ad in reg.GetAddinRoots ()) { if (ad.Namespace.Length > 0) @@ -264,7 +256,7 @@ namespace MonoDevelop.AddinAuthoring DotNetProject project = (DotNetProject) entry; if (editor.HasRegistryInfo) - project.ParentSolution.GetAddinData().ExternalRegistryInfo = editor.RegistryInfo; + project.GetAddinData ().ApplicationName = editor.ApplicationName; AddinDescription desc = data.LoadAddinManifest (); if (editor.AddinId.Length > 0) diff --git a/extras/MonoDevelop.AddinAuthoring/MonoDevelop.AddinAuthoring/AddinProjectReference.cs b/extras/MonoDevelop.AddinAuthoring/MonoDevelop.AddinAuthoring/AddinProjectReference.cs index 9cac83cbe3..7e30de404a 100644 --- a/extras/MonoDevelop.AddinAuthoring/MonoDevelop.AddinAuthoring/AddinProjectReference.cs +++ b/extras/MonoDevelop.AddinAuthoring/MonoDevelop.AddinAuthoring/AddinProjectReference.cs @@ -37,6 +37,12 @@ namespace MonoDevelop.AddinAuthoring [DataItem ("AddinReference")] public class AddinProjectReference: ProjectReference { + [ItemProperty ("Include")] + internal string Include { + get { return Reference; } + set { InitCustomReference (value); } + } + public AddinProjectReference () { } diff --git a/extras/MonoDevelop.AddinAuthoring/MonoDevelop.AddinAuthoring/ExtensionDomain.cs b/extras/MonoDevelop.AddinAuthoring/MonoDevelop.AddinAuthoring/ExtensionDomain.cs index 8ddbcd000d..dfaf3c95d0 100644 --- a/extras/MonoDevelop.AddinAuthoring/MonoDevelop.AddinAuthoring/ExtensionDomain.cs +++ b/extras/MonoDevelop.AddinAuthoring/MonoDevelop.AddinAuthoring/ExtensionDomain.cs @@ -35,8 +35,8 @@ namespace MonoDevelop.AddinAuthoring [ItemProperty("Include")] public string Application { get; set; } - [ItemProperty("IsRoot")] - public bool IsRoot { get; set; } + //[ItemProperty("IsRoot", DefaultValue=false)] + //public bool IsRoot { get; set; } public ExtensionDomain() { diff --git a/extras/MonoDevelop.AddinAuthoring/MonoDevelop.AddinAuthoring/ExtensionEditorWidget.cs b/extras/MonoDevelop.AddinAuthoring/MonoDevelop.AddinAuthoring/ExtensionEditorWidget.cs index 418f664b50..d82920b58e 100644 --- a/extras/MonoDevelop.AddinAuthoring/MonoDevelop.AddinAuthoring/ExtensionEditorWidget.cs +++ b/extras/MonoDevelop.AddinAuthoring/MonoDevelop.AddinAuthoring/ExtensionEditorWidget.cs @@ -1,6 +1,7 @@ using System; using System.Collections; +using System.Collections.Generic; using Mono.Addins; using Mono.Addins.Description; using Gtk; @@ -84,12 +85,16 @@ namespace MonoDevelop.AddinAuthoring AddinDescription CompiledAddinDesc { get { - if (compiledDesc == null) { - if (System.IO.File.Exists (data.Project.GetOutputFileName (data.Project.DefaultConfigurationId))) - compiledDesc = data.AddinRegistry.GetAddinDescription (new Mono.Addins.ConsoleProgressStatus (false), data.Project.GetOutputFileName (data.Project.DefaultConfigurationId)); - } - return compiledDesc; + return data.CompiledAddinManifest; + } + } + + bool CheckCompiledAddinDesc () + { + if (CompiledAddinDesc == null) { + } + return true; } public void SetData (AddinDescription desc, AddinData data) @@ -103,8 +108,8 @@ namespace MonoDevelop.AddinAuthoring { state.Save (); store.Clear (); - ArrayList deps = new ArrayList (); - deps.Add (CompiledAddinDesc); + List<AddinDescription> deps = new List<AddinDescription> (); + deps.Add (adesc); foreach (Dependency dep in adesc.MainModule.Dependencies) { AddinDependency adep = dep as AddinDependency; @@ -227,7 +232,6 @@ namespace MonoDevelop.AddinAuthoring void CreateNode (TreeIter it, Extension ext, ExtensionNodeDescription node, ExtensionNodeType nt) { ExtensionNodeDescription newNode = new ExtensionNodeDescription (nt.NodeName); - string ppath = ext != null ? ext.Path : node.GetParentPath () + "/" + node.Id; if (ext != null) { if (ext.Parent == null) @@ -242,7 +246,7 @@ namespace MonoDevelop.AddinAuthoring NotifyChanged (); } - void AddExtension (Extension ext, ArrayList deps) + void AddExtension (Extension ext, IEnumerable<AddinDescription> deps) { ExtensionPoint extep = null; foreach (AddinDescription desc in deps) { @@ -299,7 +303,7 @@ namespace MonoDevelop.AddinAuthoring } while (store.IterNext (ref it)); } - if (adesc != CompiledAddinDesc) { + if (adesc != this.adesc) { string txt = GLib.Markup.EscapeText (adesc.Name); return store.AppendValues (txt, adesc.AddinId, null, null, pixAddin, true, null); } else { @@ -323,7 +327,7 @@ namespace MonoDevelop.AddinAuthoring protected virtual void OnButtonAddClicked(object sender, System.EventArgs e) { - ExtensionSelectorDialog dlg = new ExtensionSelectorDialog (data.AddinRegistry, CompiledAddinDesc, CompiledAddinDesc.IsRoot, false); + ExtensionSelectorDialog dlg = new ExtensionSelectorDialog (data.AddinRegistry, adesc, adesc.IsRoot, false); if (dlg.Run () == (int) Gtk.ResponseType.Ok) { foreach (object ob in dlg.GetSelection ()) { AddinDescription desc = null; @@ -346,7 +350,7 @@ namespace MonoDevelop.AddinAuthoring Extension ext = new Extension (eext.Path + "/" + node.Id + path); adesc.MainModule.Extensions.Add (ext); } - if (!adesc.MainModule.DependsOnAddin (desc.AddinId)) + if (adesc.AddinId != desc.AddinId && !adesc.MainModule.DependsOnAddin (desc.AddinId)) adesc.MainModule.Dependencies.Add (new AddinDependency (desc.AddinId)); } NotifyChanged (); diff --git a/extras/MonoDevelop.AddinAuthoring/MonoDevelop.AddinAuthoring/RegistryExtensionNode.cs b/extras/MonoDevelop.AddinAuthoring/MonoDevelop.AddinAuthoring/RegistryExtensionNode.cs index a8e9baa386..f472f20290 100644 --- a/extras/MonoDevelop.AddinAuthoring/MonoDevelop.AddinAuthoring/RegistryExtensionNode.cs +++ b/extras/MonoDevelop.AddinAuthoring/MonoDevelop.AddinAuthoring/RegistryExtensionNode.cs @@ -31,46 +31,54 @@ using MonoDevelop.Core.Serialization; namespace MonoDevelop.AddinAuthoring { - [DataItem ("AddinRegistry")] - public class RegistryInfo: ExtensionNode + [DataItem("AddinRegistry")] + public class RegistryInfo : ExtensionNode { - [ItemProperty] - [NodeAttribute ("name", Required=true)] + [ItemProperty()] + [NodeAttribute("name", Required = true)] string name; - - [ItemProperty] - [NodeAttribute ("appPath", Required=true)] + + [ItemProperty()] + [NodeAttribute("appPath", Required = true)] string appPath; - - [ItemProperty] - [NodeAttribute ("regPath", Required=true)] + + [ItemProperty()] + [NodeAttribute("regPath", Required = true)] string regPath; - + + [ItemProperty()] + [NodeAttribute("description")] + string description; + + public RegistryInfo () + { + } + + public RegistryInfo (Mono.Addins.Setup.Application app) + { + name = app.Name; + description = app.Description; + regPath = app.Registry.RegistryPath; + } + public string ApplicationName { - get { - return name; - } - set { - name = value; - } + get { return name; } + set { name = value; } + } + + public string Description { + get { return description; } + set { description = value; } } public string ApplicationPath { - get { - return appPath; - } - set { - appPath = value != null ? AddinAuthoringService.NormalizeUserPath (value) : null; - } + get { return appPath; } + set { appPath = !string.IsNullOrEmpty (value) ? AddinAuthoringService.NormalizeUserPath (value) : null; } } public string RegistryPath { - get { - return regPath; - } - set { - regPath = value != null ? AddinAuthoringService.NormalizeRegistryPath (value) : null; - } + get { return regPath; } + set { regPath = !string.IsNullOrEmpty (value) ? AddinAuthoringService.NormalizeRegistryPath (value) : null; } } } } diff --git a/extras/MonoDevelop.AddinAuthoring/MonoDevelop.AddinAuthoring/RegistrySelector.cs b/extras/MonoDevelop.AddinAuthoring/MonoDevelop.AddinAuthoring/RegistrySelector.cs index d664b3f959..b4782a3a95 100644 --- a/extras/MonoDevelop.AddinAuthoring/MonoDevelop.AddinAuthoring/RegistrySelector.cs +++ b/extras/MonoDevelop.AddinAuthoring/MonoDevelop.AddinAuthoring/RegistrySelector.cs @@ -35,7 +35,7 @@ namespace MonoDevelop.AddinAuthoring [System.ComponentModel.ToolboxItem(true)] public partial class RegistrySelector : Gtk.Bin { - RegistryInfo regInfo; + string appName; public event EventHandler Changed; @@ -44,20 +44,20 @@ namespace MonoDevelop.AddinAuthoring this.Build(); } - public RegistryInfo RegistryInfo { - get { return regInfo; } + public string ApplicationName { + get { return appName; } set { - regInfo = value; + appName = value; UpdateLabel (); } } protected virtual void OnButtonBrowseClicked (object sender, System.EventArgs e) { - SelectRepositoryDialog dlg = new SelectRepositoryDialog (RegistryInfo); + SelectRepositoryDialog dlg = new SelectRepositoryDialog (appName); dlg.TransientFor = this.Toplevel as Gtk.Window; if (dlg.Run () == (int) Gtk.ResponseType.Ok) { - regInfo = dlg.RegistryInfo; + appName = dlg.SelectedApplication; UpdateLabel (); if (Changed != null) Changed (this, EventArgs.Empty); @@ -67,8 +67,8 @@ namespace MonoDevelop.AddinAuthoring void UpdateLabel () { - if (regInfo != null) - label.Text = regInfo.ApplicationName; + if (appName != null) + label.Text = appName; else label.Text = AddinManager.CurrentLocalizer.GetString ("(No selection)"); } diff --git a/extras/MonoDevelop.AddinAuthoring/MonoDevelop.AddinAuthoring/SelectRepositoryDialog.cs b/extras/MonoDevelop.AddinAuthoring/MonoDevelop.AddinAuthoring/SelectRepositoryDialog.cs index 1e459acfe0..4593d278b0 100644 --- a/extras/MonoDevelop.AddinAuthoring/MonoDevelop.AddinAuthoring/SelectRepositoryDialog.cs +++ b/extras/MonoDevelop.AddinAuthoring/MonoDevelop.AddinAuthoring/SelectRepositoryDialog.cs @@ -10,15 +10,16 @@ namespace MonoDevelop.AddinAuthoring { public partial class SelectRepositoryDialog : Gtk.Dialog { - TreeStore store; + ListStore store; TreeViewState state; - public SelectRepositoryDialog (RegistryInfo selection) + public SelectRepositoryDialog (string selection) { this.Build(); - store = new TreeStore (typeof(string), typeof(string), typeof(string), typeof(string), typeof(RegistryInfo)); - tree.AppendColumn ("", new CellRendererText (), "text", 3); + store = new ListStore (typeof(string), typeof(string)); + tree.AppendColumn (AddinManager.CurrentLocalizer.GetString ("Application"), new CellRendererText (), "text", 0); + tree.AppendColumn (AddinManager.CurrentLocalizer.GetString ("Description"), new CellRendererText (), "text", 1); tree.Model = store; state = new TreeViewState (tree, 0); @@ -29,7 +30,7 @@ namespace MonoDevelop.AddinAuthoring }; } - void Fill (RegistryInfo selection) + void Fill (string selection) { state.Save (); store.Clear (); @@ -37,23 +38,9 @@ namespace MonoDevelop.AddinAuthoring TreeIter selIter = TreeIter.Zero; foreach (RegistryInfo reg in AddinAuthoringService.GetRegistries ()) { - string[] startupFolders = AddinRegistry.GetRegisteredStartupFolders (reg.RegistryPath); - if (startupFolders.Length == 0) { - store.AppendValues (reg.RegistryPath, reg.RegistryPath, reg.ApplicationName, reg.ApplicationName, reg); - } - else if (startupFolders.Length == 1) { - TreeIter it = store.AppendValues (reg.RegistryPath, startupFolders [0], reg.ApplicationName, reg.ApplicationName, reg); - if (reg.RegistryPath == selection.RegistryPath) - selIter = it; - } - else { - TreeIter it = store.AppendValues (reg.RegistryPath, null, reg.ApplicationName, reg.ApplicationName, reg); - foreach (string sf in startupFolders) { - TreeIter fit = store.AppendValues (it, reg.RegistryPath, sf, sf, reg.ApplicationName, reg); - if (reg.RegistryPath == selection.RegistryPath && sf == selection.ApplicationPath) - selIter = fit; - } - } + TreeIter it = store.AppendValues (reg.ApplicationName, reg.Description); + if (reg.ApplicationName == selection) + selIter = it; } state.Load (); @@ -66,19 +53,11 @@ namespace MonoDevelop.AddinAuthoring UpdateButtons (); } - public RegistryInfo RegistryInfo { + public string SelectedApplication { get { TreeIter it; - if (tree.Selection.GetSelected (out it)) { - RegistryInfo info = new RegistryInfo (); - info.ApplicationName = (string) store.GetValue (it, 2); - info.RegistryPath = (string) store.GetValue (it, 0); - info.ApplicationPath = (string) store.GetValue (it, 1); - if (info.ApplicationPath == null) - return null; - else - return info; - } + if (tree.Selection.GetSelected (out it)) + return (string) store.GetValue (it, 0); else return null; } @@ -86,12 +65,13 @@ namespace MonoDevelop.AddinAuthoring void UpdateButtons () { - buttonOk.Sensitive = RegistryInfo != null; + buttonOk.Sensitive = SelectedApplication != null; } protected virtual void OnButtonAddClicked (object sender, System.EventArgs e) { - NewRegistryDialog dlg = new NewRegistryDialog (null); +/* NewRegistryDialog dlg = new NewRegistryDialog (null); + dlg.TransientFor = this; if (dlg.Run () == (int) Gtk.ResponseType.Ok) { RegistryInfo reg = new RegistryInfo (); reg.ApplicationName = dlg.ApplicationName; @@ -100,11 +80,11 @@ namespace MonoDevelop.AddinAuthoring Fill (null); } dlg.Destroy (); - } +*/ } protected virtual void OnButtonRemoveClicked (object sender, System.EventArgs e) { - string q = AddinManager.CurrentLocalizer.GetString ("Are you sure you want to remove this registry reference?"); +/* string q = AddinManager.CurrentLocalizer.GetString ("Are you sure you want to remove this registry reference?"); if (MessageService.Confirm (q, AlertButton.Remove)) { TreeIter it; tree.Selection.GetSelected (out it); @@ -112,6 +92,6 @@ namespace MonoDevelop.AddinAuthoring AddinAuthoringService.RemoveCustomRegistry (reg); Fill (null); } - } +*/ } } } diff --git a/extras/MonoDevelop.AddinAuthoring/MonoDevelop.AddinAuthoring/SolutionAddinData.cs b/extras/MonoDevelop.AddinAuthoring/MonoDevelop.AddinAuthoring/SolutionAddinData.cs index 4947fe6de3..ffba8b2efb 100644 --- a/extras/MonoDevelop.AddinAuthoring/MonoDevelop.AddinAuthoring/SolutionAddinData.cs +++ b/extras/MonoDevelop.AddinAuthoring/MonoDevelop.AddinAuthoring/SolutionAddinData.cs @@ -50,17 +50,20 @@ namespace MonoDevelop.AddinAuthoring get { return solution.BaseDirectory.Combine (".temp-addin-registry").Combine (IdeApp.Workspace.ActiveConfiguration); } } - public void SetTargetApplication (string appName) - { - if (regInfo != null && regInfo.ApplicationName == appName) - return; - RegistryInfo ri = solution.UserProperties.GetValue<RegistryInfo> ("MonoDevelop.AddinAuthoring.RegistryInfo"); - if (ri != null && ri.ApplicationName == appName) - ExternalRegistryInfo = ri; - else { - ri = new RegistryInfo (); - ri.ApplicationName = appName; - ExternalRegistryInfo = ri; + public string ApplicationName { + get { return regInfo.ApplicationName; } + set { + Console.WriteLine ("ppnn:"); + if (regInfo != null && regInfo.ApplicationName == value) + return; + RegistryInfo ri = solution.UserProperties.GetValue<RegistryInfo> ("MonoDevelop.AddinAuthoring.RegistryInfo"); + if (ri != null && ri.ApplicationName == value) + ExternalRegistryInfo = ri; + else { + ri = new RegistryInfo (); + ri.ApplicationName = value; + ExternalRegistryInfo = ri; + } } } @@ -96,7 +99,7 @@ namespace MonoDevelop.AddinAuthoring RegistryInfo ri = ExternalRegistryInfo; if (ri != null) { if (string.IsNullOrEmpty (ri.ApplicationPath) || string.IsNullOrEmpty (ri.RegistryPath)) - registry = SetupService.GetRegistryForPackage (ri.ApplicationName); + registry = SetupService.GetRegistryForApplication (ri.ApplicationName); else registry = new AddinRegistry (ri.RegistryPath, ri.ApplicationPath); } diff --git a/extras/MonoDevelop.AddinAuthoring/gtk-gui/MonoDevelop.AddinAuthoring.AddinDescriptionWidget.cs b/extras/MonoDevelop.AddinAuthoring/gtk-gui/MonoDevelop.AddinAuthoring.AddinDescriptionWidget.cs index 9b46de5169..0202056691 100644 --- a/extras/MonoDevelop.AddinAuthoring/gtk-gui/MonoDevelop.AddinAuthoring.AddinDescriptionWidget.cs +++ b/extras/MonoDevelop.AddinAuthoring/gtk-gui/MonoDevelop.AddinAuthoring.AddinDescriptionWidget.cs @@ -299,7 +299,7 @@ namespace MonoDevelop.AddinAuthoring { this.label15 = new Gtk.Label(); this.label15.Name = "label15"; this.label15.Xalign = 0F; - this.label15.Yalign = 1F; + this.label15.Yalign = 0F; this.label15.LabelProp = Mono.Addins.AddinManager.CurrentLocalizer.GetString("Description:"); this.table1.Add(this.label15); Gtk.Table.TableChild w19 = ((Gtk.Table.TableChild)(this.table1[this.label15])); diff --git a/extras/MonoDevelop.AddinAuthoring/gtk-gui/MonoDevelop.AddinAuthoring.SelectRepositoryDialog.cs b/extras/MonoDevelop.AddinAuthoring/gtk-gui/MonoDevelop.AddinAuthoring.SelectRepositoryDialog.cs index d340fe17f7..a0de90882c 100644 --- a/extras/MonoDevelop.AddinAuthoring/gtk-gui/MonoDevelop.AddinAuthoring.SelectRepositoryDialog.cs +++ b/extras/MonoDevelop.AddinAuthoring/gtk-gui/MonoDevelop.AddinAuthoring.SelectRepositoryDialog.cs @@ -36,12 +36,11 @@ namespace MonoDevelop.AddinAuthoring { protected virtual void Build() { Stetic.Gui.Initialize(this); // Widget MonoDevelop.AddinAuthoring.SelectRepositoryDialog - this.Events = ((Gdk.EventMask)(256)); this.Name = "MonoDevelop.AddinAuthoring.SelectRepositoryDialog"; this.Title = Mono.Addins.AddinManager.CurrentLocalizer.GetString("Select Add-in Registry"); this.WindowPosition = ((Gtk.WindowPosition)(4)); - this.DefaultWidth = 0; - this.DefaultHeight = 0; + this.DefaultWidth = 500; + this.DefaultHeight = 400; // Internal child MonoDevelop.AddinAuthoring.SelectRepositoryDialog.VBox Gtk.VBox w1 = this.VBox; w1.Events = ((Gdk.EventMask)(256)); @@ -56,7 +55,7 @@ namespace MonoDevelop.AddinAuthoring { this.label11 = new Gtk.Label(); this.label11.Name = "label11"; this.label11.Xalign = 0F; - this.label11.LabelProp = Mono.Addins.AddinManager.CurrentLocalizer.GetString("Select the add-in registry for the new add-in:"); + this.label11.LabelProp = Mono.Addins.AddinManager.CurrentLocalizer.GetString("Select the application you want to extend:"); this.vbox4.Add(this.label11); Gtk.Box.BoxChild w2 = ((Gtk.Box.BoxChild)(this.vbox4[this.label11])); w2.Position = 0; @@ -75,7 +74,6 @@ namespace MonoDevelop.AddinAuthoring { this.tree = new Gtk.TreeView(); this.tree.CanFocus = true; this.tree.Name = "tree"; - this.tree.HeadersVisible = false; this.scrolledwindow4.Add(this.tree); this.hbox1.Add(this.scrolledwindow4); Gtk.Box.BoxChild w4 = ((Gtk.Box.BoxChild)(this.hbox1[this.scrolledwindow4])); diff --git a/extras/MonoDevelop.AddinAuthoring/gtk-gui/gui.stetic b/extras/MonoDevelop.AddinAuthoring/gtk-gui/gui.stetic index 7c616fb2f6..f985b0762f 100644 --- a/extras/MonoDevelop.AddinAuthoring/gtk-gui/gui.stetic +++ b/extras/MonoDevelop.AddinAuthoring/gtk-gui/gui.stetic @@ -5,7 +5,27 @@ <target-gtk-version>2.12</target-gtk-version> </configuration> <import> + <widget-library name="MonoDevelop.Core.Gui, Version=2.1.0.0, Culture=neutral" /> + <widget-library name="MonoDevelop.Projects.Gui, Version=2.1.0.0, Culture=neutral" /> + <widget-library name="MonoDevelop.Ide, Version=2.1.0.0, Culture=neutral" /> <widget-library name="Mono.TextEditor, Version=1.0.0.0, Culture=neutral" /> + <widget-library name="MonoDevelop.VersionControl, Version=2.1.0.0, Culture=neutral" /> + <widget-library name="MonoDevelop.NUnit, Version=2.1.0.0, Culture=neutral" /> + <widget-library name="MonoDevelop.XmlEditor, Version=2.1.0.0, Culture=neutral" /> + <widget-library name="MonoDevelop.Gettext, Version=2.1.0.0, Culture=neutral" /> + <widget-library name="MonoDevelop.Deployment, Version=2.1.0.0, Culture=neutral" /> + <widget-library name="MonoDevelop.Deployment.Linux, Version=2.1.0.0, Culture=neutral" /> + <widget-library name="MonoDevelop.GtkCore, Version=2.1.0.0, Culture=neutral" /> + <widget-library name="MonoDevelop.DesignerSupport, Version=2.1.0.0, Culture=neutral" /> + <widget-library name="MonoDevelop.VBNetBinding, Version=2.1.0.0, Culture=neutral" /> + <widget-library name="MonoDevelop.CSharpBinding, Version=2.1.0.0, Culture=neutral" /> + <widget-library name="MonoDevelop.SourceEditor2, Version=2.1.0.0, Culture=neutral" /> + <widget-library name="MonoDevelop.Debugger, Version=2.1.0.0, Culture=neutral" /> + <widget-library name="MonoDevelop.Components, Version=2.1.0.0, Culture=neutral" /> + <widget-library name="MonoDevelop.AspNet, Version=2.1.0.0, Culture=neutral" /> + <widget-library name="MonoDevelop.CBinding, Version=2.1.0.0, Culture=neutral" /> + <widget-library name="MonoDevelop.Autotools, Version=2.1.0.0, Culture=neutral" /> + <widget-library name="MonoDevelop.Refactoring, Version=2.1.0.0, Culture=neutral" /> <widget-library name="../build/MonoDevelop.AddinAuthoring.dll" internal="true" /> </import> <widget class="Gtk.Bin" id="MonoDevelop.AddinAuthoring.AddinOptionPanelWidget" design-size="615 437"> @@ -411,7 +431,7 @@ <widget class="Gtk.Label" id="label15"> <property name="MemberName" /> <property name="Xalign">0</property> - <property name="Yalign">1</property> + <property name="Yalign">0</property> <property name="LabelProp" translatable="yes">Description:</property> </widget> <packing> @@ -621,10 +641,12 @@ </widget> </child> </widget> - <widget class="Gtk.Dialog" id="MonoDevelop.AddinAuthoring.SelectRepositoryDialog" design-size="575 398"> + <widget class="Gtk.Dialog" id="MonoDevelop.AddinAuthoring.SelectRepositoryDialog" design-size="620 358"> <property name="MemberName" /> <property name="Title" translatable="yes">Select Add-in Registry</property> <property name="WindowPosition">CenterOnParent</property> + <property name="DefaultWidth">500</property> + <property name="DefaultHeight">400</property> <property name="Buttons">2</property> <property name="HelpButton">False</property> <child internal-child="VBox"> @@ -641,7 +663,7 @@ <widget class="Gtk.Label" id="label11"> <property name="MemberName" /> <property name="Xalign">0</property> - <property name="LabelProp" translatable="yes">Select the add-in registry for the new add-in:</property> + <property name="LabelProp" translatable="yes">Select the application you want to extend:</property> </widget> <packing> <property name="Position">0</property> @@ -663,7 +685,6 @@ <widget class="Gtk.TreeView" id="tree"> <property name="MemberName" /> <property name="CanFocus">True</property> - <property name="HeadersVisible">False</property> </widget> </child> </widget> @@ -2523,7 +2544,7 @@ </widget> </child> </widget> - <widget class="Gtk.Dialog" id="MonoDevelop.AddinAuthoring.NewRegistryDialog" design-size="516 147"> + <widget class="Gtk.Dialog" id="MonoDevelop.AddinAuthoring.NewRegistryDialog" design-size="575 147"> <property name="MemberName" /> <property name="Title" translatable="yes">New Registry</property> <property name="WindowPosition">CenterOnParent</property> @@ -2674,164 +2695,4 @@ </widget> </child> </widget> - <widget class="Gtk.Dialog" id="MonoDevelop.AddinAuthoring.SelectRepositoryDialog" design-size="581 401"> - <property name="MemberName" /> - <property name="Events">ButtonPressMask</property> - <property name="Title" translatable="yes">Select Add-in Registry</property> - <property name="WindowPosition">CenterOnParent</property> - <property name="DefaultWidth">0</property> - <property name="DefaultHeight">0</property> - <property name="Buttons">2</property> - <property name="HelpButton">False</property> - <child internal-child="VBox"> - <widget class="Gtk.VBox" id="dialog_VBox"> - <property name="MemberName" /> - <property name="Events">ButtonPressMask</property> - <property name="BorderWidth">2</property> - <child> - <widget class="Gtk.VBox" id="vbox4"> - <property name="MemberName" /> - <property name="Spacing">6</property> - <property name="BorderWidth">6</property> - <child> - <widget class="Gtk.Label" id="label11"> - <property name="MemberName" /> - <property name="Xalign">0</property> - <property name="LabelProp" translatable="yes">Select the add-in registry for the new add-in:</property> - </widget> - <packing> - <property name="Position">0</property> - <property name="AutoSize">True</property> - <property name="Expand">False</property> - <property name="Fill">False</property> - </packing> - </child> - <child> - <widget class="Gtk.HBox" id="hbox1"> - <property name="MemberName" /> - <property name="Spacing">6</property> - <child> - <widget class="Gtk.ScrolledWindow" id="scrolledwindow4"> - <property name="MemberName" /> - <property name="CanFocus">True</property> - <property name="ShadowType">In</property> - <child> - <widget class="Gtk.TreeView" id="tree"> - <property name="MemberName" /> - <property name="CanFocus">True</property> - <property name="HeadersVisible">False</property> - </widget> - </child> - </widget> - <packing> - <property name="Position">0</property> - <property name="AutoSize">True</property> - </packing> - </child> - <child> - <widget class="Gtk.VBox" id="vbox2"> - <property name="MemberName" /> - <property name="Spacing">6</property> - <child> - <widget class="Gtk.Button" id="buttonAdd"> - <property name="MemberName" /> - <property name="CanFocus">True</property> - <property name="UseStock">True</property> - <property name="Type">StockItem</property> - <property name="StockId">gtk-add</property> - <signal name="Clicked" handler="OnButtonAddClicked" /> - <property name="label">gtk-add</property> - </widget> - <packing> - <property name="Position">0</property> - <property name="AutoSize">True</property> - <property name="Expand">False</property> - <property name="Fill">False</property> - </packing> - </child> - <child> - <widget class="Gtk.Button" id="buttonRemove"> - <property name="MemberName" /> - <property name="CanFocus">True</property> - <property name="UseStock">True</property> - <property name="Type">StockItem</property> - <property name="StockId">gtk-remove</property> - <signal name="Clicked" handler="OnButtonRemoveClicked" /> - <property name="label">gtk-remove</property> - </widget> - <packing> - <property name="Position">1</property> - <property name="AutoSize">True</property> - <property name="Expand">False</property> - <property name="Fill">False</property> - </packing> - </child> - <child> - <placeholder /> - </child> - </widget> - <packing> - <property name="Position">1</property> - <property name="AutoSize">False</property> - <property name="Expand">False</property> - <property name="Fill">False</property> - </packing> - </child> - </widget> - <packing> - <property name="Position">1</property> - <property name="AutoSize">True</property> - </packing> - </child> - </widget> - <packing> - <property name="Position">0</property> - <property name="AutoSize">True</property> - </packing> - </child> - </widget> - </child> - <child internal-child="ActionArea"> - <widget class="Gtk.HButtonBox" id="MonoDevelop.AddinAuthoring.SelectRepositoryDialog_ActionArea"> - <property name="MemberName" /> - <property name="Spacing">6</property> - <property name="BorderWidth">5</property> - <property name="Size">2</property> - <property name="LayoutStyle">End</property> - <child> - <widget class="Gtk.Button" id="button155"> - <property name="MemberName" /> - <property name="CanDefault">True</property> - <property name="CanFocus">True</property> - <property name="UseStock">True</property> - <property name="Type">StockItem</property> - <property name="StockId">gtk-cancel</property> - <property name="ResponseId">-6</property> - <property name="label">gtk-cancel</property> - </widget> - <packing> - <property name="Expand">False</property> - <property name="Fill">False</property> - </packing> - </child> - <child> - <widget class="Gtk.Button" id="buttonOk"> - <property name="MemberName" /> - <property name="CanDefault">True</property> - <property name="CanFocus">True</property> - <property name="UseStock">True</property> - <property name="Type">StockItem</property> - <property name="StockId">gtk-ok</property> - <property name="ResponseId">-5</property> - <property name="label">gtk-ok</property> - </widget> - <packing> - <property name="Position">1</property> - <property name="Expand">False</property> - <property name="Fill">False</property> - </packing> - </child> - </widget> - </child> - </widget> </stetic-interface>
\ No newline at end of file |