libui/TODO.md

46 lines
3.1 KiB
Markdown
Raw Normal View History

2015-06-01 19:15:32 -05:00
- update state whenever setting parent
- make the various onDestroy() functions take the uiControl instead
2015-05-15 20:14:14 -05:00
- make sure all calls to uiControlResize() are preceded with calls to uiControlGetSizing()
2015-05-11 11:08:30 -05:00
- require explicit calls to uiContainerUpdate() everywhere, because sigh...
2015-05-11 11:17:11 -05:00
- forbid uiControlSetParent() when there already is a parent
- consider calling setAppleMenu: for the application menu; it doesn't seem to make much of a difference but
2015-05-07 20:07:58 -05:00
- http://stackoverflow.com/questions/4543087/applicationwillterminate-and-the-dock-but-wanting-to-cancel-this-action
2015-04-10 13:31:16 -05:00
ultimately:
2015-04-30 12:31:06 -05:00
- MAYBE readd lifetime handling/destruction blocking
2015-05-07 14:12:28 -05:00
- 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
- SWP_NOCOPYBITS to avoid button redraw issues on Windows when not in tab, but only when making resize faster
- opposite side alignment control in uiBox
2015-05-07 17:15:09 -05:00
- generate libui.lib and related files
2015-05-07 17:52:40 -05:00
- make OS-specific headers generated by an IDL
2015-05-07 18:55:42 -05:00
- 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?
2015-05-10 23:08:22 -05:00
- make it so Windows API calls that do logLastError(), etc. abort whatever they're doing and not try to continue, just like wintable
- 32-bit Mac OS X support (requires lots of code changes)
- change the build system to be more receptive to arch changes
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
2015-05-18 09:32:08 -05:00
- document that you CAN use InsertAt functions to insert at the first invalid index, even if the array is empty
2015-05-18 09:30:13 -05:00
- add tests for this
2015-05-18 09:32:08 -05:00
- note that uiTabInsertAt() does NOT change the current tab page (it may change its index if inserting before the current page)
- note that the default action for uiWindowOnClosing() is to return 0 (keep the window open)
2015-05-07 19:26:56 -05:00
- note that uiInitOptions should be initialized to zero
- explicitly document that uiCheckboxSetChecked() and uiEntrySetText() do not fire uiCheckboxOnToggled() and uiEntryOnChanged(), respectively
- note that uiControlResize() on a uiContainer also updates
- note that if a menu is requested on systems with menubars on windows but no menus are defined, the result is a blank menubar, with whatever that means left up to the OS to decide
- note that type mixing == undefined behavior
- note that handling of multiple consecutive separators in menus, leading separators in menus, and trailing separators in menus are all implementation-defined
- note that ContainerVisible() returns true if both user and container not hidden; container use only
2015-05-15 17:54:13 -05:00
- note that if we are currently updating, QueueResize() will take effect during the CURRENT update cycle
2015-05-18 11:05:34 -05:00
- note that uiControlResize() on Windows is now in *toplevel uiWindow* coordinates