Commit Graph

324 Commits

Author SHA1 Message Date
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
Pietro Gagliardi fa0b3ea8dd Fixed OS X text drawing not being vertically aligned properly. 2016-01-13 15:17:49 -05:00
Pietro Gagliardi 85af3d2a5b More TODOs. 2016-01-13 04:08:01 -05:00
Pietro Gagliardi d6063394ee Implemented the metrics stuff on OS X and improved the test a bit. 2016-01-12 22:07:24 -05:00
Pietro Gagliardi 73867119ef Updated the test and fixed compiler errors in darwin/drawtext.m. It seems to work now! Width handling is still not working right, but width handling needs major rewrites because width on Core Text has major sensibility issues... 2016-01-12 01:58:45 -05:00
Pietro Gagliardi 426b133e58 Implemented the new font API on OS X. Now to rewrite the test. 2016-01-12 01:46:28 -05:00
Pietro Gagliardi ae60141497 Decided to split the OS X text drawing stuff into its own file to make it easier to manage. In fact, darwin/draw.m used to be the longest file (by line count) in libui's source code proper (not the longest in the repo)! (Now it's windows/draw.c instead, and that *doesn't* contain text code!) 2016-01-12 01:14:41 -05:00
Pietro Gagliardi 5f1b900dc5 More TODOs. More even bigger TODOs. 2016-01-10 15:35:43 -05:00
Pietro Gagliardi 29794af67a Filled in text size conversion functions on OS X. 2016-01-09 18:14:06 -05:00
Pietro Gagliardi ca75579135 More exposition. 2016-01-09 18:05:44 -05:00
Pietro Gagliardi 3cc2a06147 Added font matching to the OS X backend. 2016-01-09 17:41:05 -05:00
Pietro Gagliardi dec34670bb Fixed keyboard events not working on OS X. 2016-01-09 15:05:19 -05:00
Pietro Gagliardi a826fd7516 Wrote the text drawing code on Windows. Now to build and test. 2016-01-09 01:07:48 -05:00
Pietro Gagliardi 5365453c19 Tried to figure out the traits stuff for myself. I can't quite do that when it has no effect :v 2016-01-08 17:13:31 -05:00
Pietro Gagliardi 11a3fcfad0 Fixed the drawing shenanigans. 2016-01-08 13:51:39 -05:00
Pietro Gagliardi 94883ed620 Kinda sorta fixed the text rendering stuff. 2016-01-08 12:49:52 -05:00
Pietro Gagliardi 4c12934992 Fixed the compiler errors in the previous commit. Things aren't quite right yet. 2016-01-08 10:14:09 -05:00
Pietro Gagliardi e7a68893e2 Filled in the rest of the beginning of the Core Text implementation. 2016-01-08 02:08:26 -05:00
Pietro Gagliardi 9fc92cf96b Started doing the Core Text text code. I am completely lost on text styles. 2016-01-07 21:51:37 -05:00
Pietro Gagliardi 4f2dbe2662 Really fixed the NSMapTable nonsense now. Added a TODO to go through the rest of the code for the same. 2016-01-07 16:01:11 -05:00
Pietro Gagliardi 9cfc133481 "Fixed" the weird crashes and fixed the makefile failures. 2016-01-07 15:43:35 -05:00
Pietro Gagliardi 499a93e32e Completely rewrote the OS X map system to use NSMapTable correctly and hide the details behind more wrapper functions to prevent further mass rewrites; this fixes most of the crashing issues on OS X. The one with package ui still stands... 2016-01-07 14:41:20 -05:00
Pietro Gagliardi f9b940f698 More TODOs. 2016-01-06 20:39:47 -05:00
Pietro Gagliardi 6a15e23897 Set up saner handling of sonames at build time. 2016-01-05 11:51:36 -05:00
Pietro Gagliardi 24f7c2d803 Merge branch 'master' of github.com:andlabs/libui 2016-01-04 15:49:20 -05:00
Pietro Gagliardi 9e8e09f262 Added an explicit check for ARC. 2016-01-02 09:22:24 -05:00
Florent Clairambault e24c8f6440 Merge remote-tracking branch 'upstream/master' 2016-01-02 13:27:08 +01:00
Florent Clairambault bdded52f5e Mac Os X install rule: Tiny fix. 2016-01-01 23:20:49 +01:00