-
Notifications
You must be signed in to change notification settings - Fork 4
/
TODO
93 lines (71 loc) · 2.36 KB
/
TODO
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
BUGS
====
* scrollbar:
- click-repeat bug:
click & hold, wait until track is under the cursor, then click & hold
at the opposite side of the track without leaving the widget
- click-hold doesn't work if the tooltip appeared
* textfield:
- move cursor past the right edge when text doesn't fit into the the
textfield - the cursor should be after the last character, not after the
one before the last
TODO
====
- global expandable arrays
- OS X specific shortcuts (e.g. Ctrl-A = Select All on Win)
- value stepper widget
- proper tooltip sizing/formatting (requires multi-line wrapping...)
- scroll wheel support (where it makes sense)
- re-use code between widgets
- "normalise" widgets:
Button
ToggleButton
CheckBox (special case of ToggleButton)
DropDown (should use Popup?)
RadioButton (should use ToggleButton?)
TextField
TextArea
ScrollBar (orientation decided by w/h params)
ValueSlider (orientation decided by w/h params)
Popup
Dialog
ScrollView
- "orientation" parameters for all widgets (15 values)
TopLeft Top TopRight
Left Center Right
BottomLeft Bottom BottomRight
TopRow = TopLeft Top TopRight
BottomRow = BottomLeft Bottom BottomRight
LeftColumn = TopLeft Left BottomLeft
RightColumn = TopRight Right BottomRight
CenterRow = Left Center Right
CenterColumn = Top Center Bottom
- custom draw proc for all widgets
- disabled state for all widgets
- keyboard support for dropdowns
- complete theming support
- menus
- set theme parameters globally? (e.g. font, corner roundness, colours)
- SweepCheckBox?
- all widget styles: gradient support, shadow support, text shadow support
TESTS
=====
- test shortcuts & widgets with capslock & numlock again
- test all textfield shortcuts with edge cases:
- empty string
- single space
- 1 char, cursor at start
- 1 char, cursor at end
- >1 char, cursor at end
- test all textfield shortcuts with edge cases:
- empty string
- single space
- single new line
- two new line chars
- 1 char, cursor at start
- 1 char, cursor at end
- >1 char, cursor at end
- in first row
- in last row
- at first char
- at last char