-
Notifications
You must be signed in to change notification settings - Fork 12
Expand file tree
/
Copy pathBorderStyle.cs
More file actions
104 lines (88 loc) · 3 KB
/
BorderStyle.cs
File metadata and controls
104 lines (88 loc) · 3 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
95
96
97
98
99
100
101
102
103
104
using ScriptEngine.Machine.Contexts;
using ScriptEngine.Machine;
using System.Collections;
using System.Collections.Generic;
namespace osf
{
[ContextClass("КлСтильГраницы", "ClBorderStyle")]
public class ClBorderStyle : AutoContext<ClBorderStyle>, ICollectionContext, IEnumerable<IValue>
{
private int m_none = (int)System.Windows.Forms.BorderStyle.None; // 0 Граница отсутствует.
private int m_fixedSingle = (int)System.Windows.Forms.BorderStyle.FixedSingle; // 1 Одинарная граница.
private int m_fixed3D = (int)System.Windows.Forms.BorderStyle.Fixed3D; // 2 Трехмерная граница.
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, "Отсутствие"},
{2, "Трехмерная"},
};
private static readonly Dictionary<decimal, string> namesEn = new Dictionary<decimal, string>
{
{1, "FixedSingle"},
{0, "None"},
{2, "Fixed3D"},
};
public ClBorderStyle()
{
_list = new List<IValue>();
_list.Add(ValueFactory.Create(Fixed3D));
_list.Add(ValueFactory.Create(FixedSingle));
_list.Add(ValueFactory.Create(None));
}
[ContextProperty("Одинарная", "FixedSingle")]
public int FixedSingle
{
get { return m_fixedSingle; }
}
[ContextProperty("Отсутствие", "None")]
public int None
{
get { return m_none; }
}
[ContextProperty("Трехмерная", "Fixed3D")]
public int Fixed3D
{
get { return m_fixed3D; }
}
}
}