imminent: - the new sizing infrasructure does not work with os x - I'm surprsied now that it worked on GTK+ - the addition of container to stack/grid/simplegrid doesn't actually fix the problem of simplifying container hiding - so something different is needed - perhaps get rid of container entirely - keep goContainer (the C GtkContainer/NSView subclasses) around for the purpose of autommated resizing - on Windows, gouiwindow and the button and (eventual) group subclasses will need to respond to WM_WINDOWPOSCHANGED to size the child - we WILL need to implement containerShow() and containerHide() which respect the programmer's show/hide settings - for GTK+, all widget size allocations need to be relative to the window, not the parent; this is different from Windows and Mac OS X mac os x sizing is now completely broken - need to catch window initial sizes - need to catch tab changes - can't just resize every tab to the current tab size; that doesn't seem to work password fields: caps lock warnings tab on windows - windows xp: weird redraw issues on the bottom right corner of the first tab tab, group, windows on windows - all platforms: only resize when the size changed - all platforms: redrawing issue on resizes mac os x Textbox refuse first responder Textbox does not work at all new control stuff Tab, Group - should host Controls directly? - should have sharedWndProc() - Tab needs Margined more flexible sizing determination Tab needs a SetMargined(n), Margined(n) so will Popover textfield should have a method that allows control over the preferred number of characters, for sizing purposes Multiline text fields and standalone labels 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 refresh only selected rows of view to avoid flicker (especially on Windows) add functions for header manipulation background color row titles Tab // [TODO if each tab of your Tab is going to have the same content Controls, then use LikeTab instead, to conserve resources] // probably not a good idea 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) LikeArea is probably going to have to be a custom control Area keyboard scrolling OpenTextAreaAt() to allow editing of text blocks from within Areas (only after I add TextArea; it will use TextAreas themselves, rather than providing its own) OpenTextFieldAt(): more platform-specific finished editing options; escape key for cancelling too? bounds checking in Select() DPI() Tree Mac OS X: make sure newScrollView() has the correct parameters for Table and Tree (and that Area has the appropriate ones from both) 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 text alignment (think labels and checkboxes) may be a perpetual problem though activateIgnoringOtherApps: and command line programs: evaluate just how much it will matter http://stackoverflow.com/a/25318870/3408572 use the undocumented _CFRunLoopSetCurrent() API to drop the stupid "must run on the man thread" restriction TextField 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 will likely just use Invalid() Stack, SimpleGrid, 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 issue 8310: watch for changes Combobox/Listbox Select() for selecting a row, like in Table dialog boxes find out if Stop has an effect before a dialog box function returns our solution for common dialogs is rather heavyweight and doesn't work for user-created dialogs foreign events are a problem do what raymond chen suggested so I don't forget, some TODOs: windows - Area isn't transparent - hard: has to be excluded from scrolling - tab order is backwards - extra space on first column of all Tables on real Windows - fine-tune Table checkbox behavior (especially with regards to selection) - open dialog, resize small window, hscroll size area, double click file -> stack points in no man's land (yay attached threads?) - uitask pointer bug again? - groupbox line behind groupbox text - scrolling edit controls in Areas back into view don't cause redraw - need to figure out the WM_MOUSELEAVE tango (see mergeback/table_mouseleave_windows.c) - won't be an issue once I rewrite Table completely - tell wine that WM_CTLCOLOR*** doesn't get sent early ????? - don't let empty Tabs be tab stops 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 - After applying the AreaHandler.Key() change, -small crashes in 3.10/distribution but not 3.14/jhbuild - will need to install 14.04 somewhere for this mac os x - http://stackoverflow.com/questions/25558728/how-can-i-be-notified-when-a-control-becomes-key-i-want-t-o-have-my-custom-warn/25562783?noredirect=1#comment39949908_25562783 gtk+, windows - Area: keyboard scrolling gtk+, mac os x - figure out how dialogs and Areas work together - once that is done, document the behavior of Areas all - rename Selected to Selection?