diff --git a/redo/area_unix.go b/redo/area_unix.go index 3c2a62e..94cda2e 100644 --- a/redo/area_unix.go +++ b/redo/area_unix.go @@ -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 diff --git a/redo/basicctrls.go b/redo/basicctrls.go index 5c5364d..d20b9b0 100644 --- a/redo/basicctrls.go +++ b/redo/basicctrls.go @@ -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 diff --git a/redo/doc.go b/redo/doc.go new file mode 100644 index 0000000..d204f64 --- /dev/null +++ b/redo/doc.go @@ -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 diff --git a/redo/future b/redo/future index 536e8d0..727720b 100644 --- a/redo/future +++ b/redo/future @@ -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 diff --git a/redo/uitask.go b/redo/uitask.go index 64366c8..12bd0f3 100644 --- a/redo/uitask.go +++ b/redo/uitask.go @@ -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 {