Commit Graph

  • e5e0f115f7 Migrated the Mac OS X code to the new uiControl/uiSizing system. Pietro Gagliardi 2015-04-09 18:39:21 -0400
  • 022a3ae20e Migrated the GTK+ backend to the new uiControl/uiSizing system. Pietro Gagliardi 2015-04-09 18:17:04 -0400
  • d84df8f38f Finished Windows conversion. Works perfectly! Pietro Gagliardi 2015-04-09 17:57:08 -0400
  • 924d6d6a7c More Windows conversion. Not done yet. Pietro Gagliardi 2015-04-09 17:46:26 -0400
  • cefa6d0bd2 Migrated the new control logic on Windows to the new uiControl/uiSizing system. Pietro Gagliardi 2015-04-09 17:24:26 -0400
  • 8c469b7b22 Migrated stack.c to the new uiControl. Pietro Gagliardi 2015-04-09 16:57:55 -0400
  • 6d600f08cd 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
  • b60ff74a9e 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
  • 1575a0dc7c Implemented padding in uiStack. Pietro Gagliardi 2015-04-09 15:59:40 -0400
  • 1b5de5f096 Implemented the foundation for padding. Pietro Gagliardi 2015-04-09 15:30:24 -0400
  • ec95a4a2dd Laid the foundation for padding. Pietro Gagliardi 2015-04-09 15:25:18 -0400
  • af6eb09bca Implemented uiWindowSetMargined() on GTK+. Pietro Gagliardi 2015-04-09 15:18:18 -0400
  • da0f0b3d69 Implemented uiWindowSetMargined() on Mac OS X. Pietro Gagliardi 2015-04-09 15:10:12 -0400
  • 7148b26afb Implemented uiWindowSetMargined() on Windows. Pietro Gagliardi 2015-04-09 13:51:01 -0400
  • 4c13ac57d5 Added uiWindowSetMargined(). Pietro Gagliardi 2015-04-09 13:42:42 -0400
  • 1a6ceb9ada Implemented all of uiCheckbox on GTK+. Pietro Gagliardi 2015-04-09 13:34:27 -0400
  • cc94c0b5f8 Implemented uiCheckbox(Set)Checked() on Windows. Pietro Gagliardi 2015-04-09 13:10:32 -0400
  • f5745325b2 Implemented uiCheckbox(Set)Checked() on Mac OS X. Pietro Gagliardi 2015-04-09 13:01:23 -0400
  • 3d3d84c146 Added uiCheckboxChecked() and uiCheckboxSetChecked(). Pietro Gagliardi 2015-04-09 12:52:34 -0400
  • 4f424e4e10 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
  • 69b794c0b0 Implemented uiCheckbox on Windows. Fixed build issues in the test program. Pietro Gagliardi 2015-04-09 12:32:59 -0400
  • c2d98a8b0e Added uiCheckboxOnToggled(). Pietro Gagliardi 2015-04-09 12:26:59 -0400
  • 8d30e1df39 Added a checkbox to the test program. It won't do anything just yet... Pietro Gagliardi 2015-04-09 12:14:18 -0400
  • 07fc337324 Implemented the text functions on OS X. Pietro Gagliardi 2015-04-09 11:54:02 -0400
  • 8e0d74865d Fixed a runtime parameters bug in the previous commit. Pietro Gagliardi 2015-04-09 11:37:29 -0400
  • 880008b716 Implemented the text functions on Windows. Pietro Gagliardi 2015-04-09 11:12:01 -0400
  • 2b52563cd9 Split toUTF16() into a new file; other Windows text functions will also be there. Pietro Gagliardi 2015-04-09 09:23:44 -0400
  • b6bd0c1c26 Implemented the text routines on the GTK+ backend. They work! Pietro Gagliardi 2015-04-09 02:56:51 -0400
  • ba66d7308a Re-enabled the text manipulation code in the test program. Pietro Gagliardi 2015-04-09 02:43:49 -0400
  • 27b7089423 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
  • 0097b1badc Implemented uiEntry on Windows. Pietro Gagliardi 2015-04-08 23:43:01 -0400
  • 8bafd1f8e0 Implemented uiEntry on GTK+. Pietro Gagliardi 2015-04-08 23:28:47 -0400
  • 9f645e3ad3 Decided to call it uiEntry for now. Pietro Gagliardi 2015-04-08 23:22:59 -0400
  • 878e3e5e6e Wrote up a new test program that will feature uiEntry when I write it (next). Pietro Gagliardi 2015-04-08 21:25:30 -0400
  • fa8389e98a 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
  • a2d785e22a "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
  • 6faf0d172b 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
  • b9c38ebd20 More TODO resolution. Pietro Gagliardi 2015-04-08 20:14:10 -0400
  • f2537aadd3 More TODO resolution. Pietro Gagliardi 2015-04-08 20:01:33 -0400
  • ae31cbc089 Decided not to take the suggestions of some TODOs in ui.h. Pietro Gagliardi 2015-04-08 19:53:15 -0400
  • afdce07d61 Removed some stale TODOs. Pietro Gagliardi 2015-04-08 19:22:13 -0400
  • 310fbe58fd And implemented proper control showing on Mac OS X. Pietro Gagliardi 2015-04-08 19:14:22 -0400
  • f470768a8e Implemented the parent updating logic on GTK+. Pietro Gagliardi 2015-04-08 18:58:59 -0400
  • 9d67ec7fa4 More TODOs. Pietro Gagliardi 2015-04-08 18:32:32 -0400
  • 2e9ff88561 Fixed initial (and future) window redraw issues on Windows. Pietro Gagliardi 2015-04-08 18:04:46 -0400
  • b95975302e More TODO resolution. Pietro Gagliardi 2015-04-08 17:19:44 -0400
  • da7aacd4db More TODO resolving. More TODOs. Pietro Gagliardi 2015-04-08 17:06:23 -0400
  • dfcbc83ec9 Removed a stale TODO. Pietro Gagliardi 2015-04-08 16:35:03 -0400
  • 45d3072672 Decided not to turn new control scrolling parameters into a bitfield. Pietro Gagliardi 2015-04-08 16:27:45 -0400
  • 3134440f3d 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
  • 7b6a11d36a Cleaned up window_darwin.m's data structure juggling. Pietro Gagliardi 2015-04-08 16:04:27 -0400
  • 93ead17eef 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
  • 5a4ce7bd91 More TODOs. Pietro Gagliardi 2015-04-08 05:13:38 -0400
  • 894950fb1b Fixed compilation errors. Hm, nothing is still freed... Pietro Gagliardi 2015-04-08 04:48:03 -0400
  • 12ff16e994 Cleaned up the uiWindow Darwin implementation. Let's try this again... Pietro Gagliardi 2015-04-08 04:38:34 -0400
  • 2214f27cb4 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
  • 44d8833a64 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
  • 9e4e11da8c Better monitoring of Objective-C objects (including main GUI objects). Pietro Gagliardi 2015-04-08 02:28:42 -0400
  • fc8f9c6719 Cleaned up memory leaks in the GTK+ backend. Pietro Gagliardi 2015-04-08 01:16:22 -0400
  • 00e31d0a2b 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
  • df4c5f270c 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
  • d6bf5d6d48 Added allocation logging to Objective-C objects. Fixed some Mac OS X build issues. Pietro Gagliardi 2015-04-08 00:26:49 -0400
  • 33c67baa99 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
  • cdd37793c0 Implemented the memory logging. Pietro Gagliardi 2015-04-07 23:40:18 -0400
  • f3e7227739 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
  • a039e12d8a More allocation logging. I wonder if I can just log directly in the allocators themselves... Pietro Gagliardi 2015-04-07 22:54:21 -0400
  • 1375b3f21f More TODO cleanup. Pietro Gagliardi 2015-04-07 22:48:02 -0400
  • bb10227642 Started working on code to monitor creation and deletion of UI objects correctly. Pietro Gagliardi 2015-04-07 22:46:15 -0400
  • a272242052 Added WS_TABSTOP to uiButton on Windows. Pietro Gagliardi 2015-04-07 22:23:25 -0400
  • d0fa7b2cb1 Resolved a bunch of TODOs. Added one. Pietro Gagliardi 2015-04-07 22:19:24 -0400
  • 30eb8fa142 Added loading of the standard user32.dll class replacements to comctl32_windows.c. Pietro Gagliardi 2015-04-07 22:01:42 -0400
  • 5be4572302 Decided to remove containerShow() and containerHide() for now. Pietro Gagliardi 2015-04-07 21:05:47 -0400
  • 05a1cc535a 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
  • a6f175767e 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
  • 84c55e185d Fixed compiler warnings. Stack works! Pietro Gagliardi 2015-04-07 19:36:46 -0400
  • 78aa64f7ca 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
  • f1fe0b70e7 Wrote in the Stack test. The only thing left is to implement uiButton.preferredSize()... Pietro Gagliardi 2015-04-07 19:11:21 -0400
  • a63ed525c9 Fixed compilation errors. Pietro Gagliardi 2015-04-07 19:08:39 -0400
  • 3b1e5148d9 Unified the allocators across all platforms so that everyone uses uiAlloc() and friends. Pietro Gagliardi 2015-04-07 19:04:09 -0400
  • 6370c7d063 Added uiStack. Not yet tested; need to do a few things first. Pietro Gagliardi 2015-04-07 18:53:09 -0400
  • e4d30e3860 More TODOs. Pietro Gagliardi 2015-04-07 16:59:23 -0400
  • 28adb7fee5 Fixed compiler errors and bugs. uiButton on Mac OS X works! Pietro Gagliardi 2015-04-07 16:38:51 -0400
  • 2b40ad90ad Implemented uiButton on Mac OS X. Now to fix build issues and test... Pietro Gagliardi 2015-04-07 16:12:28 -0400
  • e53ec76fb5 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
  • 35342e44e7 Added the uiDarwinControl logic. Pietro Gagliardi 2015-04-07 14:42:52 -0400
  • 596ab2e413 Fixed button showing on GTK+. GTK+ uiButton done! Pietro Gagliardi 2015-04-07 14:13:42 -0400
  • d88a727799 Implemented uiButton on GTK+. All we need to do is get it to show up... Pietro Gagliardi 2015-04-07 13:58:50 -0400
  • 880f052282 Fixed compilation issues. Now to implement uiButton on GTK+. Pietro Gagliardi 2015-04-07 13:37:03 -0400
  • ce232fdc7e Tied everything together. Now to fix build issues. Pietro Gagliardi 2015-04-07 13:22:46 -0400
  • 79d1877202 Added uiContainer, the GtkFixed equivalent for use by the GTK+ backend. Fixed up formatting of the uipriv_*.h files. Pietro Gagliardi 2015-04-07 12:59:01 -0400
  • 4b13f93dbe Added the new native control code to the GTK+ backend. Fixed some missing statics in the Windows one too. Pietro Gagliardi 2015-04-07 12:17:05 -0400
  • 5db89a524b Moved Windows container functions from util_windows.c to container_windows.c. Pietro Gagliardi 2015-04-07 11:39:15 -0400
  • 85e711e54c _snprintf_s() is not supported on Windows XP... Pietro Gagliardi 2015-04-07 04:22:30 -0400
  • 978e9b5e94 Added uiControlHandle() and fixed other uiButton issues. Pietro Gagliardi 2015-04-07 04:12:03 -0400
  • 5b36956ecb Wrote up the initial uiButton implementation. It (mostly; just needs text and for that I need to add a uiControlHandle()) works! Pietro Gagliardi 2015-04-07 04:02:21 -0400
  • fecb7caa14 Hooked up resizing. Now to make a control that uses this. Pietro Gagliardi 2015-04-07 03:39:47 -0400
  • a09430113f Fixed build issues. Now I just need to hook resizing into uiWindow and implement a control and we'll be set... Pietro Gagliardi 2015-04-07 03:12:34 -0400
  • 54259ed98b Hooked everything else together (initialParent, ui_windows.h in uipriv_windows.h). Now to fix build issues... (like a missing const in const char * fixed here too). Pietro Gagliardi 2015-04-07 03:02:07 -0400
  • 300c86b590 Hooked up the WM_COMMAND and WM_NOTIFY bouncers. Pietro Gagliardi 2015-04-07 02:55:33 -0400
  • 9e26519338 Added subclassing, which finishes off newcontrol_windows.c. Pietro Gagliardi 2015-04-07 02:46:27 -0400