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 |
Pietro Gagliardi
|
a850ea3ac5
|
Cleaned up the uiWindow Darwin implementation. Let's try this again...
|
2015-04-08 04:38:34 -04:00 |
Pietro Gagliardi
|
941825e190
|
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.
|
2015-04-08 04:35:50 -04:00 |
Pietro Gagliardi
|
4ab6251449
|
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.
|
2015-04-08 03:38:08 -04:00 |
Pietro Gagliardi
|
5597606f18
|
Better monitoring of Objective-C objects (including main GUI objects).
|
2015-04-08 02:28:42 -04:00 |
Pietro Gagliardi
|
d37bc67158
|
Cleaned up memory leaks in the GTK+ backend.
|
2015-04-08 01:16:22 -04:00 |
Pietro Gagliardi
|
f5c8bdd4b3
|
Finished Windows cleanup management. Everything (almost, only parentWindow is still around, but that shouldn't be a uiWindow to begin with) now cleaned!
|
2015-04-08 00:51:50 -04:00 |
Pietro Gagliardi
|
54e947eed3
|
Started work on ensuring things get cleaned up. Added a destroy() method to uiControl and implemented most of the work for Windows.
|
2015-04-08 00:43:35 -04:00 |
Pietro Gagliardi
|
521829a0a6
|
Added allocation logging to Objective-C objects. Fixed some Mac OS X build issues.
|
2015-04-08 00:27:03 -04:00 |
Pietro Gagliardi
|
1d828c8deb
|
Added an awk script to check for leaks in the memory logging output we just added.
|
2015-04-07 23:53:10 -04:00 |
Pietro Gagliardi
|
66788e6edb
|
Implemented the memory logging.
|
2015-04-07 23:40:18 -04:00 |
Pietro Gagliardi
|
49ee58ca36
|
Decided to remove the logging for now. Will inject it right into the allocation system later.
|
2015-04-07 22:58:06 -04:00 |
Pietro Gagliardi
|
3fc36ec582
|
More allocation logging. I wonder if I can just log directly in the allocators themselves...
|
2015-04-07 22:54:21 -04:00 |
Pietro Gagliardi
|
33b1c29de8
|
More TODO cleanup.
|
2015-04-07 22:48:02 -04:00 |
Pietro Gagliardi
|
1e263930eb
|
Started working on code to monitor creation and deletion of UI objects correctly.
|
2015-04-07 22:46:15 -04:00 |
Pietro Gagliardi
|
c6daf8d308
|
Added WS_TABSTOP to uiButton on Windows.
|
2015-04-07 22:23:25 -04:00 |
Pietro Gagliardi
|
002d95c2c2
|
Resolved a bunch of TODOs. Added one.
|
2015-04-07 22:19:24 -04:00 |
Pietro Gagliardi
|
5719004a97
|
Added loading of the standard user32.dll class replacements to comctl32_windows.c.
|
2015-04-07 22:01:42 -04:00 |
Pietro Gagliardi
|
c4fa92e18f
|
Decided to remove containerShow() and containerHide() for now.
|
2015-04-07 21:05:47 -04:00 |
Pietro Gagliardi
|
1bb187d55b
|
Implemented new control preferredSize() on Mac OS X. Now that Stack works everywhere, I can resolve TODOs.
|
2015-04-07 20:28:28 -04:00 |
Pietro Gagliardi
|
89643f70f7
|
Changed the GTK+ new control system from using g_object_newv() to using g_object_new_valist() due to weird crashes.
|
2015-04-07 19:47:44 -04:00 |
Pietro Gagliardi
|
12021269b7
|
Fixed compiler warnings. Stack works!
|
2015-04-07 19:36:46 -04:00 |