Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
04/16/10 01:49:10 (14 years ago)
Author:
swagner
Message:

Adapted views of HeuristicLab.Core.Views according the new read-only property and renamed method SetEnableStateOfControls into SetEnabledStateOfControls (#973).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Core.Views/3.3/ItemCollectionView.cs

    r3350 r3362  
    4646      Caption = "Item Collection";
    4747    }
    48 
    4948    public ItemCollectionView(IObservableCollection<T> content)
    5049      : this() {
     
    7675        SortItemsListView(SortOrder.Ascending);
    7776      }
    78       SetEnableStateOfControls();
     77      SetEnabledStateOfControls();
    7978    }
    8079
    8180    protected override void OnReadOnlyChanged() {
    8281      base.OnReadOnlyChanged();
    83       SetEnableStateOfControls();
    84     }
    85     private void SetEnableStateOfControls() {
     82      SetEnabledStateOfControls();
     83    }
     84
     85    private void SetEnabledStateOfControls() {
    8686      if (Content == null) {
     87        addButton.Enabled = false;
     88        sortAscendingButton.Enabled = false;
     89        sortDescendingButton.Enabled = false;
     90        removeButton.Enabled = false;
    8791        itemsListView.Enabled = false;
    8892        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;
    9493      } 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;
    9598        itemsListView.Enabled = true;
    9699        detailsGroupBox.Enabled = true;
    97         sortAscendingButton.Enabled = true;
    98         sortDescendingButton.Enabled = true;
    99         viewHost.Enabled = true;
    100100        viewHost.ReadOnly = ReadOnly;
    101         addButton.Enabled = !ReadOnly;
    102         removeButton.Enabled = !ReadOnly;
    103101      }
    104102    }
     
    125123      ((T)listViewItem.Tag).ItemImageChanged += new EventHandler(Item_ItemImageChanged);
    126124      ((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;
    129128    }
    130129    protected virtual void RemoveListViewItem(ListViewItem listViewItem) {
     
    135134        if (other.ImageIndex > listViewItem.ImageIndex) other.ImageIndex--;
    136135      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;
    139138    }
    140139    protected virtual void UpdateListViewItemImage(ListViewItem listViewItem) {
     
    157156    #region ListView Events
    158157    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;
    160159      if (itemsListView.SelectedItems.Count == 1) {
    161160        T item = (T)itemsListView.SelectedItems[0].Tag;
     
    168167      }
    169168    }
    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     }
    174169    protected virtual void itemsListView_KeyDown(object sender, KeyEventArgs e) {
    175170      if (e.KeyCode == Keys.Delete) {
    176         if ((itemsListView.SelectedItems.Count > 0) && !Content.IsReadOnly) {
     171        if ((itemsListView.SelectedItems.Count > 0) && !Content.IsReadOnly && !ReadOnly) {
    177172          foreach (ListViewItem item in itemsListView.SelectedItems)
    178173            Content.Remove((T)item.Tag);
     
    183178      if (itemsListView.SelectedItems.Count == 1) {
    184179        T item = (T)itemsListView.SelectedItems[0].Tag;
    185         IView view = MainFormManager.CreateDefaultView(item);
     180        IView view = MainFormManager.CreateDefaultView(item, ReadOnly);
    186181        if (view != null) view.Show();
    187182      }
     
    193188      data.SetData("Type", item.GetType());
    194189      data.SetData("Value", item);
    195       if (Content.IsReadOnly) {
     190      if (Content.IsReadOnly || ReadOnly) {
    196191        DoDragDrop(data, DragDropEffects.Copy | DragDropEffects.Link);
    197192      } else {
     
    204199      e.Effect = DragDropEffects.None;
    205200      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))) {
    207202        if ((e.KeyState & 8) == 8) e.Effect = DragDropEffects.Copy;  // CTRL key
    208203        else if ((e.KeyState & 4) == 4) e.Effect = DragDropEffects.Move;  // SHIFT key
     
    295290        foreach (ListViewItem listViewItem in GetListViewItemsForItem(item))
    296291          UpdateListViewItemText(listViewItem);
     292        AdjustListViewColumnSizes();
    297293      }
    298294    }
     
    305301      itemsListView.Sorting = SortOrder.None;
    306302    }
     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    }
    307309    #endregion
    308310  }
Note: See TracChangeset for help on using the changeset viewer.