Commit Graph

3276 Commits

Author SHA1 Message Date
Pietro Gagliardi 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). 2015-04-10 03:11:44 -04:00
Pietro Gagliardi 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). 2015-04-09 23:48:04 -04:00
Pietro Gagliardi 5aed7a5815 More TODO resolution. 2015-04-09 23:24:18 -04:00
Pietro Gagliardi 4e03a117da Changed the allocation logging from a compile-time setting to the first initialization option. 2015-04-09 22:38:11 -04:00
Pietro Gagliardi 759feeb7a1 Added uiWindowMargined() and implemented it on all platforms. 2015-04-09 21:11:56 -04:00
Pietro Gagliardi 5c2ead2fea Added uiStackPadded(). 2015-04-09 20:04:18 -04:00
Pietro Gagliardi 85eb453416 Removed direct vtable calls from uiControl. 2015-04-09 19:17:23 -04:00
Pietro Gagliardi 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 :/ 2015-04-09 19:07:41 -04:00
Pietro Gagliardi 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. 2015-04-09 18:54:14 -04:00
Pietro Gagliardi d4271c8ceb DlgUnit -> DlgUnits 2015-04-09 18:45:58 -04:00
Pietro Gagliardi e5e0f115f7 Migrated the Mac OS X code to the new uiControl/uiSizing system. 2015-04-09 18:39:21 -04:00
Pietro Gagliardi 022a3ae20e Migrated the GTK+ backend to the new uiControl/uiSizing system. 2015-04-09 18:17:04 -04:00
Pietro Gagliardi d84df8f38f Finished Windows conversion. Works perfectly! 2015-04-09 17:57:08 -04:00
Pietro Gagliardi 924d6d6a7c More Windows conversion. Not done yet. 2015-04-09 17:46:26 -04:00
Pietro Gagliardi cefa6d0bd2 Migrated the new control logic on Windows to the new uiControl/uiSizing system. 2015-04-09 17:24:26 -04:00
Pietro Gagliardi 8c469b7b22 Migrated stack.c to the new uiControl. 2015-04-09 16:57:55 -04:00
Pietro Gagliardi 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. 2015-04-09 16:37:04 -04:00
Pietro Gagliardi b60ff74a9e Decided to split control removal from parent into its own method removeParent() rather than automatically doing it in setParent(). 2015-04-09 16:21:09 -04:00
Pietro Gagliardi 1575a0dc7c Implemented padding in uiStack. 2015-04-09 15:59:40 -04:00
Pietro Gagliardi 1b5de5f096 Implemented the foundation for padding. 2015-04-09 15:30:24 -04:00
Pietro Gagliardi ec95a4a2dd Laid the foundation for padding. 2015-04-09 15:25:18 -04:00
Pietro Gagliardi af6eb09bca Implemented uiWindowSetMargined() on GTK+. 2015-04-09 15:18:18 -04:00
Pietro Gagliardi da0f0b3d69 Implemented uiWindowSetMargined() on Mac OS X. 2015-04-09 15:10:12 -04:00
Pietro Gagliardi 7148b26afb Implemented uiWindowSetMargined() on Windows. 2015-04-09 13:51:01 -04:00
Pietro Gagliardi 4c13ac57d5 Added uiWindowSetMargined(). 2015-04-09 13:42:42 -04:00
Pietro Gagliardi 1a6ceb9ada Implemented all of uiCheckbox on GTK+. 2015-04-09 13:34:27 -04:00
Pietro Gagliardi cc94c0b5f8 Implemented uiCheckbox(Set)Checked() on Windows. 2015-04-09 13:10:32 -04:00
Pietro Gagliardi f5745325b2 Implemented uiCheckbox(Set)Checked() on Mac OS X. 2015-04-09 13:01:23 -04:00
Pietro Gagliardi 3d3d84c146 Added uiCheckboxChecked() and uiCheckboxSetChecked(). 2015-04-09 12:52:34 -04:00
Pietro Gagliardi 4f424e4e10 Implemented uiCheckbox on Mac OS X. Before I implement it on GTK+ I'll go back and add uiCheckboxChecked() and uICheckboxSetChecked(). 2015-04-09 12:47:34 -04:00
Pietro Gagliardi 69b794c0b0 Implemented uiCheckbox on Windows. Fixed build issues in the test program. 2015-04-09 12:32:59 -04:00
Pietro Gagliardi c2d98a8b0e Added uiCheckboxOnToggled(). 2015-04-09 12:26:59 -04:00
Pietro Gagliardi 8d30e1df39 Added a checkbox to the test program. It won't do anything just yet... 2015-04-09 12:14:18 -04:00
Pietro Gagliardi 07fc337324 Implemented the text functions on OS X. 2015-04-09 11:54:02 -04:00
Pietro Gagliardi 8e0d74865d Fixed a runtime parameters bug in the previous commit. 2015-04-09 11:37:29 -04:00
Pietro Gagliardi 880008b716 Implemented the text functions on Windows. 2015-04-09 11:12:01 -04:00
Pietro Gagliardi 2b52563cd9 Split toUTF16() into a new file; other Windows text functions will also be there. 2015-04-09 09:24:08 -04:00
Pietro Gagliardi b6bd0c1c26 Implemented the text routines on the GTK+ backend. They work! 2015-04-09 02:56:51 -04:00
Pietro Gagliardi ba66d7308a Re-enabled the text manipulation code in the test program. 2015-04-09 02:43:49 -04:00
Pietro Gagliardi 27b7089423 Implemented uiEntry on Mac OS X. Now I can get to writing the text and title functions... 2015-04-09 02:35:52 -04:00
Pietro Gagliardi 0097b1badc Implemented uiEntry on Windows. 2015-04-08 23:43:01 -04:00
Pietro Gagliardi 8bafd1f8e0 Implemented uiEntry on GTK+. 2015-04-08 23:28:47 -04:00
Pietro Gagliardi 9f645e3ad3 Decided to call it uiEntry for now. 2015-04-08 23:22:59 -04:00
Pietro Gagliardi 878e3e5e6e Wrote up a new test program that will feature uiEntry when I write it (next). 2015-04-08 21:25:30 -04:00
Pietro Gagliardi 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. 2015-04-08 21:08:53 -04:00
Pietro Gagliardi 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. 2015-04-08 20:53:34 -04:00
Pietro Gagliardi 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. 2015-04-08 20:37:32 -04:00
Pietro Gagliardi b9c38ebd20 More TODO resolution. 2015-04-08 20:14:10 -04:00
Pietro Gagliardi f2537aadd3 More TODO resolution. 2015-04-08 20:01:33 -04:00
Pietro Gagliardi ae31cbc089 Decided not to take the suggestions of some TODOs in ui.h. 2015-04-08 19:53:15 -04:00