summaryrefslogtreecommitdiff
path: root/redo/future
blob: 692889156b8421f40cc00b829a40b244009a36c6 (plain)
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
Group
	Mac OS X: NSBox
		container_darwin.m: figure out if our setFrameSize: thing applies to resizing the groupbox as well
Control
	Enable()
	Disable()
Table
	figure out if we can safely refresh view during Unlock() regardless of calling goroutine
	refresh only selected columns of view to avoid flicker (especially on Windows)
	document header behavior in general comment
	add functions for header manipulation
Tab
	// [TODO if each tab of your Tab is going to have the same content Controls, then use LikeTab instead, to conserve resources]
	Delete()
		// Delete removes the given tab.
		// It panics if index is out of range.
		// After Delete(), the effect of accessing the Control of the deleted tab or any of its children is undefned. [TODO reword?]
	investigate close buttons (especially for LikeTab)
Area
	Repaint(rect image.Rectangle)
	keyboard scrolling
		GTK+ port: our_area_focus_callback() has something to do with it
	OpenTextFieldAt() and OpenTextAreaAt() to allow editing of text from within Areas
Tree
	Mac OS X: make sure newScrollView() has the correct parameters for Table and Tree (and that Area has the appropriate ones from both + its own no border)
TextArea
	Mac OS X: be sure to call disableAutocorrect()
Mac OS X
	label alignment
		// in the other case, the most correct thing would be for Label to be aligned to the alignment rect, but I can't get this working, and it looks fine as it is anyway
	other controls
		same rules? checkboxes seem damning...
	ok in general
		spacing applies to alignment rects
			will conflict with Stack/Grid precalculation
			unless we resize the control and move it around to suit
		Tabs seem to have differnt margin rules
			need to check padding rules within Tabs
	activateIgnoringOtherApps: and command line programs: evaluate just how much it will matter
		http://stackoverflow.com/a/25318870/3408572
TextField
		text alignment (think labels and checkboxes) may be a perpetual problem though
	add events (figure out which of the following are appropriate: changed, enter pressed)
	provide some facility to mark invalid values
	figure out numerics because you CAN paste into numeric boxes on Windows and GTK+ has no built-in number validator as far as I know
Stack, Grid
	method calls should trigger re-layout of windows
default buttons
	figure out how they interact with Areas (especially on GTK+, where GtkEntry somehow has special handling for this)
in general
	new moving stack and future moving heap make package ui a pain in general
dialog boxes
	find out if Stop has an effect before a dialog box function returns

so I don't forget, some TODOs:
windows
	- backgrounds are not transparent
	- tab order is backwards
	- flicker ahoy
	- not all controls are transparent
	- extra space on first column of all Tables on real Windows
	- OpenFile() not modal
	- OpenFile() won't stop Do()
	- labels draw over themselves
	- fine-tune Table checkbox behavior (especially with regards to selection)
gtk+
	- Area: figure out how Enter is processed in Entry
		https://git.gnome.org/browse/gtk+/tree/gtk/gtkwindow.c#n1229
	- Table: figure out how to allow empty selection by clicking in an empty area
gtk+, mac os x
	- figure out how dialogs and Areas work together
		- once that is done, document the behavior of Areas
all
	- make spaced settable somehow
	- rename Selected to Selection?