Group container.go: add Group to the list of controls in the description of container 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 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 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 mac os x - applicationShouldTerminate: not handled gtk+, mac os x - Area: default buttons, escape all - make spaced settable somehow