[RTL]
[reactos.git] / reactos / tools / sysgen / RosBuilder / Controls / NewItemListView.cs
1 using System;
2 using System.Collections.Generic;
3 using System.ComponentModel;
4 using System.Drawing;
5 using System.Data;
6 using System.Text;
7 using System.Windows.Forms;
8
9 using SysGen.RBuild.Framework;
10 using SysGen.BuildEngine;
11 using SysGen.BuildEngine.Tasks;
12
13 namespace TriStateTreeViewDemo
14 {
15 public abstract class NewItemListViewItem : ListViewItem
16 {
17 protected ISysGenDesigner m_SysGenDesigner = null;
18
19 public NewItemListViewItem(ISysGenDesigner designer)
20 {
21 m_SysGenDesigner = designer;
22 }
23
24 public abstract string Description { get; }
25 public abstract string DefaultFileName { get; }
26
27 public virtual void Apply()
28 {
29 }
30 }
31
32 public class ModuleFiltersNewItemListViewItem : NewItemListViewItem
33 {
34 private ModuleFilter m_ModuleFilter = null;
35
36 public ModuleFiltersNewItemListViewItem(ISysGenDesigner designer ,ModuleFilter filter): base(designer)
37 {
38 m_ModuleFilter = filter;
39
40 Text = filter.Name;
41 }
42
43 public override string Description
44 {
45 get { return m_ModuleFilter.Name; }
46 }
47
48 public override string DefaultFileName
49 {
50 get { return null; }
51 }
52
53 public override void Apply()
54 {
55 m_SysGenDesigner.ModuleFilterController.Apply(m_ModuleFilter);
56 }
57 }
58
59 public class LanguageNewItemListViewItem : NewItemListViewItem
60 {
61 private RBuildLanguage m_Language = null;
62
63 public LanguageNewItemListViewItem(ISysGenDesigner designer, RBuildLanguage language)
64 : base(designer)
65 {
66 m_Language = language;
67
68 Text = language.Name;
69 }
70
71 public override string Description
72 {
73 get { return m_Language.Name; }
74 }
75
76 public override string DefaultFileName
77 {
78 get { return null; }
79 }
80
81 public override void Apply()
82 {
83 m_SysGenDesigner.ProjectController.AddLanguage(m_Language);
84 }
85 }
86
87 public class DebugChannelNewItemListViewItem : NewItemListViewItem
88 {
89 private RBuildDebugChannel m_DebugChannel = null;
90
91 public DebugChannelNewItemListViewItem(ISysGenDesigner designer, RBuildDebugChannel channel)
92 : base(designer)
93 {
94 m_DebugChannel = channel;
95
96 Text = channel.Name;
97 }
98
99 public override string Description
100 {
101 get { return m_DebugChannel.Name; }
102 }
103
104 public override string DefaultFileName
105 {
106 get { return null; }
107 }
108
109 public override void Apply()
110 {
111 m_SysGenDesigner.ProjectController.AddDebugChannel(m_DebugChannel);
112 }
113 }
114 }