d71721964cMore uiParent work. Something I did broke stack removal...
Pietro Gagliardi
2015-04-14 10:20:07 -0400
d935c8896fMore TODOs.
Pietro Gagliardi
2015-04-14 09:46:24 -0400
b745e5042dMore TODOs.
Pietro Gagliardi
2015-04-14 09:43:18 -0400
204f450ff8More 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
e5fea12df6More parent planning.
Pietro Gagliardi
2015-04-13 22:31:22 -0400
cad165e100Added 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
5b29bd6d96More TODOs.
Pietro Gagliardi
2015-04-13 19:23:34 -0400
d4d0aef8cbOkay, I have no idea what I'm going to do
Pietro Gagliardi
2015-04-13 19:23:08 -0400
8803080975More glossary work.
Pietro Gagliardi
2015-04-13 18:37:07 -0400
61ed97092aMore GLOSSARY stuff.
Pietro Gagliardi
2015-04-13 18:05:34 -0400
50e7ef6f52More glossary work.
Pietro Gagliardi
2015-04-13 15:46:16 -0400
8672e5520aAdded a glossary. I'm still not too happy with this...
Pietro Gagliardi
2015-04-13 15:15:33 -0400
d5416b8995Fixed some code in stack.c.
Pietro Gagliardi
2015-04-13 14:05:07 -0400
79f0650feeAdded 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
949cd56611Converted 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
c8ac8a6feaFixed issues in the GTK+ uiParent change.
Pietro Gagliardi
2015-04-13 12:12:00 -0400
159337df73Did the GTK+ conversion to uiParent. Now to build.
Pietro Gagliardi
2015-04-13 12:05:14 -0400
5a0a0d1584Finally fixed the Tab content resizing.
Pietro Gagliardi
2015-04-13 10:15:36 -0400
2005f18624Fixed notification-sending issue on Windows.
Pietro Gagliardi
2015-04-13 09:31:57 -0400
8ec3acdde9Found the wine bug; will fix it next
Pietro Gagliardi
2015-04-13 02:21:20 -0400
36982b7b38Fixed some build warnings.
Pietro Gagliardi
2015-04-13 00:45:34 -0400
0616d0342aFixed initial content area size on uiWindows.
Pietro Gagliardi
2015-04-13 00:44:27 -0400
83792ddf80More TODOs. The problems I noticed earlier only happen on wine, so...
Pietro Gagliardi
2015-04-13 00:36:30 -0400
df8ac38579Fixed a small undefined-behavior bug in the parent code. Still not working...
Pietro Gagliardi
2015-04-13 00:04:43 -0400
da3d55d4d2Got 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
da23756a6aFix helper: get rid of direct casts to HWND to make errors more obvious.
Pietro Gagliardi
2015-04-12 23:14:56 -0400
cfc3afe09fFixed some runtime issues. Not all there...
Pietro Gagliardi
2015-04-12 23:02:23 -0400
524a8c88bbFixed build issues. Now to fix runtime issues...
Pietro Gagliardi
2015-04-12 22:57:05 -0400
9a4bd6e79dFinished the Windows uiParent conversion, I think. Now to test.
Pietro Gagliardi
2015-04-12 22:39:36 -0400
f7b3e06147Some more uiParent migration.
Pietro Gagliardi
2015-04-12 20:08:32 -0400
7892757479Finished writing parent_windows.c.
Pietro Gagliardi
2015-04-12 19:25:16 -0400
5c6d2533acSet up the foundation for the new Windows uiParent.
Pietro Gagliardi
2015-04-12 19:19:06 -0400
2209039a6bSet up a unified system for containers, now called parents.
Pietro Gagliardi
2015-04-12 18:34:54 -0400
bd1db7d098Fixed 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
f44094b4e4Implemented 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
6121e3a47eSome comment and TODO adjustments.
Pietro Gagliardi
2015-04-12 14:50:58 -0400
4ff76fec17More TODOs.
Pietro Gagliardi
2015-04-12 12:59:39 -0400
7ddd16b30aMore TODOs.
Pietro Gagliardi
2015-04-12 12:53:16 -0400
f497afe4edMade controls transparent to tab backgrounds on Windows. It doesn't quite work right...
Pietro Gagliardi
2015-04-12 12:38:25 -0400
83221c5c5aImplemented uiTab on Windows.
Pietro Gagliardi
2015-04-12 03:16:11 -0400
97fa4a9211Added uiTab to the GTK+ backend.
Pietro Gagliardi
2015-04-12 01:06:42 -0400
39657d164fQuick update/fix to the test program.
Pietro Gagliardi
2015-04-12 01:01:56 -0400
efca31420bFixed 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
4a1d80dcaeLaid the foundation for tabs.
Pietro Gagliardi
2015-04-12 00:30:44 -0400
db3d67dc2cMore TODOs.
Pietro Gagliardi
2015-04-12 00:15:20 -0400
7f984b29e2Implemented uiLabel on Mac OS X.
Pietro Gagliardi
2015-04-11 23:49:34 -0400
ca6b5c9dfdImplemented uiLabel on GTK+. More TODOs.
Pietro Gagliardi
2015-04-11 22:49:41 -0400
51d83e1ebcMade 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
3699113bd7Implemented 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
80c17ebf71Set up the foundation for uiLabel.
Pietro Gagliardi
2015-04-11 21:53:49 -0400
e18e535476Fixed 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
a929a0416dMore TODOs.
Pietro Gagliardi
2015-04-11 18:24:53 -0400
f7b001e400Implemented show/hide/enable/disable on Mac OS X new controls.
Pietro Gagliardi
2015-04-11 18:17:46 -0400
10045e25f4Removed 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
18cff13678Okay I have no fucking idea what's going on
Pietro Gagliardi
2015-04-11 17:23:36 -0400
b880635e74Added 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
5c567d920dImplemented show/hide/enable/disable on uiStack and fixed other bugs. It works!
Pietro Gagliardi
2015-04-11 14:44:40 -0400
6d8a811e35Implemented 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
9c872df89fImplemented showing, hiding, enabling, and disabling for GTK+ controls.
Pietro Gagliardi
2015-04-11 14:21:58 -0400
37975ae082Laid the foundation for control showing, hiding, enabling, and disabling.
Pietro Gagliardi
2015-04-11 14:12:12 -0400
901e1cffd6Renamed 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
1b815d9e4fCleaned 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
348998bdbeResolved 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
4611ebf27cDecided 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
88a46d7a44More exposition.
Pietro Gagliardi
2015-04-11 10:34:26 -0400
e3c5dc1995Decided to keep the current Windows API padding rules. We can change it later if needed.
Pietro Gagliardi
2015-04-11 10:32:01 -0400
e1d14a08cbMore TODO resolution.
Pietro Gagliardi
2015-04-11 09:39:04 -0400
9ea77087b2Finished the Mac OS X destruction work.
Pietro Gagliardi
2015-04-11 02:55:51 -0400
ebb77919f9More of the previous commit. More TODOs.
Pietro Gagliardi
2015-04-10 23:24:21 -0400
347a254d9fStarted to implement proper destruction logic for Mac OS X controls.
Pietro Gagliardi
2015-04-10 23:22:46 -0400
b982e69fb7More 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
a143f41f19More commentary and TODOs.
Pietro Gagliardi
2015-04-10 21:37:08 -0400
91907526a2More TODO resolution.
Pietro Gagliardi
2015-04-10 21:29:05 -0400
0f77841a73Added REAL code for the initial parent of a control on Windows.
Pietro Gagliardi
2015-04-10 19:56:23 -0400
0cfe64c2bbMoved 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
9a5da6159bMore TODO resolution.
Pietro Gagliardi
2015-04-10 18:06:01 -0400
e03d9ae2bdChanged 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
c205427bfbCleaned 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
f2760aebdeRemoved autocorrect from Mac OS X uiEntries. Also moved uiFreeText() to text_darwin.m.
Pietro Gagliardi
2015-04-10 17:06:59 -0400
6277c34337Decided 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
e7adf623aeMore TODOs.
Pietro Gagliardi
2015-04-10 14:31:16 -0400
07187a4d18More TODOs.
Pietro Gagliardi
2015-04-10 14:29:45 -0400
2f85197be7More TODO resolution and cross-OS behavioral parity fixes.
Pietro Gagliardi
2015-04-10 14:24:23 -0400
e88809179bMore TODO resolution and debugging stuff.
Pietro Gagliardi
2015-04-10 13:39:45 -0400
016a05aebfEliminated 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
512819def7Chose not to use NSCAssert() in alloc_darwin.m.
Pietro Gagliardi
2015-04-10 13:06:29 -0400
81ae03ffe2Fixed previous commit.
Pietro Gagliardi
2015-04-10 12:47:02 -0400
0b7a57917aResolved TODOs in debug_windows.c.
Pietro Gagliardi
2015-04-10 12:44:42 -0400
5dd6b46b30More TODO resolutions. Thanks to David Hefferman for help.
Pietro Gagliardi
2015-04-10 05:11:52 -0400
dd08daa9dbSome TODO resolution; more TODOs.
Pietro Gagliardi
2015-04-10 03:44:41 -0400
b4d527736cResolved 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
6f5b5dc4e4Decided 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
5aed7a5815More TODO resolution.
Pietro Gagliardi
2015-04-09 23:24:18 -0400
4e03a117daChanged the allocation logging from a compile-time setting to the first initialization option.
Pietro Gagliardi
2015-04-09 22:38:11 -0400
759feeb7a1Added uiWindowMargined() and implemented it on all platforms.
Pietro Gagliardi
2015-04-09 21:11:56 -0400
5c2ead2feaAdded uiStackPadded().
Pietro Gagliardi
2015-04-09 20:04:18 -0400
85eb453416Removed direct vtable calls from uiControl.
Pietro Gagliardi
2015-04-09 19:17:23 -0400
9016935d5eChanged 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
a538412df2Changed 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
d4271c8cebDlgUnit -> DlgUnits
Pietro Gagliardi
2015-04-09 18:45:58 -0400