Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
02/28/08 18:02:45 (16 years ago)
Author:
gkronber
Message:
  • refactored pluginInfrastructure
  • fixed #8
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.PluginInfrastructure.GUI/ManagerForm.cs

    r18 r29  
    3737    private TreeNode availablePlugins;
    3838    private TreeNode allPlugins;
     39    private TreeNode disabledPlugins;
    3940    private List<PluginTag> allTags = new List<PluginTag>();
    4041    private Dictionary<PluginTag, PluginAction> actions = new Dictionary<PluginTag, PluginAction>();
     
    7576      allPlugins.ImageIndex = 1;
    7677      allPlugins.SelectedImageIndex = 1;
     78      disabledPlugins = new TreeNode("Disabled plugins");
     79      disabledPlugins.ImageIndex = 1;
     80      disabledPlugins.SelectedImageIndex = 1;
    7781
    7882      pluginTreeView.Nodes.Add(installedPlugins);
    7983      pluginTreeView.Nodes.Add(availablePlugins);
     84      pluginTreeView.Nodes.Add(disabledPlugins);
    8085      pluginTreeView.Nodes.Add(allPlugins);
    8186
    82       foreach(PluginInfo pluginInfo in PluginManager.Manager.InstalledPlugins) {
     87      foreach(PluginInfo pluginInfo in PluginManager.Manager.ActivePlugins) {
    8388        // create a new PluginAction tag for the plugin
    8489        PluginTag tag = new PluginTag(allTags, pluginInfo, PluginState.Installed);
     
    9196        installedPlugins.Nodes.Add(installedPluginsNode);
    9297
     98        // add to all "plugins node"
     99        TreeNode allPluginsNode = new TreeNode(pluginInfo.Name);
     100        allPluginsNode.ContextMenuStrip = pluginContextMenuStrip;
     101        allPluginsNode.Tag = tag;
     102        allPluginsNode.ImageIndex = 0;
     103        allPlugins.Nodes.Add(allPluginsNode);
     104      }
     105      foreach(PluginInfo pluginInfo in PluginManager.Manager.DisabledPlugins) {
     106        PluginTag tag = new PluginTag(allTags, pluginInfo, PluginState.Disabled);
     107        allTags.Add(tag);
     108        TreeNode disabledPluginsNode = new TreeNode(pluginInfo.Name);
     109        disabledPluginsNode.ContextMenuStrip = pluginContextMenuStrip;
     110        disabledPluginsNode.Tag = tag;
     111        disabledPluginsNode.ImageIndex = 0;
     112        disabledPlugins.Nodes.Add(disabledPluginsNode);
    93113        // add to all "plugins node"
    94114        TreeNode allPluginsNode = new TreeNode(pluginInfo.Name);
     
    290310      allAvailablePlugins.ForEach(delegate(PluginDescription availablePlugin) {
    291311        List<PluginTag> oldPlugins = allTags.FindAll(delegate(PluginTag currentPlugin) {
    292           return currentPlugin.PluginName == availablePlugin.Name && currentPlugin.State == PluginState.Installed;
     312          return currentPlugin.PluginName == availablePlugin.Name && currentPlugin.State == (PluginState.Installed | PluginState.Disabled);
    293313        });
    294314
     
    567587      publishButton.Enabled = (tag.State & PluginState.Installed) == PluginState.Installed;
    568588      installButton.Enabled = (tag.State & PluginState.Available) == PluginState.Available;
    569       deleteButton.Enabled = (tag.State & (PluginState.Installed | PluginState.Upgradeable)) != 0;
     589      deleteButton.Enabled = (tag.State & (PluginState.Installed | PluginState.Upgradeable | PluginState.Disabled)) != 0;
    570590
    571591      installButton.Checked = GetAction(tag) == ManagerAction.Install;
     
    605625    private List<TreeNode> FindPluginNodes(PluginTag pluginTag) {
    606626      List<TreeNode> nodes = new List<TreeNode>();
    607       foreach(TreeNode rootNode in new TreeNode[] { installedPlugins, availablePlugins, allPlugins }) {
     627      foreach(TreeNode rootNode in new TreeNode[] { installedPlugins, availablePlugins, allPlugins, disabledPlugins }) {
    608628        foreach(TreeNode node in rootNode.Nodes) {
    609629          if(pluginTag.Equals(node.Tag)) {
Note: See TracChangeset for help on using the changeset viewer.