Free cookie consent management tool by TermsFeed Policy Generator

source: branches/2520_PersistenceReintegration/HeuristicLab.Analysis/3.3/DataVisualization/DataTableVisualProperties.cs @ 16462

Last change on this file since 16462 was 16462, checked in by jkarder, 6 years ago

#2520: worked on reintegration of new persistence

  • added nuget references to HEAL.Fossil
  • added StorableType attributes to many classes
  • changed signature of StorableConstructors
  • removed some classes in old persistence
  • removed some unnecessary usings
File size: 23.6 KB
Line 
1#region License Information
2/* HeuristicLab
3 * Copyright (C) 2002-2019 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.ComponentModel;
23using System.Drawing;
24using HeuristicLab.Common;
25using HEAL.Fossil;
26
27namespace HeuristicLab.Analysis {
28  /// <summary>
29  /// Visual properties of a DataTable.
30  /// </summary>
31  [StorableType("CA654495-8671-499A-B990-0E67E589B906")]
32  public class DataTableVisualProperties : DeepCloneable, INotifyPropertyChanged {
33
34    #region Histogram Aggregation
35    public enum DataTableHistogramAggregation {
36      Overlapping,
37      SideBySide,
38      Stacked
39    }
40    #endregion
41
42    private Font titleFont;
43    public Font TitleFont {
44      get { return titleFont; }
45      set {
46        if (titleFont == null || value == null
47          || titleFont.Name != value.Name || titleFont.Size != value.Size || titleFont.Style != value.Style) {
48          titleFont = value;
49          OnPropertyChanged("TitleFont");
50        }
51      }
52    }
53    private Color titleColor;
54    public Color TitleColor {
55      get { return titleColor; }
56      set {
57        if (titleColor != value) {
58          titleColor = value;
59          OnPropertyChanged("TitleFontColor");
60        }
61      }
62    }
63    private string title;
64    public string Title {
65      get { return title; }
66      set {
67        if (title != value) {
68          title = value;
69          OnPropertyChanged("Title");
70        }
71      }
72    }
73    private Font axisTitleFont;
74    public Font AxisTitleFont {
75      get { return axisTitleFont; }
76      set {
77        if (axisTitleFont == null || axisTitleFont == null
78          || axisTitleFont.Name != value.Name || axisTitleFont.Size != value.Size || axisTitleFont.Style != value.Style) {
79          axisTitleFont = value;
80          OnPropertyChanged("AxisTitleFont");
81        }
82      }
83    }
84    private Color axisTitleColor;
85    public Color AxisTitleColor {
86      get { return axisTitleColor; }
87      set {
88        if (axisTitleColor != value) {
89          axisTitleColor = value;
90          OnPropertyChanged("AxisTitleColor");
91        }
92      }
93    }
94    private string xAxisTitle;
95    public string XAxisTitle {
96      get { return xAxisTitle; }
97      set {
98        if (value == null) value = string.Empty;
99        if (xAxisTitle != value) {
100          xAxisTitle = value;
101          OnPropertyChanged("XAxisTitle");
102        }
103      }
104    }
105
106    private string yAxisTitle;
107    public string YAxisTitle {
108      get { return yAxisTitle; }
109      set {
110        if (value == null) value = string.Empty;
111        if (yAxisTitle != value) {
112          yAxisTitle = value;
113          OnPropertyChanged("YAxisTitle");
114        }
115      }
116    }
117
118    private string secondXAxisTitle;
119    public string SecondXAxisTitle {
120      get { return secondXAxisTitle; }
121      set {
122        if (value == null) value = string.Empty;
123        if (secondXAxisTitle != value) {
124          secondXAxisTitle = value;
125          OnPropertyChanged("SecondXAxisTitle");
126        }
127      }
128    }
129
130    private string secondYAxisTitle;
131    public string SecondYAxisTitle {
132      get { return secondYAxisTitle; }
133      set {
134        if (value == null) value = string.Empty;
135        if (secondYAxisTitle != value) {
136          secondYAxisTitle = value;
137          OnPropertyChanged("SecondYAxisTitle");
138        }
139      }
140    }
141
142    private bool xAxisMinimumAuto;
143    public bool XAxisMinimumAuto {
144      get { return xAxisMinimumAuto; }
145      set {
146        if (xAxisMinimumAuto != value) {
147          xAxisMinimumAuto = value;
148          if (value) xAxisMinimumFixedValue = double.NaN;
149          OnPropertyChanged("XAxisMinimumAuto");
150        }
151      }
152    }
153
154    private bool xAxisMaximumAuto;
155    public bool XAxisMaximumAuto {
156      get { return xAxisMaximumAuto; }
157      set {
158        if (xAxisMaximumAuto != value) {
159          xAxisMaximumAuto = value;
160          if (value) xAxisMaximumFixedValue = double.NaN;
161          OnPropertyChanged("XAxisMaximumAuto");
162        }
163      }
164    }
165
166    private double xAxisMinimumFixedValue;
167    public double XAxisMinimumFixedValue {
168      get { return xAxisMinimumFixedValue; }
169      set {
170        if (xAxisMinimumFixedValue != value) {
171          xAxisMinimumFixedValue = value;
172          OnPropertyChanged("XAxisMinimumFixedValue");
173        }
174      }
175    }
176
177    private double xAxisMaximumFixedValue;
178    public double XAxisMaximumFixedValue {
179      get { return xAxisMaximumFixedValue; }
180      set {
181        if (xAxisMaximumFixedValue != value) {
182          xAxisMaximumFixedValue = value;
183          OnPropertyChanged("XAxisMaximumFixedValue");
184        }
185      }
186    }
187
188    private bool secondXAxisMinimumAuto;
189    public bool SecondXAxisMinimumAuto {
190      get { return secondXAxisMinimumAuto; }
191      set {
192        if (secondXAxisMinimumAuto != value) {
193          secondXAxisMinimumAuto = value;
194          if (value) secondXAxisMinimumFixedValue = double.NaN;
195          OnPropertyChanged("SecondXAxisMinimumAuto");
196        }
197      }
198    }
199
200    private bool secondXAxisMaximumAuto;
201    public bool SecondXAxisMaximumAuto {
202      get { return secondXAxisMaximumAuto; }
203      set {
204        if (secondXAxisMaximumAuto != value) {
205          secondXAxisMaximumAuto = value;
206          if (value) secondXAxisMaximumFixedValue = double.NaN;
207          OnPropertyChanged("SecondXAxisMaximumAuto");
208        }
209      }
210    }
211
212    private double secondXAxisMinimumFixedValue;
213    public double SecondXAxisMinimumFixedValue {
214      get { return secondXAxisMinimumFixedValue; }
215      set {
216        if (secondXAxisMinimumFixedValue != value) {
217          secondXAxisMinimumFixedValue = value;
218          OnPropertyChanged("SecondXAxisMinimumFixedValue");
219        }
220      }
221    }
222
223    private double secondXAxisMaximumFixedValue;
224    public double SecondXAxisMaximumFixedValue {
225      get { return secondXAxisMaximumFixedValue; }
226      set {
227        if (secondXAxisMaximumFixedValue != value) {
228          secondXAxisMaximumFixedValue = value;
229          OnPropertyChanged("SecondXAxisMaximumFixedValue");
230        }
231      }
232    }
233
234    private bool yAxisMinimumAuto;
235    public bool YAxisMinimumAuto {
236      get { return yAxisMinimumAuto; }
237      set {
238        if (yAxisMinimumAuto != value) {
239          yAxisMinimumAuto = value;
240          if (value) yAxisMinimumFixedValue = double.NaN;
241          OnPropertyChanged("YAxisMinimumAuto");
242        }
243      }
244    }
245
246    private bool yAxisMaximumAuto;
247    public bool YAxisMaximumAuto {
248      get { return yAxisMaximumAuto; }
249      set {
250        if (yAxisMaximumAuto != value) {
251          yAxisMaximumAuto = value;
252          if (value) yAxisMaximumFixedValue = double.NaN;
253          OnPropertyChanged("YAxisMaximumAuto");
254        }
255      }
256    }
257
258    private double yAxisMinimumFixedValue;
259    public double YAxisMinimumFixedValue {
260      get { return yAxisMinimumFixedValue; }
261      set {
262        if (yAxisMinimumFixedValue != value) {
263          yAxisMinimumFixedValue = value;
264          OnPropertyChanged("YAxisMinimumFixedValue");
265        }
266      }
267    }
268
269    private double yAxisMaximumFixedValue;
270    public double YAxisMaximumFixedValue {
271      get { return yAxisMaximumFixedValue; }
272      set {
273        if (yAxisMaximumFixedValue != value) {
274          yAxisMaximumFixedValue = value;
275          OnPropertyChanged("YAxisMaximumFixedValue");
276        }
277      }
278    }
279
280    private bool secondYAxisMinimumAuto;
281    public bool SecondYAxisMinimumAuto {
282      get { return secondYAxisMinimumAuto; }
283      set {
284        if (secondYAxisMinimumAuto != value) {
285          secondYAxisMinimumAuto = value;
286          if (value) secondYAxisMinimumFixedValue = double.NaN;
287          OnPropertyChanged("SecondYAxisMinimumAuto");
288        }
289      }
290    }
291
292    private bool secondYAxisMaximumAuto;
293    public bool SecondYAxisMaximumAuto {
294      get { return secondYAxisMaximumAuto; }
295      set {
296        if (secondYAxisMaximumAuto != value) {
297          secondYAxisMaximumAuto = value;
298          if (value) secondYAxisMaximumFixedValue = double.NaN;
299          OnPropertyChanged("SecondYAxisMaximumAuto");
300        }
301      }
302    }
303
304    private double secondYAxisMinimumFixedValue;
305    public double SecondYAxisMinimumFixedValue {
306      get { return secondYAxisMinimumFixedValue; }
307      set {
308        if (secondYAxisMinimumFixedValue != value) {
309          secondYAxisMinimumFixedValue = value;
310          OnPropertyChanged("SecondYAxisMinimumFixedValue");
311        }
312      }
313    }
314
315    private double secondYAxisMaximumFixedValue;
316    public double SecondYAxisMaximumFixedValue {
317      get { return secondYAxisMaximumFixedValue; }
318      set {
319        if (secondYAxisMaximumFixedValue != value) {
320          secondYAxisMaximumFixedValue = value;
321          OnPropertyChanged("SecondYAxisMaximumFixedValue");
322        }
323      }
324    }
325
326    private bool xAxisLogScale;
327    public bool XAxisLogScale {
328      get { return xAxisLogScale; }
329      set {
330        if (xAxisLogScale == value) return;
331        xAxisLogScale = value;
332        OnPropertyChanged("XAxisLogScale");
333      }
334    }
335
336    private bool secondXAxisLogScale;
337    public bool SecondXAxisLogScale {
338      get { return secondXAxisLogScale; }
339      set {
340        if (secondXAxisLogScale == value) return;
341        secondXAxisLogScale = value;
342        OnPropertyChanged("SecondXAxisLogScale");
343      }
344    }
345
346    private bool yAxisLogScale;
347    public bool YAxisLogScale {
348      get { return yAxisLogScale; }
349      set {
350        if (yAxisLogScale == value) return;
351        yAxisLogScale = value;
352        OnPropertyChanged("YAxisLogScale");
353      }
354    }
355
356    private bool secondYAxisLogScale;
357    public bool SecondYAxisLogScale {
358      get { return secondYAxisLogScale; }
359      set {
360        if (secondYAxisLogScale == value) return;
361        secondYAxisLogScale = value;
362        OnPropertyChanged("SecondYAxisLogScale");
363      }
364    }
365
366    private int histogramBins;
367    public int HistogramBins {
368      get { return histogramBins; }
369      set {
370        if (histogramBins != value) {
371          histogramBins = value;
372          OnPropertyChanged("HistogramBins");
373        }
374      }
375    }
376
377    private bool histogramExactBins;
378    public bool HistogramExactBins {
379      get { return histogramExactBins; }
380      set {
381        if (histogramExactBins != value) {
382          histogramExactBins = value;
383          OnPropertyChanged("HistogramExactBins");
384        }
385      }
386    }
387
388    private DataTableHistogramAggregation histogramAggregation;
389    public DataTableHistogramAggregation HistogramAggregation {
390      get { return histogramAggregation; }
391      set {
392        if (histogramAggregation != value) {
393          histogramAggregation = value;
394          OnPropertyChanged("HistogramAggregation");
395        }
396      }
397    }
398
399    #region Persistence Properties
400    [Storable(Name = "TitleFont")]
401    private Font StorableTitleFont {
402      get { return titleFont; }
403      set { titleFont = value; }
404    }
405    [Storable(Name = "TitleColor")]
406    private Color StorableTitleColor {
407      get { return titleColor; }
408      set { titleColor = value; }
409    }
410    [Storable(Name = "Title")]
411    private string StorableTitle {
412      get { return title; }
413      set { title = value; }
414    }
415    [Storable(Name = "AxisTitleFont")]
416    private Font StorableAxisTitleFont {
417      get { return axisTitleFont; }
418      set { axisTitleFont = value; }
419    }
420    [Storable(Name = "AxisTitleColor")]
421    private Color StorableAxisTitleColor {
422      get { return axisTitleColor; }
423      set { axisTitleColor = value; }
424    }
425    [Storable(Name = "XAxisTitle")]
426    private string StorableXAxisTitle {
427      get { return xAxisTitle; }
428      set { xAxisTitle = value; }
429    }
430    [Storable(Name = "YAxisTitle")]
431    private string StorableYAxisTitle {
432      get { return yAxisTitle; }
433      set { yAxisTitle = value; }
434    }
435    [Storable(Name = "SecondXAxisTitle")]
436    private string StorableSecondXAxisTitle {
437      get { return secondXAxisTitle; }
438      set { secondXAxisTitle = value; }
439    }
440    [Storable(Name = "SecondYAxisTitle")]
441    private string StorableSecondYAxisTitle {
442      get { return secondYAxisTitle; }
443      set { secondYAxisTitle = value; }
444    }
445    [Storable(Name = "XAxisMinimumAuto")]
446    private bool StorableXAxisMinimumAuto {
447      get { return xAxisMinimumAuto; }
448      set { xAxisMinimumAuto = value; }
449    }
450    [Storable(Name = "XAxisMaximumAuto")]
451    private bool StorableXAxisMaximumAuto {
452      get { return xAxisMaximumAuto; }
453      set { xAxisMaximumAuto = value; }
454    }
455    [Storable(Name = "XAxisMinimumFixedValue")]
456    private double StorableXAxisMinimumFixedValue {
457      get { return xAxisMinimumFixedValue; }
458      set { xAxisMinimumFixedValue = value; }
459    }
460    [Storable(Name = "XAxisMaximumFixedValue")]
461    private double StorableXAxisMaximumFixedValue {
462      get { return xAxisMaximumFixedValue; }
463      set { xAxisMaximumFixedValue = value; }
464    }
465    [Storable(Name = "SecondXAxisMinimumAuto")]
466    private bool StorableSecondXAxisMinimumAuto {
467      get { return secondXAxisMinimumAuto; }
468      set { secondXAxisMinimumAuto = value; }
469    }
470    [Storable(Name = "SecondXAxisMaximumAuto")]
471    private bool StorableSecondXAxisMaximumAuto {
472      get { return secondXAxisMaximumAuto; }
473      set { secondXAxisMaximumAuto = value; }
474    }
475    [Storable(Name = "SecondXAxisMinimumFixedValue")]
476    private double StorableSecondXAxisMinimumFixedValue {
477      get { return secondXAxisMinimumFixedValue; }
478      set { secondXAxisMinimumFixedValue = value; }
479    }
480    [Storable(Name = "SecondXAxisMaximumFixedValue")]
481    private double StorableSecondXAxisMaximumFixedValue {
482      get { return secondXAxisMaximumFixedValue; }
483      set { secondXAxisMaximumFixedValue = value; }
484    }
485    [Storable(Name = "YAxisMinimumAuto")]
486    private bool StorableYAxisMinimumAuto {
487      get { return yAxisMinimumAuto; }
488      set { yAxisMinimumAuto = value; }
489    }
490    [Storable(Name = "YAxisMaximumAuto")]
491    private bool StorableYAxisMaximumAuto {
492      get { return yAxisMaximumAuto; }
493      set { yAxisMaximumAuto = value; }
494    }
495    [Storable(Name = "YAxisMinimumFixedValue")]
496    private double StorableYAxisMinimumFixedValue {
497      get { return yAxisMinimumFixedValue; }
498      set { yAxisMinimumFixedValue = value; }
499    }
500    [Storable(Name = "YAxisMaximumFixedValue")]
501    private double StorableYAxisMaximumFixedValue {
502      get { return yAxisMaximumFixedValue; }
503      set { yAxisMaximumFixedValue = value; }
504    }
505    [Storable(Name = "SecondYAxisMinimumAuto")]
506    private bool StorableSecondYAxisMinimumAuto {
507      get { return secondYAxisMinimumAuto; }
508      set { secondYAxisMinimumAuto = value; }
509    }
510    [Storable(Name = "SecondYAxisMaximumAuto")]
511    private bool StorableSecondYAxisMaximumAuto {
512      get { return secondYAxisMaximumAuto; }
513      set { secondYAxisMaximumAuto = value; }
514    }
515    [Storable(Name = "SecondYAxisMinimumFixedValue")]
516    private double StorableSecondYAxisMinimumFixedValue {
517      get { return secondYAxisMinimumFixedValue; }
518      set { secondYAxisMinimumFixedValue = value; }
519    }
520    [Storable(Name = "SecondYAxisMaximumFixedValue")]
521    private double StorableSecondYAxisMaximumFixedValue {
522      get { return secondYAxisMaximumFixedValue; }
523      set { secondYAxisMaximumFixedValue = value; }
524    }
525    [Storable(Name = "XAxisLogScale")]
526    private bool StorableXAxisLogScale {
527      get { return xAxisLogScale; }
528      set { xAxisLogScale = value; }
529    }
530    [Storable(Name = "SecondXAxisLogScale")]
531    private bool StorableSecondXAxisLogScale {
532      get { return secondXAxisLogScale; }
533      set { secondXAxisLogScale = value; }
534    }
535    [Storable(Name = "YAxisLogScale")]
536    private bool StorableYAxisLogScale {
537      get { return yAxisLogScale; }
538      set { yAxisLogScale = value; }
539    }
540    [Storable(Name = "SecondYAxisLogScale")]
541    private bool StorableSecondYAxisLogScale {
542      get { return secondYAxisLogScale; }
543      set { secondYAxisLogScale = value; }
544    }
545    [Storable(Name = "HistogramBins", DefaultValue = 10)]
546    private int StorableHistogramBins {
547      get { return histogramBins; }
548      set { histogramBins = value; }
549    }
550    [Storable(Name = "HistogramExactBins", DefaultValue = false)]
551    private bool StorableHistogramExactBins {
552      get { return histogramExactBins; }
553      set { histogramExactBins = value; }
554    }
555    [Storable(Name = "HistogramAggregation", DefaultValue = DataTableHistogramAggregation.Overlapping)]
556    private DataTableHistogramAggregation StorableHistogramAggregation {
557      get { return histogramAggregation; }
558      set { histogramAggregation = value; }
559    }
560    #endregion
561
562    [StorableConstructor]
563    protected DataTableVisualProperties(StorableConstructorFlag _) { }
564    protected DataTableVisualProperties(DataTableVisualProperties original, Cloner cloner)
565      : base(original, cloner) {
566      if (original.titleFont != null)
567        this.titleFont = (Font)original.titleFont.Clone();
568      if (original.axisTitleFont != null)
569        this.axisTitleFont = (Font)original.axisTitleFont.Clone();
570      this.title = original.title;
571      this.xAxisTitle = original.xAxisTitle;
572      this.yAxisTitle = original.yAxisTitle;
573      this.secondXAxisTitle = original.secondXAxisTitle;
574      this.secondYAxisTitle = original.secondYAxisTitle;
575      this.xAxisMinimumAuto = original.xAxisMinimumAuto;
576      this.xAxisMinimumFixedValue = original.xAxisMinimumFixedValue;
577      this.xAxisMaximumAuto = original.xAxisMaximumAuto;
578      this.xAxisMaximumFixedValue = original.xAxisMaximumFixedValue;
579      this.secondXAxisMinimumAuto = original.secondXAxisMinimumAuto;
580      this.secondXAxisMinimumFixedValue = original.secondXAxisMinimumFixedValue;
581      this.secondXAxisMaximumAuto = original.secondXAxisMaximumAuto;
582      this.secondXAxisMaximumFixedValue = original.secondXAxisMaximumFixedValue;
583      this.yAxisMinimumAuto = original.yAxisMinimumAuto;
584      this.yAxisMinimumFixedValue = original.yAxisMinimumFixedValue;
585      this.yAxisMaximumAuto = original.yAxisMaximumAuto;
586      this.yAxisMaximumFixedValue = original.yAxisMaximumFixedValue;
587      this.secondYAxisMinimumAuto = original.secondYAxisMinimumAuto;
588      this.secondYAxisMinimumFixedValue = original.secondYAxisMinimumFixedValue;
589      this.secondYAxisMaximumAuto = original.secondYAxisMaximumAuto;
590      this.secondYAxisMaximumFixedValue = original.secondYAxisMaximumFixedValue;
591      this.xAxisLogScale = original.xAxisLogScale;
592      this.secondXAxisLogScale = original.secondXAxisLogScale;
593      this.yAxisLogScale = original.yAxisLogScale;
594      this.secondYAxisLogScale = original.secondYAxisLogScale;
595      this.histogramBins = original.histogramBins;
596      this.histogramExactBins = original.histogramExactBins;
597      this.histogramAggregation = original.histogramAggregation;
598    }
599    public DataTableVisualProperties() {
600      this.titleColor = Color.Black;
601      this.axisTitleColor = Color.Black;
602      this.title = string.Empty;
603      this.xAxisTitle = string.Empty;
604      this.yAxisTitle = string.Empty;
605      this.secondXAxisTitle = string.Empty;
606      this.secondYAxisTitle = string.Empty;
607      this.xAxisMinimumAuto = true;
608      this.xAxisMinimumFixedValue = double.NaN;
609      this.xAxisMaximumAuto = true;
610      this.xAxisMaximumFixedValue = double.NaN;
611      this.secondXAxisMinimumAuto = true;
612      this.secondXAxisMinimumFixedValue = double.NaN;
613      this.secondXAxisMaximumAuto = true;
614      this.secondXAxisMaximumFixedValue = double.NaN;
615      this.yAxisMinimumAuto = true;
616      this.yAxisMinimumFixedValue = double.NaN;
617      this.yAxisMaximumAuto = true;
618      this.yAxisMaximumFixedValue = double.NaN;
619      this.secondYAxisMinimumAuto = true;
620      this.secondYAxisMinimumFixedValue = double.NaN;
621      this.secondYAxisMaximumAuto = true;
622      this.secondYAxisMaximumFixedValue = double.NaN;
623      this.xAxisLogScale = false;
624      this.secondXAxisLogScale = false;
625      this.yAxisLogScale = false;
626      this.secondYAxisLogScale = false;
627      histogramBins = 10;
628      histogramExactBins = false;
629      histogramAggregation = DataTableHistogramAggregation.Overlapping;
630    }
631    public DataTableVisualProperties(string title)
632      : this() {
633      this.title = title;
634    }
635
636    public override IDeepCloneable Clone(Cloner cloner) {
637      return new DataTableVisualProperties(this, cloner);
638    }
639
640    public event PropertyChangedEventHandler PropertyChanged;
641    protected virtual void OnPropertyChanged(string propertyName) {
642      var handler = PropertyChanged;
643      if (handler != null) handler(this, new PropertyChangedEventArgs(propertyName));
644    }
645
646    [StorableHook(HookType.AfterDeserialization)]
647    private void AfterDeserialization() {
648      // BackwardsCompatibility3.3
649      #region Backwards compatible code, remove with 3.4
650      // check if most of the properties that were added in Mai'11 were set to their default values, then we want to reset them to our default values
651      if (xAxisMinimumAuto == default(bool) && xAxisMaximumAuto == default(bool)
652        && yAxisMinimumAuto == default(bool) && yAxisMaximumAuto == default(bool)
653        && secondXAxisMinimumAuto == default(bool) && secondXAxisMaximumAuto == default(bool)
654        && secondYAxisMinimumAuto == default(bool) && secondYAxisMaximumAuto == default(bool)
655        && titleColor == default(Color) && axisTitleColor == default(Color)
656        && secondXAxisTitle == default(string)
657        && xAxisMinimumFixedValue == default(double) && xAxisMaximumFixedValue == default(double)
658        && yAxisMinimumFixedValue == default(double) && yAxisMaximumFixedValue == default(double)
659        && secondXAxisMinimumFixedValue == default(double) && secondXAxisMaximumFixedValue == default(double)
660        && secondYAxisMinimumFixedValue == default(double) && secondYAxisMaximumFixedValue == default(double)) {
661        titleColor = Color.Black;
662        axisTitleColor = Color.Black;
663        this.secondXAxisTitle = string.Empty;
664        this.xAxisMinimumAuto = true;
665        this.xAxisMinimumFixedValue = double.NaN;
666        this.xAxisMaximumAuto = true;
667        this.xAxisMaximumFixedValue = double.NaN;
668        this.secondXAxisMinimumAuto = true;
669        this.secondXAxisMinimumFixedValue = double.NaN;
670        this.secondXAxisMaximumAuto = true;
671        this.secondXAxisMaximumFixedValue = double.NaN;
672        this.yAxisMinimumAuto = true;
673        this.yAxisMinimumFixedValue = double.NaN;
674        this.yAxisMaximumAuto = true;
675        this.yAxisMaximumFixedValue = double.NaN;
676        this.secondYAxisMinimumAuto = true;
677        this.secondYAxisMinimumFixedValue = double.NaN;
678        this.secondYAxisMaximumAuto = true;
679        this.secondYAxisMaximumFixedValue = double.NaN;
680      }
681      #endregion
682    }
683  }
684}
Note: See TracBrowser for help on using the repository browser.