Free cookie consent management tool by TermsFeed Policy Generator

source: branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface.OptimizerIntegration/ViewModels/SingleValueVM.cs @ 17464

Last change on this file since 17464 was 17464, checked in by dpiringe, 5 years ago

#3026:

  • Runner now uses SymbolicDataAnalysisExpressionMATLABFormatter to save instances of ISymbolicRegressionSolution
  • refactored user controls for detail view of json items, now they do not inherit from JsonItemBaseControl -> JsonItemBaseControl uses now an extra control
    • this change was made for fluid repositioning of controls (e.g. when no ActualName is present)
File size: 1.6 KB
Line 
1using System;
2using System.Collections.Generic;
3using System.ComponentModel;
4using System.Linq;
5using System.Text;
6using System.Threading.Tasks;
7using System.Windows.Forms;
8
9namespace HeuristicLab.JsonInterface.OptimizerIntegration {
10  public class IntValueVM : SingleValueVM<int> {
11    public override Type JsonItemType => typeof(IntJsonItem);
12
13    protected override int MinTypeValue => int.MinValue;
14    protected override int MaxTypeValue => int.MaxValue;
15
16    public override JsonItemBaseControl Control =>
17      new JsonItemBaseControl(this, new JsonItemIntValueControl(this));
18  }
19
20  public class DoubleValueVM : SingleValueVM<double> {
21    public override Type JsonItemType => typeof(DoubleJsonItem);
22
23    protected override double MinTypeValue => double.MinValue;
24    protected override double MaxTypeValue => double.MaxValue;
25
26    public override JsonItemBaseControl Control =>
27       new JsonItemBaseControl(this, new JsonItemDoubleValueControl(this));
28  }
29
30  public class BoolValueVM : SingleValueVM<bool> {
31    public override Type JsonItemType => typeof(BoolJsonItem);
32
33    protected override bool MinTypeValue => false;
34    protected override bool MaxTypeValue => true;
35
36    public override JsonItemBaseControl Control =>
37       new JsonItemBaseControl(this, new JsonItemBoolControl(this));
38  }
39
40  public abstract class SingleValueVM<T> : RangedValueBaseVM<T> {
41   
42    public T Value {
43      get => Cast(Item.Value);
44      set {
45        Item.Value = value;
46        OnPropertyChange(this, nameof(Value));
47      }
48    }
49  }
50}
Note: See TracBrowser for help on using the repository browser.