Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
11/06/10 01:56:04 (14 years ago)
Author:
swagner
Message:

Merged cloning refactoring branch back into trunk (#922)

Location:
trunk/sources
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources

  • trunk/sources/HeuristicLab.Operators.Views.GraphVisualization/3.3/General/GraphVisualizationInfo.cs

    r4068 r4722  
    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.