/// <summary> /// 初始化插件内容 /// </summary> /// <param name="plugin"></param> /// <param name="pApplication"></param> private void PluginOnCreate(IPlugin plugin, IApplicationRef pApplication) { if (plugin is ICommandRef) { ICommandRef cmd = plugin as ICommandRef; cmd.OnCreate(pApplication); } else if (plugin is IToolRef) { IToolRef atool = plugin as IToolRef; atool.OnCreate(pApplication); } else if (plugin is IMenuRef) { IMenuRef aMenu = plugin as IMenuRef; aMenu.OnCreate(pApplication); } else if (plugin is IToolBarRef) { IToolBarRef aToolBar = plugin as IToolBarRef; aToolBar.OnCreate(pApplication); } else if (plugin is IDockableWindowRef) { IDockableWindowRef aDockableWindow = plugin as IDockableWindowRef; aDockableWindow.OnCreate(pApplication); } else if (plugin is IControlRef) { IControlRef aControl = plugin as IControlRef; aControl.OnCreate(pApplication); } }
/// <summary> /// 初始化插件内容 /// </summary> /// <param name="plugin"></param> /// <param name="pApplication"></param> private void PluginOnLoadData(IPlugin plugin, IApplicationRef pApplication) { IControlRef aControl = plugin as IControlRef; if (aControl != null) { aControl.LoadData(); } }
private void GetPluginArray(PluginCollection pluginCol) { if (pluginCol == null) { return; } foreach (IPlugin plugin in pluginCol) { try { if (!m_AllPlugin.dicPlugins.ContainsKey(plugin.Name)) { m_AllPlugin.dicPlugins.Add(plugin.Name, plugin); } ICommandRef cmd = plugin as ICommandRef; if (cmd != null) { if (!m_AllPlugin.dicCommands.ContainsKey(cmd.ToString())) { m_AllPlugin.dicCommands.Add(cmd.Name, cmd); } if (cmd.Category != null) { if (!m_AllPlugin.ArraylstCommandCategory.Contains(cmd.Category)) { m_AllPlugin.ArraylstCommandCategory.Add(cmd.Category); } } } IToolRef atool = plugin as IToolRef; if (atool != null) { if (!m_AllPlugin.dicTools.ContainsKey(atool.Name)) { m_AllPlugin.dicTools.Add(atool.Name, atool); } if (atool.Category != null) { if (!m_AllPlugin.ArraylstCommandCategory.Contains(atool.Category)) { m_AllPlugin.ArraylstCommandCategory.Add(atool.Category); } } } IMenuRef aMenu = plugin as IMenuRef; if (aMenu != null) { if (!m_AllPlugin.dicMenus.ContainsKey(aMenu.Name)) { m_AllPlugin.dicMenus.Add(aMenu.Name, aMenu); } } IToolBarRef aToolBar = plugin as IToolBarRef; if (aToolBar != null) { if (!m_AllPlugin.dicToolBars.ContainsKey(aToolBar.Name)) { m_AllPlugin.dicToolBars.Add(aToolBar.Name, aToolBar); } } IDockableWindowRef aDockableWindow = plugin as IDockableWindowRef; if (aDockableWindow != null) { if (!m_AllPlugin.dicDockableWindows.ContainsKey(aDockableWindow.Name)) { m_AllPlugin.dicDockableWindows.Add(aDockableWindow.Name, aDockableWindow); } } IControlRef aControl = plugin as IControlRef; if (aControl != null) { if (!m_AllPlugin.dicControls.ContainsKey(aControl.Name)) { m_AllPlugin.dicControls.Add(aControl.Name, aControl); } } } catch (Exception err) { DataBase.Log.LogManager.WriteSysLog(err, string.Format("Function Name:ParsePluginCol.GetPluginArray")); } } }