Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
11/11/10 14:03:24 (14 years ago)
Author:
abeham
Message:

#1258

  • worked on parameter binding
Location:
branches/ParameterBinding/HeuristicLab.Parameters/3.3
Files:
2 added
2 deleted
2 edited

Legend:

Unmodified
Added
Removed
  • branches/ParameterBinding/HeuristicLab.Parameters/3.3/HeuristicLab.Parameters-3.3.csproj

    r4758 r4770  
    111111    <None Include="HeuristicLabParametersPlugin.cs.frame" />
    112112    <Compile Include="ConstrainedValueParameter.cs" />
    113     <Compile Include="ParameterSecondLevelValueBinding.cs" />
     113    <Compile Include="ParameterSecondLevelNameBinding.cs" />
    114114    <Compile Include="ParameterValueBinding.cs" />
    115115    <Compile Include="OptionalConstrainedValueParameter.cs" />
    116     <Compile Include="ParameterActualNameBinding.cs" />
     116    <Compile Include="ParameterNameBinding.cs" />
    117117    <Compile Include="ScopeTreeLookupParameter.cs" />
    118118    <Compile Include="ValueParameter.cs" />
  • branches/ParameterBinding/HeuristicLab.Parameters/3.3/ParameterValueBinding.cs

    r4757 r4770  
    1111  public class ParameterValueBinding : IParameterBinding {
    1212    [Storable]
    13     private IValueParameter recipient;
    14     public IValueParameter Recipient {
    15       get { return recipient; }
     13    private IValueParameter target;
     14    public IValueParameter Target {
     15      get { return target; }
    1616    }
    1717    [Storable]
    18     private IValueParameter donor;
    19     public IValueParameter Donor {
    20       get { return donor; }
     18    private IValueParameter source;
     19    public IValueParameter Source {
     20      get { return source; }
    2121    }
    2222
     
    2424    protected ParameterValueBinding(bool deserializing) { }
    2525    protected ParameterValueBinding(ParameterValueBinding original, Cloner cloner) {
    26       this.donor = cloner.Clone(donor);
    27       this.recipient = cloner.Clone(recipient);
     26      this.source = cloner.Clone(source);
     27      this.target = cloner.Clone(target);
    2828      RegisterEventHandlers();
    2929    }
    30     public ParameterValueBinding(IValueParameter recipient, IValueParameter donor) {
    31       if (recipient == null) throw new ArgumentNullException("destination");
    32       if (donor == null) throw new ArgumentNullException("source");
    33       this.recipient = recipient;
    34       this.donor = donor;
    35       RegisterEventHandlers();
     30    public ParameterValueBinding(IValueParameter target, IValueParameter source) {
     31      if (target == null) throw new ArgumentNullException("destination");
     32      if (source == null) throw new ArgumentNullException("source");
     33      this.target = target;
     34      this.source = source;
    3635    }
    3736
    38     public override IDeepCloneable Clone(Cloner cloner) {
     37    public object Clone() {
     38      return Clone(new Cloner());
     39    }
     40
     41    public virtual IDeepCloneable Clone(Cloner cloner) {
    3942      return new ParameterValueBinding(this, cloner);
    4043    }
     
    4245    public void Bind() {
    4346      RegisterEventHandlers();
     47      ExecuteBinding();
    4448    }
    4549
     
    5458
    5559    private void RegisterEventHandlers() {
    56       donor.ValueChanged += new EventHandler(source_ValueChanged);
     60      source.ValueChanged += new EventHandler(source_ValueChanged);
    5761    }
    5862
    5963    private void DeregisterEventHandlers() {
    60       donor.ValueChanged -= new EventHandler(source_ValueChanged);
     64      source.ValueChanged -= new EventHandler(source_ValueChanged);
    6165    }
    62    
    6366
    6467    private void source_ValueChanged(object sender, EventArgs e) {
    65       recipient.Value = (IItem)donor.Value.Clone();
     68      ExecuteBinding();
     69    }
     70
     71    private void ExecuteBinding() {
     72      target.Value = (IItem)source.Value.Clone();
    6673    }
    6774  }
Note: See TracChangeset for help on using the changeset viewer.