public override void DeleteItem() { DotNetProject p = CurrentNode.GetParentDataItem(typeof(Project), true) as DotNetProject; AddinData data = AddinData.GetAddinData(p); AddinDependency adep = (AddinDependency)CurrentNode.DataItem; string q = AddinManager.CurrentLocalizer.GetString("Are you sure you want to remove the reference to add-in '{0}'?", Addin.GetIdName(adep.AddinId)); if (MessageService.Confirm(q, AlertButton.Remove)) { AddinAuthoringService.RemoveReferences(data, new string[] { adep.FullAddinId }); } }
public void AddAddinDependency() { DotNetProject p = CurrentNode.GetParentDataItem(typeof(Project), true) as DotNetProject; AddinData data = AddinData.GetAddinData(p); ExtensionSelectorDialog dlg = new ExtensionSelectorDialog(data.AddinRegistry, null, data.CachedAddinManifest.IsRoot, true); if (dlg.Run() == (int)Gtk.ResponseType.Ok) { AddinAuthoringService.AddReferences(data, dlg.GetSelection()); } dlg.Destroy(); }
public override void GetNodeAttributes(ITreeNavigator parentNode, object dataObject, ref NodeAttributes attributes) { if (dataObject is AddinProjectReference) { attributes |= NodeAttributes.Hidden; return; } ProjectReference pr = (ProjectReference)dataObject; DotNetProject parent = pr.OwnerProject as DotNetProject; if (AddinAuthoringService.IsProjectIncludedByAddin(parent, pr)) { attributes |= NodeAttributes.Hidden; } else if (parent.GetAddinData() != null && pr.ReferenceType == ReferenceType.Project) { DotNetProject tp = parent.ParentSolution.FindProjectByName(pr.Reference) as DotNetProject; if (tp != null && tp.GetAddinData() != null) { attributes |= NodeAttributes.Hidden; } } }