private void runPluginToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (m_dataTable == null)
            {
                ShowErrorMessageBox("Nothing loaded yet!");
                return;
            }

            //m_catalog.Refresh();

            if (Plugins.Count == 0)
            {
                ShowErrorMessageBox("No plugins found!");
                return;
            }

            PluginsForm selector = new PluginsForm();

            selector.SetPlugins(Plugins);
            DialogResult result = selector.ShowDialog(this);

            selector.Dispose();
            if (result != DialogResult.OK)
            {
                ShowErrorMessageBox("No plugin selected!");
                return;
            }

            if (selector.NewPlugin != null)
            {
                m_catalog.Catalogs.Add(new AssemblyCatalog(selector.NewPlugin));
            }

            toolStripStatusLabel1.Text = "Plugin working...";
            Thread pluginThread = new Thread(RunPlugin);

            pluginThread.Start(selector.PluginIndex);
        }
        private void runPluginToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (m_dataTable == null)
            {
                ShowErrorMessageBox("Nothing loaded yet!");
                return;
            }

            m_catalog.Refresh();

            if (Plugins.Count == 0)
            {
                ShowErrorMessageBox("No plugins found!");
                return;
            }

            PluginsForm selector = new PluginsForm();
            selector.SetPlugins(Plugins);
            var result = selector.ShowDialog(this);
            selector.Dispose();
            if (result != DialogResult.OK || selector.PluginIndex == -1)
            {
                ShowErrorMessageBox("No plugin selected!");
                return;
            }

            toolStripStatusLabel1.Text = "Plugin working...";
            Thread pluginThread = new Thread(RunPlugin);
            pluginThread.Start(selector.PluginIndex);
        }
        private void runPluginToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (m_dataTable == null)
            {
                ShowErrorMessageBox("Nothing loaded yet!");
                return;
            }

            //m_catalog.Refresh();

            if (Plugins.Count == 0)
            {
                ShowErrorMessageBox("No plugins found!");
                return;
            }

            using (PluginsForm selector = new PluginsForm())
            {
                selector.SetPlugins(Plugins);
                DialogResult result = selector.ShowDialog(this);

                if (result != DialogResult.OK)
                {
                    ShowErrorMessageBox("No plugin selected!");
                    return;
                }

                if (selector.NewPlugin != null)
                    m_catalog.Catalogs.Add(new AssemblyCatalog(selector.NewPlugin));

                statusToolStripLabel.Text = "Plugin working...";
                Thread pluginThread = new Thread(() => RunPlugin(selector.PluginIndex));
                pluginThread.Start();
            }
        }