private void RequestAddViewExtensionHandler(IViewExtension viewExtension) { if (viewExtension is IViewExtension) { this.Add(viewExtension as IViewExtension); } }
public void Remove(IViewExtension extension) { var fullName = extension.Name + " (id: " + extension.UniqueId + ")"; if (!viewExtensions.Contains(extension)) { Log("ExtensionManager does not contain " + fullName + " view extension"); return; } viewExtensions.Remove(extension); try { extension.Dispose(); } catch (Exception ex) { Log(fullName + " extension cannot be disposed properly: " + ex.Message); } Log(fullName + " extension is removed"); if (ExtensionRemoved != null) { ExtensionRemoved(extension); } }
public void Add(IViewExtension extension) { var fullName = extension.Name + " (id: " + extension.UniqueId + ")"; if (viewExtensions.Find(ext => ext.UniqueId == extension.UniqueId) == null) { viewExtensions.Add(extension); Log(fullName + " view extension is added"); // Inform view extension author and consumer that the view extension does not come // with a consistent UniqueId. This may result in unexpected Dynamo behavior. if (extension.UniqueId != extension.UniqueId) { Log("Inconsistent UniqueId for " + extension.Name + " view extension. This may result in unexpected Dynamo behavior."); } if (ExtensionAdded != null) { ExtensionAdded(extension); } } else { Log("Could not add a duplicate of " + fullName); } }
private void SubscribeViewExtension(IViewExtension obj) { if (obj is IViewExtensionSource) { (obj as IViewExtensionSource).RequestLoadExtension += RequestLoadViewExtensionHandler; (obj as IViewExtensionSource).RequestAddExtension += RequestAddViewExtensionHandler; } }
/// <summary> /// Adds the extension UI control element to a new tab in the extensions side bar. /// </summary> /// <param name="viewExtension">Instance of the view extension object that is being added to the extensions side bar.</param> /// <param name="contentControl">Control UI element with a single piece of content of any type.</param> /// <returns></returns> internal void AddToExtensionsSideBar(IViewExtension viewExtension, ContentControl contentControl) { TabItem tabItem = dynamoView.AddTabItem(viewExtension, contentControl); if (tabItem != null) { dynamoViewModel.Model.Logger.Log(Wpf.Properties.Resources.ExtensionAdded); } else { dynamoViewModel.Model.Logger.Log(Wpf.Properties.Resources.ExtensionAlreadyPresent); } }
/// <summary> /// Adds the extension UI control element to a new tab in the extensions side bar. /// </summary> /// <param name="viewExtension">Instance of the view extension object that is being added to the extensions side bar.</param> /// <param name="contentControl">Control UI element with a single piece of content of any type.</param> /// <returns></returns> public void AddToExtensionsSideBar(IViewExtension viewExtension, ContentControl contentControl) { bool added = dynamoView.AddOrFocusExtensionControl(viewExtension, contentControl); if (added) { dynamoViewModel.Model.Logger.Log(Wpf.Properties.Resources.ExtensionAdded); } else { dynamoViewModel.Model.Logger.Log(Wpf.Properties.Resources.ExtensionAlreadyPresent); } }
public void Remove(IViewExtension extension) { var fullName = extension.Name + " (id: " + extension.UniqueId + ")"; if (!viewExtensions.Contains(extension)) { Log("ExtensionManager does not contain " + fullName + " view extension"); return; } viewExtensions.Remove(extension); extension.Dispose(); Log(fullName + " extension is removed"); if (ExtensionRemoved != null) { ExtensionRemoved(extension); } }
public void Add(IViewExtension extension) { var fullName = extension.Name + " (id: " + extension.UniqueId + ")"; if (viewExtensions.Find(ext => ext.UniqueId == extension.UniqueId) == null) { viewExtensions.Add(extension); Log(fullName + " view extension is added"); if (ExtensionAdded != null) { ExtensionAdded(extension); } } else { Log("Could not add a duplicate of " + fullName); } }
/// <summary> /// Creates and add the library view to the WPF visual tree /// </summary> /// <returns>LibraryView control</returns> internal ViewportView AddViewportToExtensionsPanel(IViewExtension ext, ViewLoadedParams p) { var model = new ViewportWindowViewModel(this.viewLoadedParams, this.address); var view = new ViewportView(model); var browser = view.Browser; this.browser = browser; p.AddToExtensionsSideBar(ext, view); browser.RegisterAsyncJsObject("controller", this); view.Loaded += OnViewportViewLoaded; browser.SizeChanged += Browser_SizeChanged; browser.LoadError += Browser_LoadError; return(view); }
/// <summary> /// Close the tab for extension UI control element in the extensions side bar. /// </summary> /// <param name="viewExtension">Instance of the view extension object that is being added to the extensions side bar.</param> /// <returns></returns> public void CloseExtensioninInSideBar(IViewExtension viewExtension) { dynamoView.CloseExtensionControl(viewExtension); }
/// <summary> /// Close the tab for extension UI control element in the extensions side bar. /// </summary> /// <param name="viewExtension">Instance of the view extension object that is being added to the extensions side bar.</param> /// <returns></returns> public void CloseExtensioninInSideBar(IViewExtension viewExtension) { dynamoView.CloseExtensionTabItem(viewExtension); }