2 // ListViewEventTest.cs: Test cases for ListView events.
5 // Ritvik Mayank (mritvik@novell.com)
7 // (C) 2005 Novell, Inc. (http://www.novell.com)
11 using NUnit.Framework;
12 using System.Windows.Forms;
14 using System.Collections;
16 namespace MonoTests.System.Windows.Forms
19 [Ignore ("Needs Manual Intervention")]
20 public class LabelEditEvent
22 static bool eventhandled = false;
23 public void LabelEdit_EventHandler (object sender,LabelEditEventArgs e)
29 public void AfterLabelEditTest ()
31 Form myform = new Form ();
32 myform.ShowInTaskbar = false;
33 ListView mylistview = new ListView ();
34 mylistview.LabelEdit = true ;
35 mylistview.AfterLabelEdit += new LabelEditEventHandler (LabelEdit_EventHandler);
36 mylistview.View = View.Details;
37 mylistview.SetBounds (10, 10, 200, 200, BoundsSpecified.All);
38 mylistview.Columns.Add ("A", -2, HorizontalAlignment.Center);
39 mylistview.Columns.Add ("B", -2, HorizontalAlignment.Center);
40 ListViewItem item1 = new ListViewItem ("A", -1);
41 mylistview.Items.Add (item1);
42 myform.Controls.Add (mylistview);
44 Assert.AreEqual (true, eventhandled, "#A1");
50 public void BeforeLabelEditTest ()
52 Form myform = new Form ();
53 myform.ShowInTaskbar = false;
54 ListView mylistview = new ListView ();
55 mylistview.LabelEdit = true ;
56 mylistview.BeforeLabelEdit += new LabelEditEventHandler (LabelEdit_EventHandler);
58 mylistview.View = View.Details;
59 mylistview.SetBounds (10, 10, 200, 200, BoundsSpecified.All);
60 mylistview.Columns.Add ("A", -2, HorizontalAlignment.Center);
61 mylistview.Columns.Add ("B", -2, HorizontalAlignment.Center);
62 ListViewItem item1 = new ListViewItem ("A", -1);
63 mylistview.Items.Add (item1);
64 myform.Controls.Add (mylistview);
66 Assert.AreEqual (true, eventhandled, "#A2");
72 [Ignore ("Needs Manual Intervention")]
73 public class ColumnClickEvent
75 static bool eventhandled = false;
76 public void ColumnClickEventHandler (object sender, ColumnClickEventArgs e)
82 public void ColumnClickTest ()
84 Form myform = new Form ();
85 myform.ShowInTaskbar = false;
86 ListView mylistview = new ListView ();
88 mylistview.LabelEdit = true ;
89 mylistview.ColumnClick += new ColumnClickEventHandler (ColumnClickEventHandler);
90 mylistview.View = View.Details;
91 mylistview.SetBounds (10, 10, 200, 200, BoundsSpecified.All);
92 mylistview.Columns.Add ("A", -2, HorizontalAlignment.Center);
93 mylistview.Columns.Add ("B", -2, HorizontalAlignment.Center);
94 ListViewItem item1 = new ListViewItem ("A", -1);
95 mylistview.Items.Add (item1);
96 myform.Controls.Add (mylistview);
99 Assert.AreEqual (true, eventhandled, "#A3");
105 [Ignore ("Needs Manual Intervention")]
108 static bool eventhandled = false;
109 public void New_EventHandler (object sender, EventArgs e)
115 public void ItemActivateTest ()
117 Form myform = new Form ();
118 myform.ShowInTaskbar = false;
119 ListView mylistview = new ListView ();
120 mylistview.Activation = ItemActivation.OneClick;
121 mylistview.LabelEdit = true ;
122 mylistview.ItemActivate += new EventHandler (New_EventHandler);
123 mylistview.View = View.Details;
124 mylistview.SetBounds (10, 10, 200, 200, BoundsSpecified.All);
125 mylistview.Columns.Add ("A", -2, HorizontalAlignment.Center);
126 mylistview.Columns.Add ("B", -2, HorizontalAlignment.Center);
127 ListViewItem item1 = new ListViewItem ("A", -1);
128 mylistview.Items.Add (item1);
129 myform.Controls.Add (mylistview);
130 myform.ShowDialog ();
131 Assert.AreEqual (true, eventhandled, "#A4");
136 public void SelectedIndexChangedTest ()
138 Form myform = new Form ();
139 myform.ShowInTaskbar = false;
140 ListView mylistview = new ListView ();
141 mylistview.LabelEdit = true ;
142 mylistview.SelectedIndexChanged += new EventHandler (New_EventHandler);
143 eventhandled = false;
144 mylistview.View = View.Details;
145 mylistview.SetBounds (10, 10, 200, 200, BoundsSpecified.All);
146 mylistview.Columns.Add ("A", -2, HorizontalAlignment.Center);
147 mylistview.Columns.Add ("B", -2, HorizontalAlignment.Center);
148 ListViewItem item1 = new ListViewItem ("A", -1);
149 mylistview.Items.Add (item1);
150 myform.Controls.Add (mylistview);
151 myform.ShowDialog ();
152 Assert.AreEqual (true, eventhandled, "#A5");
158 [Ignore ("Needs Manual Intervention")]
159 public class ItemCheckEvent
161 static bool eventhandled = false;
162 public void ItemCheckEventHandler (object sender, ItemCheckEventArgs e)
169 public void ItemCheckTest ()
171 Form myform = new Form ();
172 myform.ShowInTaskbar = false;
173 ListView mylistview = new ListView ();
174 mylistview.CheckBoxes = true;
175 mylistview.LabelEdit = true ;
176 mylistview.ItemCheck += new ItemCheckEventHandler (ItemCheckEventHandler);
177 mylistview.View = View.Details;
178 mylistview.SetBounds (10, 10, 200, 200, BoundsSpecified.All);
179 mylistview.Columns.Add ("A", -2, HorizontalAlignment.Center);
180 mylistview.Columns.Add ("B", -2, HorizontalAlignment.Center);
181 ListViewItem item1 = new ListViewItem ("A", -1);
182 mylistview.Items.Add (item1);
183 myform.Controls.Add (mylistview);
184 myform.ShowDialog ();
185 mylistview.Visible = true;
186 Assert.AreEqual (true, eventhandled, "#A6");
192 [Ignore ("Needs Manual Intervention")]
193 public class ItemDragEvent
195 static bool eventhandled = false;
196 public void ItemDragEventHandler (object sender, ItemDragEventArgs e)
203 public void ItemDragTest ()
205 Form myform = new Form ();
206 myform.ShowInTaskbar = false;
207 ListView mylistview = new ListView ();
208 mylistview.ItemDrag += new ItemDragEventHandler (ItemDragEventHandler);
209 mylistview.View = View.Details;
210 mylistview.SetBounds (10, 10, 200, 200, BoundsSpecified.All);
211 mylistview.Columns.Add ("A", -2, HorizontalAlignment.Center);
212 mylistview.Columns.Add ("B", -2, HorizontalAlignment.Center);
213 ListViewItem item1 = new ListViewItem ("A", -1);
214 mylistview.Items.Add (item1);
215 myform.Controls.Add (mylistview);
216 myform.ShowDialog ();
217 mylistview.Visible = true;
218 mylistview.DoDragDrop (mylistview.SelectedItems, DragDropEffects.Link);
219 Assert.AreEqual (true, eventhandled, "#A7");
225 public class ListViewSelectedIndexChangedEvent
227 int selectedIndexChanged;
229 public void ListView_SelectedIndexChanged (object sender, EventArgs e)
231 selectedIndexChanged++;
237 selectedIndexChanged = 0;
241 public void SelectBeforeCreationOfHandle ()
243 Form form = new Form ();
244 form.ShowInTaskbar = false;
246 ListView lvw = new ListView ();
247 lvw.SelectedIndexChanged += new EventHandler (ListView_SelectedIndexChanged);
248 lvw.View = View.Details;
249 ListViewItem itemA = new ListViewItem ("A");
250 lvw.Items.Add (itemA);
251 Assert.AreEqual (0, selectedIndexChanged, "#A1");
252 itemA.Selected = true;
253 Assert.AreEqual (0, selectedIndexChanged, "A2");
255 ListViewItem itemB = new ListViewItem ("B");
256 lvw.Items.Add (itemB);
257 Assert.AreEqual (0, selectedIndexChanged, "#B1");
258 itemB.Selected = true;
259 Assert.AreEqual (0, selectedIndexChanged, "B2");
261 form.Controls.Add (lvw);
262 Assert.AreEqual (0, selectedIndexChanged, "#C1");
264 Assert.AreEqual (2, selectedIndexChanged, "#C2");
269 public void RemoveSelectedItem ()
271 Form form = new Form ();
272 form.ShowInTaskbar = false;
274 ListView lvw = new ListView ();
275 lvw.SelectedIndexChanged += new EventHandler (ListView_SelectedIndexChanged);
276 lvw.View = View.Details;
277 ListViewItem itemA = new ListViewItem ("A");
278 lvw.Items.Add (itemA);
279 Assert.AreEqual (0, selectedIndexChanged, "#A1");
280 itemA.Selected = true;
281 Assert.AreEqual (0, selectedIndexChanged, "A2");
283 ListViewItem itemB = new ListViewItem ("B");
284 lvw.Items.Add (itemB);
285 Assert.AreEqual (0, selectedIndexChanged, "#B1");
286 itemB.Selected = true;
287 Assert.AreEqual (0, selectedIndexChanged, "B2");
288 lvw.Items.Remove (itemB);
289 Assert.IsTrue (itemB.Selected, "#B3");
291 form.Controls.Add (lvw);
292 Assert.AreEqual (0, selectedIndexChanged, "#C1");
294 Assert.AreEqual (1, selectedIndexChanged, "#C2");
295 lvw.Items.Remove (itemA);
296 Assert.AreEqual (2, selectedIndexChanged, "#C3");
297 Assert.IsTrue (itemA.Selected, "#C4");
301 public void AddAndSelectItem ()
303 Form form = new Form ();
304 form.ShowInTaskbar = false;
306 ListView lvw = new ListView ();
307 lvw.SelectedIndexChanged += new EventHandler (ListView_SelectedIndexChanged);
308 lvw.View = View.Details;
309 form.Controls.Add (lvw);
312 ListViewItem itemA = new ListViewItem ();
313 lvw.Items.Add (itemA);
314 Assert.AreEqual (0, selectedIndexChanged, "#A1");
315 itemA.Selected = true;
316 Assert.AreEqual (1, selectedIndexChanged, "#A2");
318 ListViewItem itemB = new ListViewItem ();
319 lvw.Items.Add (itemB);
320 Assert.AreEqual (1, selectedIndexChanged, "#B1");
321 itemB.Selected = true;
322 Assert.AreEqual (2, selectedIndexChanged, "#B2");