Changeset 8430 for branches/HeuristicLab.TimeSeries/HeuristicLab.Problems.DataAnalysis.Symbolic.Views/3.4/Symbols/VariableConditionView.cs
- Timestamp:
- 08/08/12 14:04:17 (12 years ago)
- Location:
- branches/HeuristicLab.TimeSeries
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HeuristicLab.TimeSeries
- Property svn:ignore
-
old new 20 20 bin 21 21 protoc.exe 22 _ReSharper.HeuristicLab.TimeSeries-3.3
-
- Property svn:ignore
-
branches/HeuristicLab.TimeSeries/HeuristicLab.Problems.DataAnalysis.Symbolic.Views
-
Property
svn:mergeinfo
set to
(toggle deleted branches)
/trunk/sources/HeuristicLab.Problems.DataAnalysis.Symbolic.Views merged eligible /branches/Benchmarking/sources/HeuristicLab.Problems.DataAnalysis.Symbolic.Views 6917-7005 /branches/CloningRefactoring/HeuristicLab.Problems.DataAnalysis.Symbolic.Views 4656-4721 /branches/DataAnalysis Refactoring/HeuristicLab.Problems.DataAnalysis.Symbolic.Views 5471-5808 /branches/DataAnalysis SolutionEnsembles/HeuristicLab.Problems.DataAnalysis.Symbolic.Views 5815-6180 /branches/DataAnalysis/HeuristicLab.Problems.DataAnalysis.Symbolic.Views 4458-4459,4462,4464 /branches/GP.Grammar.Editor/HeuristicLab.Problems.DataAnalysis.Symbolic.Views 6284-6795 /branches/GP.Symbols (TimeLag, Diff, Integral)/HeuristicLab.Problems.DataAnalysis.Symbolic.Views 5060 /branches/NET40/sources/HeuristicLab.Problems.DataAnalysis.Symbolic.Views 5138-5162 /branches/ParallelEngine/HeuristicLab.Problems.DataAnalysis.Symbolic.Views 5175-5192 /branches/ProblemInstancesRegressionAndClassification/HeuristicLab.Problems.DataAnalysis.Symbolic.Views 7568-7810 /branches/QAPAlgorithms/HeuristicLab.Problems.DataAnalysis.Symbolic.Views 6350-6627 /branches/Restructure trunk solution/HeuristicLab.Problems.DataAnalysis.Symbolic.Views 6828 /branches/SuccessProgressAnalysis/HeuristicLab.Problems.DataAnalysis.Symbolic.Views 5370-5682 /branches/Trunk/HeuristicLab.Problems.DataAnalysis.Symbolic.Views 6829-6865 /branches/VNS/HeuristicLab.Problems.DataAnalysis.Symbolic.Views 5594-5752 /branches/histogram/HeuristicLab.Problems.DataAnalysis.Symbolic.Views 5959-6341
-
Property
svn:mergeinfo
set to
(toggle deleted branches)
-
branches/HeuristicLab.TimeSeries/HeuristicLab.Problems.DataAnalysis.Symbolic.Views/3.4/Symbols/VariableConditionView.cs
r5809 r8430 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 0Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. … … 21 21 22 22 using System; 23 using System.Linq; 23 24 using System.Windows.Forms; 25 using HeuristicLab.Collections; 26 using HeuristicLab.Core; 27 using HeuristicLab.Core.Views; 28 using HeuristicLab.Data; 24 29 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views; 25 30 using HeuristicLab.MainForm; … … 30 35 [Content(typeof(VariableCondition), true)] 31 36 public partial class VariableConditionView : SymbolView { 37 private readonly CheckedItemCollectionView<StringValue> variableNamesView; 38 32 39 public new VariableCondition Content { 33 40 get { return (VariableCondition)base.Content; } … … 37 44 public VariableConditionView() { 38 45 InitializeComponent(); 46 variableNamesView = new CheckedItemCollectionView<StringValue>(); 47 variableNamesView.Dock = DockStyle.Fill; 48 variableNamesTabPage.Controls.Add(variableNamesView); 49 variableNamesView.Content = new CheckedItemCollection<StringValue>(); 50 51 RegisterVariableNamesViewContentEvents(); 52 } 53 54 private void RegisterVariableNamesViewContentEvents() { 55 variableNamesView.Content.ItemsAdded += new CollectionItemsChangedEventHandler<StringValue>(VariableNames_Changed); 56 variableNamesView.Content.ItemsRemoved += new CollectionItemsChangedEventHandler<StringValue>(VariableNames_Changed); 57 variableNamesView.Content.CheckedItemsChanged += new CollectionItemsChangedEventHandler<StringValue>(VariableNames_Changed); 58 variableNamesView.Content.CollectionReset += new CollectionItemsChangedEventHandler<StringValue>(VariableNames_Changed); 59 foreach (var variable in variableNamesView.Content) { 60 variable.ValueChanged += new EventHandler(Variable_ValueChanged); 61 } 62 } 63 64 private void DeregisterVariableNamesViewContentEvents() { 65 variableNamesView.Content.ItemsAdded -= new CollectionItemsChangedEventHandler<StringValue>(VariableNames_Changed); 66 variableNamesView.Content.ItemsRemoved -= new CollectionItemsChangedEventHandler<StringValue>(VariableNames_Changed); 67 variableNamesView.Content.CheckedItemsChanged -= new CollectionItemsChangedEventHandler<StringValue>(VariableNames_Changed); 68 variableNamesView.Content.CollectionReset -= new CollectionItemsChangedEventHandler<StringValue>(VariableNames_Changed); 69 foreach (var variable in variableNamesView.Content) { 70 variable.ValueChanged -= new EventHandler(Variable_ValueChanged); 71 } 39 72 } 40 73 … … 76 109 } 77 110 78 79 80 111 private void UpdateControl() { 81 112 if (Content == null) { … … 88 119 slopeChangeMuTextBox.Text = string.Empty; 89 120 slopeChangeSigmaTextBox.Text = string.Empty; 121 // temporarily deregister to prevent circular calling of events 122 DeregisterVariableNamesViewContentEvents(); 123 variableNamesView.Content.Clear(); 124 RegisterVariableNamesViewContentEvents(); 90 125 } else { 126 var existingEntries = variableNamesView.Content.ToList(); 127 128 // temporarily deregister to prevent circular calling of events 129 DeregisterVariableNamesViewContentEvents(); 130 // add additional entries 131 foreach (var variableName in Content.VariableNames.Except(existingEntries.Select(x => x.Value))) 132 variableNamesView.Content.Add(new StringValue(variableName), true); 133 foreach (var oldEntry in existingEntries.Where(x => !Content.VariableNames.Contains(x.Value))) 134 variableNamesView.Content.Remove(oldEntry); 135 RegisterVariableNamesViewContentEvents(); 136 91 137 thresholdInitializationMuTextBox.Text = Content.ThresholdInitializerMu.ToString(); 92 138 thresholdInitializationSigmaTextBox.Text = Content.ThresholdInitializerSigma.ToString(); … … 102 148 103 149 #region control events 104 private void thresholdMuTextBox_TextChanged(object sender, EventArgs e) { 150 private void VariableNames_Changed(object sender, CollectionItemsChangedEventArgs<StringValue> e) { 151 foreach (var newVar in e.Items) 152 newVar.ValueChanged += new EventHandler(Variable_ValueChanged); 153 foreach (var oldVar in e.OldItems) 154 oldVar.ValueChanged -= new EventHandler(Variable_ValueChanged); 155 UpdateContent(); 156 } 157 158 private void Variable_ValueChanged(object sender, EventArgs e) { 159 UpdateContent(); 160 } 161 162 private void UpdateContent() { 163 if (Content != null) { 164 DeregisterContentEvents(); 165 Content.VariableNames = variableNamesView.Content.CheckedItems.Select(x => x.Value).ToList(); 166 RegisterContentEvents(); 167 } 168 } 169 170 private void ThresholdInitializationMuTextBox_TextChanged(object sender, EventArgs e) { 105 171 double value; 106 172 if (double.TryParse(thresholdInitializationMuTextBox.Text, out value)) { … … 109 175 } else errorProvider.SetError(thresholdInitializationMuTextBox, "Invalid value"); 110 176 } 111 private void thresholdInitializationSigmaTextBox_TextChanged(object sender, EventArgs e) {177 private void ThresholdInitializationSigmaTextBox_TextChanged(object sender, EventArgs e) { 112 178 double value; 113 179 if (double.TryParse(thresholdInitializationSigmaTextBox.Text, out value)) { … … 116 182 } else errorProvider.SetError(thresholdInitializationSigmaTextBox, "Invalid value"); 117 183 } 118 private void slopeInitializationMuTextBox_TextChanged(object sender, EventArgs e) {184 private void SlopeInitializationMuTextBox_TextChanged(object sender, EventArgs e) { 119 185 double value; 120 186 if (double.TryParse(slopeInitializationMuTextBox.Text, out value)) { … … 123 189 } else errorProvider.SetError(slopeInitializationMuTextBox, "Invalid value"); 124 190 } 125 private void slopeInitializationSigmaTextBox_TextChanged(object sender, EventArgs e) {191 private void SlopeInitializationSigmaTextBox_TextChanged(object sender, EventArgs e) { 126 192 double value; 127 193 if (double.TryParse(slopeInitializationSigmaTextBox.Text, out value)) { … … 131 197 } 132 198 133 private void thresholdChangeMuTextBox_TextChanged(object sender, EventArgs e) {199 private void ThresholdChangeMuTextBox_TextChanged(object sender, EventArgs e) { 134 200 double value; 135 201 if (double.TryParse(thresholdChangeMuTextBox.Text, out value)) { … … 139 205 } 140 206 141 private void thresholdChangeSigmaTextBox_TextChanged(object sender, EventArgs e) {207 private void ThresholdChangeSigmaTextBox_TextChanged(object sender, EventArgs e) { 142 208 double value; 143 209 if (double.TryParse(thresholdChangeSigmaTextBox.Text, out value)) { … … 146 212 } else errorProvider.SetError(thresholdChangeSigmaTextBox, "Invalid value"); 147 213 } 148 private void slopeChangeMuTextBox_TextChanged(object sender, EventArgs e) {214 private void SlopeChangeMuTextBox_TextChanged(object sender, EventArgs e) { 149 215 double value; 150 216 if (double.TryParse(slopeChangeMuTextBox.Text, out value)) { … … 154 220 } 155 221 156 private void slopeChangeSigmaTextBox_TextChanged(object sender, EventArgs e) {222 private void SlopeChangeSigmaTextBox_TextChanged(object sender, EventArgs e) { 157 223 double value; 158 224 if (double.TryParse(slopeChangeSigmaTextBox.Text, out value)) { … … 162 228 } 163 229 #endregion 164 165 230 } 166 231 }
Note: See TracChangeset
for help on using the changeset viewer.