- Timestamp:
- 04/16/10 01:49:10 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Core.Views/3.3/ItemCollectionView.cs
r3350 r3362 46 46 Caption = "Item Collection"; 47 47 } 48 49 48 public ItemCollectionView(IObservableCollection<T> content) 50 49 : this() { … … 76 75 SortItemsListView(SortOrder.Ascending); 77 76 } 78 SetEnable StateOfControls();77 SetEnabledStateOfControls(); 79 78 } 80 79 81 80 protected override void OnReadOnlyChanged() { 82 81 base.OnReadOnlyChanged(); 83 SetEnableStateOfControls(); 84 } 85 private void SetEnableStateOfControls() { 82 SetEnabledStateOfControls(); 83 } 84 85 private void SetEnabledStateOfControls() { 86 86 if (Content == null) { 87 addButton.Enabled = false; 88 sortAscendingButton.Enabled = false; 89 sortDescendingButton.Enabled = false; 90 removeButton.Enabled = false; 87 91 itemsListView.Enabled = false; 88 92 detailsGroupBox.Enabled = false; 89 sortAscendingButton.Enabled = itemsListView.Items.Count > 0;90 sortDescendingButton.Enabled = itemsListView.Items.Count > 0;91 viewHost.Enabled = false;92 addButton.Enabled = false;93 removeButton.Enabled = false;94 93 } else { 94 addButton.Enabled = !Content.IsReadOnly && !ReadOnly; 95 sortAscendingButton.Enabled = itemsListView.Items.Count > 1; 96 sortDescendingButton.Enabled = itemsListView.Items.Count > 1; 97 removeButton.Enabled = !Content.IsReadOnly && !ReadOnly && itemsListView.SelectedItems.Count > 0; 95 98 itemsListView.Enabled = true; 96 99 detailsGroupBox.Enabled = true; 97 sortAscendingButton.Enabled = true;98 sortDescendingButton.Enabled = true;99 viewHost.Enabled = true;100 100 viewHost.ReadOnly = ReadOnly; 101 addButton.Enabled = !ReadOnly;102 removeButton.Enabled = !ReadOnly;103 101 } 104 102 } … … 125 123 ((T)listViewItem.Tag).ItemImageChanged += new EventHandler(Item_ItemImageChanged); 126 124 ((T)listViewItem.Tag).ToStringChanged += new EventHandler(Item_ToStringChanged); 127 sortAscendingButton.Enabled = itemsListView.Items.Count > 0; 128 sortDescendingButton.Enabled = itemsListView.Items.Count > 0; 125 AdjustListViewColumnSizes(); 126 sortAscendingButton.Enabled = itemsListView.Items.Count > 1; 127 sortDescendingButton.Enabled = itemsListView.Items.Count > 1; 129 128 } 130 129 protected virtual void RemoveListViewItem(ListViewItem listViewItem) { … … 135 134 if (other.ImageIndex > listViewItem.ImageIndex) other.ImageIndex--; 136 135 itemsListView.SmallImageList.Images.RemoveAt(listViewItem.ImageIndex); 137 sortAscendingButton.Enabled = itemsListView.Items.Count > 0;138 sortDescendingButton.Enabled = itemsListView.Items.Count > 0;136 sortAscendingButton.Enabled = itemsListView.Items.Count > 1; 137 sortDescendingButton.Enabled = itemsListView.Items.Count > 1; 139 138 } 140 139 protected virtual void UpdateListViewItemImage(ListViewItem listViewItem) { … … 157 156 #region ListView Events 158 157 protected virtual void itemsListView_SelectedIndexChanged(object sender, EventArgs e) { 159 removeButton.Enabled = itemsListView.SelectedItems.Count > 0 && !Content.IsReadOnly;158 removeButton.Enabled = !Content.IsReadOnly && !ReadOnly && itemsListView.SelectedItems.Count > 0; 160 159 if (itemsListView.SelectedItems.Count == 1) { 161 160 T item = (T)itemsListView.SelectedItems[0].Tag; … … 168 167 } 169 168 } 170 protected virtual void itemsListView_SizeChanged(object sender, EventArgs e) {171 if (itemsListView.Columns.Count > 0)172 itemsListView.Columns[0].Width = Math.Max(0, itemsListView.Width - 25);173 }174 169 protected virtual void itemsListView_KeyDown(object sender, KeyEventArgs e) { 175 170 if (e.KeyCode == Keys.Delete) { 176 if ((itemsListView.SelectedItems.Count > 0) && !Content.IsReadOnly ) {171 if ((itemsListView.SelectedItems.Count > 0) && !Content.IsReadOnly && !ReadOnly) { 177 172 foreach (ListViewItem item in itemsListView.SelectedItems) 178 173 Content.Remove((T)item.Tag); … … 183 178 if (itemsListView.SelectedItems.Count == 1) { 184 179 T item = (T)itemsListView.SelectedItems[0].Tag; 185 IView view = MainFormManager.CreateDefaultView(item );180 IView view = MainFormManager.CreateDefaultView(item, ReadOnly); 186 181 if (view != null) view.Show(); 187 182 } … … 193 188 data.SetData("Type", item.GetType()); 194 189 data.SetData("Value", item); 195 if (Content.IsReadOnly ) {190 if (Content.IsReadOnly || ReadOnly) { 196 191 DoDragDrop(data, DragDropEffects.Copy | DragDropEffects.Link); 197 192 } else { … … 204 199 e.Effect = DragDropEffects.None; 205 200 Type type = e.Data.GetData("Type") as Type; 206 if ( (!Content.IsReadOnly)&& (type != null) && (typeof(T).IsAssignableFrom(type))) {201 if (!Content.IsReadOnly && !ReadOnly && (type != null) && (typeof(T).IsAssignableFrom(type))) { 207 202 if ((e.KeyState & 8) == 8) e.Effect = DragDropEffects.Copy; // CTRL key 208 203 else if ((e.KeyState & 4) == 4) e.Effect = DragDropEffects.Move; // SHIFT key … … 295 290 foreach (ListViewItem listViewItem in GetListViewItemsForItem(item)) 296 291 UpdateListViewItemText(listViewItem); 292 AdjustListViewColumnSizes(); 297 293 } 298 294 } … … 305 301 itemsListView.Sorting = SortOrder.None; 306 302 } 303 protected virtual void AdjustListViewColumnSizes() { 304 if (itemsListView.Items.Count > 0) { 305 for (int i = 0; i < itemsListView.Columns.Count; i++) 306 itemsListView.Columns[i].AutoResize(ColumnHeaderAutoResizeStyle.ColumnContent); 307 } 308 } 307 309 #endregion 308 310 }
Note: See TracChangeset
for help on using the changeset viewer.