libui/TODO.md

1.6 KiB

  • change all private names to 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] 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
  • make the backends use uiParentDestroy() instead of relying on the autodestroy behavior of the backends
    • this requires explicitly handling delete events
  • verify retainment for uiParents in GTK+
  • add an example of events to each of the new controls guides
  • verify that uiParentSetMainControl() does indeed not update
  • settle differences between intmax_t and uintmax_t
  • settle onDestroy/destroy naming
  • clean up Windows lifetiming code
  • forbid free(NULL) to check for bugs
  • figure out how to do the parent on destroy check for children of a uiStack without a parent in and of itself

ultimately:

  • make everything vtable-based
    • figure out where updateParent() plays into this
      • figure out what to do about custom containers
      • make the code flow of all platforms fully symmetrical
  • add some sort of runtime type checking