Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
10/29/10 18:50:00 (13 years ago)
Author:
mkommend
Message:

Refactored Operators.* (ticket #922).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/CloningRefactoring/HeuristicLab.Operators.Views.GraphVisualization/3.3/General/GraphVisualizationInfo.cs

    r4068 r4673  
    3030  [StorableClass]
    3131  public class GraphVisualizationInfo : DeepCloneable, IGraphVisualizationInfo {
    32     public GraphVisualizationInfo() {
     32    [StorableConstructor]
     33    protected GraphVisualizationInfo(bool deserializing) : base() { }
     34    protected GraphVisualizationInfo(GraphVisualizationInfo original, Cloner cloner)
     35      : base(original, cloner) {
     36      shapeInfos = new ObservableSet<IShapeInfo>(original.shapeInfos.Select(x => cloner.Clone(x)));
     37      connectionInfos = new ObservableSet<IConnectionInfo>(original.connectionInfos.Select(x => cloner.Clone(x)));
     38      initialShape = cloner.Clone(original.initialShape);
     39    }
     40    public override IDeepCloneable Clone(Cloner cloner) {
     41      return new GraphVisualizationInfo(this, cloner);
     42    }
     43    public GraphVisualizationInfo()
     44      : base() {
    3345      this.shapeInfos = new ObservableSet<IShapeInfo>();
    3446      this.connectionInfos = new ObservableSet<IConnectionInfo>();
     
    96108    }
    97109    #endregion
    98 
    99     public override IDeepCloneable Clone(Cloner cloner) {
    100       GraphVisualizationInfo clone = (GraphVisualizationInfo)base.Clone(cloner);
    101       clone.shapeInfos = new ObservableSet<IShapeInfo>(this.shapeInfos.Select(x => (IShapeInfo)cloner.Clone(x)));
    102       clone.connectionInfos = new ObservableSet<IConnectionInfo>(this.connectionInfos.Select(x => (IConnectionInfo)cloner.Clone(x)));
    103       if (this.initialShape != null)
    104         clone.initialShape = (IShapeInfo)this.initialShape.Clone(cloner);
    105       return clone;
    106     }
    107110  }
    108111}
Note: See TracChangeset for help on using the changeset viewer.