Commit Graph

335 Commits

Author SHA1 Message Date
Pietro Gagliardi 27e7057672 Removed a TODO in windows/window.c; we need to guard *anyway* (for example, with empty windows). 2015-06-03 17:30:17 -04:00
Pietro Gagliardi be747af77c Settled Z-ordering for spinboxes. 2015-06-03 15:58:47 -04:00
Pietro Gagliardi f01b6303e9 Have controls whose size depends on their text request a resize on text changed. This fixes the TODO removed in the previous commit. Also removed the single-HWND control text functions and added more TODOs. 2015-06-03 15:49:44 -04:00
Pietro Gagliardi 0b7dc94822 Fixed up the layout of test/pge5.c. The change necessary to make it work will come next. 2015-06-03 15:19:37 -04:00
Pietro Gagliardi 4edef818b9 Split apart the uiControl text stuff in the same way the other uiControl functions are split in windows/control.c. This is a prerequisite for autoresizing on text change. Also simplified the title handling code in windows/window.c; it can use these functions too. 2015-06-03 14:55:33 -04:00
Pietro Gagliardi 96570d78be Temporarily turned off control background painting for wine. 2015-06-03 14:41:37 -04:00
Pietro Gagliardi 55dbade482 More TODOs, sigh... 2015-06-03 12:35:02 -04:00
Pietro Gagliardi f4c9647d2c TODO resolution and updates. 2015-06-03 12:10:08 -04:00
Pietro Gagliardi ee17ba6e46 Some separator work. 2015-06-02 18:48:41 -04:00
Pietro Gagliardi fd846cb01f Installed the Z-order stuff into box.c; tab order is now correct. There are some loose ends, though. 2015-06-02 17:42:51 -04:00
Pietro Gagliardi f26a3a18de Forgot to make containers WS_EX_CONTROLPARENT; this fixes tab navigation hanging issues. Now we can implement the Z-order functions! 2015-06-02 17:28:23 -04:00
Pietro Gagliardi 9c6fc415c5 Quick comment fix. 2015-06-02 15:10:58 -04:00
Pietro Gagliardi 572084aaeb More TODO resolution/shuffling. 2015-06-02 14:22:49 -04:00
Pietro Gagliardi b3adda2287 More TODO resolution in windows/init.c. 2015-06-02 14:12:12 -04:00
Pietro Gagliardi b793692199 Some TODO resolution. 2015-06-02 13:21:27 -04:00
Pietro Gagliardi 5260c4cd96 Some TODO updates. 2015-06-02 12:55:12 -04:00
Pietro Gagliardi d96f7a5c07 More TODOs. 2015-06-02 12:48:49 -04:00
Pietro Gagliardi 680c9face7 Fixed windows/init.c to properly report HRESULT error codes. 2015-06-02 12:31:47 -04:00
Pietro Gagliardi cf05629175 Settled WS_EX_CLIENTEDGE issues. 2015-06-02 12:16:14 -04:00
Pietro Gagliardi 199222eb31 Temporarily turned off container backgrounds for WS_EX_CLIENTEDGE tests. 2015-06-02 11:58:22 -04:00
Pietro Gagliardi 4893bdb3cd Some TODO resolution. 2015-06-02 11:56:44 -04:00
Pietro Gagliardi 0f6b70b65c Updated some TODOs. 2015-06-02 11:28:30 -04:00
Pietro Gagliardi a25d7b2a0c Some TODO resolution and stale TODO deletion in windows/spinbox.c. Also decided to keep defaultOnChanged() where it was. 2015-06-02 10:35:10 -04:00
Pietro Gagliardi 884bd5c862 Implemented tabPreferredSize(). This finally eliminates windows/OLDtab.c. 2015-06-02 10:20:59 -04:00
Pietro Gagliardi a48aa36251 Some TODO resolution. 2015-06-01 22:12:39 -04:00
Pietro Gagliardi ae54ff0141 Reimplemented uiTab tab stop handling. 2015-06-01 22:00:50 -04:00
Pietro Gagliardi b109ab4bb9 Removed a stale TODO. 2015-06-01 21:50:34 -04:00
Pietro Gagliardi 2a71d2dc78 Fixed a typo. 2015-06-01 21:50:06 -04:00
Pietro Gagliardi 54d727bf42 Changed handling of WS_TABSTOP in uiTab so that it is only applied if there are tabs. This gets rid of the need for our complex HasTabStops() handling. 2015-06-01 21:46:39 -04:00
Pietro Gagliardi d90eeb84f7 More tab work and tab TODOs. 2015-06-01 21:25:57 -04:00
Pietro Gagliardi c96fa44786 Fixed tabDelete() not properly preserving the child control. 2015-06-01 21:14:30 -04:00
Pietro Gagliardi 4db24bff05 Implemented tabContainerUpdateState() and removed migrated code from windows/OLDtab.c. 2015-06-01 21:01:26 -04:00
Pietro Gagliardi 993bc58691 Separated tab page child assignment from the constructor to keep the vtable together. 2015-06-01 20:12:55 -04:00
Pietro Gagliardi 6d64922055 Handled events in tab pages. 2015-06-01 19:27:28 -04:00
Pietro Gagliardi 54e71b3357 Started splitting out contribution-related TODOs into a separate list. Also fixed a typo in windows/tabpage.c. 2015-06-01 19:12:54 -04:00
Pietro Gagliardi c15fd6968c Fixed a use-after-free bug in windows/tabpage.c. 2015-06-01 19:09:13 -04:00
Pietro Gagliardi 9bf2c2b025 More work with tabPage. 2015-06-01 19:07:00 -04:00
Pietro Gagliardi 162c6f8e4d Reimplemented uiGroup sizing. This gets rid of the need for windows/OLDgroup.c. 2015-06-01 18:45:37 -04:00
Pietro Gagliardi a29c15a897 Removed TODO for dequeueResize(); we won't add that. 2015-06-01 18:17:59 -04:00
Pietro Gagliardi c08cad8a7e Added deallocation of type information to types.c. We are finally back to NOT crashing when quitting!! 2015-06-01 18:11:23 -04:00
Pietro Gagliardi a892e6b339 Handled memory destruction for uiRadioButtons properly. 2015-06-01 18:06:15 -04:00
Pietro Gagliardi fb10d65249 Handled uiGroup parenting and destruction. 2015-06-01 18:00:20 -04:00
Pietro Gagliardi 678ddbedf3 Finished uiTab destruction code. 2015-06-01 17:37:43 -04:00
Pietro Gagliardi bc4ac108ce Started properly handling uiControl functions in uiTab and tabPage. Removed a few stale TODOs as well. 2015-06-01 17:21:21 -04:00
Pietro Gagliardi d9c209e524 Required MinGW-w64 4.0.0 or newer to build now. 2015-06-01 16:28:26 -04:00
Pietro Gagliardi 85c60ef033 Made sliders transparent. This is the first change that requires MinGW-w64 4.0; adding a check for that comes next. 2015-06-01 16:21:34 -04:00
Pietro Gagliardi 56fc38301b More TODOs. 2015-06-01 16:16:01 -04:00
Pietro Gagliardi 5fa84c1914 Filled in more of windows/radiobuttons.c. 2015-06-01 13:51:53 -04:00
Pietro Gagliardi f7c19d2213 More TODOs. 2015-06-01 13:46:22 -04:00
Pietro Gagliardi b540d93e3d Fixed errors in the previous commit. 2015-06-01 13:02:43 -04:00
Pietro Gagliardi e7801222be Added show/hide/enable/disable to uiSpinbox. 2015-06-01 12:29:00 -04:00
Pietro Gagliardi e3079ce62c Switched to GetLocaleInfoEx(). 2015-06-01 09:48:30 -04:00
Pietro Gagliardi afb7c773fe Converted the save file dialog to the Common Item Dialog system and resolved a few TODOs. 2015-05-31 21:23:44 -04:00
Pietro Gagliardi a8ddd7f94f Fixed the new uiOpenFile(). Now I can do uiSaveFile() too... 2015-05-31 20:36:16 -04:00
Pietro Gagliardi f403c23001 Began moving the file dialogs to the new Common Item Dialog. Doesn't quite work yet. 2015-05-31 20:27:01 -04:00
Pietro Gagliardi ef1b594ef0 Initialized COM. 2015-05-31 19:26:21 -04:00
Pietro Gagliardi 409407b761 Switched to task dialogs for MsgBox() and friends. This is the first Vista-specific feature. 2015-05-31 19:17:35 -04:00
Pietro Gagliardi c45aeb31a0 Dropped XP support from windows/winapi.h. The next few commits will move to Vista-specific features and APIs. 2015-05-31 18:45:11 -04:00
Pietro Gagliardi 3d537e754c More TODOs. 2015-05-31 11:19:07 -04:00
Pietro Gagliardi 8d5131a5f6 Split the Windows API #defines and #includes into its own file winapi.h so resources.rc can include it. 2015-05-31 11:12:29 -04:00
Pietro Gagliardi af20c0828c Decided to keep networking on windows/stddialogs.c open/save dialogs; added OFN_SHAREAWARE. 2015-05-31 11:06:22 -04:00
Pietro Gagliardi 60eb38ddcb Properly saved window enable state in windows/dialoghelper.c. 2015-05-31 11:01:10 -04:00
Pietro Gagliardi f9f5abc802 Reimplemented tab page margins. 2015-05-31 10:53:20 -04:00
Pietro Gagliardi 8a84b9e062 Fixed some compiler warnings. 2015-05-30 22:18:30 -04:00
Pietro Gagliardi fc1ef99965 Set the standard control font on uiRadioButtons and clenaed up the code a bit. 2015-05-30 21:54:52 -04:00
Pietro Gagliardi 3a424b65d6 More TODOs. 2015-05-30 21:46:03 -04:00
Pietro Gagliardi c0c6aef610 Moved everything back now that everything's been migrated. Now to test the build! 2015-05-30 21:31:28 -04:00
Pietro Gagliardi 8f51e01b4c Completed the migration of windows/window.c. 2015-05-30 21:30:55 -04:00
Pietro Gagliardi 205887d77d More windows/window.c migration. 2015-05-30 21:24:33 -04:00
Pietro Gagliardi 2070551003 Got rid of uiWindow functions that only complain() about not bieng allowed to use them on uiWindow. This is the first step toward *truly* migrating uiWindow to the new uiControl system. 2015-05-30 21:17:53 -04:00
Pietro Gagliardi aacf994973 Quick fix in windows/uipriv_windows.h. 2015-05-30 20:20:34 -04:00
Pietro Gagliardi 26f2808c75 More migration and file moving. That just leaves windows/windows.c. 2015-05-30 19:54:01 -04:00
Pietro Gagliardi 3d4c81a695 Migrated windows/radiobuttons.c. 2015-05-30 19:23:05 -04:00
Pietro Gagliardi 8f28577148 Moved (most) Windows files that were already good. 2015-05-30 19:14:20 -04:00
Pietro Gagliardi ac7f857983 control.c was already done; migrated it. 2015-05-30 17:47:16 -04:00
Pietro Gagliardi 80646bd6cc Migrated (and thus finished the adaptation of) box.c. 2015-05-30 17:33:37 -04:00
Pietro Gagliardi 90cc66fc93 More moving files. 2015-05-30 17:20:32 -04:00
Pietro Gagliardi c4075caa61 Moved more files that don't need migration to the migrated/ folder. 2015-05-30 17:19:43 -04:00
Pietro Gagliardi b65292da46 More SysFunc migration-away. 2015-05-30 17:17:20 -04:00
Pietro Gagliardi 9b7a771768 Decided to drop SysFunc() and have the Z-order and tab stops stuff as methods on uiControl. Not actually done yet. 2015-05-30 17:11:24 -04:00
Pietro Gagliardi ee2286489a Began work to finalize migration to the new object system; moving finished files out of the way. 2015-05-30 16:53:47 -04:00
Pietro Gagliardi fbf7612c7b Removed now-unneeded files. The implementation is not quite done yet... 2015-05-30 16:51:46 -04:00
Pietro Gagliardi 6d9562d872 More TODOs. 2015-05-30 15:03:04 -04:00
Pietro Gagliardi 4f41b2d18d Fixed tab dialog textures. 2015-05-30 15:01:21 -04:00
Pietro Gagliardi d18cd47a4b Added some resources to the Windows DLL. 2015-05-30 14:33:23 -04:00
Pietro Gagliardi f7896848c2 More bugfixes and TODOs. 2015-05-30 13:40:05 -04:00
Pietro Gagliardi 08b2eea59f Fixed tab page sizing issues. 2015-05-30 13:32:59 -04:00
Pietro Gagliardi f6d9e1ea1e More work trying to get tab pages to work. There's something up with boxes, but there's also something up with theme dialog textures... 2015-05-30 13:15:43 -04:00
Pietro Gagliardi fe2e647fc4 Fixed some of the errors in the new tab page code. 2015-05-30 12:34:39 -04:00
Pietro Gagliardi 1a55d1fcb3 Started splitting the role of a tab page over to a new internal control. 2015-05-30 12:28:52 -04:00
Pietro Gagliardi c1773621ac More fixes. It builds and runs now, but isn't quite perfect. 2015-05-30 11:44:37 -04:00
Pietro Gagliardi c1d2fcfb3f More TODOs. 2015-05-30 03:40:59 -04:00
Pietro Gagliardi bcf79bb5cd Fixed some more errors. It builds, but doesn't work yet. 2015-05-30 03:40:14 -04:00
Pietro Gagliardi da8613d833 More fixes. 2015-05-30 03:28:50 -04:00
Pietro Gagliardi d00bd04031 More fixes. 2015-05-30 03:16:55 -04:00
Pietro Gagliardi 7da5e52621 More fixes. 2015-05-30 02:14:27 -04:00
Pietro Gagliardi 44bbad70e5 Removed/moved around the remnants of the autogenerated typefuncs system. 2015-05-29 22:45:17 -04:00
Pietro Gagliardi 5a15c84827 Removed the typefuncs autogeneration. 2015-05-29 22:38:13 -04:00
Pietro Gagliardi 89f2b5e665 More migration. This just leaves box.c and windows/menu.c, I think... 2015-05-29 22:29:52 -04:00
Pietro Gagliardi 6cbe6b5c0e Migrated windows/radiobuttons.c and some more fixes. 2015-05-29 22:28:00 -04:00
Pietro Gagliardi 2a597cd6c1 Removed a stray line from windows/progressbar.c. 2015-05-29 20:54:01 -04:00
Pietro Gagliardi 7fdb9f3424 More error fixing. 2015-05-29 20:53:12 -04:00
Pietro Gagliardi 9431f2a837 Migrated windows/container.c. More fixes. 2015-05-29 20:44:30 -04:00
Pietro Gagliardi ef08a106f9 Prepared a few things for migrating windows/container.c. 2015-05-29 20:40:54 -04:00
Pietro Gagliardi 75b7e66d9e More fixes. 2015-05-29 20:30:56 -04:00
Pietro Gagliardi d3f18ccae6 Fixed *some* errors... 2015-05-29 20:01:11 -04:00
Pietro Gagliardi af4c9ae0c9 Added uiControlHandle() implementations to the various controls. 2015-05-29 19:48:27 -04:00
Pietro Gagliardi 6dba84b99b Started doing a migration of the many many many controls over to the new object system. 2015-05-29 18:03:24 -04:00
Pietro Gagliardi ecd14aaa12 Moved the new control stuff back. 2015-05-29 14:56:11 -04:00
Pietro Gagliardi 1790de24c8 Migrated uiButton. 2015-05-29 14:52:54 -04:00
Pietro Gagliardi c0cd20683a Changed the type system so that memory is allocated as-is. This means that uiControls are destroyed by controlBaseDestroy(). There's a system for specifying uiControl subclasses directly in the source code too. 2015-05-29 14:43:44 -04:00
Pietro Gagliardi f0302d6a3e More new object model work. Might be close to something here... 2015-05-29 13:22:28 -04:00
Pietro Gagliardi f68d2a5713 More work. 2015-05-29 12:52:43 -04:00
Pietro Gagliardi 9baad2ce88 More work. 2015-05-29 11:56:47 -04:00
Pietro Gagliardi 75caa33278 More uiControl work. I think I have something figured out... 2015-05-29 10:30:36 -04:00
Pietro Gagliardi 7d7f3c6a4d Added the Windows uiButton implementation as-is to the new object model; will edit accordingly soon. 2015-05-28 21:17:15 -04:00
Pietro Gagliardi fb82ea1c5d More thinking about objects. 2015-05-28 20:40:59 -04:00
Pietro Gagliardi 0861d4e440 More of the previous commit. 2015-05-27 16:47:44 -04:00
Pietro Gagliardi d88282a676 More object implementation mocking. Windows-specific common code. 2015-05-27 13:26:49 -04:00
Pietro Gagliardi 3c68e73dea Fixed a latent bug in uiControlSetParent() in the object plan. 2015-05-27 00:40:00 -04:00
Pietro Gagliardi 2fb8e38852 Wrote code for what the base uiControl should be. 2015-05-26 22:40:52 -04:00
Pietro Gagliardi 72ead3a23e Switch to explicit Unicode functions for DispatchMessage(). 2015-05-25 13:46:38 -04:00
Pietro Gagliardi 0acc15c38f Started planning the new object implementation. 2015-05-25 11:22:08 -04:00
Pietro Gagliardi 4b2bb2f75f Made a plan for showing, hiding, enabling, and disabling controls. 2015-05-24 21:30:32 -04:00
Pietro Gagliardi b991496f83 Set up Windows containers to draw their parents as backgrounds again. 2015-05-24 14:50:25 -04:00
Pietro Gagliardi bcad0080b2 Added some basic messageboxes. 2015-05-23 15:07:16 -04:00
Pietro Gagliardi 13a4e3f4e5 Added a save file dialog. 2015-05-22 21:59:32 -04:00
Pietro Gagliardi ded1bf05de Started standard dialogs. Added Open File dialog first. 2015-05-22 19:14:50 -04:00
Pietro Gagliardi e7102c0c61 Set up the boilerplate for dialog boxes. 2015-05-22 17:41:36 -04:00
Pietro Gagliardi d9f94d4326 More date/time picker work. 2015-05-22 13:24:07 -04:00
Pietro Gagliardi d5e956e254 Added a basic date/time picker. 2015-05-22 10:36:24 -04:00
Pietro Gagliardi 677048222e More TODOs. 2015-05-22 09:43:45 -04:00
Pietro Gagliardi 27260d6b0b Might as well get editable comboboxes overwith. 2015-05-21 21:45:31 -04:00
Pietro Gagliardi 5e4e01ef52 More radio button work. 2015-05-21 17:26:25 -04:00
Pietro Gagliardi 0cade42c6d Actually made radiobutton clicking work now. 2015-05-21 15:52:59 -04:00
Pietro Gagliardi 09d1a5e5db Now really started the implementation of radio buttons. 2015-05-21 15:48:16 -04:00
Pietro Gagliardi a0dbad7c2a Added an HWND parameter to all the event handlers. This is needed for radio buttons. 2015-05-21 14:52:21 -04:00
Pietro Gagliardi 23f6c3271c Finished migrating WM_HSCROLLhandlers away from being in the creation parameters. 2015-05-21 13:04:57 -04:00
Pietro Gagliardi cbdaa780ff Started removing onWM_HSCROLL from uiWindowsMakeControlsParams. 2015-05-21 12:43:40 -04:00
Pietro Gagliardi 50c7adf597 Removed onWM_NOTIFY from uiWIndowsMakeControlParams. 2015-05-21 12:39:19 -04:00
Pietro Gagliardi 12b4d0a7c0 Removed onWM_COMMAND from uiWindowsMakeControlParams. 2015-05-21 12:07:11 -04:00
Pietro Gagliardi 96bd7013f8 Converted the WM_NOTIFY and WM_HSCROLL handlers to use the new windows/events.c system. 2015-05-21 11:29:25 -04:00
Pietro Gagliardi 1fcd3354d3 Converted windows/events.c to use uthash. 2015-05-21 11:02:10 -04:00
Pietro Gagliardi 9c3391f3db Fixed stdint inclusion in uthash.h 2015-05-21 10:39:30 -04:00
Pietro Gagliardi 0cd82b7c3d Integrated uthash into uipriv.h. 2015-05-21 10:32:55 -04:00
Pietro Gagliardi 85503bac62 Added uthash. This will be useful for a number of things. 2015-05-21 10:06:22 -04:00
Pietro Gagliardi 6a6ddc61f9 Started a major overhaul of the control system on Windows. Events are now handled using registered handlers rather than having them be part of the singleHWND. This is needed for radio buttons. Right now, only WM_COMMAND has been modified as such. 2015-05-20 22:46:50 -04:00
Pietro Gagliardi 02c81c7b0d Started radiobutton work. This event model isn't going to work. 2015-05-20 17:52:21 -04:00
Pietro Gagliardi 237cdffee6 Added basic uiComboboxes. 2015-05-20 17:09:58 -04:00
Pietro Gagliardi 0c061e3bd2 Added uiSeparator. 2015-05-20 14:08:34 -04:00