Commit Graph

396 Commits

Author SHA1 Message Date
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
Pietro Gagliardi 4202ae2666 More TODOs. 2015-05-18 12:17:35 -04:00
Pietro Gagliardi 2ea6607594 Implemented tab changing on the Windows backend's new tab.c. 2015-05-18 12:10:54 -04:00
Pietro Gagliardi e1554c38ef Handled window coordinates properly in resizes. 2015-05-18 12:04:52 -04:00
Pietro Gagliardi a4cfd3880d Converted uiSizing to a dynamically allocated structure. This will be needed for handling coordinate conversion. 2015-05-18 11:46:50 -04:00
Pietro Gagliardi e06f9ae9fe Started reimplementing uiTab on Windows. 2015-05-18 11:41:09 -04:00
Pietro Gagliardi 9cea909dec Brought the tabs back to the test program. 2015-05-18 10:36:24 -04:00
Pietro Gagliardi d8624c87c9 InsertBefore -> InsertAt. 2015-05-18 10:32:08 -04:00
Pietro Gagliardi d893102106 Important change: ptrArrayAppend() is now implemented in terms of ptrArrayInsertBefore(). ptrArrayInsertBefore() can safely insert at the first invalid index; ValleyBell helped ensure this. tabAppend() will also be implemented this way; boxAppend() might be if uiBoxInsertBefore() becomes a thing. We can rename InsertBefore() to InsertAt() now too. 2015-05-18 10:24:51 -04:00
Pietro Gagliardi ef794a6db5 Dropped Page from uiTab method names. This keeps things consistent and allows us to do a more important change: InsertBefore -> InsertAt. 2015-05-18 10:20:11 -04:00
Pietro Gagliardi 2a5cdb6662 Re-enabled events on Windows. 2015-05-18 09:52:37 -04:00
Pietro Gagliardi bf6357ef86 "Fixed" the buttons not showing up properly. 2015-05-18 09:49:14 -04:00
Pietro Gagliardi 7c5459ff01 Windows resize work. 2015-05-17 21:15:39 -04:00
Pietro Gagliardi f5f38d1fa5 Began working on reworking the resizing code AGAIN. 2015-05-17 20:48:55 -04:00
Pietro Gagliardi ad2c432c4a Fixed duplication of types. 2015-05-17 20:04:19 -04:00
Pietro Gagliardi 0019681b02 Fixed some errors in type.c. Now to see why uiControl is being registered twice... 2015-05-17 19:19:51 -04:00
Pietro Gagliardi 97cb70527e Finished the type system. 2015-05-17 19:07:07 -04:00
Pietro Gagliardi 69e27488f7 Made complain() break into the debugger on Windows because abort() is eaten up and seen as successful termination. 2015-05-17 18:53:49 -04:00
Pietro Gagliardi bec0cdce84 More type stuff. Almost working. 2015-05-17 18:53:06 -04:00
Pietro Gagliardi 1307bbdfcc More dynamic typing work. 2015-05-17 18:33:18 -04:00
Pietro Gagliardi efe5b952cf Started a dynamic type checking system. 2015-05-17 18:07:48 -04:00
Pietro Gagliardi 9b2b351c92 Added a new API for more roubst resizing. GTK+ resizes the whole window when a resize is requested; we have to as well, otherwise we won't have correct results. 2015-05-17 15:42:49 -04:00
Pietro Gagliardi f3ef834dc3 Moved the Windows uiTab, the Windows uiGroup, and the test tab out of the way while we debug why things only look bad on wine. 2015-05-17 13:01:42 -04:00
Pietro Gagliardi ceda3882a8 Moved the old uiTab and uiGroup back now that that memory clobbering error is done. Not quite clean... 2015-05-16 22:57:41 -04:00
Pietro Gagliardi 954e60ceaf Fixed a dumb error in windows/alloc.c. 2015-05-16 22:54:43 -04:00
Pietro Gagliardi b66de79fec Fixed another small error in windows/tab.c. 2015-05-16 20:33:20 -04:00
Pietro Gagliardi 4667dde5e6 Added a new dummy windows/group.c. 2015-05-16 20:31:56 -04:00
Pietro Gagliardi 70b4c72c96 Started a new, bare-bones windows/tab.c for testing. 2015-05-16 20:28:35 -04:00
Pietro Gagliardi 92f1933e82 Some windows/resize.c work and TODOs. 2015-05-16 20:06:03 -04:00
Pietro Gagliardi 4c3166ab48 Moved uiTab and uiGroup out of the way for now on Windows. 2015-05-16 20:02:06 -04:00
Pietro Gagliardi 05530cafe8 Fixed assorted errors. Now to figure out why we're running out of memory... 2015-05-16 11:55:03 -04:00
Pietro Gagliardi 68586e1eaf Fixed ui.h shenanigans in the makefile. 2015-05-16 11:39:18 -04:00
Pietro Gagliardi cf31df5c2b Fixed build errors to some extent. 2015-05-16 11:37:45 -04:00
Pietro Gagliardi d5a87a0be5 More compiler error fixes and TODOs. 2015-05-16 01:55:34 -04:00
Pietro Gagliardi 5f92f8a78b More TODOs. 2015-05-16 01:46:23 -04:00
Pietro Gagliardi 65cc67e0e1 Fixed some build errors. 2015-05-16 01:45:20 -04:00
Pietro Gagliardi f5824d74e9 Fixed up windows/container.c. 2015-05-16 00:48:36 -04:00
Pietro Gagliardi 7bc1986a08 Migrated box.c. 2015-05-16 00:44:24 -04:00
Pietro Gagliardi cf2dc096b7 More migration. 2015-05-15 21:21:36 -04:00
Pietro Gagliardi 9f67e630f2 Fixed up the Makefile. Need to think about this sizing stuff... d must always be of the parent, so a GetSizing() must precede all Resize() calls. 2015-05-15 21:12:54 -04:00
Pietro Gagliardi 53b558d16c Migrated init.c, I think... 2015-05-15 21:11:28 -04:00
Pietro Gagliardi 721d58d4b9 Brought init.c, text.c, and util.c back on Windows. Migrated util.c; still need to do init.c. 2015-05-15 21:09:13 -04:00
Pietro Gagliardi 8594646e45 Migrated windows/group.c. Also forgot a line in windows/tab.c. 2015-05-15 21:06:52 -04:00
Pietro Gagliardi ab4c534360 Migrated windows/tab.c. 2015-05-15 18:54:13 -04:00
Pietro Gagliardi 7ea67007fc Re-added uiControlContainerShow() and uiControlContainerHide(). This is needed on Windows for uiTab. 2015-05-15 18:34:17 -04:00
Pietro Gagliardi 883db84eaf Some uipriv_windows.h cleanup. 2015-05-15 16:19:21 -04:00
Pietro Gagliardi 7d0f250ba7 More migration of files that don't need changes. 2015-05-15 16:17:28 -04:00
Pietro Gagliardi bc9b995c4c Moved the basic controls back to the new Windows backend. More file clearout. 2015-05-15 16:14:22 -04:00
Pietro Gagliardi f380912665 Added sizing information acquisition to the new Windows backend; started clearing out the old windows/container.c. 2015-05-15 16:04:10 -04:00
Pietro Gagliardi b49bfbca6c Forgot windowQueueResize() in previous commit. 2015-05-15 15:43:11 -04:00
Pietro Gagliardi 07a3df6dd8 Finished migrating windows/window.c. 2015-05-15 15:39:45 -04:00
Pietro Gagliardi b1e1fed484 Removed some uses of initialParent. 2015-05-14 22:33:19 -04:00
Pietro Gagliardi b891871c4e Started migrating windows/window.c back. 2015-05-14 20:40:41 -04:00
Pietro Gagliardi cf727b07de Migrated windows/newcontrol.c back, mostly. Also decided what to do about comctl32.dll. 2015-05-14 19:28:30 -04:00
Pietro Gagliardi 34d9203712 Allowed passing lpParam to CreateWindowEx() in ui_windows.h. 2015-05-14 18:28:23 -04:00
Pietro Gagliardi 660377934b Added an initial windows/container.c. 2015-05-14 13:42:28 -04:00
Pietro Gagliardi 9c347fe57e Added code which handles stuff for OS parents on Windows. 2015-05-14 12:49:22 -04:00
Pietro Gagliardi 2f657576ac Wrote code for a new utility window in the Windows backend to replace the initialParent. 2015-05-14 11:19:52 -04:00
Pietro Gagliardi 4135de98f6 Added windows/resize.c to uipriv_windows.h. 2015-05-14 10:28:50 -04:00
Pietro Gagliardi c93a502153 Wrote windows/resize.c, which is the code that runs every so often to do a resize (instead of doing them immediately). 2015-05-14 10:08:49 -04:00
Pietro Gagliardi d2b9b1e38c Moved the base .c files out of the way for now. 2015-05-14 09:44:11 -04:00
Pietro Gagliardi 06cad86f55 More rewriting imports. Also moved ui.h to out/. 2015-05-14 09:43:52 -04:00
Pietro Gagliardi b98de32786 More ui.idl stuff. 2015-05-13 22:35:31 -04:00
Pietro Gagliardi 83b2aa7265 Started a redo of the library AGAIN for optimizing resizes. Bins will have to go and any widget can be a container. 2015-05-13 22:28:21 -04:00