Commit Graph

1438 Commits

Author SHA1 Message Date
Pietro Gagliardi ef513c4337 Completed the migration of the Windows backend to the new container system. 2014-08-04 20:04:16 -04:00
Pietro Gagliardi 9ed4ec5259 Split layout and Window on Windows to use two separate window classes. This is the first half of the two-part migration of the Windows backend to use container. 2014-08-04 19:46:49 -04:00
Pietro Gagliardi 88c01bf695 Began the big sizer cleanup: renamed sizer to container, renamed sizer.go to container.go, did the Mac OS X migration, moved containerctrls.go out of the way by merging its declarations into basicctrls.go, and did a quick cleanup fix to container_darwin.m. 2014-08-04 17:47:39 -04:00
Pietro Gagliardi 74e2214f43 Fixed the broken Mac OS X build and removed some leftover debugging cruft. 2014-08-04 17:33:13 -04:00
Pietro Gagliardi caa64a3dbe Added a credit I missed two commits ago. 2014-08-04 17:31:43 -04:00
Pietro Gagliardi c33786ab96 Fixed an error in the previous commit. 2014-08-04 17:30:18 -04:00
Pietro Gagliardi 6010665415 Converted Window on Mac OS X to use the new container system. Now I can merge container and sizing... 2014-08-04 17:28:53 -04:00
Pietro Gagliardi 84297ad7e1 Cleaned up Mac OS X Tab code from the previous commit. 2014-08-04 17:07:06 -04:00
Pietro Gagliardi 1ba1f475ba Switched Tab on Mac OS X to use a dedicated container type system. This container type will eventually be the new home of all the sizer stuff. Now to remove the dedicated NSTabView stuff... 2014-08-04 17:03:07 -04:00
Pietro Gagliardi 39a2414cf9 Fixed a small error that caused clicking a Checkbox to crash on Mac OS X. 2014-08-04 13:44:48 -04:00
Pietro Gagliardi 0ac40be173 Removed Control.containerShow() and Control.containerHide() and the overall ability to show and hide Controls in general; too much effort to get right. 2014-08-04 13:39:33 -04:00
Pietro Gagliardi 0496cf77b5 Changed Tab on Windows to store each control in a *layout (see previous commit). Now I can throw out containerShow()/containerHide()/Show()/Hide(). This also will let me do the right thing with sizer and dialog base units again, and even get rid of sizer's confusion once and for all! 2014-08-04 13:13:59 -04:00
Pietro Gagliardi 950548563d Split apart the Windows Window code so that the same window class can be used for both top-level windows and tab pages (next commit). This makes things slightly messy in the short term, but this will all be cleaned up soon, and has the advantage of taking care of the sizer mess~ 2014-08-04 11:05:39 -04:00
Pietro Gagliardi 2c107d7057 Converted the new Windows Control code to use interfaces instead of controlbase, just like the GTK+ and Mac OS X backends do now. 2014-08-03 21:52:21 -04:00
Pietro Gagliardi 0fb45ba84d Did the previous commit, but for the Windows backend. 2014-08-03 20:42:45 -04:00
Pietro Gagliardi a4fac48192 Standardized basegetAuxResize() on the GTK+ backend to match the Mac OS X backend and controlbase.sh. 2014-08-03 20:33:19 -04:00
Pietro Gagliardi 8c4cd789ca Migrated the Mac OS X backend to the new Control setup. 2014-08-03 20:08:25 -04:00
Pietro Gagliardi b6d07237b4 Migrated the GTK+ backend to the new Control system. Added controlParent to deal with interface issues; need to apply this to the Windows backend too. 2014-08-03 16:28:21 -04:00
Pietro Gagliardi fd48be68ee I am a dolt; make Checkbox.Checked() return a bool directly on Windows. 2014-08-03 09:22:15 -04:00
Pietro Gagliardi 6785b48d28 More TODOs. 2014-08-03 09:20:00 -04:00
Pietro Gagliardi 1aea308645 Set up the Control restructure and migrated the Windows implementation over. Lots of repetition, but hopefully more correct and maintainable! 2014-08-03 09:18:35 -04:00
Pietro Gagliardi 585f5f5b62 Applied previous commit's change to the test program. 2014-08-03 09:13:25 -04:00
Pietro Gagliardi ac5c577507 Chagned Checkbox.OnClicked() to Checkbox.OnToggled(). The code restructure will allow this. 2014-08-03 09:12:39 -04:00
Pietro Gagliardi d018953d7e Split all the Control implementations into their own files and renamed the containerctrls implementation files to say tab instead as they only hold Tab. This is the first part of what should hopefully be the final restructuring. 2014-08-02 22:35:58 -04:00
Pietro Gagliardi 1f6bcde3d9 Removed the generic preferredSize() from the Windows backend; all controls are now expected to provide their own on Windows (this is really the only way to go there). NOW I can rework the whole control nonsense... 2014-08-02 12:37:41 -04:00
Pietro Gagliardi cafc9daa72 Implemented Tab.preferredSize() on Windows. 2014-08-02 12:35:36 -04:00
Pietro Gagliardi 668cf5e46e Rewrote the tab height calculation function from the previous commit to consider all tabs, just to be safe. 2014-08-02 12:24:04 -04:00
Pietro Gagliardi 1f6ad99afb Wrote code to get Windows Tabs's tab height; will integrate it later. 2014-08-02 11:05:18 -04:00
Pietro Gagliardi c6e47ba21a Migrated the Label alignment code back into the Mac OS X port. 2014-08-02 09:47:57 -04:00
Pietro Gagliardi 85fb097ab9 Wrote Control.preferredSize() (including Tab.preferredSize()) on Mac OS X. 2014-08-02 08:04:44 -04:00
Pietro Gagliardi 37cf0a20c0 Migrated the Mac OS X backend to sizer. Once I get this control sizing stuff working there and the height of a Tab tab on Windows, I'm going to chuck this whole embedding thing and sacrifice a non-cluttered directory structure for CODE SIMPLICITY. 2014-08-02 07:28:20 -04:00
Pietro Gagliardi 99b6b47a49 Migrated the GTK+ backend to the new sizer system. 2014-08-02 01:14:09 -04:00
Pietro Gagliardi 0356d0fd70 Migrated the Windows backend to use sizer. 2014-08-01 23:36:13 -04:00
Pietro Gagliardi e9b2f9f478 Began cleaning up the sizing/container/control stuff by changing container to sizing. 2014-08-01 23:29:19 -04:00
Pietro Gagliardi 9117da1405 Began migrating all the Mac OS X sizing stuff over. 2014-08-01 23:16:43 -04:00
Pietro Gagliardi cc74f44d58 More TODOs. 2014-08-01 21:49:44 -04:00
Pietro Gagliardi 5ec0082e6a Cleaned up sizing_windows.go now that the important things have been reimplemented. 2014-08-01 21:41:45 -04:00
Pietro Gagliardi 61cf72e44a Added debug chatter to Button.preferredSize() on Windows. 2014-08-01 21:35:56 -04:00
Pietro Gagliardi 3d002cf3a6 Implemented Button.preferredSize() on Windows. 2014-08-01 21:30:41 -04:00
Pietro Gagliardi f7749f3678 Added Table.preferredSize() on Windows. 2014-08-01 21:21:42 -04:00
Pietro Gagliardi 09c1d78126 Added TextField preferredSize() on Windows. 2014-08-01 21:07:49 -04:00
Pietro Gagliardi 3fca111710 Removed previous commit's TODO and added Checkbox preferredSize() on Windows. 2014-08-01 20:56:11 -04:00
Pietro Gagliardi 83eeae1ec2 More TODOs. 2014-08-01 19:42:29 -04:00
Pietro Gagliardi ed38a2cac7 Implemented preferredSize() for Label on Windows. Seems to work... 2014-08-01 19:32:19 -04:00
Pietro Gagliardi e2b8fb81d6 Converted direct usages of C.setWindowText() in the Windows Control code into calls to the equivalent Control methods so the text length can be properly stored. 2014-08-01 19:27:12 -04:00
Pietro Gagliardi 6e78eb94ba More Windows sizing framework code: merged together the MulDiv() instances into wrapper functions and added the basic text length storage into controlbase. 2014-08-01 19:24:57 -04:00
Pietro Gagliardi 785d6ac4fd Added a function to the Windows backend to keep track of text length. This will be important for sizing purposes. 2014-08-01 19:15:03 -04:00
Pietro Gagliardi b31ce95b33 Fixed up more LPCWSTR->LPWSTR conversion, including some code simplification. 2014-08-01 18:30:07 -04:00
Pietro Gagliardi 80828b8a7d Changed LPCWSTR to LPWSTR in the Windows code as the C means const and there are a few cases of const->non-const conversions as a result. 2014-08-01 18:25:59 -04:00
Pietro Gagliardi 7f027bae3c Applied non-standalone Label offsets to the Windows backend. Also more TODOs. 2014-08-01 15:11:09 -04:00