Changeset 40 for trunk/sources/HeuristicLab.Data/ItemListView_T.cs
- Timestamp:
- 03/05/08 02:08:02 (16 years ago)
- File:
-
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Data/ItemListView_T.cs
r38 r40 27 27 using System.Text; 28 28 using System.Windows.Forms; 29 using HeuristicLab.PluginInfrastructure;30 29 using HeuristicLab.Core; 31 30 32 31 namespace HeuristicLab.Data { 33 public partial class ItemListView : ViewBase{32 public partial class ItemListView<T> : ViewBase where T : IItem { 34 33 private ChooseItemDialog chooseItemDialog; 35 34 36 public ItemList ItemList {37 get { return (ItemList )Item; }35 public ItemList<T> ItemList { 36 get { return (ItemList<T>)Item; } 38 37 set { base.Item = value; } 39 38 } … … 43 42 itemsListView.Columns[0].Width = Math.Max(0, itemsListView.Width - 25); 44 43 } 45 public ItemListView(ItemList itemList)44 public ItemListView(ItemList<T> itemList) 46 45 : this() { 47 46 ItemList = itemList; … … 49 48 50 49 protected override void RemoveItemEvents() { 51 ItemList.ItemTypeChanged -= new EventHandler(ItemList_ItemTypeChanged);52 50 ItemList.ItemAdded -= new EventHandler<ItemIndexEventArgs>(ItemList_ItemInserted); 53 51 ItemList.ItemRemoved -= new EventHandler<ItemIndexEventArgs>(ItemList_ItemRemoved); … … 57 55 protected override void AddItemEvents() { 58 56 base.AddItemEvents(); 59 ItemList.ItemTypeChanged += new EventHandler(ItemList_ItemTypeChanged);60 57 ItemList.ItemAdded += new EventHandler<ItemIndexEventArgs>(ItemList_ItemInserted); 61 58 ItemList.ItemRemoved += new EventHandler<ItemIndexEventArgs>(ItemList_ItemRemoved); … … 70 67 if (ItemList == null) { 71 68 typeTextBox.Text = ""; 72 setTypeButton.Enabled = false;73 69 splitContainer.Enabled = false; 74 70 } else { 75 typeTextBox.Text = ItemList.ItemType.FullName; 76 setTypeButton.Enabled = true; 71 typeTextBox.Text = typeof(T).FullName; 77 72 splitContainer.Enabled = true; 78 73 foreach (ListViewItem item in itemsListView.Items) { … … 125 120 126 121 #region Button Events 127 private void setTypeButton_Click(object sender, EventArgs e) {128 ChooseTypeDialog dialog = new ChooseTypeDialog();129 dialog.Caption = "Set Item Type";130 if (dialog.ShowDialog(this) == DialogResult.OK) {131 try {132 ItemList.ItemType = dialog.Type;133 }134 catch (Exception ex) {135 Auxiliary.ShowErrorMessageBox(ex);136 }137 }138 dialog.Dispose();139 }140 122 private void addButton_Click(object sender, EventArgs e) { 141 123 if (chooseItemDialog == null) { 142 chooseItemDialog = new ChooseItemDialog( ItemList.ItemType);124 chooseItemDialog = new ChooseItemDialog(typeof(T)); 143 125 chooseItemDialog.Caption = "Add Item"; 144 126 } 145 127 if (chooseItemDialog.ShowDialog(this) == DialogResult.OK) { 146 128 try { 147 ItemList.Add( chooseItemDialog.Item);129 ItemList.Add((T)chooseItemDialog.Item); 148 130 } 149 131 catch (Exception ex) { … … 193 175 if (item != null) { 194 176 int index = item.Index; 195 ItemList.Remove( data);196 ItemList.Insert(index, data);177 ItemList.Remove((T)data); 178 ItemList.Insert(index, (T)data); 197 179 itemsListView.SelectedIndices.Clear(); 198 180 itemsListView.SelectedIndices.Add(index); … … 204 186 205 187 #region Item and Item List Events 206 private void ItemList_ItemTypeChanged(object sender, EventArgs e) {207 if (InvokeRequired)208 Invoke(new EventHandler(ItemList_ItemTypeChanged), sender, e);209 else {210 typeTextBox.Text = ItemList.ItemType.FullName;211 if (chooseItemDialog != null) chooseItemDialog.Dispose();212 chooseItemDialog = new ChooseItemDialog(ItemList.ItemType);213 chooseItemDialog.Caption = "Add Item";214 }215 }216 188 private void ItemList_ItemInserted(object sender, ItemIndexEventArgs e) { 217 189 if (InvokeRequired)
Note: See TracChangeset
for help on using the changeset viewer.