Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
03/30/17 16:44:15 (7 years ago)
Author:
mkommend
Message:

#2663: Merged r14368, r14270, and r14371 to stable.

Location:
stable
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • stable

  • stable/HeuristicLab.DataPreprocessing.Views

  • stable/HeuristicLab.DataPreprocessing.Views/3.4

    • Property svn:ignore
      •  

        old new  
        11ComparisonFilterView.resx
        22FilterView.resx
         3*.user
  • stable/HeuristicLab.DataPreprocessing.Views/3.4/PreprocessingChartView.cs

    r14186 r14796  
    5959    //Add or remove data row
    6060    private void CheckedItemsChanged(object sender, CollectionItemsChangedEventArgs<IndexedItem<StringValue>> checkedItems) {
    61 
     61      tableLayoutPanel.SuspendLayout();
    6262      foreach (IndexedItem<StringValue> item in checkedItems.Items) {
    6363        string variableName = item.Value.Value;
    6464
    65         //variable is displayed -> remove
    66         if (VariableIsDisplayed(variableName)) {
    67           dataTable.Rows.Remove(variableName);
     65        // not checked -> remove
     66        if (!VariableIsChecked(variableName)) {
     67          dataTableView.SetRowEnabled(variableName, false);
    6868          dataTable.SelectedRows.Remove(variableName);
    6969          dataTablePerVariable.Remove(dataTablePerVariable.Find(x => (x.Name == variableName)));
    70           //variable isnt't displayed -> add
    7170        } else {
    7271          DataRow row = GetDataRow(variableName);
    7372          DataRow selectedRow = GetSelectedDataRow(variableName);
    74           dataTable.Rows.Add(row);
     73          dataTableView.SetRowEnabled(variableName, true);
    7574
    7675          PreprocessingDataTable pdt = new PreprocessingDataTable(variableName);
    7776          pdt.Rows.Add(row);
    78           dataTablePerVariable.Add(pdt);
     77          // dataTablePerVariable does not contain unchecked variables => reduce insert position by number of unchecked variables to correct the index
     78          int uncheckedUntilVariable = checkedItemList.Content.TakeWhile(x => x.Value != variableName).Count(x => !checkedItemList.Content.ItemChecked(x));
     79          dataTablePerVariable.Insert(item.Index - uncheckedUntilVariable, pdt);
    7980
    8081          //update selection
     
    8990      if (Content != null && !Content.AllInOneMode)
    9091        GenerateChart();
    91 
    92     }
    93 
    94     private bool VariableIsDisplayed(string name) {
    95 
    96       foreach (var item in dataTable.Rows) {
    97         if (item.Name == name)
    98           return true;
    99       }
    100       return false;
     92      tableLayoutPanel.ResumeLayout(true);
     93    }
     94
     95    private bool VariableIsChecked(string name) {
     96      return Content.VariableItemList.CheckedItems.Any(x => x.Value.Value == name);
    10197    }
    10298
     
    158154      dataTable.SelectedRows.Clear();
    159155      foreach (var selectedRow in selectedDataRows) {
    160         if (VariableIsDisplayed(selectedRow.Name))
     156        if (VariableIsChecked(selectedRow.Name))
    161157          dataTable.SelectedRows.Add(selectedRow);
    162158      }
Note: See TracChangeset for help on using the changeset viewer.