Commit Graph

208 Commits

Author SHA1 Message Date
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
Pietro Gagliardi 9c0aa7be5c Resolved a TODO about label alignment. 2014-08-01 13:14:10 -04:00
Pietro Gagliardi b1902686ca Disambiguated what happens when a regular Label is used in a Standalone context. 2014-07-30 22:45:03 -04:00
Pietro Gagliardi bdc8aac4d6 Added preferred size tests to zz_test.go; these will help for what we're about to do (implement Control.preferredSize() on all other platforms). 2014-07-30 22:42:32 -04:00
Pietro Gagliardi c5917de29c Split out the default definitions of Control.allocate() into a single place. 2014-07-30 20:38:01 -04:00
Pietro Gagliardi 713be62f16 Applied Labels being vertically aligned to the top when next to a Table in the GTK+ backend. 2014-07-30 17:32:10 -04:00
Pietro Gagliardi 3d922c87fa Fixed up attributes of Table on Mac OS X. 2014-07-30 13:10:19 -04:00
Pietro Gagliardi d21bd30583 Moved the Mac OS X function newScrollView() to control_darwin.m and verified its styles against Interface Builder. 2014-07-30 12:50:45 -04:00
Pietro Gagliardi a8b7283a87 Moved the definition of Control itself to control.go and updated some comments. 2014-07-30 12:36:00 -04:00
Pietro Gagliardi c0473db73c Ported the new Control setup to Mac OS X. 2014-07-30 12:34:54 -04:00
Pietro Gagliardi 4740f72efb Applied the new Control system to the GTK+ backend. 2014-07-30 10:21:23 -04:00
Pietro Gagliardi 210102fe95 Set up a new, cleaner model for deriving Control's methods and applied it to the Windows backend. 2014-07-30 02:06:01 -04:00
Pietro Gagliardi 5a51263adc Renamed the controls* and containers* files to basicctrls* and containerctrls*, respectively, in preparation for the widget hierarchy redo. 2014-07-30 00:54:50 -04:00
Pietro Gagliardi 8b1756e952 Re-added Stack. Of course it only works right on GTK+ right now... the other platforms's Control.preferredSize()s aren't implemented yet! 2014-07-29 23:23:45 -04:00
Pietro Gagliardi 9daab20fce Changed Control.setParent() to take the same argument type on all platforms; this is needed for re-adding Stack and Grid. This argument type is defined by each platform. 2014-07-29 23:01:28 -04:00
Pietro Gagliardi f4bb7360d4 Added Label and implemented it on all platforms. 2014-07-29 13:48:31 -04:00
Pietro Gagliardi 8d7f0c9a62 Wrote up the data model for Mac OS X Tables; now Tables work everywhere! 2014-07-29 10:54:52 -04:00
Pietro Gagliardi 4e0436da18 Added the beginning of the Mac OS X Table code. 2014-07-29 10:32:49 -04:00
Pietro Gagliardi b37f32c142 Made column headers resizeable on GTK+ Tables. 2014-07-29 04:30:58 -04:00
Pietro Gagliardi abb77b7a5c Hooked all the GTK+ Table stuff together and got it working. Woo! 2014-07-29 03:43:01 -04:00
Pietro Gagliardi f099d935ea Added build guards to the GTK+ Table code. 2014-07-29 03:11:21 -04:00
Pietro Gagliardi 24f5a91ff4 Wrote the GTK+ Table model code. Mostly working; now it just needs an update mechanism... 2014-07-29 03:07:11 -04:00
Pietro Gagliardi 92539e10e9 Added the beginning of the GTK+ Table model implementation. 2014-07-29 01:53:34 -04:00
Pietro Gagliardi ab8acd99b9 Fixed a small error in the zz_test.go rewrite from a few commits ago. 2014-07-29 01:40:17 -04:00
Pietro Gagliardi a501c5678d Began the implementation of Table on GTK+. 2014-07-29 01:06:56 -04:00