78 lines
4.3 KiB
Markdown
78 lines
4.3 KiB
Markdown
- change all private names away from uiXxxx and uipXxxx
|
|
- make it so Windows API calls that do logLastError(), etc. abort whatever they're doing and not try to continue, just like wintable
|
|
- figure out what to cleanup in darwin terminate:
|
|
- delegate
|
|
- deleted objects view
|
|
- assign control IDs on windows
|
|
- GWL(P)_ID
|
|
- related? [12:25] <ZeroOne> And the blue outline on those buttons [ALL clicked buttons on Windows 7] won't go away
|
|
- I get this too
|
|
- make sure all terminology is consistent
|
|
- 32-bit Mac OS X support (requires lots of code changes)
|
|
- add a test for hidden controls when a window is shown
|
|
- SWP_NOCOPYBITS (or was it WS_CLIPCHILDREN?)
|
|
- buttons not in tab get drawover issues
|
|
- buttons in tab without transparent drawing code get copied into the label when stack shown and rehidden
|
|
- settle differences between intmax_t and uintmax_t
|
|
- settle onDestroy/destroy naming
|
|
- implement lifetiming on Windows
|
|
- forbid free(NULL) to check for bugs
|
|
- opposite side alignment control in uiBox
|
|
- disabling containers on wine doesn't redraw children as disabled
|
|
- test on real windows
|
|
- collapse multiple consecutive menu separators?
|
|
- including for quit/preferences/about?
|
|
- or not even have separators there?
|
|
- in which case, hide leading or trailing separators?
|
|
- write an array.c for uiBox, uiGrid, and the Windows backend
|
|
- it'd just be a clone of GArray from GLib
|
|
- add the visibility stuff to the Windows makefile
|
|
- figure out visibility on mac os x
|
|
- hide command lines in the makefile
|
|
- rename newcontrol.[cm] to control.[cm] or something else?
|
|
- use _UI_EXPORT on OS-specific functions
|
|
- make their headers generated by an IDL
|
|
- make sure complain()s don't have \n at the end; add one on each platform
|
|
- add a `[libui]` to the beginning of the message
|
|
- figure out what to do on Windows and GTK+ if we don't have menus but the user wants a menubar (zero-height widget? don't bother? complain?)
|
|
- bin.c
|
|
- find a way to consolidate the duplicate code across OSs
|
|
- find a way to move the has parent check at the beginning of binDestroy()
|
|
- determine whether or not margins count in preferredSize() when there is no main control
|
|
- menu item state change while the menu is visible (not in response to user action)
|
|
- OS X: requires an [NSMenu update] call after changing state
|
|
- Windows: requires getting current menu state when amending it in sync()
|
|
- figure out where we should return HRESULTs
|
|
- Windows: don't abort if a cleanup function fails?
|
|
- should uiWindowOnClosing() really return an int?
|
|
- if so, should the default return 0 instead of 1?
|
|
- note that uiInitOptions should be initialized to zero
|
|
- have a cbSize member
|
|
- drop "Page" from uiTab method names? (uiTabAppendPage() -> uiTabAppend())
|
|
- override dock menu quit item to act like our app menu quit item
|
|
- consider calling setAppleMenu: for the application menu; it doesn't seem to make much of a difference but
|
|
- release OS X properties in dealloc
|
|
- switch away from properties or figure out what incantation is necessary for 32-bit
|
|
- figure out strong/weak vs assign/copy/retain
|
|
- figure out what to do in OS X terminate:
|
|
- clean up bin handling
|
|
- is binSetOSParent() even needed?
|
|
- readd the allocation tracking as just a list of pointers
|
|
- add a final cleanup function (uiUninit() or uiCleanup())
|
|
- whenever a list of things is destroyed, each successive item must be removed as it is destroyed, otherwise we might wind up in a situation where we access items after they're freed
|
|
- make the name of the variable to refer to a single tab page consistent (already decided to make them all `page`)
|
|
|
|
ultimately:
|
|
- add some sort of runtime type checking
|
|
- MAYBE readd lifetime handling/destruction blocking
|
|
- figure out how to integrate leak checking into the source tree
|
|
|
|
notes to self
|
|
- explicitly document label position at top-left corner
|
|
- mark that uiControlShow() on a uiWindow() will bring to front and give keyboard focus because of OS X
|
|
- make sure ShowWindow() is sufficient for zorder on Windows
|
|
- document that you can't use InsertBefore functions to insert before a nonexistent index (that includes if an array is empty)
|
|
- reconsider this, as the pointer array code does work with the first invalid index...
|
|
- we would need to test everything else with it
|
|
- note that uiTabInsertPageBefore() does NOT change the current tab page (it may change its index if inserting before the current page)
|