Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
01/25/10 02:34:23 (15 years ago)
Author:
swagner
Message:

Operator architecture refactoring (#95)

  • continued work on adapting and refactoring HeuristicLab.Data according to the changes in HeuristicLab.Core
  • unified visual appearance of views
Location:
trunk/sources/HeuristicLab.Data/3.3
Files:
1 added
11 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Data/3.3/BoolData.cs

    r2669 r2676  
    4141    }
    4242
     43    #region IStringConvertibleData Members
     44    bool IStringConvertibleData.Validate(string value) {
     45      bool b;
     46      return bool.TryParse(value, out b);
     47    }
    4348    string IStringConvertibleData.GetValue() {
    4449      return Value.ToString();
     
    5358      }
    5459    }
     60    #endregion
    5561  }
    5662}
  • trunk/sources/HeuristicLab.Data/3.3/DateTimeData.cs

    r2669 r2676  
    4545    }
    4646
     47    #region IStringConvertibleData Members
     48    bool IStringConvertibleData.Validate(string value) {
     49      DateTime d;
     50      return DateTime.TryParse(value, out d);
     51    }
    4752    string IStringConvertibleData.GetValue() {
    4853      return Value.ToString("o");  // round-trip format
     
    5762      }
    5863    }
     64    #endregion
    5965  }
    6066}
  • trunk/sources/HeuristicLab.Data/3.3/DoubleData.cs

    r2669 r2676  
    4545    }
    4646
     47    #region IStringConvertibleData Members
     48    bool IStringConvertibleData.Validate(string value) {
     49      double d;
     50      return double.TryParse(value, out d);
     51    }
    4752    string IStringConvertibleData.GetValue() {
    4853      return Value.ToString("r");  // round-trip format
     
    5762      }
    5863    }
     64    #endregion
    5965  }
    6066}
  • trunk/sources/HeuristicLab.Data/3.3/HeuristicLab.Data-3.3.csproj

    r2669 r2676  
    103103      <SubType>Code</SubType>
    104104    </Compile>
     105    <Compile Include="BoolArrayData.cs" />
    105106    <Compile Include="IStringConvertibleArrayData.cs" />
    106107    <Compile Include="ValueTypeArrayData.cs" />
  • trunk/sources/HeuristicLab.Data/3.3/IStringConvertibleArrayData.cs

    r2669 r2676  
    3131    int Length { get; set; }
    3232
     33    bool Validate(string value);
    3334    string GetValue(int index);
    3435    bool SetValue(string value, int index);
    3536
    36     event ChangedEventHandler Changed;
    3737    event EventHandler<EventArgs<int>> ItemChanged;
     38    event EventHandler Reset;
    3839  }
    3940}
  • trunk/sources/HeuristicLab.Data/3.3/IStringConvertibleData.cs

    r2669 r2676  
    2828namespace HeuristicLab.Data {
    2929  public interface IStringConvertibleData {
     30    bool Validate(string value);
    3031    string GetValue();
    3132    bool SetValue(string value);
  • trunk/sources/HeuristicLab.Data/3.3/IntArrayData.cs

    r2669 r2676  
    2424using System.Text;
    2525using System.Xml;
     26using HeuristicLab.Common;
    2627using HeuristicLab.Core;
    2728using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     
    3435    public IntArrayData() : base() { }
    3536    public IntArrayData(int length) : base(length) { }
    36     public IntArrayData(IntArrayData elements) : base(elements) { }
    3737    public IntArrayData(int[] elements) : base(elements) { }
     38    protected IntArrayData(IntArrayData elements) : base(elements) { }
    3839
    3940    public override IDeepCloneable Clone(Cloner cloner) {
     
    4344    }
    4445
     46    #region IStringConvertibleArrayData Members
    4547    int IStringConvertibleArrayData.Length {
    4648      get { return Length; }
    4749      set { Length = value; }
     50    }
     51    bool IStringConvertibleArrayData.Validate(string value) {
     52      int i;
     53      return int.TryParse(value, out i);
    4854    }
    4955    string IStringConvertibleArrayData.GetValue(int index) {
     
    5965      }
    6066    }
     67    event EventHandler<EventArgs<int>> IStringConvertibleArrayData.ItemChanged {
     68      add { base.ItemChanged += value; }
     69      remove { base.ItemChanged -= value; }
     70    }
     71    event EventHandler IStringConvertibleArrayData.Reset {
     72      add { base.Reset += value; }
     73      remove { base.Reset -= value; }
     74    }
     75    #endregion
    6176  }
    6277}
  • trunk/sources/HeuristicLab.Data/3.3/IntData.cs

    r2669 r2676  
    4141    }
    4242
     43    #region IStringConvertibleData Members
     44    bool IStringConvertibleData.Validate(string value) {
     45      int i;
     46      return int.TryParse(value, out i);
     47    }
    4348    string IStringConvertibleData.GetValue() {
    4449      return Value.ToString();
     
    5358      }
    5459    }
     60    #endregion
    5561  }
    5662}
  • trunk/sources/HeuristicLab.Data/3.3/StringData.cs

    r2669 r2676  
    6363    }
    6464
     65    #region IStringConvertibleData Members
     66    bool IStringConvertibleData.Validate(string value) {
     67      return true;
     68    }
    6569    string IStringConvertibleData.GetValue() {
    6670      return Value;
     
    7074      return true;
    7175    }
     76    #endregion
    7277  }
    7378}
  • trunk/sources/HeuristicLab.Data/3.3/TimeSpanData.cs

    r2669 r2676  
    4141    }
    4242
     43    #region IStringConvertibleData Members
     44    bool IStringConvertibleData.Validate(string value) {
     45      TimeSpan t;
     46      return TimeSpan.TryParse(value, out t);
     47    }
    4348    string IStringConvertibleData.GetValue() {
    4449      return Value.ToString();
     
    5358      }
    5459    }
     60    #endregion
    5561  }
    5662}
  • trunk/sources/HeuristicLab.Data/3.3/ValueTypeArrayData.cs

    r2669 r2676  
    4141        Array.Copy(array, newArray, Math.Min(value, array.Length));
    4242        array = newArray;
    43         OnChanged();
     43        OnReset();
    4444      }
    4545    }
     
    6060      array = new T[length];
    6161    }
    62     public ValueTypeArrayData(ValueTypeArrayData<T> elements) {
    63       if (elements == null) throw new ArgumentNullException();
    64       array = (T[])elements.array.Clone();
    65     }
    6662    public ValueTypeArrayData(T[] elements) {
    6763      if (elements == null) throw new ArgumentNullException();
    6864      array = (T[])elements.Clone();
     65    }
     66    protected ValueTypeArrayData(ValueTypeArrayData<T> elements) {
     67      if (elements == null) throw new ArgumentNullException();
     68      array = (T[])elements.array.Clone();
    6969    }
    7070
     
    9191    }
    9292
    93     public event EventHandler<EventArgs<int>> ItemChanged;
    94     protected virtual void OnItemChanged(int index) {
     93    protected event EventHandler<EventArgs<int>> ItemChanged;
     94    private void OnItemChanged(int index) {
    9595      if (ItemChanged != null)
    9696        ItemChanged(this, new EventArgs<int>(index));
    9797      OnChanged();
    9898    }
     99    protected event EventHandler Reset;
     100    private void OnReset() {
     101      if (Reset != null)
     102        Reset(this, EventArgs.Empty);
     103      OnChanged();
     104    }
    99105  }
    100106}
Note: See TracChangeset for help on using the changeset viewer.