Commit Graph

457 Commits

Author SHA1 Message Date
Pietro Gagliardi ebae310ff1 Fixed crashing. Made relayouts optional in tSetParent. Rewrote the tBox auto layout code a fair bit, thinking crashing was caused by stack overflow (it was not). 2015-08-02 18:16:44 -04:00
Pietro Gagliardi 4a97a3cdb9 Wrote the tBox code to deal with starts and ends and attachments. It doesn't quite work yet... 2015-08-02 16:55:21 -04:00
Pietro Gagliardi f72b47c4dc Added horizontal/vertical first/last flags. These flags are used by single controls for attachments. tBox will set them conditionally, so it can use the attachment values directly. 2015-08-02 15:03:30 -04:00
Pietro Gagliardi 3e8aad0068 Started converting tBox to the attachcment-based system. I think I'll need to introduce a few more parameters (first/last horz/vert). 2015-08-02 14:49:10 -04:00
Pietro Gagliardi 15ecebbccc Adjusted tWindow to use the new attachment system. 2015-08-02 14:06:49 -04:00
Pietro Gagliardi b508161d1e Added a framework for handling attachments to the frame. These are only handled by the shallowest control level (the immediate child of a tWindow). 2015-08-02 13:57:59 -04:00
Pietro Gagliardi 5bc53f937d More stretchiness work. 2015-08-02 12:52:24 -04:00
Pietro Gagliardi 88f137aa80 Laid the foundation for handling stretchiness. 2015-08-02 12:35:48 -04:00
Pietro Gagliardi fbbe1fdd3b Added vertical boxes. 2015-08-02 12:22:24 -04:00
Pietro Gagliardi 64ed23e933 Changed the Auto Layout generation function to use a structure of parameters. This will make adding parameters easier. 2015-08-02 11:26:03 -04:00
Pietro Gagliardi 96dfd95fd3 Fixed spinbox single-view issues. 2015-08-02 09:31:49 -04:00
Pietro Gagliardi 2daf46b711 Moved the combined spinbox back. Forgot to auto layout its contents :D 2015-08-02 09:10:17 -04:00
Pietro Gagliardi f0d1c5d171 Added a copy of the spinbox code with just one view containing the two controls. This is going to hurt is it... 2015-08-02 00:39:16 -04:00
Pietro Gagliardi aca81945e8 Added some support code for our changes to tSpinbox to make it have only one view. Unfortunately, this is how we're going to need to do stretchiness with tSpinbox. 2015-08-02 00:10:30 -04:00
Pietro Gagliardi 08c3602130 Saved stretchy values in box.m. We'll need to figure out how to incorporate these into the generated files... 2015-08-01 22:38:01 -04:00
Pietro Gagliardi 30a30cb5be Added tRelayout to all controls. Also changed the order of stretchy controls in main.m because Auto Layout's defaults aren't optimal. 2015-08-01 22:13:41 -04:00
Pietro Gagliardi 8868ad3b53 Stored parents in the various tControls. This is neccessary for making tRelayout on all controls. 2015-08-01 21:41:36 -04:00
Pietro Gagliardi 399f18f3ad Removed the old Auto Layout routines from the other classes. 2015-08-01 18:35:24 -04:00
Pietro Gagliardi a2925e3b0b Implemented more of the tBox auto layout logic. Now we need to get rid of the methods I had before and implement tRelayout on all classes. 2015-08-01 18:33:17 -04:00
Pietro Gagliardi a06216eb34 Fixed some build errors. 2015-08-01 18:13:43 -04:00
Pietro Gagliardi a7b0df8198 Updated the main program to use tBox. If we test it, nothing should show up... 2015-08-01 18:08:45 -04:00
Pietro Gagliardi 7bd98bafc9 Started reimplementing uiBox. Added a first argument to the main Auto Layout function so uiBox can have subviews. 2015-08-01 18:05:50 -04:00
Pietro Gagliardi b528d1ff0c Added multiple primary horizontal and vertical Auto Layout views. This will accomodate tSpinbox. Now we can go back to tBox. 2015-08-01 17:26:56 -04:00
Pietro Gagliardi 4dc63828e4 Added spinboxes to the test. We're going to need multiple horizontals and verticals. 2015-08-01 17:19:45 -04:00
Pietro Gagliardi 554454f036 Added margined to tWindow. 2015-08-01 15:44:06 -04:00
Pietro Gagliardi 391f6dd265 Implemented the basic Auto Layout manager for tWindow and tButton. Added tWindow this time too >_> 2015-08-01 15:38:59 -04:00
Pietro Gagliardi 9ecf15f4e0 Changed things around a bit; going to build things from tWindow's perspective first. 2015-08-01 15:21:03 -04:00
Pietro Gagliardi cdbf2d5b5c Moved tBox out of the way. We'll start with just a tButton for now. 2015-08-01 15:08:33 -04:00
Pietro Gagliardi 63439daffc Some cleanup in the Auto Layout test. 2015-08-01 14:22:45 -04:00
Pietro Gagliardi c9da21e350 More Auto Layout test work. It compiles1 2015-08-01 12:43:54 -04:00
Pietro Gagliardi 8bcaeb5d85 More TODOs. 2015-08-01 02:28:10 -04:00
Pietro Gagliardi 52152f0f9d More uiBox mock work. 2015-08-01 02:16:35 -04:00
Pietro Gagliardi 0d27b4e30f Started mocking the implementation of uiBox. 2015-07-31 23:25:59 -04:00
Pietro Gagliardi 32905f5989 More Auto Layout test work. 2015-07-31 23:06:29 -04:00
Pietro Gagliardi 046a7303c4 Started mocking out how uiBox will work in Auto Layout. This will be a separate program for now; hopefully I can salvage its code for the actual implementation. 2015-07-31 22:33:49 -04:00
Pietro Gagliardi c8ac7ffaf5 Added planning for new auto layout-based uiBoxes for OS X. 2015-07-31 14:06:48 -04:00
Pietro Gagliardi 43341f51e9 Switched the GTK+ implementation to use this new uiBox, completed the implementation a bit more, and fixed some other build errors. 2015-07-30 12:43:40 -04:00
Pietro Gagliardi d4d30285ff Wrote up an untested implementation of a GtkBox-based uiBox, redux. This system of having one uiControl vtable to rule them all isn't going to work; each backend will need a wildly different implementation; oh well :/ 2015-07-30 12:31:39 -04:00
Pietro Gagliardi 29220bde2d Implemented autoresize of bin controls. It won't work now because uiBox tries to do its own size management. This is going to be a mess... :) 2015-07-29 19:57:23 -04:00
Pietro Gagliardi bddbe16ea9 Fixed some more runtime errors. 2015-07-29 13:43:54 -04:00
Pietro Gagliardi 10eefc7a61 Verified some stuff. 2015-07-29 13:35:49 -04:00
Pietro Gagliardi fde28fefe2 Fixed some runtime errors. 2015-07-29 13:34:25 -04:00
Pietro Gagliardi 7d1b97fb28 Fixed the other build errors. Now to fix runtime errors. 2015-07-29 13:29:32 -04:00
Pietro Gagliardi 0128e9f85e Added bins to the OS X backend. Let's try this again I guess :/ 2015-07-29 12:28:13 -04:00
Pietro Gagliardi 3d79ccf24c Migrated container.m. This will behave similarly to the GTK+ backend; bin.m will come next. 2015-07-29 12:17:12 -04:00
Pietro Gagliardi 7e25241045 Added a dummy implementation of uiSpinbox on OS X. 2015-07-28 14:56:50 -04:00
Pietro Gagliardi 87e4245e34 Fixed some compiler errors. 2015-07-28 14:14:41 -04:00
Pietro Gagliardi da73d003ba Updated the OS X makefile. Will test the build later. 2015-07-28 11:57:56 -04:00
Pietro Gagliardi 58ad6989c9 More OS X control work. 2015-07-28 11:47:05 -04:00
Pietro Gagliardi 15a3d151cd More OS X control work. 2015-07-27 23:38:44 -04:00
Pietro Gagliardi 23e1fe0c98 And more TODOs. 2015-07-27 20:12:52 -04:00
Pietro Gagliardi 1fd334c490 Oops forgot NSDatePicker 2015-07-27 20:11:44 -04:00
Pietro Gagliardi b3137b469a Constructed a list of things we need to figure out about each of the controls we need to implement. More TODOs. 2015-07-27 20:08:17 -04:00
Pietro Gagliardi ce82174013 More OS X control work. 2015-07-26 13:53:35 -04:00
Pietro Gagliardi 75bc1c13bb Started mapping out new OS X uiControl Interface Builder default parameters. 2015-07-24 23:30:27 -04:00
Pietro Gagliardi 2e4af8a123 More OS X uiControl work... kinda. At least all the controls that were in previously are now back in; that just leaes the new ones now. 2015-07-24 15:42:10 -04:00
Pietro Gagliardi 62b5365577 More OS X uiControl work. 2015-07-22 23:20:01 -04:00
Pietro Gagliardi d5744df476 More OS X uiControl work, finally. 2015-07-22 23:03:26 -04:00
Pietro Gagliardi 4234b47f62 More OS X uiControl work. 2015-07-11 22:56:43 -04:00
Pietro Gagliardi 89f8bd8643 Migrated OS X uiButton. We're off to a meh start... 2015-07-11 20:28:04 -04:00
Pietro Gagliardi 71c8bfc539 More OS X control stuff. 2015-07-11 17:02:01 -04:00
Pietro Gagliardi dc9bf84256 Started rewriting the OS X controls. Imported stubs. 2015-07-11 16:56:37 -04:00
Pietro Gagliardi 9b5fe800c7 More basic OS X backend functions work. 2015-07-03 23:32:01 -04:00
Pietro Gagliardi 9f1ef9eaa1 Migrated the OS X uiWindow code back, modernizing it in the process. Also fixed a latent bug in the GTK+ uiWindow code. 2015-07-03 23:12:31 -04:00
Pietro Gagliardi eae17fef21 Wrote the uiControl core for the OS X backend. 2015-07-02 22:25:20 -04:00
Pietro Gagliardi ed9e70c058 Started redoing the OS X port. 2015-07-02 16:09:57 -04:00
Pietro Gagliardi 9eed7020e9 Implemented uiMsgBox() and uiMsgBoxError() on the GTK+ backend. I think that's all of the GTK+ backend done now... 2015-07-02 12:57:37 -04:00
Pietro Gagliardi af961e945e Implemented uiOpenFile() and uiSaveFile() on GTK+. 2015-07-02 11:50:35 -04:00
Pietro Gagliardi 0099983c09 Some GTK+ backend cleanup. 2015-07-02 11:33:20 -04:00
Pietro Gagliardi 582677a7f1 Removed PUT_CODE_HERE from uipriv_unix.h; we've implemented everything. 2015-07-02 11:31:37 -04:00
Pietro Gagliardi 8a0f914026 More GTK+ work. 2015-07-02 11:28:25 -04:00
Pietro Gagliardi 45b67d7da6 Whoops, fixed the GTK+ containerWidget bug. Wrong function in the control base code! 2015-07-02 08:57:35 -04:00
Pietro Gagliardi 31bf280d4f Fixed a bug in unix/control.c. 2015-07-02 07:58:15 -04:00
Pietro Gagliardi 89445cabfc Started to bring back the shared uiBox implementation. Need to figure out why the child clip area is 0x0... 2015-07-02 02:11:42 -04:00
Pietro Gagliardi 5cb27c115d Decided not to use GtkBox for uiBox; its expand rules don't fit my stretchy rules.We'll need to bring back containerWidget, but this time in a VERY REDUCED FORM. 2015-07-02 01:43:40 -04:00
Pietro Gagliardi 0966b9448a Settled uiSlider and uiSpinbox spurious event inhibition on GTK+. 2015-07-01 19:11:51 -04:00
Pietro Gagliardi 05c7a7b7c7 Called uninitTypes() in uiUninit() for the GTK+ backend. 2015-07-01 12:47:16 -04:00
Pietro Gagliardi 7bacc356a7 Maybe we won't need to switch to GtkBox entirely... 2015-07-01 12:46:10 -04:00
Pietro Gagliardi c3abede628 Implemented uiRadioButtons on GTK+. 2015-07-01 12:39:05 -04:00
Pietro Gagliardi 395cc5108c Finished GTK+ uiComboBox. 2015-07-01 11:29:19 -04:00
Pietro Gagliardi 6dd714e61b Implemented GTK+ uiSlider. 2015-07-01 11:26:14 -04:00
Pietro Gagliardi 7ce9a8c277 Reimplemented GTK+ uiProgressBar and uiSpinbox. 2015-07-01 11:21:06 -04:00
Pietro Gagliardi 92aaa1ae07 Finished the implementation of GTK+ uiGroup. 2015-07-01 08:07:53 -04:00
Pietro Gagliardi 7abf88d9ef Finished reimplemented GTK+ uiTab. 2015-07-01 01:02:34 -04:00
Pietro Gagliardi 381c7e9277 Implemented the new bin system on uiTab. 2015-06-30 22:36:12 -04:00
Pietro Gagliardi dc617bcfe2 Added a bin type to the GTK+ backend to handle uiWindow parenting and uiWindow/uiTab margins. 2015-06-30 22:30:00 -04:00
Pietro Gagliardi 8e89f60330 Reimplemented GTK+ uiLabel. 2015-06-30 22:10:52 -04:00
Pietro Gagliardi a79368e26b Reimplemented GTK+ uiEntry. 2015-06-30 11:26:54 -04:00
Pietro Gagliardi c73b506709 Reimplemented GTK+ uiCheckbox. 2015-06-30 11:20:14 -04:00
Pietro Gagliardi 96172d9b04 Finished the implementation of GTK+ uiButton and implemented a few fixes and added some TODOs. 2015-06-30 10:52:38 -04:00
Pietro Gagliardi a2fee7aeb7 Implemented stretchiness in the new GTK+ uiBox. 2015-06-30 01:22:09 -04:00
Pietro Gagliardi b8c69fc733 Got rid of unix/container.c. 2015-06-30 01:17:52 -04:00
Pietro Gagliardi 21319201f2 Finished the migration for now. Yeah, this will work... 2015-06-30 01:16:35 -04:00
Pietro Gagliardi af8fe560ff Moved the old box.c to windows/box.c and updated all the Makefiles. 2015-06-30 01:06:36 -04:00
Pietro Gagliardi 56c8dd6939 Decided to have uiBox implementations be per-OS and switched to using GtkBox on GTK+. This has the advantage that a) all uiControls on GTK+ now use exactly one GtkWidget so we don't need container, and b) we can use Auto Layout on OS X. Only more work will decide if we keep this system.. 2015-06-30 01:05:07 -04:00
Pietro Gagliardi 4635eda295 Some more GTK+ tab fixes. This is getting nowhere. 2015-06-29 22:57:12 -04:00
Pietro Gagliardi c8a53277c3 Readded the tab 2015-06-29 22:49:12 -04:00
Pietro Gagliardi 1860f6a731 More TODOs. 2015-06-29 20:41:41 -04:00
Pietro Gagliardi 3acc1ed917 Oops forgot uiControlPreferredSize() in GTK+ uiControls; fixed. 2015-06-29 20:40:58 -04:00
Pietro Gagliardi b86fe98abd Fixed some other flaws. 2015-06-29 20:37:55 -04:00