Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
04/02/14 13:47:19 (10 years ago)
Author:
sbreuer
Message:
  • enhanced usability
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/DataPreprocessing/HeuristicLab.DataPreprocessing.Views/3.3/DataGridContentView.cs

    r10698 r10705  
    150150      findAndReplaceDialog.ReplaceAllEvent += findAndReplaceDialog_ReplaceAllEvent;
    151151      findAndReplaceDialog.ReplaceNextEvent += findAndReplaceDialog_ReplaceEvent;
     152      findAndReplaceDialog.FormClosing += findAndReplaceDialog_FormClosing;
     153    }
     154
     155    void findAndReplaceDialog_FormClosing(object sender, FormClosingEventArgs e) {
     156      ResetHighlightedCells();
    152157    }
    153158
     
    161166    void findAndReplaceDialog_ReplaceAllEvent(object sender, EventArgs e) {
    162167      Replace(FindAll(findAndReplaceDialog.GetSearchText()));
     168      findAndReplaceDialog.SetEndReached(false);
    163169    }
    164170
     
    167173        searchIterator = new FindPreprocessingItemsIterator(FindAll(findAndReplaceDialog.GetSearchText()));
    168174        currentSearchText = findAndReplaceDialog.GetSearchText();
    169       }
    170 
    171       while (searchIterator.MoveNext() && (searchIterator.GetCurrent() == null || !Content.GetValue(searchIterator.GetCurrent().Item1, searchIterator.GetCurrent().Item2).Equals(currentSearchText))) {
    172        
    173       }
    174 
    175       if (searchIterator.GetCurrent() != null) {
    176         HightlightedCells = TransformToDictionary(searchIterator.GetCurrent());
     175        findAndReplaceDialog.SetEndReached(false);
     176      }
     177     
     178      Tuple<int, int> currentCell = null;
     179      bool moreOccurences = false;
     180      do {
     181        currentCell = searchIterator.GetCurrent();
     182        moreOccurences = searchIterator.MoveNext();
     183      } while (moreOccurences && (currentCell == null || !Content.GetValue(currentCell.Item2, currentCell.Item1).Equals(currentSearchText)));
     184
     185      if (!moreOccurences) {
     186        findAndReplaceDialog.SetEndReached(true);
     187      }
     188
     189      if (currentCell != null) {
     190        HightlightedCells = TransformToDictionary(currentCell);
    177191      } else {
    178         HightlightedCells.Clear();
     192        ResetHighlightedCells();
    179193      }
    180194    }
     
    182196    void findAndReplaceDialog_FindAllEvent(object sender, EventArgs e) {
    183197      HightlightedCells = FindAll(findAndReplaceDialog.GetSearchText());
     198      findAndReplaceDialog.SetEndReached(false);
    184199    }
    185200
     
    228243      highlightCells.Add(tuple.Item1, new List<int>() { tuple.Item2 });
    229244      return highlightCells;
     245    }
     246
     247    private void ResetHighlightedCells() {
     248      HightlightedCells = new Dictionary<int, IList<int>>();
    230249    }
    231250
Note: See TracChangeset for help on using the changeset viewer.