Commit Graph

267 Commits

Author SHA1 Message Date
Pietro Gagliardi 2c9e63d8d2 Same as previous commits, but for uiContainer. We don't need to do these because everything that calls uiControlSetParent() (which should only ever be a uiContainer) should also be updating themselves afterward (or are about to be destroyed). 2015-05-11 12:20:41 -04:00
Pietro Gagliardi df376a5e0b Started to optimize container updating. Removed container updates from each new control set parent. 2015-05-11 12:16:28 -04:00
Pietro Gagliardi c6b4d80602 Decided what to do about menuless menubars and implemented it. 2015-05-11 00:15:40 -04:00
Pietro Gagliardi c0c6b4fed6 Made all variables that refer to a tab page be called 'page'. 2015-05-10 21:22:22 -04:00
Pietro Gagliardi 8f24dffa01 Migrated the GTK+ backend to the new uiBin system. 2015-05-10 14:05:59 -04:00
Pietro Gagliardi b08e8f36d4 Inhibited uiEntryOnChanged() with uiEntrySetText() on GTK+. 2015-05-09 21:05:51 -04:00
Pietro Gagliardi 5ef355f28f Implemented the ShouldQuit() stuff for the Quit menu item on the GTK+ backend. 2015-05-09 10:50:03 -04:00
Pietro Gagliardi d43c8b5584 Fixed some latent bugs in unix/menu.c. 2015-05-08 14:14:05 -04:00
Pietro Gagliardi 5cf19dcc17 Added the type names back to the allocators. Implemented on GTK+ only for now. 2015-05-08 10:24:03 -04:00
Pietro Gagliardi 057c6d0cfd Implemented menu uninit on GTK+. 2015-05-08 10:17:33 -04:00
Pietro Gagliardi dc7274c067 Fixed a bug in unix/alloc.c. 2015-05-07 23:35:43 -04:00
Pietro Gagliardi f544414299 Added allocation tracking to the GTK+ backend. 2015-05-07 23:10:19 -04:00
Pietro Gagliardi 27d6994bdc Implemented stub uiUninit()s. 2015-05-07 22:32:17 -04:00
Pietro Gagliardi e19f52f542 Made Unix uiTab scrollable. 2015-05-07 20:33:09 -04:00
Pietro Gagliardi 6c9a122a7d Changed the default uiWindowOnClosing() behavior. Decided to keep the int return. 2015-05-07 20:01:17 -04:00
Pietro Gagliardi 34f55321e0 Added a [libui] and a newline to the message printed by complain(). 2015-05-07 19:34:45 -04:00
Pietro Gagliardi 727b6871bc Made uiFree(NULL) illegal to spot bugs. 2015-05-07 17:45:55 -04:00
Pietro Gagliardi 2107595ce7 "Exported" uiSizing fields. 2015-05-07 14:33:46 -04:00
Pietro Gagliardi 9d45ca5ecd Implemented read-only uiEntries on GTK+. 2015-05-06 23:18:55 -04:00
Pietro Gagliardi 180a17a235 Implemented uiEntryOnChanged() on GTK+. 2015-05-06 20:37:42 -04:00
Pietro Gagliardi 7981c5e7da Implemented uiTabInsertPageBefore() on GTK+. 2015-05-06 14:32:07 -04:00
Pietro Gagliardi a15bb12ad1 Implemented proper bin destruction on the GTK+ backend. 2015-05-06 01:31:06 -04:00
Pietro Gagliardi ed9539de94 Fixed an error in the previous few commits. 2015-05-04 20:02:00 -04:00
Pietro Gagliardi cf44574bbb Redid the GTK+ allocator to be simpler to prepare for the OS X code. 2015-05-04 19:55:39 -04:00
Pietro Gagliardi 58954ed201 Fixed up realloc() to zero extra memory on GTK+. Thanks to Rena (irc.badnik.net) and hyphenated (irc.freenode.net/#go-nuts) for confirming my memset() and spotting errors. 2015-05-04 19:26:05 -04:00
Pietro Gagliardi 8b8be286ff Made private functions in the various bin source files static. 2015-05-04 17:42:20 -04:00
Pietro Gagliardi 00d27ef83b More long-term TODO moving. 2015-05-04 17:39:50 -04:00
Pietro Gagliardi e571a73247 Made an executive decision about the behavior of uiControlShow() on uiWindows. 2015-05-04 17:23:01 -04:00
Pietro Gagliardi b2e9b646a4 Got rid of typedefs in the various newcontrol files for consistency. 2015-05-04 15:51:23 -04:00
Pietro Gagliardi 33c34c1572 Made a comment in the previous commit more clear. 2015-05-04 00:17:23 -04:00
Pietro Gagliardi d57df09f0e Fixed a latent bug with uiTab on GTK+. 2015-05-04 00:16:31 -04:00
Pietro Gagliardi fd4c559e86 Removed the typename argument from uiAlloc() and uiRealloc(). 2015-05-03 19:52:24 -04:00
Pietro Gagliardi 325f16cfb3 Added some comments to the previous commit. 2015-05-03 18:15:12 -04:00
Pietro Gagliardi 84894f2fb0 Implemented the GTK+ preferred size vtable functions for uiContainer. 2015-05-03 18:05:52 -04:00
Pietro Gagliardi 2186192502 Changed c-> to uiControl(c)-> in the various newcontrol files for consistency. 2015-05-03 14:44:46 -04:00
Pietro Gagliardi ac8bc029ef More TODOs. 2015-05-03 10:28:25 -04:00
Pietro Gagliardi 454b3ecb03 Changed the various OS-side control creation functions to use Make like uiMakeContainer() does instead of New. 2015-05-02 20:51:00 -04:00
Pietro Gagliardi 57bc11d67c TODO consolidation. 2015-05-02 14:58:29 -04:00
Pietro Gagliardi 5d28ffd334 Removed a stale TODO. 2015-05-02 14:55:12 -04:00
Pietro Gagliardi a0b29d599e Removed an unnecessary TODO. 2015-05-01 17:10:36 -04:00
Pietro Gagliardi 5ad2bfd6f0 Cleaned up uipriv*.h. 2015-05-01 10:14:11 -04:00
Pietro Gagliardi 122b1b0d2c Some TODO consolidation. 2015-05-01 10:11:22 -04:00
Pietro Gagliardi 20d0c40ad4 Removed previous commit's TODO; more TODOs. 2015-04-30 22:56:09 -04:00
Pietro Gagliardi 0ee2a72446 Exported the GTK+ backend's strdupText() as uiUnixStrdupText(). 2015-04-30 22:55:06 -04:00
Pietro Gagliardi b3fec90537 Decided that uiLabels should be top-aligned; implemented on GTK+. Other backends don't need changing. 2015-04-30 22:44:08 -04:00
Pietro Gagliardi 64dd45343d TODO shuffling. 2015-04-30 19:29:19 -04:00
Pietro Gagliardi 2dbf42a717 Removed the base GTK+ menu item and switched to simple boolean flags, for parity and simplicity like on Windows. 2015-04-30 19:26:49 -04:00
Pietro Gagliardi 3673ac7d2e Fixed reliance on sizeof (gulong) <= sizeof (gpointer) in unix/menu.c. 2015-04-30 19:13:36 -04:00
Pietro Gagliardi 358ae23d34 More TODOs. 2015-04-30 18:34:54 -04:00
Pietro Gagliardi 185d9cf122 Made refcounting for new control on GTK+ and OS X consistent. 2015-04-30 17:57:54 -04:00
Pietro Gagliardi 40dee5a693 Added bin destruction OS parent checks. 2015-04-30 17:49:38 -04:00
Pietro Gagliardi 6400a6ea8c TODO consolidation. 2015-04-30 17:34:15 -04:00
Pietro Gagliardi 75b4d28569 Implemented menu destruction on Windows. 2015-04-30 17:05:41 -04:00
Pietro Gagliardi b52aa4cfcb Started Windows menu destruction code and fixed a bug in GTK+ menu destruction. 2015-04-30 16:44:06 -04:00
Pietro Gagliardi 180ca3d8d4 Implemented the new tab functions on the GTK+ backend. 2015-04-30 15:31:25 -04:00
Pietro Gagliardi 437b895b53 Some more TODO cleanup, including mistaken TODO removal. 2015-04-30 15:18:11 -04:00
Pietro Gagliardi c8695e4ca2 Decided to remove allocation logging. Leak checking can be done with dedicated tools. 2015-04-30 13:37:13 -04:00
Pietro Gagliardi 127f025eee Decided not to bother with destruction blocking for now. 2015-04-30 13:30:00 -04:00
Pietro Gagliardi 7a70c3f568 Added duplication guards to Quit, Preferences, and About items on GTK+. 2015-04-30 13:02:30 -04:00
Pietro Gagliardi 45a204744f Implemented menu deletion on window destruction on the GTK+ backend. 2015-04-30 12:36:50 -04:00
Pietro Gagliardi 9eede9d8ae Set up a framework for menu deletion on GTK+. 2015-04-30 12:05:18 -04:00
Pietro Gagliardi 4c1b281b79 More TODOs. 2015-04-30 10:14:40 -04:00
Pietro Gagliardi 40d24ae626 Switch GTK+ control implementations from calling g_strdup() directly to strdupText() for orthogonality. 2015-04-30 10:12:33 -04:00
Pietro Gagliardi 8f79f0596f Set hidden flag variables BEFORE updating parent containers. Otherwise, parents won't reposition children correctly on systems where updates happen immediately (like OS X). 2015-04-29 14:25:34 -04:00
Pietro Gagliardi 6c6bce3702 Moved everything back to the top level. 2015-04-29 11:02:38 -04:00
Pietro Gagliardi ff14f76bad Migrated the GTK+ basic controls back. It doesn't quite work... 2015-04-29 10:36:31 -04:00
Pietro Gagliardi 4c280ca42c Removed or moved a bunch of stale files from the old source. All that's left now is to re-add the main controls and recreate the test program. 2015-04-29 10:20:25 -04:00
Pietro Gagliardi 390899f803 Added the GTK+ implementation of uiTab, for the most part I think. 2015-04-29 00:57:51 -04:00
Pietro Gagliardi 699cd12a19 Migrated unix/newcontrol.c back. Fixed an oversight in unix/container.c. 2015-04-28 21:30:38 -04:00
Pietro Gagliardi 7c91616af1 More old code file removal. 2015-04-28 13:53:45 -04:00
Pietro Gagliardi bf401201f9 Removed a whole bunch of files from the old source tree. 2015-04-28 13:51:13 -04:00
Pietro Gagliardi 1b1cd2e11e Changed the GTK+ backend menu code to honor what was just changed. 2015-04-20 23:38:23 -04:00
Pietro Gagliardi b7e2905c72 More implementation of menus on GTK+. 2015-04-20 18:56:42 -04:00
Pietro Gagliardi 9f82838632 Started implementing menus in general and on the Unix backend. 2015-04-20 18:34:51 -04:00
Pietro Gagliardi 21a29a5468 More destruction rules following code. 2015-04-19 22:59:06 -04:00
Pietro Gagliardi 24469a6e7b Added code to check that a control is not destroyed while it has a parent. This isn't enough for uiStack, though... 2015-04-19 22:53:09 -04:00
Pietro Gagliardi 8179d66ae6 More error checking in unix/parent.c. 2015-04-19 09:42:06 -04:00
Pietro Gagliardi a5e4060b67 Started splitting out lifetime management code into its own place on the GTK+ backend. 2015-04-19 01:37:11 -04:00
Pietro Gagliardi 89d584cdcd Finished cleaning up the GTK+ lifetiming code. Yeah, this will definitely work. 2015-04-18 17:46:37 -04:00
Pietro Gagliardi 48c609b5c3 Cleaned up the lifetime code in unix/newcontrol.c a fair bit. 2015-04-18 17:36:12 -04:00
Pietro Gagliardi ae94993730 Settled GTK+ Tab TODOs. 2015-04-18 17:28:13 -04:00
Pietro Gagliardi d0c0188ef9 Switched out calls to g_error() for calls to complain(). 2015-04-18 17:23:36 -04:00
Pietro Gagliardi 1abd5ebb4c Added complain() on the GTK+ backend. 2015-04-18 17:20:05 -04:00
Pietro Gagliardi ccba4aef46 Made destroy functions on the Unix backend take a void * instead of storing the uiControl *. 2015-04-18 17:14:19 -04:00
Pietro Gagliardi 710e3fa69c Fixed Unix tab lifetimes. 2015-04-18 13:43:05 -04:00
Pietro Gagliardi 2434e8d004 More Unix control destruction fixups. Now to finally hook together the tab fixup. 2015-04-18 13:38:19 -04:00
Pietro Gagliardi 38b118f033 Migrated the various controls to the new GTK+ destruction method. Just a few more small changes to make... 2015-04-18 13:33:08 -04:00
Pietro Gagliardi f0055e948b Set up a new system for destroying controls on GTK+. Will migrate controls now. 2015-04-18 12:30:25 -04:00
Pietro Gagliardi d3ffe2270b More proper cleanup work. This just leaves the tabs... 2015-04-18 12:22:15 -04:00
Pietro Gagliardi 160ffed7e2 Set up a newer, simpler system for tracking object lifetimes in the Unix backend. Seems to work for now... 2015-04-18 12:14:05 -04:00
Pietro Gagliardi b0a56bacb9 Decided to revert all the lifetime logging stuff. I have a different approach in mind... 2015-04-18 11:44:43 -04:00
Pietro Gagliardi 1560ef34c7 Wrote up the beginning of a system for testing object lifetimes. 2015-04-18 10:58:01 -04:00
Pietro Gagliardi 786ef2cbe4 Added lifetime logging and implemented most of it on the Unix backend. 2015-04-18 01:11:34 -04:00
Pietro Gagliardi 5bd6140d46 Sort of implemented uiTabDeletePage() on GTK+. It's segfaulting on close; that isn't good... 2015-04-17 22:26:05 -04:00
Pietro Gagliardi 1a76abef21 Implemented uiParentDestroy() on the Windows and Unix backends. These don't actually *use* it yet; that'll come later. (Ultimately, there should only be one path into window destruction, which leads to one path in uiParent destruction and one path in child destruction.) More TODOs. 2015-04-17 15:52:28 -04:00
Pietro Gagliardi 04ae252e27 Adjusted the Unix uiParent to conform to the newest set of changes. 2015-04-17 13:48:15 -04:00
Pietro Gagliardi 9f0729de1c Changed uiParentSetChild() to uiParentSetMainControl(). Backend changes incoming. 2015-04-17 13:43:01 -04:00
Pietro Gagliardi fc3a90d9bf Cleaned up unix/window.c. 2015-04-16 23:31:32 -04:00
Pietro Gagliardi f25e0fe4d7 Fixed up unix/tab.c. 2015-04-16 23:20:54 -04:00
Pietro Gagliardi 90be2feb7f Cleaned up unix/entry.c and unix/label.c. 2015-04-16 22:21:02 -04:00
Pietro Gagliardi ab0470f7e5 Fixed up unix/checkbox.c and made a few minor changes to unix/button.c. I think this is indeed better, yes. 2015-04-16 22:14:54 -04:00
Pietro Gagliardi 908755e6b7 More unix/button.c fixups. I think this will do... 2015-04-16 21:01:16 -04:00
Pietro Gagliardi b91fe0c2ac Some more makefile fixups. 2015-04-16 20:52:47 -04:00
Pietro Gagliardi d6ceeed7b6 Cleaned up unix/button.c a bit. 2015-04-16 16:38:33 -04:00
Pietro Gagliardi 7b73734854 Fixed build warnings. More TODOs. 2015-04-15 23:14:36 -04:00
Pietro Gagliardi bb81eebefe Fixed Unix backend build errors. Impressively, IT STILL WORKS! Now to fix the warnings... 2015-04-15 23:07:43 -04:00
Pietro Gagliardi b659198f16 Converted unix/window.c. Now to test! 2015-04-15 22:26:27 -04:00
Pietro Gagliardi 95cda3c562 Converted unix/tab.c and fixed an oversight in unix/button.c. 2015-04-15 22:20:25 -04:00
Pietro Gagliardi 40c3448ec0 Converted unix/entry.c and unix/label.c. 2015-04-15 22:17:02 -04:00
Pietro Gagliardi 029b9dcba0 Converted unix/checkbox.c. 2015-04-15 22:04:13 -04:00
Pietro Gagliardi 37d749fe96 Converted unix/button.c. 2015-04-15 21:57:59 -04:00
Pietro Gagliardi de3ee21088 Finished the unix/newcontrol.c conversion, at least I think... 2015-04-15 21:43:20 -04:00
Pietro Gagliardi b6b2d4b5ec More unix/newcontrol.c conversion. 2015-04-15 21:39:50 -04:00
Pietro Gagliardi 5eb91c5cb0 Started doing conversion of the GTK+ backend... 2015-04-15 19:46:24 -04:00
Pietro Gagliardi 47a4bd3ae7 Added the Unix build rules. 2015-04-15 19:17:21 -04:00
Pietro Gagliardi d4fb903c07 Moved the uipriv_*.h files to the respective folders. The ui_*.h files stay up here; they'll be moved to IDLs later. 2015-04-15 18:51:04 -04:00
Pietro Gagliardi e69c0c93eb Split all OS backends into their own folders. 2015-04-15 18:49:45 -04:00