예제 #1
0
        public PanelShellManager(PluginParameter data)
        {
            InitUi();

            // 注册事件
            ShellManager.GetDataTableCompletedToDo += ShellManagerGetDataTableCompletedToDo;
            ShellManager.DeleteCompletedToDo       += ShellManagerDeleteCompletedToDo;
            ShellManager.InsertCompletedToDo       += ShellManagerInsertCompletedToDo;
            ShellManager.UpdateCompletedToDo       += ShellManagerUpdateCompletedToDo;

            // 载入shell数据
            LoadWebshellData();

            // 添加插件到右键菜单
            foreach (var plugin in PluginProvider.GetPlugins())
            {
                // IsShowInRightContext
                if (plugin.PluginSetting.LoadPath.ToLower() == "shellmanager")
                {
                    string title = plugin.PluginInfo.Name;

                    // 添加到Tsmi_Plugins中
                    var pluginItem = new ButtonMenuItem();
                    pluginItem.ID     = title;
                    pluginItem.Text   = title;
                    pluginItem.Click += pluginItem_Click;
                    pluginItem.Tag    = plugin;

                    _rightMenuWebshell.Items.Add(pluginItem);
                }
            }
        }
예제 #2
0
        public PanelPluginManager(IHost host, PluginParameter data)
        {
            this._host = host;

            // init StrRes to translate string
            StrRes.SetHost(_host);
            Init();

            _updateXmlPath    = Path.Combine(_host.App.AppPluginDir, new PluginInfo().Name, "update.xml");
            _updateXmlUrl     = ReadConfigXml();
            _installedPlugins = PluginProvider.GetPlugins();
            DownloadUpdateXml();
            LoadInstalledPlugins();
        }