Pietro Gagliardi
|
a0033784b7
|
Okay I have no fucking idea what's going on
|
2015-04-11 17:23:36 -04:00 |
Pietro Gagliardi
|
a1b4b96bb9
|
Added the enable/disable/show/hide code to the Windows new control. Something is clobbering stacks; need to debug this...
|
2015-04-11 15:34:16 -04:00 |
Pietro Gagliardi
|
9ea35db265
|
Implemented show/hide/enable/disable on uiStack and fixed other bugs. It works!
|
2015-04-11 14:44:40 -04:00 |
Pietro Gagliardi
|
0430ca9102
|
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.
|
2015-04-11 14:30:07 -04:00 |
Pietro Gagliardi
|
b57c885505
|
Implemented showing, hiding, enabling, and disabling for GTK+ controls.
|
2015-04-11 14:21:58 -04:00 |
Pietro Gagliardi
|
da0acba992
|
Laid the foundation for control showing, hiding, enabling, and disabling.
|
2015-04-11 14:12:12 -04:00 |
Pietro Gagliardi
|
d14716c4d3
|
Renamed some variables in stack.c and added some exposition to make the code make slightly more sense.
|
2015-04-11 13:51:37 -04:00 |
Pietro Gagliardi
|
22e11ca8f3
|
Cleaned up uiStack's data structures to use the stackControl structure instead of four memory blocks for the control-specific parameters.
|
2015-04-11 13:45:59 -04:00 |
Pietro Gagliardi
|
2602330223
|
Resolved snwprintf() issues once and for all. Thanks to cousteau, dorp, and kate in irc.freenode.net/##c.
|
2015-04-11 13:32:25 -04:00 |
Pietro Gagliardi
|
a34fe03eef
|
Decided to disable the initial parent window on Windows. If this causes problems, I can re-enable it later. More TODOs.
|
2015-04-11 12:40:09 -04:00 |
Pietro Gagliardi
|
812b70f6f0
|
More exposition.
|
2015-04-11 10:34:26 -04:00 |
Pietro Gagliardi
|
2b6e6c20a3
|
Decided to keep the current Windows API padding rules. We can change it later if needed.
|
2015-04-11 10:32:01 -04:00 |
Pietro Gagliardi
|
42b8e40816
|
More TODO resolution.
|
2015-04-11 09:39:04 -04:00 |
Pietro Gagliardi
|
1ab2a81903
|
Finished the Mac OS X destruction work.
|
2015-04-11 02:56:16 -04:00 |
Pietro Gagliardi
|
4afca8f2c2
|
More of the previous commit. More TODOs.
|
2015-04-10 23:24:21 -04:00 |
Pietro Gagliardi
|
c610c60ea6
|
Started to implement proper destruction logic for Mac OS X controls.
|
2015-04-10 23:22:46 -04:00 |
Pietro Gagliardi
|
47c89f6aef
|
More TODO resolution and some GTK+ uiWindow inconsistency (and future repeated-event bug waiting to happen) cleanup.
|
2015-04-10 21:48:50 -04:00 |
Pietro Gagliardi
|
da3009bfbb
|
More commentary and TODOs.
|
2015-04-10 21:37:08 -04:00 |
Pietro Gagliardi
|
a25ffeb334
|
More TODO resolution.
|
2015-04-10 21:29:05 -04:00 |
Pietro Gagliardi
|
94b621855c
|
Added REAL code for the initial parent of a control on Windows.
|
2015-04-10 19:56:23 -04:00 |
Pietro Gagliardi
|
bd05948219
|
Moved the control IDs TODO to TODO.md as that's a long-term TODO; it depends on how container controls play out.
|
2015-04-10 18:32:04 -04:00 |
Pietro Gagliardi
|
d5da551c8c
|
More TODO resolution.
|
2015-04-10 18:06:01 -04:00 |
Pietro Gagliardi
|
a788c1b212
|
Changed the Windows new control system to automatically assign the standard control font if a flag is set in the creation parameters structure.
|
2015-04-10 17:53:59 -04:00 |
Pietro Gagliardi
|
f650237614
|
Cleaned up Windows initialization error handling and migrated it to return the error message directly instead of through uiInitError.
|
2015-04-10 17:41:09 -04:00 |
Pietro Gagliardi
|
3069f38a9c
|
Removed autocorrect from Mac OS X uiEntries. Also moved uiFreeText() to text_darwin.m.
|
2015-04-10 17:06:59 -04:00 |
Pietro Gagliardi
|
d326407f05
|
Decided to kill uiInitError and return the message as a const char * instead. Will need to implement on Windows.
|
2015-04-10 16:54:06 -04:00 |
Pietro Gagliardi
|
e49f6f7da8
|
More TODOs.
|
2015-04-10 14:31:16 -04:00 |
Pietro Gagliardi
|
f37b94e73f
|
More TODOs.
|
2015-04-10 14:29:45 -04:00 |
Pietro Gagliardi
|
47fb015afb
|
More TODO resolution and cross-OS behavioral parity fixes.
|
2015-04-10 14:24:23 -04:00 |
Pietro Gagliardi
|
a272619581
|
More TODO resolution and debugging stuff.
|
2015-04-10 13:39:45 -04:00 |
Pietro Gagliardi
|
a38024c781
|
Eliminated direct use of strdup(); introduced uiDarwinNSStringToText() to do that work for us (and abort on failure).
|
2015-04-10 13:25:09 -04:00 |
Pietro Gagliardi
|
5bbaaeefe8
|
Chose not to use NSCAssert() in alloc_darwin.m.
|
2015-04-10 13:06:29 -04:00 |
Pietro Gagliardi
|
1d29a65a19
|
Fixed previous commit.
|
2015-04-10 12:47:02 -04:00 |
Pietro Gagliardi
|
5461b50081
|
Resolved TODOs in debug_windows.c.
|
2015-04-10 12:44:42 -04:00 |
Pietro Gagliardi
|
5f534068f1
|
More TODO resolutions. Thanks to David Hefferman for help.
|
2015-04-10 05:11:52 -04:00 |
Pietro Gagliardi
|
b95335e87e
|
Some TODO resolution; more TODOs.
|
2015-04-10 03:44:41 -04:00 |
Pietro Gagliardi
|
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).
|
2015-04-10 03:11:44 -04:00 |
Pietro Gagliardi
|
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).
|
2015-04-09 23:48:04 -04:00 |
Pietro Gagliardi
|
a9115b352c
|
More TODO resolution.
|
2015-04-09 23:24:18 -04:00 |
Pietro Gagliardi
|
50a227058a
|
Changed the allocation logging from a compile-time setting to the first initialization option.
|
2015-04-09 22:38:11 -04:00 |
Pietro Gagliardi
|
d9315e6d8f
|
Added uiWindowMargined() and implemented it on all platforms.
|
2015-04-09 21:11:56 -04:00 |
Pietro Gagliardi
|
a7281f9034
|
Added uiStackPadded().
|
2015-04-09 20:04:18 -04:00 |
Pietro Gagliardi
|
10ea719dc8
|
Removed direct vtable calls from uiControl.
|
2015-04-09 19:17:23 -04:00 |
Pietro Gagliardi
|
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 :/
|
2015-04-09 19:07:41 -04:00 |
Pietro Gagliardi
|
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.
|
2015-04-09 18:54:14 -04:00 |
Pietro Gagliardi
|
18a58e56fa
|
DlgUnit -> DlgUnits
|
2015-04-09 18:45:58 -04:00 |
Pietro Gagliardi
|
e752356037
|
Migrated the Mac OS X code to the new uiControl/uiSizing system.
|
2015-04-09 18:39:21 -04:00 |
Pietro Gagliardi
|
22db738dd1
|
Migrated the GTK+ backend to the new uiControl/uiSizing system.
|
2015-04-09 18:17:04 -04:00 |
Pietro Gagliardi
|
1a525dea31
|
Finished Windows conversion. Works perfectly!
|
2015-04-09 17:57:08 -04:00 |
Pietro Gagliardi
|
cba301abbc
|
More Windows conversion. Not done yet.
|
2015-04-09 17:46:26 -04:00 |
Pietro Gagliardi
|
5c06fc512b
|
Migrated the new control logic on Windows to the new uiControl/uiSizing system.
|
2015-04-09 17:24:26 -04:00 |
Pietro Gagliardi
|
46afda5dce
|
Migrated stack.c to the new uiControl.
|
2015-04-09 16:57:55 -04:00 |
Pietro Gagliardi
|
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.
|
2015-04-09 16:37:04 -04:00 |
Pietro Gagliardi
|
92b43720b6
|
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
|
3f05be544c
|
Implemented padding in uiStack.
|
2015-04-09 15:59:40 -04:00 |
Pietro Gagliardi
|
8d64f695e0
|
Implemented the foundation for padding.
|
2015-04-09 15:30:24 -04:00 |
Pietro Gagliardi
|
8e0cd27605
|
Laid the foundation for padding.
|
2015-04-09 15:25:18 -04:00 |
Pietro Gagliardi
|
d146167321
|
Implemented uiWindowSetMargined() on GTK+.
|
2015-04-09 15:18:18 -04:00 |
Pietro Gagliardi
|
7c6beec879
|
Implemented uiWindowSetMargined() on Mac OS X.
|
2015-04-09 15:10:12 -04:00 |
Pietro Gagliardi
|
73f6841272
|
Implemented uiWindowSetMargined() on Windows.
|
2015-04-09 13:51:01 -04:00 |
Pietro Gagliardi
|
9c2fe78f78
|
Added uiWindowSetMargined().
|
2015-04-09 13:42:42 -04:00 |
Pietro Gagliardi
|
feefa627dc
|
Implemented all of uiCheckbox on GTK+.
|
2015-04-09 13:34:27 -04:00 |
Pietro Gagliardi
|
8b80b8c05d
|
Implemented uiCheckbox(Set)Checked() on Windows.
|
2015-04-09 13:10:32 -04:00 |
Pietro Gagliardi
|
6d93fce5b5
|
Implemented uiCheckbox(Set)Checked() on Mac OS X.
|
2015-04-09 13:01:23 -04:00 |
Pietro Gagliardi
|
ca607f8fb7
|
Added uiCheckboxChecked() and uiCheckboxSetChecked().
|
2015-04-09 12:52:34 -04:00 |
Pietro Gagliardi
|
42e99da587
|
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
|
07f3b4698e
|
Implemented uiCheckbox on Windows. Fixed build issues in the test program.
|
2015-04-09 12:32:59 -04:00 |
Pietro Gagliardi
|
d52a0b9a7d
|
Added uiCheckboxOnToggled().
|
2015-04-09 12:26:59 -04:00 |
Pietro Gagliardi
|
2917d568d2
|
Added a checkbox to the test program. It won't do anything just yet...
|
2015-04-09 12:14:18 -04:00 |
Pietro Gagliardi
|
67bfe61c93
|
Implemented the text functions on OS X.
|
2015-04-09 11:54:02 -04:00 |
Pietro Gagliardi
|
b5eea413c4
|
Fixed a runtime parameters bug in the previous commit.
|
2015-04-09 11:37:29 -04:00 |
Pietro Gagliardi
|
79a7e18b8d
|
Implemented the text functions on Windows.
|
2015-04-09 11:12:01 -04:00 |
Pietro Gagliardi
|
1f18d88f56
|
Split toUTF16() into a new file; other Windows text functions will also be there.
|
2015-04-09 09:24:08 -04:00 |
Pietro Gagliardi
|
723f2af8c6
|
Implemented the text routines on the GTK+ backend. They work!
|
2015-04-09 02:56:51 -04:00 |
Pietro Gagliardi
|
a0073727c8
|
Re-enabled the text manipulation code in the test program.
|
2015-04-09 02:43:49 -04:00 |
Pietro Gagliardi
|
ccdbdf011a
|
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
|
d6decf0abe
|
Implemented uiEntry on Windows.
|
2015-04-08 23:43:01 -04:00 |
Pietro Gagliardi
|
da45c51a82
|
Implemented uiEntry on GTK+.
|
2015-04-08 23:28:47 -04:00 |
Pietro Gagliardi
|
c6d3a068a9
|
Decided to call it uiEntry for now.
|
2015-04-08 23:22:59 -04:00 |
Pietro Gagliardi
|
d3f602f64a
|
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
|
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.
|
2015-04-08 21:08:53 -04:00 |
Pietro Gagliardi
|
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.
|
2015-04-08 20:53:34 -04:00 |
Pietro Gagliardi
|
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.
|
2015-04-08 20:37:32 -04:00 |
Pietro Gagliardi
|
47723aa8d9
|
More TODO resolution.
|
2015-04-08 20:14:10 -04:00 |
Pietro Gagliardi
|
7d349d6a28
|
More TODO resolution.
|
2015-04-08 20:01:33 -04:00 |
Pietro Gagliardi
|
317217de5a
|
Decided not to take the suggestions of some TODOs in ui.h.
|
2015-04-08 19:53:15 -04:00 |
Pietro Gagliardi
|
cbc0403e6a
|
Removed some stale TODOs.
|
2015-04-08 19:22:13 -04:00 |
Pietro Gagliardi
|
410378b451
|
And implemented proper control showing on Mac OS X.
|
2015-04-08 19:14:22 -04:00 |
Pietro Gagliardi
|
7c2a32fec6
|
Implemented the parent updating logic on GTK+.
|
2015-04-08 18:58:59 -04:00 |
Pietro Gagliardi
|
c1c78b5aeb
|
More TODOs.
|
2015-04-08 18:32:32 -04:00 |
Pietro Gagliardi
|
06c2bb7c25
|
Fixed initial (and future) window redraw issues on Windows.
|
2015-04-08 18:04:46 -04:00 |
Pietro Gagliardi
|
7b104667ab
|
More TODO resolution.
|
2015-04-08 17:19:44 -04:00 |
Pietro Gagliardi
|
ec070204a5
|
More TODO resolving. More TODOs.
|
2015-04-08 17:08:25 -04:00 |
Pietro Gagliardi
|
a97c9297c3
|
Removed a stale TODO.
|
2015-04-08 16:35:03 -04:00 |
Pietro Gagliardi
|
6d7140160b
|
Decided not to turn new control scrolling parameters into a bitfield.
|
2015-04-08 16:27:45 -04:00 |
Pietro Gagliardi
|
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.
|
2015-04-08 16:24:11 -04:00 |
Pietro Gagliardi
|
090977fa0a
|
Cleaned up window_darwin.m's data structure juggling.
|
2015-04-08 16:04:27 -04:00 |
Pietro Gagliardi
|
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.
|
2015-04-08 15:53:50 -04:00 |
Pietro Gagliardi
|
25b33c2afd
|
More TODOs.
|
2015-04-08 05:13:38 -04:00 |
Pietro Gagliardi
|
ab393ed6b2
|
Fixed compilation errors. Hm, nothing is still freed...
|
2015-04-08 04:48:03 -04:00 |