2 using System.Collections.Generic;
3 using System.ComponentModel;
7 using System.Windows.Forms;
9 using SysGen.RBuild.Framework;
10 using SysGen.BuildEngine;
11 using SysGen.BuildEngine.Tasks;
13 namespace TriStateTreeViewDemo
15 public class ModuleFiltersListViewItem : ListViewItem
17 private ModuleFilter m_ModuleFilter = null;
19 public ModuleFiltersListViewItem(ModuleFilter filter)
21 m_ModuleFilter = filter;
24 SubItems.Add(filter.Modules.Count.ToString());
27 public ModuleFilter Filter
29 get { return m_ModuleFilter; }
33 public class ModuleFiltersListView : ListView
35 private ISysGenDesigner m_SysGenDesigner = null;
37 public ModuleFiltersListView()
44 Columns.Add("Name", 200);
45 Columns.Add("Modules", 100);
48 public void SetCatalog(ISysGenDesigner sysGenDesigner)
50 //Set the software catalog
51 m_SysGenDesigner = sysGenDesigner;
52 //m_SysGenDesigner.PlatformController.PlatformModulesUpdated += new EventHandler(PlatformController_PlatformModulesUpdated);
54 foreach (ModuleFilter filter in sysGenDesigner.ModuleFilterController.ModuleFilters)
56 Items.Add(new ModuleFiltersListViewItem(filter));
60 //protected override void OnItemCheck(ItemCheckEventArgs ice)
62 // base.OnItemCheck(ice);
65 //protected override void OnItemChecked(ItemCheckedEventArgs e)
67 // base.OnItemChecked(e);
70 private void PlatformController_PlatformModulesUpdated(object sender, EventArgs e)
74 foreach (ModuleFiltersListViewItem filterItem in Items)
76 foreach (RBuildModule module in m_SysGenDesigner.ProjectController.Project.Platform.Modules)
78 if (!filterItem.Filter.Modules.Contains(module))
80 filterItem.Checked = false;
85 filterItem.Checked = true;