1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
|
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace grapher
{
public class AccelOptions
{
public const string Off = "Off";
public const string Linear = "Linear";
public const string Classic = "Classic";
public const string Natural = "Natural";
public const string Logarithmic = "Logarithmic";
public const string Sigmoid = "Sigmoid";
public const string Power = "Power";
/// <summary>
/// Holds mapping from acceleration type to identifying integer.
/// Must match order in tagged_union in rawaccel.hpp (which is 1-indexed, meaning 0 is off.)
/// </summary>
public static readonly Dictionary<string, int> TypeToIndex = new Dictionary<string, int>
{
{ Off, 0 },
{ Linear, 1 },
{ Classic, 2 },
{ Natural, 3 },
{ Logarithmic, 4 },
{ Sigmoid, 5 },
{ Power, 6 },
};
public AccelOptions(ComboBox accelDropdown)
{
AccelDropdown = accelDropdown;
AccelDropdown.Items.Clear();
AccelDropdown.Items.AddRange(TypeToIndex.Keys.ToArray());
}
public ComboBox AccelDropdown { get; }
public int AccelerationIndex { get; private set; }
private void OnIndexChanged(object sender, EventArgs e)
{
var AccelerationType = AccelDropdown.SelectedItem.ToString();
AccelerationIndex = TypeToIndex[AccelerationType];
/*
switch (AccelerationType)
{
case Linear:
LayoutLinear();
default:
LayoutDefault();
break;
}
*/
}
private void LayoutDefault()
{
}
}
}
|