- Timestamp:
- 04/16/10 01:49:10 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Core.Views/3.3/ItemArrayView.cs
r3341 r3362 88 88 Caption = "Item Array"; 89 89 while (itemsListView.Items.Count > 0) RemoveListViewItem(itemsListView.Items[0]); 90 itemsListView.Enabled = false;91 detailsGroupBox.Enabled = false;92 90 viewHost.Content = null; 93 moveUpButton.Enabled = false;94 moveDownButton.Enabled = false;95 96 91 if (Content != null) { 97 92 Caption += " (" + Content.GetType().Name + ")"; 98 itemsListView.Enabled = true;99 93 foreach (T item in Content) 100 94 AddListViewItem(CreateListViewItem(item)); 95 } 96 SetEnabledStateOfControls(); 97 } 98 99 protected override void OnReadOnlyChanged() { 100 base.OnReadOnlyChanged(); 101 SetEnabledStateOfControls(); 102 } 103 104 private void SetEnabledStateOfControls() { 105 if (Content == null) { 106 addButton.Enabled = false; 107 moveUpButton.Enabled = false; 108 moveDownButton.Enabled = false; 109 removeButton.Enabled = false; 110 itemsListView.Enabled = false; 111 detailsGroupBox.Enabled = false; 112 } else { 113 addButton.Enabled = itemsListView.SelectedItems.Count > 0 && 114 !Content.IsReadOnly && !ReadOnly; 115 moveUpButton.Enabled = itemsListView.SelectedItems.Count == 1 && 116 itemsListView.SelectedIndices[0] != 0 && 117 !Content.IsReadOnly && !ReadOnly; 118 moveDownButton.Enabled = itemsListView.SelectedItems.Count == 1 && 119 itemsListView.SelectedIndices[0] != itemsListView.Items.Count - 1 && 120 !Content.IsReadOnly && !ReadOnly; 121 removeButton.Enabled = itemsListView.SelectedItems.Count > 0 && 122 !Content.IsReadOnly && !ReadOnly; 123 itemsListView.Enabled = true; 124 detailsGroupBox.Enabled = true; 125 viewHost.ReadOnly = ReadOnly; 101 126 } 102 127 } … … 126 151 ((T)listViewItem.Tag).ToStringChanged += new EventHandler(Item_ToStringChanged); 127 152 } 153 AdjustListViewColumnSizes(); 128 154 } 129 155 protected virtual void InsertListViewItem(int index, ListViewItem listViewItem) { … … 133 159 ((T)listViewItem.Tag).ToStringChanged += new EventHandler(Item_ToStringChanged); 134 160 } 161 AdjustListViewColumnSizes(); 135 162 } 136 163 protected virtual void RemoveListViewItem(ListViewItem listViewItem) { … … 157 184 } 158 185 186 #region ListView Events 159 187 protected virtual void itemsListView_SelectedIndexChanged(object sender, EventArgs e) { 160 addButton.Enabled = itemsListView.SelectedItems.Count > 0 && !Content.IsReadOnly ;188 addButton.Enabled = itemsListView.SelectedItems.Count > 0 && !Content.IsReadOnly && !ReadOnly; 161 189 moveUpButton.Enabled = itemsListView.SelectedItems.Count == 1 && 162 190 itemsListView.SelectedIndices[0] != 0 && 163 !Content.IsReadOnly ;191 !Content.IsReadOnly && !ReadOnly; 164 192 moveDownButton.Enabled = itemsListView.SelectedItems.Count == 1 && 165 193 itemsListView.SelectedIndices[0] != itemsListView.Items.Count - 1 && 166 !Content.IsReadOnly ;167 removeButton.Enabled = itemsListView.SelectedItems.Count > 0 && !Content.IsReadOnly ;194 !Content.IsReadOnly && !ReadOnly; 195 removeButton.Enabled = itemsListView.SelectedItems.Count > 0 && !Content.IsReadOnly && !ReadOnly; 168 196 169 197 if (itemsListView.SelectedItems.Count == 1) { … … 178 206 } 179 207 180 #region ListView Events181 protected virtual void itemsListView_SizeChanged(object sender, EventArgs e) {182 if (itemsListView.Columns.Count > 0)183 itemsListView.Columns[0].Width = Math.Max(0, itemsListView.Width - 25);184 }185 186 208 protected virtual void itemsListView_KeyDown(object sender, KeyEventArgs e) { 187 209 if (e.KeyCode == Keys.Delete) { 188 if ((itemsListView.SelectedItems.Count > 0) && !Content.IsReadOnly ) {210 if ((itemsListView.SelectedItems.Count > 0) && !Content.IsReadOnly && !ReadOnly) { 189 211 foreach (ListViewItem item in itemsListView.SelectedItems) 190 212 Content[item.Index] = null; … … 197 219 T item = itemsListView.SelectedItems[0].Tag as T; 198 220 if (item != null) { 199 IView view = MainFormManager.CreateDefaultView(item );221 IView view = MainFormManager.CreateDefaultView(item, ReadOnly); 200 222 if (view != null) view.Show(); 201 223 } … … 210 232 data.SetData("Type", item.GetType()); 211 233 data.SetData("Value", item); 212 if (Content.IsReadOnly ) {234 if (Content.IsReadOnly || ReadOnly) { 213 235 DoDragDrop(data, DragDropEffects.Copy | DragDropEffects.Link); 214 236 } else { … … 222 244 e.Effect = DragDropEffects.None; 223 245 Type type = e.Data.GetData("Type") as Type; 224 if ( (!Content.IsReadOnly)&& (type != null) && (typeof(T).IsAssignableFrom(type))) {246 if (!Content.IsReadOnly && !ReadOnly && (type != null) && (typeof(T).IsAssignableFrom(type))) { 225 247 Point p = itemsListView.PointToClient(new Point(e.X, e.Y)); 226 248 ListViewItem listViewItem = itemsListView.GetItemAt(p.X, p.Y); … … 354 376 UpdateListViewItemText(listViewItem); 355 377 } 378 AdjustListViewColumnSizes(); 379 } 380 } 381 #endregion 382 383 #region Helpers 384 protected virtual void AdjustListViewColumnSizes() { 385 if (itemsListView.Items.Count > 0) { 386 for (int i = 0; i < itemsListView.Columns.Count; i++) 387 itemsListView.Columns[i].AutoResize(ColumnHeaderAutoResizeStyle.ColumnContent); 356 388 } 357 389 }
Note: See TracChangeset
for help on using the changeset viewer.