Commit Graph

351 Commits

Author SHA1 Message Date
Pietro Gagliardi 329fff82f6 Some more fixups and cleanups, especially in the matrix code. 2016-05-13 18:10:43 -04:00
Pietro Gagliardi 94587b660f Some TODO resolution and stale TODO removal. 2016-05-13 17:54:10 -04:00
Pietro Gagliardi 8d5442b83f Fixed the last remaining edge cases. We're done! Auto Layout works~ ♫ 2016-05-13 13:28:20 -04:00
Pietro Gagliardi 8f55b7e331 Applied the previous edge case fix to the single-child layout stuff. Just one more edge case left! 2016-05-13 13:08:00 -04:00
Pietro Gagliardi 26f9d86800 Fixed Page 3's weird issues. We're so close to having this *just working*! 2016-05-13 12:54:05 -04:00
Pietro Gagliardi 73c92dfbb5 Some uiMultilineEntry fixes. 2016-05-12 21:28:30 -04:00
Pietro Gagliardi 533a9b150e More fixes, this time to uiMultilineEntry. Almost there! 2016-05-12 21:24:12 -04:00
Pietro Gagliardi b1680aa8e2 More notes. 2016-05-12 20:20:39 -04:00
Pietro Gagliardi e3f822a003 Jiggled uiTab and uiGroup back to functioning properly when initially laid out. 2016-05-12 20:18:22 -04:00
Pietro Gagliardi 19006c46c6 Even more refinements. 2016-05-12 17:23:35 -04:00
Pietro Gagliardi 257c182f2b More work. I can't figure out where these phantom constraints come from. 2016-05-12 17:09:24 -04:00
Pietro Gagliardi f5549a19bf Even more work to bring us closer to the correct answer. uiGroups look right again. We've still got some problems... 2016-05-12 12:34:35 -04:00
Pietro Gagliardi 28c9efa972 Some more work, edging us ever-closer to the correct solution... 2016-05-12 12:26:43 -04:00
Pietro Gagliardi 60c988100a Some more uiBox work. We've ALMOST got it; just a few more tweaks to get groupboxes and tabs right and to fix page 3... 2016-05-12 11:57:32 -04:00
Pietro Gagliardi b564d578ba More fixes. Still not all there... 2016-05-12 02:03:23 -04:00
Pietro Gagliardi 21f9b9666b Fixed more problems. 2016-05-12 01:49:00 -04:00
Pietro Gagliardi 63dac7c13a Fixed build errors and some runtime errors. Things don't look right yet... 2016-05-12 01:31:47 -04:00
Pietro Gagliardi f66b5a8873 Migrated uiBox. Now to test. 2016-05-12 01:23:55 -04:00
Pietro Gagliardi 89425f0fa7 Finished the new uiTab. That just leaves the new uiBox. 2016-05-12 00:43:52 -04:00
Pietro Gagliardi 1f96ee9b54 Started establishing a tabPage for uiTab on OS X. The constraints code was added now, I guess. 2016-05-11 19:11:26 -04:00
Pietro Gagliardi 7d874ee911 Migrated uiGroup. Before we do uiTab, I want to refactor it a bit like we have with uiBox... 2016-05-11 18:28:42 -04:00
Pietro Gagliardi 178c0301c2 Started implementing the new logic; darwin/window.m implemented. darwin/group.m and darwin/tab.m will be similar, so they use common code here (but this is NOT child.m all over again; this is ONLY for layout!). 2016-05-11 18:06:29 -04:00
Pietro Gagliardi 73eed9289c Instituted a new system: the parent control is responsible for extra space at the edges of controls, not the controls themselves. Let's hope this works better. 2016-05-11 17:00:01 -04:00
Pietro Gagliardi 8fb8b0eeba Nuked ALL the existing Auto Layout stuff. Let's do this again, and this time, do it *right*. 2016-05-11 16:46:42 -04:00
Pietro Gagliardi d110a836ba Fixed a labelling error. 2016-05-08 14:03:59 -04:00
Pietro Gagliardi 32ef7c3fd3 Revert "Started implementing the previous commit's changes in a more permanent way: set REAL hugging priorities and implemented them on uiBox."
This reverts commit 07930279c0.
2016-05-08 11:29:09 -04:00
Pietro Gagliardi f413456b60 Revert "Did the rest of it as stubs. Now to fix issues..."
This reverts commit 854e87b90a.
2016-05-08 11:28:51 -04:00
Pietro Gagliardi b20b790254 Revert "Removed the default box hugging priorities. We'll set them in group, tab, and window."
This reverts commit a485319c8b.
2016-05-08 11:28:28 -04:00
Pietro Gagliardi a485319c8b Removed the default box hugging priorities. We'll set them in group, tab, and window. 2016-05-08 11:00:01 -04:00
Pietro Gagliardi 854e87b90a Did the rest of it as stubs. Now to fix issues... 2016-05-08 10:53:52 -04:00
Pietro Gagliardi 07930279c0 Started implementing the previous commit's changes in a more permanent way: set REAL hugging priorities and implemented them on uiBox. 2016-05-08 10:42:20 -04:00
Pietro Gagliardi 8867742ec0 Found a possible solution! Needs fine-tuning. 2016-05-08 02:54:08 -04:00
Pietro Gagliardi 2aef3031e3 More TODOs. 2016-05-07 10:47:59 -04:00
Pietro Gagliardi f8b113dd18 Fixed the controlgallery somehow. 2016-05-07 10:43:12 -04:00
Pietro Gagliardi 11ef2c9076 Got rid of the messy -layout logic and just did that stuff in -updateConstraints instead; much simpler that way. Thanks to rudy in irc.freenode.net/#macdev. 2016-05-07 10:31:56 -04:00
Pietro Gagliardi e6592f6f04 More TODOs. 2016-05-07 10:07:37 -04:00
Pietro Gagliardi b03aa35da8 Adjusted uiGroup, uiTab, and uiWindow likewise. More TODOs. 2016-05-07 01:34:33 -04:00
Pietro Gagliardi 305b4b98cb Fixed up darwin/box.m and let it work properly. Now to just define the appropriate methods for the other controls... 2016-05-07 01:25:32 -04:00
Pietro Gagliardi abe502a046 Rewrote uiBox with everything in it. Let's test it so far. 2016-05-07 01:11:58 -04:00
Pietro Gagliardi ecd1ef2231 Started work on rewriting uiBox. 2016-05-06 23:27:46 -04:00
Pietro Gagliardi c04abae6e4 First part: get rid of noStretchyView. We won't need it anymore. 2016-05-06 23:03:31 -04:00
Pietro Gagliardi a3629e752d Added default implementations of the new methods where necessary. Before we go around implementing them, it's time for a massive rewrite of uiBox. 2016-05-06 21:50:14 -04:00
Pietro Gagliardi f9e3b7a2d5 Okay we've got a handle on how this is supposed to work now I think; I just need to figure out how to abstract out this should-expand behavior... 2016-05-06 20:55:33 -04:00
Pietro Gagliardi e462c7a660 Okay I think we're on to something now... 2016-05-06 20:34:02 -04:00
Pietro Gagliardi 117b8c92d2 Tried to change uiBox to use updateConstraints instead of a relayout() function. Maybe this will end my woes... 2016-05-06 19:21:41 -04:00
Pietro Gagliardi ac84b66724 Separated the presence of a no-stretchy view from the presence of a stretchy control. This will make experimenting easier. 2016-05-02 15:47:48 -04:00
Pietro Gagliardi 09a7fb7123 Decided not to do the drag/drop for our font button; I don't know what even provides a NSFont source, but the font panel does not. 2016-05-02 13:30:24 -04:00
Pietro Gagliardi b6a396dd4a Deactivated the current font button on window close and implemented cleanup, both on OS X. 2016-05-02 10:32:39 -04:00
Pietro Gagliardi c5f6a09200 More auto layout commentary. 2016-05-01 16:26:04 -04:00
Pietro Gagliardi 896a779e1e More auto layout fixes and hacks and TODOs. 2016-05-01 16:25:05 -04:00
Pietro Gagliardi 8efa8c19db Minor warning changes. 2016-05-01 16:15:54 -04:00
Pietro Gagliardi de4540dfca Some comment explanation. 2016-05-01 12:02:36 -04:00
Pietro Gagliardi 896c2590c5 FIxed the various uiGroup glitches. Woo! 2016-05-01 12:00:10 -04:00
Pietro Gagliardi 022f0a2591 More TODOs. 2016-05-01 11:43:34 -04:00
Pietro Gagliardi aecbf078d3 Fixed some of the uiBox glitches. 2016-05-01 11:25:35 -04:00
Pietro Gagliardi b653a8ac2c Fixed runtime errors. It MOSTLY works! 2016-04-30 18:40:09 -04:00
Pietro Gagliardi 1038b8d892 Compile fixes. Oh boy... 2016-04-30 18:07:36 -04:00
Pietro Gagliardi c87a932a6d Rewrote darwin/box.m's layout code to create constraints directly. Let's try this out. 2016-04-30 17:45:44 -04:00
Pietro Gagliardi 835c711a24 Started reworking the auto layout system. uiBox is next. 2016-04-30 17:14:14 -04:00
Pietro Gagliardi d7d7d4fd76 Fixed the SyncEnableState() machinery not quite working properly. 2016-04-25 18:07:29 -04:00
Pietro Gagliardi 7b0780be2a Made SyncEnableState() a uiDarwinControl method instead of a uiControl method since it's not needed on GTK+. 2016-04-25 17:52:16 -04:00
Pietro Gagliardi 98e7afc5de Freed most of the mapTables. 2016-04-25 13:47:24 -04:00
Pietro Gagliardi d0d0efce1a Fixed build errors. Now to test! 2016-04-25 13:38:17 -04:00
Pietro Gagliardi 3ca4a28bb3 Settled the SetParent stuff. NOW we can test. 2016-04-25 12:59:45 -04:00
Pietro Gagliardi 23c2998040 Migrated darwin/control.m. Forgot the SetParent/SetSuperview rule! One more commit before we can build... 2016-04-25 12:55:51 -04:00
Pietro Gagliardi 189d661b7f Migrated darwin/tab.m and fixed up the other files. Now for darwin/control.m, then we can test... 2016-04-25 12:52:54 -04:00
Pietro Gagliardi b50eda0303 Migrated darwin/group.m. That just leaves darwin/tab.m and a few fixups to a number of other controls. 2016-04-25 12:42:43 -04:00
Pietro Gagliardi f0ca2dcee5 Migrated darwin/box.m. 2016-04-25 12:35:01 -04:00
Pietro Gagliardi 6e584f26d3 Migrated darwin/window.m. 2016-04-25 12:28:36 -04:00
Pietro Gagliardi c36d5079db Migrated the controls that don't have children to the new object method model on OS X. 2016-04-25 11:54:09 -04:00
Pietro Gagliardi 639a010a56 Tested everything by migrating darwin/combobox.m; fixed errors along the way. Also more TODOs. 2016-04-25 10:23:16 -04:00
Pietro Gagliardi dda30cdb3c Started the new uiControl infrastructure. 2016-04-24 19:22:21 -04:00
Pietro Gagliardi cf51ec823f Got rid of toplevelOwning(); I didn't like that one. 2016-04-24 18:23:00 -04:00
Pietro Gagliardi bc0a1d43c9 Applied the new type system to the Windows backend and fixed some more C++ stupidity related to it. 2016-04-24 17:38:48 -04:00
Pietro Gagliardi b6c54aac43 Fixed build errors. Let's test! 2016-04-24 16:14:19 -04:00
Pietro Gagliardi ded1ee6997 Removed typed stuff from darwin/menu.m. Now let's try building it. 2016-04-24 16:07:45 -04:00
Pietro Gagliardi 5efad5e850 Migrated the uiNewControl() definitions on OS X. This just leaves uiMenu. 2016-04-24 16:03:13 -04:00
Pietro Gagliardi b2c9577cb9 Set up all the control signatures and the framework for signature-based control types on OS X. 2016-04-24 15:46:29 -04:00
Pietro Gagliardi f60178798f Removed common type code. 2016-04-24 15:08:48 -04:00
Pietro Gagliardi 7b0f930185 Removed all the type function declarations from all the controls. More TODOs. 2016-04-24 15:04:36 -04:00
Pietro Gagliardi cfa1b6bf0a Added uiFontButtonFont() and uiFontButtonOnChanged(); implemented on OS X. 2016-04-20 13:40:54 -04:00
Pietro Gagliardi 721269b3eb Implemented colored text on OS X and Windows. 2016-04-19 18:45:16 -04:00
Pietro Gagliardi e786d664cb Implemented text layout SetColor on OS X. 2016-04-19 16:06:50 -04:00
Pietro Gagliardi 5b74b2752e Decided to use character offsets instead of byte offsets for text layout attributes. This removes the shaky code from the OS X and Windows backends to compute a list of character offsets for byte offsets. The equivalent code for GTK+ to convert chars to bytes will be much more solid; it will be written next. 2016-04-19 14:39:33 -04:00
Pietro Gagliardi c2d165af94 Implemented the uiDrawTextFont direct from system font-making functions on other platforms. 2016-04-19 11:23:05 -04:00
Pietro Gagliardi ccfa3d41a3 More work on the initial font and showing styles. I have a feeling my current approach is a mistake. 2016-04-18 13:32:48 -04:00
Pietro Gagliardi 84fc5dafaa More TODOs. 2016-04-18 10:22:36 -04:00
Pietro Gagliardi 23ec771c86 Removed uiFontDescriptor.SmallCaps; on Windows this has to be applied to layouts. 2016-04-15 14:23:16 -04:00
Pietro Gagliardi 0bc140cd46 Dropped uiDrawTextGravity. That has to do with vertical text, which we can both abstract into a higher level API and can't do yet because DirectWrite simply does not support vertical text on Windows 7 for reasons that escape logical thought. 2016-04-15 00:24:27 -04:00
Pietro Gagliardi 1b61bfd67c More TODOs. 2016-04-14 14:33:20 -04:00
Pietro Gagliardi f1c9b2b15b Made the uiFontButton more robust by making it not show irrelevant controls and not affect other controls. Also sets up things for uiColorButton. 2016-04-14 14:01:33 -04:00
Pietro Gagliardi 307ec746ef Started implementing uiFontButton on OS X. 2016-04-14 13:27:15 -04:00
Pietro Gagliardi 7f2194c383 Typo fixes in the previous commit. 2016-01-24 21:50:10 -05:00
Pietro Gagliardi ab0230b428 Added a function for scrolling uiAreas. Implemented on OS X; stubbed elsewhere. 2016-01-24 21:41:34 -05:00
Pietro Gagliardi 5fd3a6fbab Long-awaited TODO: removed the "in terminate:" message. 2016-01-16 19:34:34 -05:00
Pietro Gagliardi b0621a6b1f Implemented the new multiline text stuff on GTK+. 2016-01-16 15:59:34 -05:00
Pietro Gagliardi 9c6c16be53 Simplified text drawing on OS X by using CTFramesetter exclusively. 2016-01-16 13:34:22 -05:00
Pietro Gagliardi 37f9bfd1b9 More OS X layout work. 2016-01-15 22:48:38 -05:00
Pietro Gagliardi 4fffe9008c Started implementing the new multiline uiDrawTextLayout logic in the OS X port; fixed some bugs in the test program. 2016-01-15 20:18:53 -05:00
Pietro Gagliardi 2b0de07243 More TODOs. 2016-01-14 02:14:31 -05:00