Cleaned up a bunch of TODOs, moving a few to future plans.

This commit is contained in:
Pietro Gagliardi 2014-08-14 09:38:12 -04:00
parent d384df97d0
commit c94a976822
5 changed files with 17 additions and 7 deletions

View File

@ -383,7 +383,6 @@ var modonlykeys = map[C.guint]Modifiers{
//export our_area_focus_callback
func our_area_focus_callback(widget *C.GtkWidget, direction C.GtkDirectionType, data C.gpointer) C.gboolean {
// TODO figure out how this callback affects keyboard scrolling
if C.gtk_widget_is_focus(widget) == C.FALSE {
// this event indicates entering focus; always allow it
return continueEventChain

View File

@ -80,7 +80,7 @@ func NewTab() Tab {
// Label shows one line of text; any text that does not fit is truncated.
// A Label can either have smart vertical alignment relative to the control to its right or just be vertically aligned to the top (standalone).
// The effect of placing a non-standalone Label in any context other than to the immediate left of a Control is undefined.
// Both types of labels currently are left-aligned (TODO).
// Both types of labels are left-aligned. [FUTURE PLANS: For platform-specific horizontal alignment rules, use a Form.]
type Label interface {
Control

11
redo/doc.go Normal file
View File

@ -0,0 +1,11 @@
// 14 august 2014
/*
[this is being written]
notes:
- default behavior of event handlers is to do nothing
- default behavior of event handlers that return bool is to do nothing but return false
- passing nil to an event handler set function restores default behavior
*/
package ui

View File

@ -22,6 +22,8 @@ Tab
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
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
@ -41,6 +43,8 @@ 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

View File

@ -44,8 +44,7 @@ func Do(f func()) {
// Stop informs package ui that it should stop.
// Stop then returns immediately.
// Some time after this request is received, Go() will return without performing any final cleanup.
// Stop will not have an effect until any event handlers or dialog boxes presently active return.
// (TODO make sure this is the case for dialog boxes)
// Stop will not have an effect until any event handlers return.
func Stop() {
// can't send this directly across issuer
go func() {
@ -65,9 +64,6 @@ type event struct {
lock sync.Mutex
}
// do should never be nil
// TODO when writing doc.go, document that setting nil to an event handler ignores the event; if it returns a boolean value, false is returned
func newEvent() *event {
return &event{
do: func() bool {