Commit Graph

  • 5bbaaeefe8 Chose not to use NSCAssert() in alloc_darwin.m. Pietro Gagliardi 2015-04-10 13:06:29 -0400
  • 1d29a65a19 Fixed previous commit. Pietro Gagliardi 2015-04-10 12:47:02 -0400
  • 5461b50081 Resolved TODOs in debug_windows.c. Pietro Gagliardi 2015-04-10 12:44:42 -0400
  • 5f534068f1 More TODO resolutions. Thanks to David Hefferman for help. Pietro Gagliardi 2015-04-10 05:11:52 -0400
  • b95335e87e Some TODO resolution; more TODOs. Pietro Gagliardi 2015-04-10 03:44:41 -0400
  • 948416d04d Resolved some TODOs (including one resolved a while ago on IRC but not removed until now; thanks various people in irc.freenode.net/#macdev). Pietro Gagliardi 2015-04-10 03:11:20 -0400
  • 64b746c9a1 Decided that uiCheckboxSetChecked() should NOT trigger an event. This required changing the GTK+ backend to make it so; the Windows and Mac OS X backends are fine (setting their checkbox state programmatically will not send a signal; thanks to ThunderSnow in irc.freenode.net/#macdev for confirming this for Mac OS X). Pietro Gagliardi 2015-04-09 23:47:03 -0400
  • a9115b352c More TODO resolution. Pietro Gagliardi 2015-04-09 23:24:18 -0400
  • 50a227058a Changed the allocation logging from a compile-time setting to the first initialization option. Pietro Gagliardi 2015-04-09 22:38:11 -0400
  • d9315e6d8f Added uiWindowMargined() and implemented it on all platforms. Pietro Gagliardi 2015-04-09 21:11:56 -0400
  • a7281f9034 Added uiStackPadded(). Pietro Gagliardi 2015-04-09 20:04:18 -0400
  • 10ea719dc8 Removed direct vtable calls from uiControl. Pietro Gagliardi 2015-04-09 19:17:23 -0400
  • e78b625172 Changed onWM_NOTIFY() to only pass the NMHDR * in. The LPARAM is more useful as a NMHDR *, and the WPARAM contains duplicate data (http://blogs.msdn.com/b/oldnewthing/archive/2013/12/04/10473637.aspx). Ideally we wouldn't even have the NMHDR.idFrom (see previous commit message), but oh well :/ Pietro Gagliardi 2015-04-09 19:07:41 -0400
  • 7400cda3da Changed onWM_COMMAND() to give our controls only the notification code. We don't want to give the control the ID part of wParam because that's (or that'll be) dynamically assigned based on control parenting and prior controls; we don't want to give the control the LPARAM since that contains the window handle and uiControl already has that. Pietro Gagliardi 2015-04-09 18:54:14 -0400
  • 18a58e56fa DlgUnit -> DlgUnits Pietro Gagliardi 2015-04-09 18:45:58 -0400
  • e752356037 Migrated the Mac OS X code to the new uiControl/uiSizing system. Pietro Gagliardi 2015-04-09 18:39:21 -0400
  • 22db738dd1 Migrated the GTK+ backend to the new uiControl/uiSizing system. Pietro Gagliardi 2015-04-09 18:17:04 -0400
  • 1a525dea31 Finished Windows conversion. Works perfectly! Pietro Gagliardi 2015-04-09 17:57:08 -0400
  • cba301abbc More Windows conversion. Not done yet. Pietro Gagliardi 2015-04-09 17:46:26 -0400
  • 5c06fc512b Migrated the new control logic on Windows to the new uiControl/uiSizing system. Pietro Gagliardi 2015-04-09 17:24:26 -0400
  • 46afda5dce Migrated stack.c to the new uiControl. Pietro Gagliardi 2015-04-09 16:57:55 -0400
  • 471b3a57e7 Big change time: decided to stop playing around with hiding and made both uiControl and uiSizing public. Also restructured uiSizing to make system-dependent data in another structure. Pietro Gagliardi 2015-04-09 16:37:04 -0400
  • 92b43720b6 Decided to split control removal from parent into its own method removeParent() rather than automatically doing it in setParent(). Pietro Gagliardi 2015-04-09 16:21:09 -0400
  • 3f05be544c Implemented padding in uiStack. Pietro Gagliardi 2015-04-09 15:59:40 -0400
  • 8d64f695e0 Implemented the foundation for padding. Pietro Gagliardi 2015-04-09 15:30:24 -0400
  • 8e0cd27605 Laid the foundation for padding. Pietro Gagliardi 2015-04-09 15:25:18 -0400
  • d146167321 Implemented uiWindowSetMargined() on GTK+. Pietro Gagliardi 2015-04-09 15:18:18 -0400
  • 7c6beec879 Implemented uiWindowSetMargined() on Mac OS X. Pietro Gagliardi 2015-04-09 15:10:12 -0400
  • 73f6841272 Implemented uiWindowSetMargined() on Windows. Pietro Gagliardi 2015-04-09 13:51:01 -0400
  • 9c2fe78f78 Added uiWindowSetMargined(). Pietro Gagliardi 2015-04-09 13:42:42 -0400
  • feefa627dc Implemented all of uiCheckbox on GTK+. Pietro Gagliardi 2015-04-09 13:34:27 -0400
  • 8b80b8c05d Implemented uiCheckbox(Set)Checked() on Windows. Pietro Gagliardi 2015-04-09 13:10:32 -0400
  • 6d93fce5b5 Implemented uiCheckbox(Set)Checked() on Mac OS X. Pietro Gagliardi 2015-04-09 13:01:23 -0400
  • ca607f8fb7 Added uiCheckboxChecked() and uiCheckboxSetChecked(). Pietro Gagliardi 2015-04-09 12:52:34 -0400
  • 42e99da587 Implemented uiCheckbox on Mac OS X. Before I implement it on GTK+ I'll go back and add uiCheckboxChecked() and uICheckboxSetChecked(). Pietro Gagliardi 2015-04-09 12:47:34 -0400
  • 07f3b4698e Implemented uiCheckbox on Windows. Fixed build issues in the test program. Pietro Gagliardi 2015-04-09 12:32:59 -0400
  • d52a0b9a7d Added uiCheckboxOnToggled(). Pietro Gagliardi 2015-04-09 12:26:59 -0400
  • 2917d568d2 Added a checkbox to the test program. It won't do anything just yet... Pietro Gagliardi 2015-04-09 12:14:18 -0400
  • 67bfe61c93 Implemented the text functions on OS X. Pietro Gagliardi 2015-04-09 11:54:02 -0400
  • b5eea413c4 Fixed a runtime parameters bug in the previous commit. Pietro Gagliardi 2015-04-09 11:37:29 -0400
  • 79a7e18b8d Implemented the text functions on Windows. Pietro Gagliardi 2015-04-09 11:12:01 -0400
  • 1f18d88f56 Split toUTF16() into a new file; other Windows text functions will also be there. Pietro Gagliardi 2015-04-09 09:23:44 -0400
  • 723f2af8c6 Implemented the text routines on the GTK+ backend. They work! Pietro Gagliardi 2015-04-09 02:56:51 -0400
  • a0073727c8 Re-enabled the text manipulation code in the test program. Pietro Gagliardi 2015-04-09 02:43:49 -0400
  • ccdbdf011a Implemented uiEntry on Mac OS X. Now I can get to writing the text and title functions... Pietro Gagliardi 2015-04-09 02:35:52 -0400
  • d6decf0abe Implemented uiEntry on Windows. Pietro Gagliardi 2015-04-08 23:43:01 -0400
  • da45c51a82 Implemented uiEntry on GTK+. Pietro Gagliardi 2015-04-08 23:28:47 -0400
  • c6d3a068a9 Decided to call it uiEntry for now. Pietro Gagliardi 2015-04-08 23:22:59 -0400
  • d3f602f64a Wrote up a new test program that will feature uiEntry when I write it (next). Pietro Gagliardi 2015-04-08 21:25:30 -0400
  • c6d7e33121 Decided to not call InvalidateRect() in the Windows updateParent(); the Cocoa one doesn't either, and besides, if controls expose something then the parent areas would be invalidated anyway :/ More TODO removal. Pietro Gagliardi 2015-04-08 21:08:53 -0400
  • fef91d9820 "Fixed" initial Windows window shows for now (see previous commit). Not yet a clean fix; need to test some things on real Windows first. Pietro Gagliardi 2015-04-08 20:53:34 -0400
  • 87bb732832 Fixed flicker and minimize issues on Windows. Simple mistake; should have used WM_WINDOWPOSCHANGED instead of WM_WINDOWPOSCHANGING. Startup looks wrong; will fix that next. Pietro Gagliardi 2015-04-08 20:37:32 -0400
  • 47723aa8d9 More TODO resolution. Pietro Gagliardi 2015-04-08 20:14:10 -0400
  • 7d349d6a28 More TODO resolution. Pietro Gagliardi 2015-04-08 20:01:33 -0400
  • 317217de5a Decided not to take the suggestions of some TODOs in ui.h. Pietro Gagliardi 2015-04-08 19:53:15 -0400
  • cbc0403e6a Removed some stale TODOs. Pietro Gagliardi 2015-04-08 19:22:13 -0400
  • 410378b451 And implemented proper control showing on Mac OS X. Pietro Gagliardi 2015-04-08 19:14:22 -0400
  • 7c2a32fec6 Implemented the parent updating logic on GTK+. Pietro Gagliardi 2015-04-08 18:58:59 -0400
  • c1c78b5aeb More TODOs. Pietro Gagliardi 2015-04-08 18:32:32 -0400
  • 06c2bb7c25 Fixed initial (and future) window redraw issues on Windows. Pietro Gagliardi 2015-04-08 18:04:46 -0400
  • 7b104667ab More TODO resolution. Pietro Gagliardi 2015-04-08 17:19:44 -0400
  • ec070204a5 More TODO resolving. More TODOs. Pietro Gagliardi 2015-04-08 17:06:23 -0400
  • a97c9297c3 Removed a stale TODO. Pietro Gagliardi 2015-04-08 16:35:03 -0400
  • 6d7140160b Decided not to turn new control scrolling parameters into a bitfield. Pietro Gagliardi 2015-04-08 16:27:45 -0400
  • abf976ef44 Removed the need for specifying if a GTK+ widget needs to be in a GtkViewport for it to be scrollable; the new control code finds out itself now in the same way newer versions of GTK+ do. Pietro Gagliardi 2015-04-08 16:24:11 -0400
  • 090977fa0a Cleaned up window_darwin.m's data structure juggling. Pietro Gagliardi 2015-04-08 16:04:27 -0400
  • bb229f9dc1 Built up a better system for handling data cleanup on Mac OS X; thanks to http://stackoverflow.com/questions/29522715/is-there-a-reliable-way-to-destroy-private-data-structures-when-a-standard-nsvie. Pietro Gagliardi 2015-04-08 15:53:50 -0400
  • 25b33c2afd More TODOs. Pietro Gagliardi 2015-04-08 05:13:38 -0400
  • ab393ed6b2 Fixed compilation errors. Hm, nothing is still freed... Pietro Gagliardi 2015-04-08 04:48:03 -0400
  • a850ea3ac5 Cleaned up the uiWindow Darwin implementation. Let's try this again... Pietro Gagliardi 2015-04-08 04:38:34 -0400
  • 941825e190 Cleaned out some of that gunk. I can't avoid subclassing the standard controls, but making it so that the uiControl returned by uiDarwinNewControl() can be freed by the caller will help. Pietro Gagliardi 2015-04-08 04:35:50 -0400
  • 4ab6251449 Wrote up cleanup gunk on Mac OS X. Really gunk; I don't like what all this does but I don't think there's another way. Pietro Gagliardi 2015-04-08 03:38:08 -0400
  • 5597606f18 Better monitoring of Objective-C objects (including main GUI objects). Pietro Gagliardi 2015-04-08 02:28:42 -0400
  • d37bc67158 Cleaned up memory leaks in the GTK+ backend. Pietro Gagliardi 2015-04-08 01:16:22 -0400
  • f5c8bdd4b3 Finished Windows cleanup management. Everything (almost, only parentWindow is still around, but that shouldn't be a uiWindow to begin with) now cleaned! Pietro Gagliardi 2015-04-08 00:51:50 -0400
  • 54e947eed3 Started work on ensuring things get cleaned up. Added a destroy() method to uiControl and implemented most of the work for Windows. Pietro Gagliardi 2015-04-08 00:43:35 -0400
  • 521829a0a6 Added allocation logging to Objective-C objects. Fixed some Mac OS X build issues. Pietro Gagliardi 2015-04-08 00:26:49 -0400
  • 1d828c8deb Added an awk script to check for leaks in the memory logging output we just added. Pietro Gagliardi 2015-04-07 23:53:10 -0400
  • 66788e6edb Implemented the memory logging. Pietro Gagliardi 2015-04-07 23:40:18 -0400
  • 49ee58ca36 Decided to remove the logging for now. Will inject it right into the allocation system later. Pietro Gagliardi 2015-04-07 22:58:06 -0400
  • 3fc36ec582 More allocation logging. I wonder if I can just log directly in the allocators themselves... Pietro Gagliardi 2015-04-07 22:54:21 -0400
  • 33b1c29de8 More TODO cleanup. Pietro Gagliardi 2015-04-07 22:48:02 -0400
  • 1e263930eb Started working on code to monitor creation and deletion of UI objects correctly. Pietro Gagliardi 2015-04-07 22:46:15 -0400
  • c6daf8d308 Added WS_TABSTOP to uiButton on Windows. Pietro Gagliardi 2015-04-07 22:23:25 -0400
  • 002d95c2c2 Resolved a bunch of TODOs. Added one. Pietro Gagliardi 2015-04-07 22:19:24 -0400
  • 5719004a97 Added loading of the standard user32.dll class replacements to comctl32_windows.c. Pietro Gagliardi 2015-04-07 22:01:42 -0400
  • c4fa92e18f Decided to remove containerShow() and containerHide() for now. Pietro Gagliardi 2015-04-07 21:05:47 -0400
  • 1bb187d55b Implemented new control preferredSize() on Mac OS X. Now that Stack works everywhere, I can resolve TODOs. Pietro Gagliardi 2015-04-07 20:28:28 -0400
  • 89643f70f7 Changed the GTK+ new control system from using g_object_newv() to using g_object_new_valist() due to weird crashes. Pietro Gagliardi 2015-04-07 19:47:44 -0400
  • 12021269b7 Fixed compiler warnings. Stack works! Pietro Gagliardi 2015-04-07 19:36:46 -0400
  • 42204af086 Implemented uiButton.preferredSize() on Windows. This includes adding a function to get the width of text in a control. Pietro Gagliardi 2015-04-07 19:32:16 -0400
  • 38eecd3fc3 Wrote in the Stack test. The only thing left is to implement uiButton.preferredSize()... Pietro Gagliardi 2015-04-07 19:11:21 -0400
  • ec332870c2 Fixed compilation errors. Pietro Gagliardi 2015-04-07 19:08:39 -0400
  • 7b1dfbf1d6 Unified the allocators across all platforms so that everyone uses uiAlloc() and friends. Pietro Gagliardi 2015-04-07 19:04:09 -0400
  • 03d94db0fd Added uiStack. Not yet tested; need to do a few things first. Pietro Gagliardi 2015-04-07 18:53:09 -0400
  • d9de0c186c More TODOs. Pietro Gagliardi 2015-04-07 16:59:23 -0400
  • 77a60d63a6 Fixed compiler errors and bugs. uiButton on Mac OS X works! Pietro Gagliardi 2015-04-07 16:38:51 -0400
  • 3969095a33 Implemented uiButton on Mac OS X. Now to fix build issues and test... Pietro Gagliardi 2015-04-07 16:12:28 -0400
  • 96e25cf502 Added the Mac OS X uiContainer. Added it to uiWindow. Added the Mac OS X coordinate system mirroring to the new control logic. Renamed *_darwin.c to *_darwin.m. Pietro Gagliardi 2015-04-07 15:45:00 -0400
  • a013fe6384 Added the uiDarwinControl logic. Pietro Gagliardi 2015-04-07 14:42:52 -0400