-
Notifications
You must be signed in to change notification settings - Fork 12
Expand file tree
/
Copy pathAppearance.cs
More file actions
94 lines (79 loc) · 2.67 KB
/
Appearance.cs
File metadata and controls
94 lines (79 loc) · 2.67 KB
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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
using ScriptEngine.Machine.Contexts;
using ScriptEngine.Machine;
using System.Collections;
using System.Collections.Generic;
namespace osf
{
[ContextClass("КлОформление", "ClAppearance")]
public class ClAppearance : AutoContext<ClAppearance>, ICollectionContext, IEnumerable<IValue>
{
private int m_normal = (int)System.Windows.Forms.Appearance.Normal; // 0 Внешний вид по умолчанию, определенный классом элемента управления.
private int m_button = (int)System.Windows.Forms.Appearance.Button; // 1 Внешний вид кнопки Windows.
private List<IValue> _list;
public int Count()
{
return _list.Count;
}
public CollectionEnumerator GetManagedIterator()
{
return new CollectionEnumerator(this);
}
IEnumerator IEnumerable.GetEnumerator()
{
return ((IEnumerable<IValue>)_list).GetEnumerator();
}
IEnumerator<IValue> IEnumerable<IValue>.GetEnumerator()
{
foreach (var item in _list)
{
yield return (item as IValue);
}
}
[ContextProperty("Количество", "Count")]
public int CountProp
{
get { return _list.Count; }
}
[ContextMethod("Получить", "Get")]
public IValue Get(int index)
{
return _list[index];
}
[ContextMethod("Имя")]
public string NameRu(decimal p1)
{
return namesRu.TryGetValue(p1, out string name) ? name : p1.ToString();
}
[ContextMethod("Name")]
public string NameEn(decimal p1)
{
return namesEn.TryGetValue(p1, out string name) ? name : p1.ToString();
}
private static readonly Dictionary<decimal, string> namesRu = new Dictionary<decimal, string>
{
{1, "Кнопка"},
{0, "Стандартное"},
};
private static readonly Dictionary<decimal, string> namesEn = new Dictionary<decimal, string>
{
{1, "Button"},
{0, "Normal"},
};
public ClAppearance()
{
_list = new List<IValue>();
_list.Add(ValueFactory.Create(Button));
_list.Add(ValueFactory.Create(Normal));
}
[ContextProperty("Кнопка", "Button")]
public int Button
{
get { return m_button; }
}
[ContextProperty("Стандартное", "Normal")]
public int Normal
{
get { return m_normal; }
}
}
}