Commit Graph

963 Commits

Author SHA1 Message Date
Pietro Gagliardi 20b76fe211 Removed the uiContainerUpdate()s from bin.c and fixed one wrong one in box.c. For bin.c, uiContainerUpdate() needs to explicitly be called by users. 2015-05-11 12:35:28 -04:00
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 6a283023a2 More TODOs. 2015-05-11 12:17:11 -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 a625cc30ad sigh 2015-05-11 12:08:30 -04:00
Pietro Gagliardi d13c0f3cbd Revert "Attempted to improve the profiler a bit, making it more like a real profiler. It doesn't quite work yet."
It won't work. We spend most of our time in GetMessage(). Thanks to various people on Stack Overflow.

This reverts commit a342998263.
2015-05-11 11:46:34 -04:00
Pietro Gagliardi 3292cf63f9 Decided not to handle separator collapsing in menus, as OS X does it already. 2015-05-11 11:43:24 -04:00
Pietro Gagliardi 9dfa95b3e1 Added a test of having multiple consecutive separators in, separators at the start of, and separators at the end of a menu. How OS X behaves is the deciding factor here. 2015-05-11 10:31:03 -04:00
Pietro Gagliardi ce29c062f1 Made a decision about runtime type checking. 2015-05-11 10:25:50 -04:00
Pietro Gagliardi 573e411e2a Revert "Integrated idl2h into the main tree so we can custoize it in ui-specific ways; also moved windows/profiler.go to the new tools/ directory."
Adding runtime type checking obviates an actual GObject-like type system, which is out of scope.

