Commit Graph

432 Commits

Author SHA1 Message Date
Pietro Gagliardi d88233a0fb Documentation updates. 2016-05-29 04:53:49 -04:00
Pietro Gagliardi f2e8dab465 Merge pull request #69 from pcwalton/static
Add support for static linking.
2016-05-29 04:50:48 -04:00
Pietro Gagliardi 84d3df031f Either solved, dropped, or relegated to LONGTERM many of drawtext.m's TODOs. 2016-05-28 23:37:07 -04:00
Pietro Gagliardi 58d59f4370 Cleaned up events and proper string manipulation on uiMultilineEntry on OS X. Woo! 2016-05-28 23:08:56 -04:00
Pietro Gagliardi 0c85469e52 More TODO and intrinsic size work. 2016-05-28 22:49:27 -04:00
Pietro Gagliardi c99ad0f0c5 10.8 build fix. 2016-05-28 21:50:24 -04:00
Pietro Gagliardi ae0dcada45 More TODO resolution work. 2016-05-28 21:41:07 -04:00
Pietro Gagliardi b130ddc04b Added a test of having multiple uiRadioButtons in the same parent container and started a test of intrinsic sizes of all non-container controls. 2016-05-28 21:29:00 -04:00
Pietro Gagliardi 6e94671782 More TODO resolution and LONGTERM relegation. 2016-05-28 21:17:54 -04:00
Pietro Gagliardi a0084df23a Completely redid creating uiMultilineEntry on OS X. Much better now :D 2016-05-28 19:29:25 -04:00
Pietro Gagliardi 42d837806d More stale and duplicate TODO removal. 2016-05-28 18:16:13 -04:00
Pietro Gagliardi eb11452dd3 More TODO resolution. Some TODOs were moved to the issue tracker. 2016-05-28 18:01:25 -04:00
Patrick Walton 5f1e8fa601 Add support for static linking.
Use `make STATIC=1` to build a static library.

Some language ecosystems, like those of Rust, have a convention of
static linking in order to make binaries easier to distribute. In those
environments, this feature helps libui fit in more easily.

