Pietro Gagliardi
2cd97c8e60
Reworked hugging priorities a bit. We're getting closer...
2016-06-12 18:23:43 -04:00
Pietro Gagliardi
f89feba680
Included spanning views in hugging priority management.
2016-06-12 16:27:29 -04:00
Pietro Gagliardi
629c242a83
Forgot to make the dummy views ignore autoresizing masks.
2016-06-12 15:35:54 -04:00
Pietro Gagliardi
0ce4fd6efd
FIgured out that we need to ignore spanning cells; added support for that. Not yet perfect; still need to do a bit more...
2016-06-12 15:30:36 -04:00
Pietro Gagliardi
7908972d34
Continuing the current approach. This might work out better...
2016-06-12 15:08:07 -04:00
Pietro Gagliardi
77f4c2f309
Split out more of the uiGrid logic. Rewrote the edge constraints to use a topological map of views. Added dummy views for empty cells.
2016-06-12 13:47:33 -04:00
Pietro Gagliardi
6496de0fb2
More TODOs.
2016-06-12 12:35:13 -04:00
Pietro Gagliardi
8f0bac54a3
Took an alternate route through the constraints in the grid. This should be a bit easier...
2016-06-12 12:31:44 -04:00
Pietro Gagliardi
fc2218b51c
Added some rather fickle debugging.
2016-06-11 23:52:35 -04:00
Pietro Gagliardi
9650770554
Fixed a typo. Doesn't fix runtime bugs yet.
2016-06-11 23:42:58 -04:00
Pietro Gagliardi
faa989aefd
Fixed compile errors. Runtime errors, on the other hand...
2016-06-11 23:28:51 -04:00
Pietro Gagliardi
d528fae1f4
Added uiGrid on OS X. Now to fix build errors.
2016-06-11 23:09:53 -04:00
Pietro Gagliardi
69cad5e608
Fixed uiForm on OS X.
2016-06-08 16:26:23 -04:00
Pietro Gagliardi
d232342779
I give up. MCVE time.
2016-06-08 08:55:57 -04:00
Pietro Gagliardi
45d394fc81
Okay new plan.
2016-06-08 07:54:43 -04:00
Pietro Gagliardi
9295af59ab
More TODOs.
2016-06-07 23:25:01 -04:00
Pietro Gagliardi
2f3c0449ba
Tried to debug all this ambiguity. Argh.
2016-06-07 23:24:29 -04:00
Pietro Gagliardi
0fe5214c09
Revert "Undid all of that. There's an easier way..."
...
...that only works for nibs. :(
This reverts commit 0fa706b8d4
.
2016-06-07 18:57:02 -04:00
Pietro Gagliardi
0fa706b8d4
Undid all of that. There's an easier way...
2016-06-07 18:49:59 -04:00
Pietro Gagliardi
39f76bdb25
Part 2: leading and trailing edges.
2016-06-07 15:04:14 -04:00
Pietro Gagliardi
95fcceef2f
Re-establishing uiForm constraints: vertical constraints.
2016-06-07 14:59:12 -04:00
Pietro Gagliardi
7f05b796aa
Started rewriting the OS X uiForm auto layout.
2016-06-07 14:38:03 -04:00
Pietro Gagliardi
ff3c9f0c67
Made uiSearchEntry appropriately rounded on OS X.
2016-06-07 14:35:43 -04:00
Pietro Gagliardi
c6e8537269
Started the implementation of uiForm on OS X. Mostly works, but there are Auto Layout glitches (of course there are Auto Layout glitches)
2016-06-07 11:29:49 -04:00
Pietro Gagliardi
3e1258cc62
Implemented the new radio button stuff on OS X.
2016-06-06 20:12:17 -04:00
Pietro Gagliardi
4e7d2812bd
Implemented uiPasswordEntry() and uiSearchEntry() on OS X.
2016-06-05 20:39:18 -04:00
Pietro Gagliardi
b65fb6509b
More notes.
2016-06-04 00:16:37 -04:00
Pietro Gagliardi
abcf1edf43
Re-added OS X file. Now to just prune everything again.
2016-06-03 21:48:10 -04:00
Pietro Gagliardi
1903115bbd
Pushed all the build files elsewhere. I'm rewriting the CMakeLists files from scratch.
2016-06-03 00:29:31 -04:00
Pietro Gagliardi
e4a66b786e
Fixed static builds, added GTK+ builds, and cleaned out things in general for cmake.
2016-06-01 20:21:10 -04:00
Pietro Gagliardi
0fff9c6fd6
More CMake work. Thanks to Mr-Hide in irc.freenode.net/#cmake.
2016-06-01 12:48:26 -04:00
Pietro Gagliardi
0b5fbb81c9
Merge pull request #86 from joaoventura/master
...
Declare 10.9 version in Darwin
2016-05-31 08:19:26 -04:00
Pietro Gagliardi
aa28904408
Removed the -DMACOSX_DEPLOYMENT_TARGET; this is an env var, not a macro. Thanks to Psy in irc.freenode.net/#macdev.
2016-05-30 22:26:08 -04:00
João Ventura
f779978a42
Declare 10.9 version in Darwin
...
Fixes compilation issues in Mavericks
2016-05-30 13:06:25 +01:00
Pietro Gagliardi
0738eca6e4
More work.
2016-05-29 19:01:48 -04:00
Pietro Gagliardi
efc1e55e58
More OS X spinbox stuff.
2016-05-29 18:40:53 -04:00
Pietro Gagliardi
be8a957689
Fixed static linking on Windows.
2016-05-29 18:35:06 -04:00
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
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