#3017: updated build and test scripts to support VS 2022
[heuristiclab.git] / HeuristicLab.Operators.Views / 3.3 / ValuesCollectorView.cs
blob67cdb94ce3aa7c9231e8d95caf3a44d42a9833f0
1 #region License Information
2 /* HeuristicLab
3 * Copyright (C) Heuristic and Evolutionary Algorithms Laboratory (HEAL)
5 * This file is part of HeuristicLab.
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.
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.
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/>.
20 #endregion
22 using System;
23 using HeuristicLab.Core;
24 using HeuristicLab.Core.Views;
25 using HeuristicLab.MainForm;
27 namespace HeuristicLab.Operators.Views {
28 /// <summary>
29 /// The base class for visual representations of items.
30 /// </summary>
31 [View("ValuesCollector View")]
32 [Content(typeof(ValuesCollector), true)]
33 public partial class ValuesCollectorView : NamedItemView {
34 public new ValuesCollector Content {
35 get { return (ValuesCollector)base.Content; }
36 set { base.Content = value; }
39 /// <summary>
40 /// Initializes a new instance of <see cref="ItemBaseView"/>.
41 /// </summary>
42 public ValuesCollectorView() {
43 InitializeComponent();
46 /// <summary>
47 /// Removes the eventhandlers from the underlying <see cref="IOperatorGraph"/>.
48 /// </summary>
49 /// <remarks>Calls <see cref="ViewBase.RemoveItemEvents"/> of base class <see cref="ViewBase"/>.</remarks>
50 protected override void DeregisterContentEvents() {
51 Content.BreakpointChanged -= new EventHandler(Content_BreakpointChanged);
52 base.DeregisterContentEvents();
55 /// <summary>
56 /// Adds eventhandlers to the underlying <see cref="IOperatorGraph"/>.
57 /// </summary>
58 /// <remarks>Calls <see cref="ViewBase.AddItemEvents"/> of base class <see cref="ViewBase"/>.</remarks>
59 protected override void RegisterContentEvents() {
60 base.RegisterContentEvents();
61 Content.BreakpointChanged += new EventHandler(Content_BreakpointChanged);
64 protected override void OnContentChanged() {
65 base.OnContentChanged();
66 if (Content == null) {
67 breakpointCheckBox.Checked = false;
68 collectedValuesView.Content = null;
69 parameterCollectionView.Content = null;
70 } else {
71 breakpointCheckBox.Checked = Content.Breakpoint;
72 collectedValuesView.Content = Content.CollectedValues;
73 parameterCollectionView.Content = ((IOperator)Content).Parameters;
77 protected override void SetEnabledStateOfControls() {
78 base.SetEnabledStateOfControls();
79 breakpointCheckBox.Enabled = Content != null && !Locked;
80 collectedValuesView.Enabled = Content != null;
81 parameterCollectionView.Enabled = Content != null;
84 protected void Content_BreakpointChanged(object sender, EventArgs e) {
85 if (InvokeRequired)
86 Invoke(new EventHandler(Content_DescriptionChanged), sender, e);
87 else
88 breakpointCheckBox.Checked = Content.Breakpoint;
91 protected void breakpointCheckBox_CheckedChanged(object sender, System.EventArgs e) {
92 if (Content != null) Content.Breakpoint = breakpointCheckBox.Checked;