Pietro Gagliardi
81b95a59b1
Minor fixups.
2016-11-02 09:09:49 -04:00
Pietro Gagliardi
503e5d7768
More notes.
2016-11-02 08:23:26 -04:00
Pietro Gagliardi
7199d4c847
More notes.
2016-11-01 17:51:25 -04:00
Pietro Gagliardi
fae0bb061b
Fixed the obvious glitches with window resizes.
2016-11-01 15:19:02 -04:00
Pietro Gagliardi
4c429d5b7f
Removed the titlebar logic. Let's try to get the core code working first.
2016-11-01 14:57:44 -04:00
Pietro Gagliardi
0311679e37
Let's continue working on OS X resize drags.
2016-11-01 13:31:34 -04:00
Pietro Gagliardi
3eeb15bcdb
Added the initial implementation of the custom resize code.
2016-11-01 11:58:01 -04:00
Pietro Gagliardi
d3b33e39ce
Further enhancements to custom run loops on OS X for custom resize loops.
2016-10-31 14:33:11 -04:00
Pietro Gagliardi
39fdf7457b
More preparation for the OS X window move/resize code: uiMainStep() is split into an internal function that takes a pre-sendEvent: interception specifically intended for internal loops.
2016-10-27 23:32:33 -04:00
Pietro Gagliardi
8cbae7d2b7
More TODOs.
2016-10-27 20:51:37 -04:00
Pietro Gagliardi
5de62d073f
Cal [NSApp finishLaunching]. Fixes #182 .
2016-10-26 09:39:43 -04:00
Pietro Gagliardi
cc1942a929
Prepared OS X for the new uiArea functions.
2016-10-26 01:15:01 -04:00
Pietro Gagliardi
6d796b5642
More removal of uiWindow move events.
2016-10-22 18:11:49 -04:00
Pietro Gagliardi
f46edd097b
uiDrawTextWeightUtraBold.
2016-10-21 16:35:46 -04:00
Pietro Gagliardi
621e301d5f
Fixed backwards compatibility issues.
2016-06-29 08:53:49 -04:00
Pietro Gagliardi
53bd751461
Fixed uiImage byte order on OS X.
2016-06-27 16:34:57 -04:00
Pietro Gagliardi
6804f263d4
And implemented (mostly) the progressbar table parts. I think that'll do for uiTable features now.
2016-06-26 18:19:34 -04:00
Pietro Gagliardi
d7caa150b8
Added checkbox table cells. Now just to add progressbar cells and we'll be good.
2016-06-26 15:36:46 -04:00
Pietro Gagliardi
44a723b314
Added uiTable buttons. Not fully working on OS X.
2016-06-26 13:06:33 -04:00
Pietro Gagliardi
15eca1372e
Fixed cell editing in table on OS X.
2016-06-26 00:44:21 -04:00
Pietro Gagliardi
2f9a38b5fe
Quick bugfix.
2016-06-25 23:06:13 -04:00
Pietro Gagliardi
e0230d73a6
Started editable uiTable elements.
2016-06-25 23:04:49 -04:00
Pietro Gagliardi
49ab4a886f
Added image table cell parts; implemented on OS X
2016-06-25 19:18:25 -04:00
Pietro Gagliardi
93bbf39aa4
Added some test images. Now to add image columns to uiTable and see what happens.
2016-06-25 17:26:50 -04:00
Pietro Gagliardi
165b3a8a51
Okay, decided on something for images. Let's try this.
2016-06-25 16:27:29 -04:00
Pietro Gagliardi
4914d0c64c
Added a way to set the text color of a part.
2016-06-23 22:16:25 -04:00
Pietro Gagliardi
9d22d741c6
More TODOs.
2016-06-23 15:06:07 -04:00
Pietro Gagliardi
78e8dd3883
More TODOs.
2016-06-23 14:57:40 -04:00
Pietro Gagliardi
67e8db9efd
Added row background colors.
2016-06-23 11:29:43 -04:00
Pietro Gagliardi
f02fbd2ecf
Some more API cleanup. Don't separate table cell parts from columns.
2016-06-23 09:56:24 -04:00
Pietro Gagliardi
a57bef13e5
TODO updates.
2016-06-22 23:08:39 -04:00
Pietro Gagliardi
cbb07113ca
Fixed uiMultilineEntry to no longer use Auto Layout.
2016-06-22 23:07:59 -04:00
Pietro Gagliardi
ddd0e82c90
Removed auto layout from scrollviews. Need to do the same to text views too.
2016-06-22 22:58:51 -04:00
Pietro Gagliardi
0ef01e1685
Added some debugging code to help figure out tables.
2016-06-22 13:28:12 -04:00
Pietro Gagliardi
a82835fff3
Fixed uiTable selection colors on OS X.
2016-06-22 01:06:47 -04:00
Pietro Gagliardi
93923bbcb3
More TODOs.
2016-06-22 00:59:04 -04:00
Pietro Gagliardi
1c70edaef1
Fixed initial OS X uiTable. It works!
2016-06-22 00:58:10 -04:00
Pietro Gagliardi
c26f438d3b
Finished the initial implementation of OS X uiTable. Now to test.
2016-06-22 00:40:30 -04:00
Pietro Gagliardi
2f08ec683a
Started the OS X uiTable implementation.
2016-06-21 23:58:17 -04:00
Pietro Gagliardi
a07e2afc9c
Made alignment work on uiGrid on OS X.
2016-06-18 13:32:10 -04:00
Pietro Gagliardi
9656a81c77
Added uiNewVerticalSeparator().
2016-06-17 11:02:17 -04:00
Pietro Gagliardi
ae14542c9a
Improved uiMainSteps().
2016-06-17 09:22:31 -04:00
Pietro Gagliardi
99545e8775
Fixed up the progressbar changes.
2016-06-16 17:43:04 -04:00
Pietro Gagliardi
798061f7f6
Merge pull request #144 from ProtonMail/progress-bar
...
Improves progress bar
2016-06-16 16:44:42 -04:00
Pietro Gagliardi
d4492c06a9
Changed the uiMainSteps() API as the GTK+ port will need it to be done this way...
2016-06-16 13:49:50 -04:00
Pietro Gagliardi
da4b396aaf
Added uiMainSteps(), which sets things up to use uiMainStep() for the main loop. Implemented on OS X.
2016-06-16 13:45:24 -04:00
Pietro Gagliardi
dd2ee50710
And implemented borderless windows on OS X.
2016-06-16 11:46:58 -04:00
Pietro Gagliardi
fd9af04123
Implemented fullscreen on OS X.
2016-06-16 09:29:28 -04:00
emersion
cff5dcf9c9
Adds indeterminate progressbar to darwin (not yet tested)
2016-06-16 09:45:08 +02:00
Pietro Gagliardi
caec39281b
And implemented the new sizing stuff on OS X.
2016-06-16 00:58:40 -04:00
Pietro Gagliardi
53bec81925
More uiWindow positioning refinement and implementation on OS X.
2016-06-15 14:57:52 -04:00
Pietro Gagliardi
dda58c9323
Fixed leaking issues with the previous commit.
2016-06-15 12:04:11 -04:00
Pietro Gagliardi
ac1a515820
Merge pull request #141 from ProtonMail/ui-form-delete
...
Adds uiFormDelete()
2016-06-15 12:00:38 -04:00
emersion
831fe1e73b
Updates darwin to work with upstream changes
2016-06-15 16:39:23 +02:00
Pietro Gagliardi
106d4b544a
Edging ever closer to getting grids working right on Windows.
2016-06-14 21:55:14 -04:00
Pietro Gagliardi
cf8c1c67fe
Clarified the previous commit.
2016-06-14 21:00:57 -04:00
Pietro Gagliardi
cdbe48cc83
Plugged a potential memory corruption in darwin/grid.m. Now we have to do the same on Windows: ensure that hidden cells are taken into account when computing xmin/xmax/ymin/ymax and abort if there's nothing there.
2016-06-14 20:58:44 -04:00
emersion
b817a16c05
Adds missing delete() method for darwin
2016-06-14 22:55:55 +02:00
emersion
52bd3b2c35
Adds uiFormDelete()
2016-06-14 22:41:37 +02:00
Pietro Gagliardi
cb81518e0f
Implemented proper hiding and showing behavior on OS X on uiForm and uiGrid.
2016-06-14 11:18:38 -04:00
Pietro Gagliardi
44b4fa9c68
Fixed hiding on OS X uiBox.
2016-06-14 10:54:16 -04:00
Pietro Gagliardi
d54f7dd682
Added a facility to the OS X port to be notified when a child's visibility has changed; this is necessary for implementing hiding and showing properly.
2016-06-14 10:37:19 -04:00
Pietro Gagliardi
207340f16f
Finished the migration.
2016-06-13 22:42:11 -04:00
Pietro Gagliardi
75a8ee9bf9
Removed intmax_t from everything else EXCEPT the Windows code. Now it's time for THAT...
2016-06-13 21:37:50 -04:00
Pietro Gagliardi
864c6c2511
Finished stripping ui.h of intmax.
2016-06-13 21:20:20 -04:00
Pietro Gagliardi
155299cdb9
More intmax_t removal.
2016-06-13 21:11:59 -04:00
Pietro Gagliardi
440635447d
More intmax_t removal.
2016-06-13 21:05:40 -04:00
Pietro Gagliardi
8d48d42201
More intmax_t elminiation.
2016-06-13 20:55:50 -04:00
Pietro Gagliardi
b26354d1e7
Started replacement of intmax_t and uintmax_t with int.
2016-06-13 20:46:11 -04:00
Pietro Gagliardi
857bbbf506
Don't use 10.10-specific selectors in uiNewSearchEntry(). Fixes #132 .
2016-06-13 15:15:40 -04:00
Pietro Gagliardi
f08cd96688
More control gallery rewriting. Removed some debugging code in the OS X grid.
2016-06-12 19:55:35 -04:00
Pietro Gagliardi
41ec54cb47
Started a new controlgallery. Fixed some glitches in OS X uiForm.
2016-06-12 19:08:08 -04:00
Pietro Gagliardi
144366c775
And got the last bit of grid working :D
2016-06-12 18:26:13 -04:00
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
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