Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
04/13/10 10:36:51 (14 years ago)
Author:
mkommend
Message:

added events for changes of column and row names (ticket #968)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Data.Views/3.3/StringConvertibleMatrixView.cs

    r3317 r3320  
    6161      Content.ItemChanged -= new EventHandler<EventArgs<int, int>>(Content_ItemChanged);
    6262      Content.Reset -= new EventHandler(Content_Reset);
     63      Content.ColumnNamesChanged -= new EventHandler(Content_ColumnNamesChanged);
     64      Content.RowNamesChanged -= new EventHandler(Content_RowNamesChanged);
    6365      base.DeregisterContentEvents();
    6466    }
     
    6971      Content.ItemChanged += new EventHandler<EventArgs<int, int>>(Content_ItemChanged);
    7072      Content.Reset += new EventHandler(Content_Reset);
    71     }
     73      Content.ColumnNamesChanged += new EventHandler(Content_ColumnNamesChanged);
     74      Content.RowNamesChanged += new EventHandler(Content_RowNamesChanged);
     75    }
     76
     77
    7278
    7379    protected override void OnContentChanged() {
     
    128134    }
    129135
     136    private void Content_RowNamesChanged(object sender, EventArgs e) {
     137      UpdateColumnHeaders();
     138    }
     139
     140    private void Content_ColumnNamesChanged(object sender, EventArgs e) {
     141      UpdateRowHeaders();
     142    }
     143
    130144    private void Content_ItemChanged(object sender, EventArgs<int, int> e) {
    131145      if (InvokeRequired)
     
    218232
    219233    private void dataGridView_ColumnHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e) {
    220       //if (Content != null && Content.SortableView) {
    221       if (e.Button == MouseButtons.Left) {
    222         bool addToSortedIndizes = (Control.ModifierKeys & Keys.Control) == Keys.Control;
    223         SortOrder newSortOrder = SortOrder.Ascending;
    224         if (sortedColumnIndizes.Any(x => x.Key == e.ColumnIndex)) {
    225           SortOrder oldSortOrder = sortedColumnIndizes.Where(x => x.Key == e.ColumnIndex).First().Value;
    226           int enumLength = Enum.GetValues(typeof(SortOrder)).Length;
    227           newSortOrder = oldSortOrder = (SortOrder)Enum.Parse(typeof(SortOrder), ((((int)oldSortOrder) + 1) % enumLength).ToString());
     234      if (Content != null) {
     235        if (e.Button == MouseButtons.Left && Content.SortableView) {
     236          bool addToSortedIndizes = (Control.ModifierKeys & Keys.Control) == Keys.Control;
     237          SortOrder newSortOrder = SortOrder.Ascending;
     238          if (sortedColumnIndizes.Any(x => x.Key == e.ColumnIndex)) {
     239            SortOrder oldSortOrder = sortedColumnIndizes.Where(x => x.Key == e.ColumnIndex).First().Value;
     240            int enumLength = Enum.GetValues(typeof(SortOrder)).Length;
     241            newSortOrder = oldSortOrder = (SortOrder)Enum.Parse(typeof(SortOrder), ((((int)oldSortOrder) + 1) % enumLength).ToString());
     242          }
     243
     244          if (!addToSortedIndizes)
     245            sortedColumnIndizes.Clear();
     246
     247          if (sortedColumnIndizes.Any(x => x.Key == e.ColumnIndex)) {
     248            int sortedIndex = sortedColumnIndizes.FindIndex(x => x.Key == e.ColumnIndex);
     249            if (newSortOrder != SortOrder.None)
     250              sortedColumnIndizes[sortedIndex] = new KeyValuePair<int, SortOrder>(e.ColumnIndex, newSortOrder);
     251            else
     252              sortedColumnIndizes.RemoveAt(sortedIndex);
     253          } else
     254            if (newSortOrder != SortOrder.None)
     255              sortedColumnIndizes.Add(new KeyValuePair<int, SortOrder>(e.ColumnIndex, newSortOrder));
     256          Sort();
     257        } else if (e.Button == MouseButtons.Right) {
     258          if (Content.ColumnNames.Count() != 0)
     259            contextMenu.Show(MousePosition);
    228260        }
    229 
    230         if (!addToSortedIndizes)
    231           sortedColumnIndizes.Clear();
    232 
    233         if (sortedColumnIndizes.Any(x => x.Key == e.ColumnIndex)) {
    234           int sortedIndex = sortedColumnIndizes.FindIndex(x => x.Key == e.ColumnIndex);
    235           if (newSortOrder != SortOrder.None)
    236             sortedColumnIndizes[sortedIndex] = new KeyValuePair<int, SortOrder>(e.ColumnIndex, newSortOrder);
    237           else
    238             sortedColumnIndizes.RemoveAt(sortedIndex);
    239         } else
    240           if (newSortOrder != SortOrder.None)
    241             sortedColumnIndizes.Add(new KeyValuePair<int, SortOrder>(e.ColumnIndex, newSortOrder));
    242         Sort();
    243       } else if (e.Button == MouseButtons.Right) {
    244         if (Content.ColumnNames.Count() != 0)
    245           contextMenu.Show(MousePosition);
    246       }
    247 
    248       //}
     261      }
    249262    }
    250263
Note: See TracChangeset for help on using the changeset viewer.