Commit Graph

153 Commits

Author SHA1 Message Date
Pietro Gagliardi 69dbafe6f2 Oops forgot to commit this before midnight: started work on uiWindow children. 2022-07-26 00:18:37 -04:00
Pietro Gagliardi 7cdd6ee38c Finished all the necessary bits to implement what little of uiWindow we have now on Windows. Now to fill in the tests. 2020-06-07 14:10:16 -04:00
Pietro Gagliardi 860eb0fae3 And implemented uiWindow stuff on Haiku. 2020-05-31 19:00:03 -04:00
Pietro Gagliardi 218439c215 Did all the uiWindow stuff on GTK+. 2020-05-31 13:37:56 -04:00
Pietro Gagliardi 80ddb4df8f Rounded out uiWindow and uiDarwinControl error conditions and error condition documentation. 2020-05-30 21:17:17 -04:00
Pietro Gagliardi 0dd4bec2af Added uiDarwinControlHandle(), and added it to uiWindow, and added uiWindow handle tests (including underlying string tests) to the test suite. Oof. Also I just remembered we're missing tests of these new functions in noinitwrongthread.c. 2020-05-25 22:13:48 -04:00
Pietro Gagliardi ba6f2865df Started reintegrating uiWindow on macOS. I didn't think the implData variable naming through... Also made uiWindow a mere typedef to uiControl; I'll need to copy the handle logic from Windows to make this robust, or something to that effect... 2020-05-22 22:43:33 -04:00
Pietro Gagliardi a65bbfa057 Started re-adding uiWindow; this just lays down the bare minimum API we're re-adding. 2020-05-22 18:46:48 -04:00
Pietro Gagliardi 7aeb937b93 Added methods to uiControl to catch and handle parent changing from the perspective of the individual controls. This will be used to implement the transition from not being backed by an OS handle to being backed by one and back on Windows, and should be all we need to start re-adding controls after uiWindow. 2020-05-13 12:43:40 -04:00
Pietro Gagliardi e01c732760 More documentation notes. 2020-05-12 17:00:40 -04:00
Pietro Gagliardi 1cf4a3df21 Filled in the missing uiControl tests and demoted the non-uiControl requirements to TODOs as I'm not sure how sensible those requirements are. I'll probably bring them back shortly =P Now to implement cycle checking. 2020-05-11 10:32:17 -04:00
Pietro Gagliardi dfd045b3cc Resolved all the TODOs in test/controls.c I care to right now. I still need to write tests for the other failure conditions that aren't tested yet. 2020-05-11 00:52:22 -04:00
Pietro Gagliardi c52656f2c2 Explicitly specified 0 as the invalid control type and stopped using 5 as an invalid control type. 2020-05-10 21:54:37 -04:00
Pietro Gagliardi e7917500c1 Clarified doc/controls.md a bit, and introduced more requirements. Now to re-introduce its tests. 2020-05-10 16:24:43 -04:00
Pietro Gagliardi faaccd0413 Made uiInit() programmer errors actual programmer errors and not normal error returns. This makes the error handling, the documentation, and even the tests much easier, and also makes programmer error handling more consistent. Also defined programmer error cases for uiMain() and uiQuit(). We'll implement all of these next. 2020-05-09 01:01:40 -04:00
Pietro Gagliardi c0e73c67f4 Okay, I won't even bother with the overview until I figure out how events will work in the final API, because I legitimately cannot decide how to write this. 2020-05-09 00:35:38 -04:00
Pietro Gagliardi dea7b52605 Revert "Made thread names consistent."
I don't know if I want to do this yet.

