Commit Graph

  • d71721964c More uiParent work. Something I did broke stack removal... Pietro Gagliardi 2015-04-14 10:20:07 -0400
  • d935c8896f More TODOs. Pietro Gagliardi 2015-04-14 09:46:24 -0400
  • b745e5042d More TODOs. Pietro Gagliardi 2015-04-14 09:43:18 -0400
  • 204f450ff8 More parent planning and related API changes. I now have a better handle over what I want after last night: p.SetChild() is only called by w.SetChild() and the various uiTab and uiGroup methods; everything else should call Control.SetParent(). Some renaming is needed. Pietro Gagliardi 2015-04-14 09:41:52 -0400
  • e5fea12df6 More parent planning. Pietro Gagliardi 2015-04-13 22:31:22 -0400
  • cad165e100 Added a document explaining how parents and children relate. I'm starting to think the current system actually does work fine after all... Pietro Gagliardi 2015-04-13 22:30:19 -0400
  • 5b29bd6d96 More TODOs. Pietro Gagliardi 2015-04-13 19:23:34 -0400
  • d4d0aef8cb Okay, I have no idea what I'm going to do Pietro Gagliardi 2015-04-13 19:23:08 -0400
  • 8803080975 More glossary work. Pietro Gagliardi 2015-04-13 18:37:07 -0400
  • 61ed97092a More GLOSSARY stuff. Pietro Gagliardi 2015-04-13 18:05:34 -0400
  • 50e7ef6f52 More glossary work. Pietro Gagliardi 2015-04-13 15:46:16 -0400
  • 8672e5520a Added a glossary. I'm still not too happy with this... Pietro Gagliardi 2015-04-13 15:15:33 -0400
  • d5416b8995 Fixed some code in stack.c. Pietro Gagliardi 2015-04-13 14:05:07 -0400
  • 79f0650fee Added uiStackRemove(), the first removal function in package ui! That took long enough... Now I can piece together all the control and parent logic... Pietro Gagliardi 2015-04-13 13:43:29 -0400
  • 949cd56611 Converted and fixed the Mac OS X code for uiParent. I'm still not happy, but this is DEFINITELY a step in the right direction... Perhaps automatic deletion is a pipe dream :/ I should also really nail the parenting/unparenting logic, but for that I need to add one more method. Pietro Gagliardi 2015-04-13 12:53:05 -0400
  • c8ac8a6fea Fixed issues in the GTK+ uiParent change. Pietro Gagliardi 2015-04-13 12:12:00 -0400
  • 159337df73 Did the GTK+ conversion to uiParent. Now to build. Pietro Gagliardi 2015-04-13 12:05:14 -0400
  • 5a0a0d1584 Finally fixed the Tab content resizing. Pietro Gagliardi 2015-04-13 10:15:36 -0400
  • 2005f18624 Fixed notification-sending issue on Windows. Pietro Gagliardi 2015-04-13 09:31:57 -0400
  • 8ec3acdde9 Found the wine bug; will fix it next Pietro Gagliardi 2015-04-13 02:21:20 -0400
  • 36982b7b38 Fixed some build warnings. Pietro Gagliardi 2015-04-13 00:45:34 -0400
  • 0616d0342a Fixed initial content area size on uiWindows. Pietro Gagliardi 2015-04-13 00:44:27 -0400
  • 83792ddf80 More TODOs. The problems I noticed earlier only happen on wine, so... Pietro Gagliardi 2015-04-13 00:36:30 -0400
  • df8ac38579 Fixed a small undefined-behavior bug in the parent code. Still not working... Pietro Gagliardi 2015-04-13 00:04:43 -0400
  • da3d55d4d2 Got rid of struct tabPage (it's just an array of uiParent *s now) and added a uiParentUpdate(). Thought that would fix it, but nope... Pietro Gagliardi 2015-04-12 23:20:09 -0400
  • da23756a6a Fix helper: get rid of direct casts to HWND to make errors more obvious. Pietro Gagliardi 2015-04-12 23:14:56 -0400
  • cfc3afe09f Fixed some runtime issues. Not all there... Pietro Gagliardi 2015-04-12 23:02:23 -0400
  • 524a8c88bb Fixed build issues. Now to fix runtime issues... Pietro Gagliardi 2015-04-12 22:57:05 -0400
  • 9a4bd6e79d Finished the Windows uiParent conversion, I think. Now to test. Pietro Gagliardi 2015-04-12 22:39:36 -0400
  • f7b3e06147 Some more uiParent migration. Pietro Gagliardi 2015-04-12 20:08:32 -0400
  • 7892757479 Finished writing parent_windows.c. Pietro Gagliardi 2015-04-12 19:25:16 -0400
  • 5c6d2533ac Set up the foundation for the new Windows uiParent. Pietro Gagliardi 2015-04-12 19:19:06 -0400
  • 2209039a6b Set up a unified system for containers, now called parents. Pietro Gagliardi 2015-04-12 18:34:54 -0400
  • bd1db7d098 Fixed Mac OS X tab page clearing. I'm really going to oneed to restructure the whole container system... Pietro Gagliardi 2015-04-12 16:00:09 -0400
  • f44094b4e4 Implemented uiTab on Mac OS X. It still doesn't quite work yet; switching from one tab and back doesn't show that tab's controls... Pietro Gagliardi 2015-04-12 15:46:58 -0400
  • 6121e3a47e Some comment and TODO adjustments. Pietro Gagliardi 2015-04-12 14:50:58 -0400
  • 4ff76fec17 More TODOs. Pietro Gagliardi 2015-04-12 12:59:39 -0400
  • 7ddd16b30a More TODOs. Pietro Gagliardi 2015-04-12 12:53:16 -0400
  • f497afe4ed Made controls transparent to tab backgrounds on Windows. It doesn't quite work right... Pietro Gagliardi 2015-04-12 12:38:25 -0400
  • 83221c5c5a Implemented uiTab on Windows. Pietro Gagliardi 2015-04-12 03:16:11 -0400
  • 97fa4a9211 Added uiTab to the GTK+ backend. Pietro Gagliardi 2015-04-12 01:06:42 -0400
  • 39657d164f Quick update/fix to the test program. Pietro Gagliardi 2015-04-12 01:01:56 -0400
  • efca31420b Fixed a major flaw in the GTK+ implementation I only realized now: by calling gtk_widget_show_all() in uiWindowShow(), we override the user's explicit hide settings! Fix it by calling gtk_widget_show() there (to only show the window), and gtk_widget_show_all() in both the new control constructor (to show the new control initially) and in the container constructor (to show that initially too). Pietro Gagliardi 2015-04-12 00:59:32 -0400
  • 4a1d80dcae Laid the foundation for tabs. Pietro Gagliardi 2015-04-12 00:30:44 -0400
  • db3d67dc2c More TODOs. Pietro Gagliardi 2015-04-12 00:15:20 -0400
  • 7f984b29e2 Implemented uiLabel on Mac OS X. Pietro Gagliardi 2015-04-11 23:49:34 -0400
  • ca6b5c9dfd Implemented uiLabel on GTK+. More TODOs. Pietro Gagliardi 2015-04-11 22:49:41 -0400
  • 51d83e1ebc Made the necessary adjustments to the test program to test labels (and futureproof other layout changes); getting and setting text on Windows works. Pietro Gagliardi 2015-04-11 22:33:23 -0400
  • 3699113bd7 Implemented uiLabel on Windows. We need to make a somewhat big change to the test program before we can test getting and setting the label's text, though... Pietro Gagliardi 2015-04-11 22:22:19 -0400
  • 80c17ebf71 Set up the foundation for uiLabel. Pietro Gagliardi 2015-04-11 21:53:49 -0400
  • e18e535476 Fixed the stupid 32-bit bug I did that fucking malloc pointer to struct instead of array of struct thing I always do again jesus fucking christ shit Pietro Gagliardi 2015-04-11 19:34:38 -0400
  • a929a0416d More TODOs. Pietro Gagliardi 2015-04-11 18:24:53 -0400
  • f7b001e400 Implemented show/hide/enable/disable on Mac OS X new controls. Pietro Gagliardi 2015-04-11 18:17:46 -0400
  • 10045e25f4 Removed a leftover line from the Go version of uiStack that is actually wrong in the C version; I thought it would fix the previous commit but it doesn't... Pietro Gagliardi 2015-04-11 17:26:48 -0400
  • 18cff13678 Okay I have no fucking idea what's going on Pietro Gagliardi 2015-04-11 17:23:36 -0400
  • b880635e74 Added the enable/disable/show/hide code to the Windows new control. Something is clobbering stacks; need to debug this... Pietro Gagliardi 2015-04-11 15:34:16 -0400
  • 5c567d920d Implemented show/hide/enable/disable on uiStack and fixed other bugs. It works! Pietro Gagliardi 2015-04-11 14:44:40 -0400
  • 6d8a811e35 Implemented making invisible children of uiStacks not count when drawing or calculating preferred size. Need to implement the new methods on uiStack itself before we can test. Pietro Gagliardi 2015-04-11 14:30:07 -0400
  • 9c872df89f Implemented showing, hiding, enabling, and disabling for GTK+ controls. Pietro Gagliardi 2015-04-11 14:21:58 -0400
  • 37975ae082 Laid the foundation for control showing, hiding, enabling, and disabling. Pietro Gagliardi 2015-04-11 14:12:12 -0400
  • 901e1cffd6 Renamed some variables in stack.c and added some exposition to make the code make slightly more sense. Pietro Gagliardi 2015-04-11 13:51:37 -0400
  • 1b815d9e4f Cleaned up uiStack's data structures to use the stackControl structure instead of four memory blocks for the control-specific parameters. Pietro Gagliardi 2015-04-11 13:45:59 -0400
  • 348998bdbe Resolved snwprintf() issues once and for all. Thanks to cousteau, dorp, and kate in irc.freenode.net/##c. Pietro Gagliardi 2015-04-11 13:32:25 -0400
  • 4611ebf27c Decided to disable the initial parent window on Windows. If this causes problems, I can re-enable it later. More TODOs. Pietro Gagliardi 2015-04-11 12:40:09 -0400
  • 88a46d7a44 More exposition. Pietro Gagliardi 2015-04-11 10:34:26 -0400
  • e3c5dc1995 Decided to keep the current Windows API padding rules. We can change it later if needed. Pietro Gagliardi 2015-04-11 10:32:01 -0400
  • e1d14a08cb More TODO resolution. Pietro Gagliardi 2015-04-11 09:39:04 -0400
  • 9ea77087b2 Finished the Mac OS X destruction work. Pietro Gagliardi 2015-04-11 02:55:51 -0400
  • ebb77919f9 More of the previous commit. More TODOs. Pietro Gagliardi 2015-04-10 23:24:21 -0400
  • 347a254d9f Started to implement proper destruction logic for Mac OS X controls. Pietro Gagliardi 2015-04-10 23:22:46 -0400
  • b982e69fb7 More TODO resolution and some GTK+ uiWindow inconsistency (and future repeated-event bug waiting to happen) cleanup. Pietro Gagliardi 2015-04-10 21:48:50 -0400
  • a143f41f19 More commentary and TODOs. Pietro Gagliardi 2015-04-10 21:37:08 -0400
  • 91907526a2 More TODO resolution. Pietro Gagliardi 2015-04-10 21:29:05 -0400
  • 0f77841a73 Added REAL code for the initial parent of a control on Windows. Pietro Gagliardi 2015-04-10 19:56:23 -0400
  • 0cfe64c2bb Moved the control IDs TODO to TODO.md as that's a long-term TODO; it depends on how container controls play out. Pietro Gagliardi 2015-04-10 18:31:40 -0400
  • 9a5da6159b More TODO resolution. Pietro Gagliardi 2015-04-10 18:06:01 -0400
  • e03d9ae2bd Changed the Windows new control system to automatically assign the standard control font if a flag is set in the creation parameters structure. Pietro Gagliardi 2015-04-10 17:53:59 -0400
  • c205427bfb Cleaned up Windows initialization error handling and migrated it to return the error message directly instead of through uiInitError. Pietro Gagliardi 2015-04-10 17:41:09 -0400
  • f2760aebde Removed autocorrect from Mac OS X uiEntries. Also moved uiFreeText() to text_darwin.m. Pietro Gagliardi 2015-04-10 17:06:59 -0400
  • 6277c34337 Decided to kill uiInitError and return the message as a const char * instead. Will need to implement on Windows. Pietro Gagliardi 2015-04-10 16:54:06 -0400
  • e7adf623ae More TODOs. Pietro Gagliardi 2015-04-10 14:31:16 -0400
  • 07187a4d18 More TODOs. Pietro Gagliardi 2015-04-10 14:29:45 -0400
  • 2f85197be7 More TODO resolution and cross-OS behavioral parity fixes. Pietro Gagliardi 2015-04-10 14:24:23 -0400
  • e88809179b More TODO resolution and debugging stuff. Pietro Gagliardi 2015-04-10 13:39:45 -0400
  • 016a05aebf Eliminated direct use of strdup(); introduced uiDarwinNSStringToText() to do that work for us (and abort on failure). Pietro Gagliardi 2015-04-10 13:24:34 -0400
  • 512819def7 Chose not to use NSCAssert() in alloc_darwin.m. Pietro Gagliardi 2015-04-10 13:06:29 -0400
  • 81ae03ffe2 Fixed previous commit. Pietro Gagliardi 2015-04-10 12:47:02 -0400
  • 0b7a57917a Resolved TODOs in debug_windows.c. Pietro Gagliardi 2015-04-10 12:44:42 -0400
  • 5dd6b46b30 More TODO resolutions. Thanks to David Hefferman for help. Pietro Gagliardi 2015-04-10 05:11:52 -0400
  • dd08daa9db Some TODO resolution; more TODOs. Pietro Gagliardi 2015-04-10 03:44:41 -0400
  • b4d527736c 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
  • 6f5b5dc4e4 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
  • 5aed7a5815 More TODO resolution. Pietro Gagliardi 2015-04-09 23:24:18 -0400
  • 4e03a117da Changed the allocation logging from a compile-time setting to the first initialization option. Pietro Gagliardi 2015-04-09 22:38:11 -0400
  • 759feeb7a1 Added uiWindowMargined() and implemented it on all platforms. Pietro Gagliardi 2015-04-09 21:11:56 -0400
  • 5c2ead2fea Added uiStackPadded(). Pietro Gagliardi 2015-04-09 20:04:18 -0400
  • 85eb453416 Removed direct vtable calls from uiControl. Pietro Gagliardi 2015-04-09 19:17:23 -0400
  • 9016935d5e 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
  • a538412df2 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
  • d4271c8ceb DlgUnit -> DlgUnits Pietro Gagliardi 2015-04-09 18:45:58 -0400