source: branches/DataPreprocessing/HeuristicLab.DataPreprocessing/3.4/Implementations/PreprocessingChartContent.cs @ 10967

Last change on this file since 10967 was 10967, checked in by aesterer, 6 years ago

Implemented cloning constructor for chart contents

File size: 2.6 KB
Line 
1#region License Information
2/* HeuristicLab
3 * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
4 *
5 * This file is part of HeuristicLab.
6 *
7 * HeuristicLab is free software: you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation, either version 3 of the License, or
10 * (at your option) any later version.
11 *
12 * HeuristicLab is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 * GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License
18 * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
19 */
20#endregion
21
22using System.Drawing;
23using HeuristicLab.Common;
24using HeuristicLab.Core;
25using HeuristicLab.Data;
26using System;
27using System.Collections.Generic;
28
29namespace HeuristicLab.DataPreprocessing {
30  [Item("PreprocessingChart", "Represents a preprocessing chart.")]
31  public class PreprocessingChartContent : Item, IViewChartShortcut {
32
33    private bool allInOneMode = true;
34
35    private ICheckedItemList<StringValue> variableItemList = null;
36
37
38    private readonly IChartLogic chartLogic;
39
40
41    public PreprocessingChartContent(IChartLogic chartLogic) {
42      this.chartLogic = chartLogic;
43    }
44
45    public PreprocessingChartContent(PreprocessingChartContent content, Cloner cloner)
46      : base(content, cloner) {
47        this.allInOneMode = content.allInOneMode;
48        this.chartLogic = content.chartLogic;
49        this.variableItemList = cloner.Clone<ICheckedItemList<StringValue>>(variableItemList);
50    }
51
52    public IChartLogic ChartLogic {
53      get {
54        return chartLogic;
55      }
56    }
57
58    public static new Image StaticItemImage {
59      get { return HeuristicLab.Common.Resources.VSImageLibrary.PieChart; }
60    }
61
62    public override IDeepCloneable Clone(Cloner cloner) {
63      return new PreprocessingChartContent(this, cloner);
64    }
65
66    public event DataPreprocessingChangedEventHandler Changed {
67      add { chartLogic.Changed += value; }
68      remove { chartLogic.Changed -= value; }
69    }
70
71    public bool AllInOneMode
72    {
73      get { return this.allInOneMode; }
74      set { this.allInOneMode = value; }
75    }
76
77    public ICheckedItemList<StringValue> VariableItemList
78    {
79      get { return this.variableItemList; }
80      set { this.variableItemList = value; }
81    }
82  }
83}
Note: See TracBrowser for help on using the repository browser.