Changeset 5750 for branches/DataAnalysis Refactoring/HeuristicLab.Problems.DataAnalysis.Symbolic.Views/3.4/Symbols/VariableView.cs
- Timestamp:
- 03/18/11 12:50:28 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/DataAnalysis Refactoring/HeuristicLab.Problems.DataAnalysis.Symbolic.Views/3.4/Symbols/VariableView.cs
r5693 r5750 21 21 22 22 using System; 23 using System.Linq; 23 24 using System.Windows.Forms; 24 25 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views; 25 26 using HeuristicLab.MainForm; 26 27 using HeuristicLab.MainForm.WindowsForms; 28 using HeuristicLab.Core; 29 using HeuristicLab.Data; 30 using HeuristicLab.Core.Views; 31 using HeuristicLab.Collections; 27 32 28 33 29 34 namespace HeuristicLab.Problems.DataAnalysis.Symbolic.Views { 35 30 36 [View("Variable View")] 31 37 [Content(typeof(Variable), true)] 32 38 public partial class VariableView : SymbolView { 39 private CheckedItemCollectionView<StringValue> variableNamesView; 40 33 41 public new Variable Content { 34 42 get { return (Variable)base.Content; } … … 38 46 public VariableView() { 39 47 InitializeComponent(); 48 variableNamesView = new CheckedItemCollectionView<StringValue>(); 49 variableNamesView.Dock = DockStyle.Fill; 50 variableNamesTabPage.Controls.Add(variableNamesView); 51 variableNamesView.Content = new CheckedItemCollection<StringValue>(); 52 53 RegisterVariableNamesViewContentEvents(); 40 54 } 55 56 private void RegisterVariableNamesViewContentEvents() { 57 variableNamesView.Content.ItemsAdded += new CollectionItemsChangedEventHandler<StringValue>(variableNames_Changed); 58 variableNamesView.Content.ItemsRemoved += new CollectionItemsChangedEventHandler<StringValue>(variableNames_Changed); 59 variableNamesView.Content.CheckedItemsChanged += new CollectionItemsChangedEventHandler<StringValue>(variableNames_Changed); 60 variableNamesView.Content.CollectionReset += new CollectionItemsChangedEventHandler<StringValue>(variableNames_Changed); 61 } 62 63 private void DeregisterVariableNamesViewContentEvents() { 64 variableNamesView.Content.ItemsAdded -= new CollectionItemsChangedEventHandler<StringValue>(variableNames_Changed); 65 variableNamesView.Content.ItemsRemoved -= new CollectionItemsChangedEventHandler<StringValue>(variableNames_Changed); 66 variableNamesView.Content.CheckedItemsChanged -= new CollectionItemsChangedEventHandler<StringValue>(variableNames_Changed); 67 variableNamesView.Content.CollectionReset -= new CollectionItemsChangedEventHandler<StringValue>(variableNames_Changed); 68 } 69 41 70 42 71 protected override void RegisterContentEvents() { … … 74 103 75 104 #region control event handlers 105 private void variableNames_Changed(object sender, CollectionItemsChangedEventArgs<StringValue> args) { 106 if (Content != null) { 107 Content.VariableNames = variableNamesView.Content.CheckedItems.Select(x => x.Value).ToList(); 108 } 109 } 110 76 111 private void weightMuTextBox_TextChanged(object sender, EventArgs e) { 77 112 double nu; … … 121 156 additiveWeightChangeSigmaTextBox.Text = string.Empty; 122 157 multiplicativeWeightChangeSigmaTextBox.Text = string.Empty; 158 // temporarily deregister to prevent circular calling of events 159 DeregisterVariableNamesViewContentEvents(); 160 variableNamesView.Content.Clear(); 161 RegisterVariableNamesViewContentEvents(); 123 162 } else { 163 var existingEntries = variableNamesView.Content.Select(x => x.Value); 164 165 // temporarily deregister to prevent circular calling of events 166 DeregisterVariableNamesViewContentEvents(); 167 // add additional entries 168 foreach (var variableName in Content.VariableNames.Except(existingEntries)) { 169 variableNamesView.Content.Add(new StringValue(variableName), true); 170 } 171 RegisterVariableNamesViewContentEvents(); 172 124 173 weightInitializationMuTextBox.Text = Content.WeightMu.ToString(); 125 174 weightInitializationSigmaTextBox.Text = Content.WeightSigma.ToString();
Note: See TracChangeset
for help on using the changeset viewer.