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 |
Pietro Gagliardi
|
42204af086
|
Implemented uiButton.preferredSize() on Windows. This includes adding a function to get the width of text in a control.
|
2015-04-07 19:32:16 -04:00 |
Pietro Gagliardi
|
38eecd3fc3
|
Wrote in the Stack test. The only thing left is to implement uiButton.preferredSize()...
|
2015-04-07 19:11:21 -04:00 |
Pietro Gagliardi
|
ec332870c2
|
Fixed compilation errors.
|
2015-04-07 19:08:39 -04:00 |
Pietro Gagliardi
|
7b1dfbf1d6
|
Unified the allocators across all platforms so that everyone uses uiAlloc() and friends.
|
2015-04-07 19:04:09 -04:00 |
Pietro Gagliardi
|
03d94db0fd
|
Added uiStack. Not yet tested; need to do a few things first.
|
2015-04-07 18:53:09 -04:00 |
Pietro Gagliardi
|
d9de0c186c
|
More TODOs.
|
2015-04-07 16:59:23 -04:00 |
Pietro Gagliardi
|
77a60d63a6
|
Fixed compiler errors and bugs. uiButton on Mac OS X works!
|
2015-04-07 16:38:51 -04:00 |
Pietro Gagliardi
|
3969095a33
|
Implemented uiButton on Mac OS X. Now to fix build issues and test...
|
2015-04-07 16:12:28 -04:00 |
Pietro Gagliardi
|
96e25cf502
|
Added the Mac OS X uiContainer. Added it to uiWindow. Added the Mac OS X coordinate system mirroring to the new control logic. Renamed *_darwin.c to *_darwin.m.
|
2015-04-07 15:45:56 -04:00 |
Pietro Gagliardi
|
a013fe6384
|
Added the uiDarwinControl logic.
|
2015-04-07 14:42:52 -04:00 |
Pietro Gagliardi
|
4a52806d70
|
Fixed button showing on GTK+. GTK+ uiButton done!
|
2015-04-07 14:13:42 -04:00 |
Pietro Gagliardi
|
3c427ed799
|
Implemented uiButton on GTK+. All we need to do is get it to show up...
|
2015-04-07 13:58:50 -04:00 |
Pietro Gagliardi
|
205cc9c2cf
|
Fixed compilation issues. Now to implement uiButton on GTK+.
|
2015-04-07 13:37:03 -04:00 |
Pietro Gagliardi
|
5b929084f8
|
Tied everything together. Now to fix build issues.
|
2015-04-07 13:22:46 -04:00 |
Pietro Gagliardi
|
587da1f40f
|
Added uiContainer, the GtkFixed equivalent for use by the GTK+ backend. Fixed up formatting of the uipriv_*.h files.
|
2015-04-07 12:59:01 -04:00 |
Pietro Gagliardi
|
698a0e5c74
|
Added the new native control code to the GTK+ backend. Fixed some missing statics in the Windows one too.
|
2015-04-07 12:17:05 -04:00 |
Pietro Gagliardi
|
32c6555fc0
|
Moved Windows container functions from util_windows.c to container_windows.c.
|
2015-04-07 11:39:15 -04:00 |
Pietro Gagliardi
|
0ec9dc9320
|
_snprintf_s() is not supported on Windows XP...
|
2015-04-07 04:22:30 -04:00 |
Pietro Gagliardi
|
3b52095ab0
|
Added uiControlHandle() and fixed other uiButton issues.
|
2015-04-07 04:12:03 -04:00 |
Pietro Gagliardi
|
a7293951f7
|
Wrote up the initial uiButton implementation. It (mostly; just needs text and for that I need to add a uiControlHandle()) works!
|
2015-04-07 04:02:21 -04:00 |
Pietro Gagliardi
|
54dd1f4001
|
Hooked up resizing. Now to make a control that uses this.
|
2015-04-07 03:39:47 -04:00 |
Pietro Gagliardi
|
c404590960
|
Fixed build issues. Now I just need to hook resizing into uiWindow and implement a control and we'll be set...
|
2015-04-07 03:12:34 -04:00 |
Pietro Gagliardi
|
a3c26ff652
|
Hooked everything else together (initialParent, ui_windows.h in uipriv_windows.h). Now to fix build issues... (like a missing const in const char * fixed here too).
|
2015-04-07 03:02:07 -04:00 |
Pietro Gagliardi
|
d14735883d
|
Hooked up the WM_COMMAND and WM_NOTIFY bouncers.
|
2015-04-07 02:55:33 -04:00 |
Pietro Gagliardi
|
3160b1ae1f
|
Added subclassing, which finishes off newcontrol_windows.c.
|
2015-04-07 02:46:27 -04:00 |
Pietro Gagliardi
|
816461ecbf
|
Added Common Controls code again (because we're going to need the subclassing functions now).
|
2015-04-07 02:11:31 -04:00 |
Pietro Gagliardi
|
fc3456f5e1
|
More Windows control work.
|
2015-04-07 01:51:17 -04:00 |
Pietro Gagliardi
|
dd8de11cc2
|
More work on the Windows control hooking.
|
2015-04-07 01:33:26 -04:00 |
Pietro Gagliardi
|
ab936d304f
|
Added a public API for creating raw Windows controls. Removed include guards from uipriv_*.h.
|
2015-04-07 00:56:06 -04:00 |
Pietro Gagliardi
|
1d76d53593
|
Changed ui_*.h to uipriv_*.h pending a public non-portable API.
|
2015-04-07 00:26:27 -04:00 |
Pietro Gagliardi
|
06adf7488d
|
Decided to start with the parenting stuff now.
|
2015-04-07 00:23:01 -04:00 |
Pietro Gagliardi
|
35e1f8e14c
|
Started writing code for handling single-HWND controls on Windows. Similar code will exist for single-GtkWidget controls on GTK+ and single-NSView controls on Cocoa.
|
2015-04-06 22:26:53 -04:00 |
Pietro Gagliardi
|
93b99a690c
|
Started working on uiControl.
|
2015-04-06 21:53:31 -04:00 |
Pietro Gagliardi
|
685844c594
|
Fixed initial Mac OS X code.
|
2015-04-06 20:01:14 -04:00 |
Pietro Gagliardi
|
e4d6d11925
|
Started writing the same but for Mac OS X. This time it's not tested yet; will test now.
|
2015-04-06 19:04:13 -04:00 |
Pietro Gagliardi
|
9001ca34f7
|
Implemented what we have so far, but on Windows.
|
2015-04-06 17:41:33 -04:00 |
Pietro Gagliardi
|
d1be6e3ce1
|
Added wintable's debugging printers to the new UI code.
|
2015-04-06 12:41:02 -04:00 |
Pietro Gagliardi
|
95440a3be1
|
Renamed some files. More TODOs.
|
2015-04-06 12:26:17 -04:00 |
Pietro Gagliardi
|
2f2836fa65
|
More precise cleanup in GTK+ uiInitErrorFree().
|
2015-04-06 12:25:16 -04:00 |
Pietro Gagliardi
|
ee1653f542
|
Started doing the C rewrite. Defined the basic initialization and main loop and window API and implemented them on GTK+.
|
2015-04-06 12:20:51 -04:00 |
Pietro Gagliardi
|
2ca0ba2072
|
Started rewrite #3. The first file up for bat is an ID system for safer C/Go interop.
|
2015-02-23 23:10:38 -05:00 |