This reverts commit 456fb594c0.
2020-05-09 00:34:51 -04:00
Pietro Gagliardi 456fb594c0 Made thread names consistent. 2020-05-09 00:18:06 -04:00
Pietro Gagliardi 7c4d1ae478 More TODOs in doc/init-main.md. I'll decide these later. I want to rewrite this to not use the term 'event' to avoid confusion with libui's own event system, since these are talking about all the events that can happen, not just the ones libui allows you to handle... 2020-05-08 00:39:37 -04:00
Pietro Gagliardi 69bf71aaa1 Decided to hold off on events for now. I'm still not sure about this design and it's holding me back. 2020-05-08 00:16:14 -04:00
Pietro Gagliardi c17f854d04 And added uiControlOSVtable on Windows. We're now back to building everywhere! :D 2019-06-18 20:31:28 -04:00
Pietro Gagliardi aa7da7b647 And added those control errors. Back to passing, and more importantly, back to actually writing tests! (Once we get to the uiControlOSVtable tests, that is...) Also more TODOs. 2019-06-16 20:03:37 -04:00
Pietro Gagliardi edee2b930c Re-added uiControlSetParent() to allow finishing testing uiControlFree() errors. That will come next, alongside its own errors. 2019-06-16 19:52:09 -04:00
Pietro Gagliardi 29ce809772 And FINALLY fixed the NULL name error in uiRegisterControlType(). 2019-06-15 21:38:21 -04:00
Pietro Gagliardi c1d8c0f5ec Oops, forgot to add the consts to the documentation. 2019-06-15 20:48:55 -04:00
Pietro Gagliardi 89f64eb067 Added the documentation for macOS uiControl, or what little of it currently exists. 2019-06-10 20:11:10 -04:00
Pietro Gagliardi 1189877ca5 Started writing the uiControl implementation. 2019-06-08 13:00:30 -04:00
Pietro Gagliardi e2842bae35 Oops, forgot to put Size in uiControlVtable. Let's go! 2019-06-08 09:58:25 -04:00
Pietro Gagliardi 6cf92b2058 Wrote and started testing uiEventInvalidateSender(). The rest of the tests come next. 2019-06-07 10:58:39 -04:00
Pietro Gagliardi 65c88fd1c4 And documented all the other functions we need to start writing common/control.c. 2019-06-06 22:51:37 -04:00
Pietro Gagliardi 582a781171 More uiControl work. 2019-06-05 23:20:53 -04:00
Pietro Gagliardi 4ff61c81b0 More uiControl documentation writing. This new system might work nicely the way I'm designing it... 2019-06-04 20:33:29 -04:00
Pietro Gagliardi 26e492539d Renamed uiFreeEvent() to uiEventFree() for consistency with uiControlFree(). 2019-06-02 22:04:25 -04:00
Pietro Gagliardi 57dc482f2a Oops 2019-06-02 20:50:55 -04:00
Pietro Gagliardi b8f8e1c4f7 Started writing out uiControl's documentation. This new design is going to be rather interesting. 2019-06-02 20:47:27 -04:00
Pietro Gagliardi d040bca07e Started layout out the uiControl stuff. I forgot to write tests for uiFreeEvent() errors :| 2019-06-02 18:49:16 -04:00
Pietro Gagliardi 9f2796ebac Added uiEventFree(). Now to add it to the tests and see what AddressSanitizer says afterward. 2019-06-02 10:06:50 -04:00
Pietro Gagliardi 3049adbca0 Missed a spot 2019-05-29 21:12:49 -04:00
Pietro Gagliardi 19ad0d33a3 Changed uiInit() to return bool instead of int, now that we've settled on using bool. 2019-05-29 21:10:44 -04:00
Pietro Gagliardi edfd5e9157 Place a placeholder controls.md in doc/. Actually, let's do a bit more cleanup first. 2019-05-29 21:01:04 -04:00
Pietro Gagliardi bd84da7179 More implementation of uiEvent. Now we'll need to deal with memory allocation. 2019-05-16 12:27:04 -04:00
Pietro Gagliardi 55a7e3e56e Started implementing events. 2019-05-15 22:40:06 -04:00
Pietro Gagliardi 101df7a469 Added uiEvent-specific programmer errors. Next up: actually implementing uiEvent. 2019-05-14 11:03:03 -04:00
Pietro Gagliardi 7022e6f268 More programmer error refinement. 2019-05-13 06:37:19 -04:00
Pietro Gagliardi 781a4117a7 Slightly more documentation. Now to figure out error handling. 2019-05-12 13:59:31 -04:00
Pietro Gagliardi 1a047da08c Fuck it, we're going with <stdbool.h>. I don't like it, but meh. 2019-05-12 13:41:43 -04:00
Pietro Gagliardi d7fa5e63be More events.md stuff. I need to decide if I should just give in and use <stdbool.h>... 2019-05-11 13:40:36 -04:00
Pietro Gagliardi e1c970bdbd More event interface refining. 2019-05-07 23:12:18 -04:00
Pietro Gagliardi 4aaad25c02 Started writing the documentation for the new event handling interface. At this point I'm tempted to forego the overview sections for the time being, since all the contractual stuff would go in the reference. 2019-05-07 23:05:31 -04:00
Pietro Gagliardi 7424a9ea6c Added a note on static Windows linking to the using-libui.md that I overlooked all this time until I realized we needed this now. 2019-05-04 21:49:07 -04:00