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 more column types: "// As such, a Table renders a []struct{...} where each field of the struct can be a string, a number, an image, or a checkbox." table_darwin.m: constructor table_unix.c: goTableModel_get_column_type(), goTableModel_get_value() multiple selection figure out if we can safely refresh view during Unlock() regardless of calling goroutine 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 gtk+ - Area: figure out how Enter is processed in Entry https://git.gnome.org/browse/gtk+/tree/gtk/gtkwindow.c#n1229 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