Ejemplo n.º 1
0
 private void RequestAddViewExtensionHandler(IViewExtension viewExtension)
 {
     if (viewExtension is IViewExtension)
     {
         this.Add(viewExtension as IViewExtension);
     }
 }
Ejemplo n.º 2
0
        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);
            }
        }
Ejemplo n.º 3
0
        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);
            }
        }
Ejemplo n.º 4
0
        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);
            }
        }
Ejemplo n.º 5
0
 private void SubscribeViewExtension(IViewExtension obj)
 {
     if (obj is IViewExtensionSource)
     {
         (obj as IViewExtensionSource).RequestLoadExtension += RequestLoadViewExtensionHandler;
         (obj as IViewExtensionSource).RequestAddExtension  += RequestAddViewExtensionHandler;
     }
 }
Ejemplo n.º 6
0
        /// <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);
            }
        }
Ejemplo n.º 7
0
        /// <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);
            }
        }
Ejemplo n.º 8
0
        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);
            }
        }
Ejemplo n.º 9
0
        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);
            }
        }
Ejemplo n.º 10
0
        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);
            }
        }
Ejemplo n.º 11
0
        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);
            }
        }
Ejemplo n.º 12
0
        /// <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);
        }
Ejemplo n.º 13
0
 /// <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);
 }
Ejemplo n.º 14
0
 /// <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);
 }