-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathCustomTokenEditTokenInfo.cs
54 lines (49 loc) · 1.67 KB
/
CustomTokenEditTokenInfo.cs
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
using DevExpress.XtraEditors.ViewInfo;
using System;
using System.Collections.Generic;
using System.Linq;
using DevExpress.XtraEditors;
using System.Drawing;
using DevExpress.Utils.Drawing;
namespace TokenEdit_Glyph_InEndOfToken.CustomTokenEdit
{
public class CustomTokenEditTokenInfo : TokenEditTokenInfo
{
public CustomTokenEditTokenInfo(TokenEditToken token) : base(token) { }
public CustomTokenEditTokenInfo(TokenEditToken token, Dictionary<TokenEditToken, Rectangle> _checkBoxBounds, CustomTokenEditViewInfo _viewInfo) : base(token)
{
checkBoxBounds = _checkBoxBounds;
viewInfo = _viewInfo;
}
public CustomTokenEditToken CustomToken { get { return base.Token as CustomTokenEditToken; } }
readonly Dictionary<TokenEditToken, Rectangle> checkBoxBounds;
public Rectangle CheckBoxGlyphBounds { get { return checkBoxBounds[CustomToken]; } }
readonly CustomTokenEditViewInfo viewInfo;
public bool Checked { get { return CustomToken.Checked; } }
public void ChangeChecked()
{
CustomToken.needRepaint = false;
CustomToken.Checked = !CustomToken.Checked;
}
ObjectState checkBoxState;
public ObjectState CheckBoxState
{
get
{
return checkBoxState;
}
set
{
if (checkBoxState != value)
{
checkBoxState = value;
OnCheckBoxStateChanged();
}
}
}
void OnCheckBoxStateChanged()
{
viewInfo.InvalidateCheckBox();
}
}
}