This reverts commit 7a21bdec42.
2015-05-11 10:24:47 -04:00
Pietro Gagliardi 7a21bdec42 Integrated idl2h into the main tree so we can custoize it in ui-specific ways; also moved windows/profiler.go to the new tools/ directory. 2015-05-11 10:15:32 -04:00
Pietro Gagliardi 6098ad7efe Decided not to move parenting checks in binDestroy(); they happen eventually anyway. 2015-05-11 00:36:08 -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 99216435c7 Stale and unnecessary TODO cleanup. 2015-05-11 00:10:29 -04:00
Pietro Gagliardi 99ca6726af More TODO rearrangement. 2015-05-11 00:08:22 -04:00
Pietro Gagliardi a342998263 Attempted to improve the profiler a bit, making it more like a real profiler. It doesn't quite work yet. 2015-05-10 23:02:16 -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 721acd44a4 Used integer division in the profiler average column to make it easier to sort. 2015-05-10 17:42:28 -04:00
Pietro Gagliardi cb8a4872d5 Added a rudimentary profiler to the Windows backend. 2015-05-10 17:35:52 -04:00
Pietro Gagliardi e1e9dddfdd Fixed some more warnings on the OS X backend. This also introduces realNSApp() and makes applicationClass global, which is important for fixing a few other TODOs (the setAppleMenu: one, for instance). 2015-05-10 14:27:25 -04:00
Pietro Gagliardi ce96272f03 Fixed a bunch of warnings on the OS X backend. 2015-05-10 14:21:35 -04:00
Pietro Gagliardi 262ffb0bde Migrated to uiBin on OS X and adjusted TODO.md. 2015-05-10 14:17:16 -04:00
Pietro Gagliardi 8f24dffa01 Migrated the GTK+ backend to the new uiBin system. 2015-05-10 14:05:59 -04:00
Pietro Gagliardi 41030b0a03 Made it so uiContainer on Windows only updates when we ask it to resize, not on every WM_WINDOWPOSCHANGED. More TODOs. 2015-05-10 12:57:13 -04:00
Pietro Gagliardi bcafe6806a Made uiTab on Windows only resize when explicitly asked to rsize, not on every WM_WINDOWPOSCHANGED. This is important for making resizes smooth. 2015-05-10 12:54:11 -04:00
Pietro Gagliardi 24d63adb51 Migrated the Windows backend to the new bin. 2015-05-10 12:48:11 -04:00
Pietro Gagliardi a2cf4908a3 Started cleaning up bin handling. uiBin is now a real type and all of the things you need to do to a bin are its methods. 2015-05-10 12:36:14 -04:00
Pietro Gagliardi 4a0e231247 Resolved uiEntryOnChanged() stuff in the last few commits; marked as such in TODO.md. 2015-05-09 21:53:19 -04:00
Pietro Gagliardi 4954d608f4 Got rid of a stray debugging line in windows/button.c. 2015-05-09 21:19:06 -04:00
Pietro Gagliardi 7bdc50c25a Inhibited uiEntryOnChanged() with uiEntrySetText() on Windows. 2015-05-09 21:18:27 -04:00
Pietro Gagliardi b08e8f36d4 Inhibited uiEntryOnChanged() with uiEntrySetText() on GTK+. 2015-05-09 21:05:51 -04:00
Pietro Gagliardi 9500f25b62 Added a test to make sure uiEntryOnChanged() isn't triggered by uiEntrySetText(). 2015-05-09 21:01:32 -04:00
Pietro Gagliardi 349d54b2f1 More commentary and TODOs about the previous commit(s). 2015-05-09 16:04:54 -04:00
Pietro Gagliardi bd4716c949 Started code for handling WM_QUERYENDSESSION and its console equivalent. 2015-05-09 14:22:51 -04:00
Pietro Gagliardi 03cf0845ef Quick adjustment to the test program to handle a case I didn't think of until now (our uiUninit() unintentionally quitting the program; who knows what releasing NSApp will do?). 2015-05-09 13:29:39 -04:00
Pietro Gagliardi 4122777505 Got rid of the TODOs that we just resolved. 2015-05-09 10:56:25 -04:00
Pietro Gagliardi 5e258c0c48 Implemented the Quit menu item shouldQuit() logic on Windows. 2015-05-09 10:53:38 -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 c062d2d0b5 Got rid of darwin/main.m and moved darwin/init.m in its place. The GTK+ backend won't need any of the should quit work; only the Quit item needs work and that shouldn't take too long. The Windows backend needs WM_QUERYENDSESSION support. 2015-05-09 10:24:07 -04:00
Pietro Gagliardi 2b83300e0b Implemented the quitting logic on OS X. Now I can get rid of darwin/main.m and move darwin/init.m in its place. 2015-05-09 10:18:19 -04:00
Pietro Gagliardi 4e9fa46aec Added a test for uiOnShouldQuit(). 2015-05-09 10:12:02 -04:00
Pietro Gagliardi 8032c24f74 Implemented the should quit logic on Mac OS X. The actual new quitting logic isn't in yet; that will wait for tests. 2015-05-09 10:05:24 -04:00
Pietro Gagliardi c395cdd2fd Added uiOnShouldQuit() and its common code. 2015-05-09 09:50:23 -04:00
Pietro Gagliardi 3d714e03c1 Laid down the scaffolding for application termination on Mac OS X. 2015-05-09 00:37:24 -04:00
Pietro Gagliardi 86a4b0a7ba More expository comments and TODOs. 2015-05-08 20:34:57 -04:00
Pietro Gagliardi a516839e9d Stale and just-resolved TODO cleanup. 2015-05-08 20:32:17 -04:00
Pietro Gagliardi f47c8172e1 Implemented uninitMenus() on Mac OS X. 2015-05-08 20:31:19 -04:00
Pietro Gagliardi 2ec8fb8589 Fixed a typo. 2015-05-08 20:24:53 -04:00
Pietro Gagliardi ada7608c14 Added menu tracking to the OS X backend. This is needed for uninitMenus(). 2015-05-08 19:33:51 -04:00
Pietro Gagliardi cf89124be5 Fixed allocation tracking on OS X. 2015-05-08 18:54:42 -04:00