Mono.Addins.ExtensionTree.LoadExtension C# (CSharp) Method

LoadExtension() public method

public LoadExtension ( string addin, Mono.Addins.Description.Extension extension, ArrayList addedNodes ) : void
addin string
extension Mono.Addins.Description.Extension
addedNodes System.Collections.ArrayList
return void
        public void LoadExtension(string addin, Extension extension, ArrayList addedNodes)
        {
            TreeNode tnode = GetNode (extension.Path);
            if (tnode == null) {
                addinEngine.ReportError ("Can't load extensions for path '" + extension.Path + "'. Extension point not defined.", addin, null, false);
                return;
            }

            int curPos = -1;
            LoadExtensionElement (tnode, addin, extension.ExtensionNodes, (ModuleDescription) extension.Parent, ref curPos, tnode.Condition, false, addedNodes);
        }

Usage Example

コード例 #1
0
        void LoadModuleExtensionNodes(Extension extension, string addinId, ExtensionNodeSet nset, ArrayList loadedNodes)
        {
            // Now load the extensions
            ArrayList addedNodes = new ArrayList();

            tree.LoadExtension(addinId, extension, addedNodes);

            RuntimeAddin ad = AddinManager.SessionService.GetAddin(addinId);

            if (ad != null)
            {
                foreach (TreeNode nod in addedNodes)
                {
                    // Don't call OnAddinLoaded here. Do it when the entire extension point has been loaded.
                    if (nod.ExtensionNode != null)
                    {
                        loadedNodes.Add(nod);
                    }
                }
            }
        }