Commit Graph

313 Commits

Author SHA1 Message Date
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
Pietro Gagliardi fbfccf6b0f More slider work. 2015-05-20 13:43:29 -04:00
Pietro Gagliardi ea4017f29d More spinbox and slider work. 2015-05-20 13:25:45 -04:00
Pietro Gagliardi 7a86dc92cb More spinbox and slider work. 2015-05-20 12:24:06 -04:00
Pietro Gagliardi 1f7b6ca1ed More uiSlider work. 2015-05-20 11:22:29 -04:00
Pietro Gagliardi e1744b17a2 Added uiSlider. 2015-05-20 10:29:57 -04:00
Pietro Gagliardi 854f036197 Added onWM_HSCROLL to the Windows control creation parameters since sliders will be using it; also did other assorted preparations for sliders. 2015-05-19 23:16:46 -04:00
Pietro Gagliardi 180193231d Added a basic progressbar. More TODOs. 2015-05-19 21:05:18 -04:00
Pietro Gagliardi 44153a32df More uiSpinbox functionality. 2015-05-19 18:17:30 -04:00
Pietro Gagliardi 13f926b397 Moved the spinbox to a new test page Page 4. 2015-05-19 18:07:34 -04:00
Pietro Gagliardi 31aaf78718 More TODOs. 2015-05-19 13:39:08 -04:00
Pietro Gagliardi 3011068cae More Windows uiSpinbox work. On second thought we might not need to do anything *too* special... 2015-05-19 13:37:06 -04:00
Pietro Gagliardi a3f183b6e8 Started implementing uiSpinbox on Windows. 2015-05-19 12:32:14 -04:00
Pietro Gagliardi f50a146a5d Added an interface for uiSpinbox. Why? Because its Windows implementation will throw a wrench through every object system implementation I can think of. 2015-05-19 12:15:50 -04:00
Pietro Gagliardi 7fff5b046a Forgot to install InitCommonControlsEx() in the Windows code. 2015-05-19 12:01:45 -04:00
Pietro Gagliardi ca697fa533 Reworked (most of) windows/control.c to play with the portable control base. Not too happy with having to store the uiControl in the singleHWND for the subclass procedure, but... I think I've reached the breaking point with this particular object-oriented model. 2015-05-18 22:32:22 -04:00
Pietro Gagliardi 2ff913cd58 Started splitting the shared control code into portable and non-portable files. This handles the portable part; the non-portable part comes next. 2015-05-18 22:02:37 -04:00
Pietro Gagliardi 025b00a6ac Removed the uiBox parent stuff from box.c; it's no longer needed (and having the parented check there isn't necessary; it'll be reached eventually). 2015-05-18 19:02:23 -04:00
Pietro Gagliardi 33d6609675 Fixed errors in the previous commit. 2015-05-18 15:27:56 -04:00
Pietro Gagliardi 8b3b0c4baa Reimplemented uiTabDelete()... kinda. 2015-05-18 15:11:59 -04:00
Pietro Gagliardi 3ec28551e6 Fixed groupbox-caused tab issues on Windows for now (uninitialized memory bug; will preoprly fix later). 2015-05-18 15:00:12 -04:00
Pietro Gagliardi df867375ce Implemented margins in the new Windows uiTab. 2015-05-18 13:03:22 -04:00
Pietro Gagliardi 68da6be00d More TODOs. 2015-05-18 12:57:57 -04:00