In order to prevent internal symbols from linking, we first create an
intermediate object file with `ld -r` and strip private symbols from it
before using `ar` to create the library.
2016-05-28 14:46:02 -07:00
Pietro Gagliardi ec4efe027b Some TODO resolution. 2016-05-28 17:36:31 -04:00
Pietro Gagliardi 1f9f317e7a More TODOs. 2016-05-28 17:04:28 -04:00
Pietro Gagliardi 52c3c52b56 Removed a TODO I can no longer fully confirm (only the focus rect of the NSComboBox seems to be clipped, which I'm sure is not my bug). 2016-05-28 16:09:07 -04:00
Pietro Gagliardi a6c48e087b 10.8 fixups. 2016-05-28 15:57:01 -04:00
Pietro Gagliardi 0d6dac5c5a Migrated from GTK+ 3.4 to 3.10 and from OS X 10.7 to 10.8. 2016-05-28 13:06:16 -04:00
Pietro Gagliardi ba97455ab3 Stale TODO removal. 2016-05-28 12:40:30 -04:00
Pietro Gagliardi 3d9d782db3 Implemented enabling/disabling on uiArea on OS X. 2016-05-28 12:32:47 -04:00
Pietro Gagliardi 119825f0de More scroll view refinements. 2016-05-28 00:35:56 -04:00
Pietro Gagliardi c74ac88598 Changed uiArea to use the new scroll view stuff on OS X. 2016-05-28 00:21:30 -04:00
Pietro Gagliardi 923a678e87 Integrated the new scrollview stuff with uiMultilineEntry. Nice and stable now :D 2016-05-27 23:56:44 -04:00
Pietro Gagliardi 34d54f29b4 Started cleaning up all the NSScrollView stuff into its own file so it can be reused. 2016-05-27 23:42:05 -04:00
Pietro Gagliardi d39cd76a8a Quick fixup. 2016-05-27 12:25:26 -04:00
Pietro Gagliardi e2266ab577 More NSScrollView auto layout fixes. 2016-05-27 12:18:35 -04:00
Pietro Gagliardi b65175a19c Refactored NSScrollView auto layout stuff. I should probably just split it into a separate file when I do implementt he shared scrollview source code. 2016-05-27 01:13:45 -04:00
Pietro Gagliardi 221d57cac5 More unnecessary TODO removal. Thanks to swillits in irc.freenode.net/#macdev. 2016-05-26 23:43:51 -04:00
Pietro Gagliardi f8311aa14d More TODO resolution. 2016-05-26 22:00:08 -04:00
Pietro Gagliardi 834cc12299 Named the margins and padding. Made them functions that can take parameters in the future to allow more complex spacing options in the future. 2016-05-26 21:25:32 -04:00
Pietro Gagliardi baf46c5434 Removed an unnecessary TODO; mapTables cannot be freed unless empty anyway. 2016-05-26 21:09:42 -04:00
Pietro Gagliardi 88e0a9c165 Fixed the botched formula for attribute substring length on OS X. 2016-05-26 20:48:49 -04:00
Pietro Gagliardi c856ff1976 Merge branch 'master' of github.com:andlabs/libui 2016-05-25 23:14:05 -04:00
Pietro Gagliardi daabfe3653 Merge pull request #61 from kainjow/osx-memory
Fix additional OS X memory management issues
2016-05-25 23:12:44 -04:00
Pietro Gagliardi d7b537e9ed Came to a consensus about combobox fonts on OS X. 2016-05-25 21:37:45 -04:00
Kevin Wojniak bef8c4663f Fix additional OS X memory management issues
Some of these were found via clang's analyzer
2016-05-24 20:17:08 -07:00
Pietro Gagliardi ff1971d8d6 More longterming. 2016-05-24 23:13:44 -04:00
Pietro Gagliardi 31d6939c48 README updates. 2016-05-24 22:46:53 -04:00
Pietro Gagliardi 558e56c124 Implemented uiMainStep() on OS X. 2016-05-24 22:44:40 -04:00
Kevin Wojniak 7fdcbb5365 Fix test crash on exit on OS X 2016-05-24 12:24:54 -07:00
Pietro Gagliardi ce338bcaaf Quick fix. 2016-05-24 01:41:54 -04:00
Pietro Gagliardi b9bc71a9ba Clarified some stuff in darwin/editablecombo.m. 2016-05-24 01:19:57 -04:00
Pietro Gagliardi 18f225fddb Merge branch 'master' of github.com:andlabs/libui 2016-05-24 01:04:25 -04:00
Kevin Wojniak 49e17cbfd7 Fix "attempt to destroy map with items inside" when menuManager is deallocated
Fixes #58. The map needs to have its contents properly freed which requires releasing the properly retaining the NSMenuItem object.
2016-05-23 21:41:52 -07:00
Kevin Wojniak abb3c39c78 Spaces to tabs 2016-05-23 21:11:12 -07:00
Kevin Wojniak 2ebb9052cc Fix crash when closing program on OS X
This fixes #14. Autorelease pools need to be used to make sure objects get properly released. Unfortunately this produces a new error when menuManager gets deallocated, which I am looking at fixing:

map.m:25:mapDestroy() POSSIBLE IMPLEMENTATION BUG; CONTACT ANDLABS:
attempt to destroy map with items inside
2016-05-23 21:09:46 -07:00
Pietro Gagliardi 363916855c Split uiCombobox on OS X. 2016-05-23 18:50:02 -04:00
Pietro Gagliardi 156c3584f7 Documentation update. 2016-05-23 01:12:52 -04:00
Pietro Gagliardi 5d63fe4cec Fixed surrogate pair drawing on OS X. 2016-05-23 01:11:43 -04:00
Pietro Gagliardi a99a81f584 Answered matrix scaling stuff. https://www.willamette.edu/~gorr/classes/GeneralGraphics/Transforms/transforms2d.htm#Combining 2016-05-22 22:52:29 -04:00
Pietro Gagliardi 61185072f7 More TODO -> LONGTERM migration. Also made it so uiSpinbox and uiSlider merely swap min and max if min is larger. 2016-05-22 20:11:52 -04:00
Pietro Gagliardi ab0a9102b4 Added a user bug for calling SetParent() on a uiWindow. 2016-05-22 20:02:47 -04:00
Pietro Gagliardi f0011d6227 Started resolving TODOs in the GTK+ backend, marking some LONGTERM. In particular, uiDateTimePicker no longer will be localized, as there doesn't seem to be a way to get that info out. 2016-05-22 19:17:42 -04:00
Pietro Gagliardi 44cdc82fc7 Adjusted the intrinsic size of NSColorWell. 2016-05-22 14:55:12 -04:00
Pietro Gagliardi 6c6843dac6 Fixed non-wrapping uiMultlineEntries. 2016-05-22 14:37:02 -04:00
Pietro Gagliardi 07cd03452d Implemented non-wrapping multiline entries in GTK+ and started implementing them in OS X. 2016-05-22 14:20:54 -04:00
Pietro Gagliardi 3705ef05d1 Fixed up uiWindow ownership mechanics in the Darwin backend. 2016-05-22 12:15:50 -04:00
Pietro Gagliardi 5a4b6aa6f0 Switched from using M_PI to a named constant uiPi. 2016-05-22 12:00:44 -04:00
Pietro Gagliardi f5aa8cd32d Consistency: calibrated color space -> sRGB color space. 2016-05-21 11:34:30 -04:00
Pietro Gagliardi 7b04d974ac More OS X 10.7 fixes and TODOs. 2016-05-21 11:28:11 -04:00
Pietro Gagliardi 2c0e333ca0 Converted uiRadioButtons on OS X to use a NSView of NSButtons instead of NSMatrix; the latter was deprecated on 10.8 and has lots of little quirks that made it annoying to use. 2016-05-21 02:00:08 -04:00
Pietro Gagliardi 46a280cf46 More TODOs. 2016-05-20 15:07:10 -04:00
Pietro Gagliardi 6575f44818 Removed some dummy debug code. Fixes #24. Fixes #33. 2016-05-20 15:06:02 -04:00
Pietro Gagliardi 695bca9033 Tested the worksWhenModal stuff for NSColorPanel; it works. 2016-05-16 09:40:02 -04:00
Pietro Gagliardi a038923060 Added a color well to the histogram example. 2016-05-15 21:02:35 -04:00
Pietro Gagliardi bf411e787e Implemented uiColorButton on OS X. 2016-05-15 20:51:33 -04:00
Pietro Gagliardi 2226c54430 Made the font dialog respect our new modality rules on OS X. 2016-05-15 19:56:01 -04:00
Pietro Gagliardi 6a81921c1a More TODOs. 2016-05-15 19:26:58 -04:00
Pietro Gagliardi f855453aab More TODOs. 2016-05-15 19:06:20 -04:00
Pietro Gagliardi 0552e7c4a1 Revert "Made other windows get events when a dialog is running on OS X. Of course I only now realize this creates a recursiion problem..."
This isn't going to work. The only real solution is to disable every window like we're already doing here, make sure it happens on GTK+, and re-add the dialog helper stuff on Windows.

This reverts commit 20994639c0.
2016-05-15 19:04:35 -04:00
Pietro Gagliardi 20994639c0 Made other windows get events when a dialog is running on OS X. Of course I only now realize this creates a recursiion problem... 2016-05-15 16:26:43 -04:00
Pietro Gagliardi 2f2db46109 Reverted the uiTab changes to allow NULL. Still debating whether to allow NULL or not. 2016-05-15 13:56:53 -04:00
Pietro Gagliardi 717486b7a2 Fixed some OS X 10.7 build errors. 2016-05-14 23:44:07 -04:00
Pietro Gagliardi 2c692eda36 More TODOs. 2016-05-14 22:10:43 -04:00
Pietro Gagliardi fd9f6cea6a Allowed uiGroups and uiTabs to have no and NULL controls with defined behavior on OS X. Actually added the test code this time. 2016-05-14 22:09:02 -04:00
Pietro Gagliardi 0e785d886b Started tests for truly empty uiGroups and uiTabs; started banning NULL in uiBox. 2016-05-14 21:53:24 -04:00
Pietro Gagliardi 79a522efb3 More TODO resolution. Thanks to someone (mikeash?) in irc.freenode.org/#macdev. 2016-05-14 21:29:44 -04:00
Pietro Gagliardi 232839020f More TODOs. 2016-05-14 11:39:51 -04:00
Pietro Gagliardi 0205f2e5ca Got rid of complain() on GTK+. 2016-05-13 21:00:12 -04:00
Pietro Gagliardi 59eebb1e48 Cleaned up the debugging functions slightly. Now to convert the other backends. 2016-05-13 20:20:15 -04:00
Pietro Gagliardi d52c92d2f8 Cleaned out complain()s in the OS X backend. Affects everything *except* drawtext.m, which will need its own migration. 2016-05-13 20:14:46 -04:00
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