Exemplo n.º 1
0
        private void btAddPlugin_Click(object sender, RoutedEventArgs e)
        {
            var dialog = new System.Windows.Forms.OpenFileDialog();

            dialog.Filter      = string.Format("Lazurite plugin file (*{0})|*{0}", PluginsManager.PluginFileExtension);
            dialog.Multiselect = false;
            if (dialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                var canAddPluginResult = _manager.CanAddPlugin(dialog.FileName);
                if (!canAddPluginResult.CanAdd)
                {
                    _warningHandler.WarnFormat("Невозможно добавить плагин \r\n[{0}];\r\nПричина: {1}", dialog.FileName, canAddPluginResult.Message);
                }
                else
                {
                    try
                    {
                        _manager.AddPlugin(dialog.FileName);
                        MessageView.ShowMessage("Плагин добавлен!", "Добавление плагина", Icons.Icon.Check, Window.GetWindow(this).Content as Panel);
                        Refresh();
                    }
                    catch (Exception exception)
                    {
                        _warningHandler.ErrorFormat(exception, "Невозможно добавить плагин \r\n[{0}]", dialog.FileName);
                    }
                }
            }
        }
Exemplo n.º 2
0
        public void LoadPluginTest()
        {
            Singleton.Add(new FileSavior());
            var modulesManager = new PluginsManager();
            var targetFile     = @"D:\Temporary\Lazurite_test.pyp";

            modulesManager.AddPlugin(targetFile);
            if (!modulesManager.GetModules().Any(x => x.Name.Contains("TestAction")))
            {
                throw new Exception();
            }
        }