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
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
Florent Clairambault
c204e47b72
Various fixes around makefiles
...
* $PREFIX is uppercase (I have no idea why I put it lowercase before).
* "install" rules is OS specific and moved to new OS specific files. So that they can be included last.
* "examples" rule defines the list of examples to execute.
* Travis launches the "test" rule.
2016-01-01 23:19:14 +01:00
Pietro Gagliardi
1b3d303cbe
More TODOs.
2015-12-27 22:55:41 -05:00
Pietro Gagliardi
a1beccd63d
Pinpointed the issues with mouseExited:. A TODO for now; this is gonna be murder to figure out :)
2015-12-27 22:19:59 -05:00
Pietro Gagliardi
66ad8066ea
Improved the exited debugging.
2015-12-27 17:13:57 -05:00
Pietro Gagliardi
93a9847b59
Added debugging code for mouseExited:. In El Capitan it's not working in scrolled views...
2015-12-27 16:15:18 -05:00
Pietro Gagliardi
0ec70f9111
Removed libgmalloc. That was a mistake; it slows down callbacks tremendously on DEFAULT SETTINGS.
2015-12-27 15:54:53 -05:00
Pietro Gagliardi
c31d06c254
Quick change for now: added libgmalloc to the OS X build so I can debug potential memory allocation issues. I think something is wrong in the mouseExited logic...
2015-12-27 15:19:14 -05:00
Pietro Gagliardi
3b916fa749
Stubbed out the text drawing functions on OS X.
2015-12-27 11:32:47 -05:00
Pietro Gagliardi
a9419e0cc4
Oops, I completely overlooked the Core Text Font Manager Reference, which would have told me that CTFontManagerCopyAvailableFontFamilyNames() was what I was looking for. Yay; the font families stuff now works on OS X as well!
2015-12-23 00:58:06 -05:00
Pietro Gagliardi
bcc17a4e6d
Attempted to write the font enumeration code for OS X. It does not work yet (memory management is borked and duplicate removal does not work, period).
2015-12-22 21:48:26 -05:00
Pietro Gagliardi
33d4217450
Fixed rpath shenanigans on OS X.
2015-12-19 16:46:04 -05:00
Pietro Gagliardi
c095d80098
Implemented mouse tracking on OS X.
2015-12-19 16:35:18 -05:00
Pietro Gagliardi
35f2cc55da
Fixed compiler errors. Now to implement mouse tracking.
2015-12-19 16:15:50 -05:00
Pietro Gagliardi
a0c3c80393
Finished migrating OS X uiArea to the new scroll system. Now to compile and test. Crossed events come next.
2015-12-19 15:33:54 -05:00
Pietro Gagliardi
8cf437211d
Dropped ALL the custom scrolling crap from darwin/area.m. We're going back to NSScrollView baby!
2015-12-19 15:13:44 -05:00
Pietro Gagliardi
327abd04b0
Re-established the OS X build.
2015-12-11 18:58:27 -05:00
Pietro Gagliardi
70886e4ade
Moved the old build files away. Yes that's right folks, we're redoing the build system *again*! Isn't that *fun*?
2015-12-10 18:49:50 -05:00
Pietro Gagliardi
529620eb47
Updated a TODO.
2015-12-09 09:07:00 -05:00
Pietro Gagliardi
c5a5038382
Fixed the uiMultilineEntry on OS X so that it now actually displays something. More TODOs.
2015-12-09 09:05:28 -05:00
Pietro Gagliardi
11fe5deb73
More NSTextView work.
2015-12-08 21:09:23 -05:00
Pietro Gagliardi
ea6e903069
TRIED TO add uiMultilineEntry on OS X. It does not quite work yet.
2015-12-08 13:06:26 -05:00
Pietro Gagliardi
f77955aefb
Added uiQueueMain() (basically g_idle_add()) and implemented it on all platforms except Haiku. A test to come. After this we can start rewriting the Go package ui at long last.
2015-12-04 23:42:03 -05:00
Pietro Gagliardi
8084041139
Removed uiAreaHandler.RedrawOnResize(); Direct2D requires us to always redraw on resize (see previous commit). Added windows/amd64 to the example makefiles and updated them to use libui.xxx instead of new.xxx.
2015-12-04 21:04:51 -05:00
Pietro Gagliardi
8adb1a25a2
More TODOs.
2015-11-28 12:16:05 -05:00
Pietro Gagliardi
bf6fabef21
Implemented the dialog stuff on OS X.
2015-11-28 12:09:14 -05:00
Pietro Gagliardi
ff9dcc6d58
Wrote the Haiku allocator and fixed some leftovers in other allocators.
2015-11-17 12:51:51 -05:00
Pietro Gagliardi
c40e80d5a5
Added C++ to the build and started writing the actual Haiku code. I think this isg oing to have to require a GCC 4 hybrid...
2015-11-17 11:49:23 -05:00
Pietro Gagliardi
f19d3cd0c7
More makefile work.
2015-10-16 22:49:54 -04:00
Pietro Gagliardi
790edf0df8
Assembled a new make system. Not quite working the way I'd like yet, but definitely a start.
2015-10-16 20:55:09 -04:00
Pietro Gagliardi
ab97e26efc
Moved all the common stuff in a new folder common/. This is part of the makefile simplification.
2015-10-16 18:31:14 -04:00
Pietro Gagliardi
b4cbf79cbb
Implemented dashing on OS X.
2015-10-16 11:05:08 -04:00
Pietro Gagliardi
191c026d29
And implemented on OS X.
2015-10-14 08:50:56 -04:00
Pietro Gagliardi
2cbbc6c69d
Removed the DPI fields from uiAreaDrawParams. We no longer worry about DPI.
2015-10-13 19:44:16 -04:00
Pietro Gagliardi
c3fdd3050d
Implemented clipping on OS X.
2015-10-13 13:53:24 -04:00
Pietro Gagliardi
c6cdabe20d
Preparation for proper, extensible state tracking and clipping on Windows.
2015-10-12 21:11:42 -04:00
Pietro Gagliardi
de3ccecd5b
Implemented skewing. Will do the test now.
2015-10-12 07:58:07 -04:00
Pietro Gagliardi
46e3fee40d
Added a center point to scaling transforms. Fixed rotations on GTK+.
2015-10-12 01:43:12 -04:00
Pietro Gagliardi
5792ac76fc
Work on more tests. Scaling will need a center point for this test to work correctly...
2015-10-12 01:18:08 -04:00
Pietro Gagliardi
41a33a1aa1
Fixed the failing test.
2015-10-12 00:27:34 -04:00
Pietro Gagliardi
f4b0e7e35e
Added negative arcs to the OS X backend. Now we have a crash in one of the tests; still debugging.
2015-10-11 23:48:40 -04:00
Pietro Gagliardi
b09cdb5137
Made 90° point toward y=+∞.
2015-10-11 20:24:06 -04:00
Pietro Gagliardi
40acbd8fa0
Did the matrix stuff on OS X. Now we can implement more tests.
2015-10-11 13:53:47 -04:00
Pietro Gagliardi
3a932d281b
Fixed arcs on the OS X backend too. Woo!
2015-10-10 11:04:15 -04:00
Pietro Gagliardi
73d77ef38b
Capped sweeps at 2π radians.
2015-10-09 22:00:41 -04:00
Pietro Gagliardi
2c7ed07747
Changed the arc functions to take a start angle and a sweep amount instead of a start angle and an end angle. This makes it easier to reason about sweeps > 2π radians.
2015-10-09 21:51:43 -04:00
Pietro Gagliardi
844015f71a
Fixed typos in the test program that in turn fixed the gradients; also fixed a few Objective-C-isms in the OS X backend.
2015-10-09 18:49:41 -04:00
Pietro Gagliardi
7075bea0f5
Added uiAreaQueueRedrawAll() and implemented on all platforms. NOW we can focus exclusively on the test suite.
2015-10-09 15:27:57 -04:00
Pietro Gagliardi
5da68c64b3
Implemented uiComboboxSetSelected() on OS X and Windows; fixed editable combobox minimum widths on OS X.
2015-10-09 14:39:26 -04:00
Pietro Gagliardi
56d0d35f83
More TODOs.
2015-10-09 12:34:26 -04:00
Pietro Gagliardi
4deb0f364c
Migrated the OS X uiArea back into main.
2015-10-09 12:33:45 -04:00
Pietro Gagliardi
8fb5d1212f
Implemented the new uiCombobox behavior on OS X.
2015-10-08 16:32:12 -04:00
Pietro Gagliardi
54332b90fb
Finally merged out the redo folder.
2015-09-02 13:48:06 -04:00
Pietro Gagliardi
269e99aec3
Removed the old OS X code.
2015-08-27 11:56:07 -04:00
Pietro Gagliardi
3d79ccf24c
Migrated container.m. This will behave similarly to the GTK+ backend; bin.m will come next.
2015-07-29 12:17:12 -04:00
Pietro Gagliardi
2e4af8a123
More OS X uiControl work... kinda. At least all the controls that were in previously are now back in; that just leaes the new ones now.
2015-07-24 15:42:10 -04:00
Pietro Gagliardi
62b5365577
More OS X uiControl work.
2015-07-22 23:20:01 -04:00
Pietro Gagliardi
d5744df476
More OS X uiControl work, finally.
2015-07-22 23:03:26 -04:00
Pietro Gagliardi
4234b47f62
More OS X uiControl work.
2015-07-11 22:56:43 -04:00
Pietro Gagliardi
89f8bd8643
Migrated OS X uiButton. We're off to a meh start...
2015-07-11 20:28:04 -04:00
Pietro Gagliardi
9f1ef9eaa1
Migrated the OS X uiWindow code back, modernizing it in the process. Also fixed a latent bug in the GTK+ uiWindow code.
2015-07-03 23:12:31 -04:00
Pietro Gagliardi
ed9e70c058
Started redoing the OS X port.
2015-07-02 16:09:57 -04:00
Pietro Gagliardi
a517beccae
Added uiContainerUpdate() calls to each SetMargined().
2015-05-11 12:42:13 -04:00
Pietro Gagliardi
2c9e63d8d2
Same as previous commits, but for uiContainer. We don't need to do these because everything that calls uiControlSetParent() (which should only ever be a uiContainer) should also be updating themselves afterward (or are about to be destroyed).
2015-05-11 12:20:41 -04:00
Pietro Gagliardi
df376a5e0b
Started to optimize container updating. Removed container updates from each new control set parent.
2015-05-11 12:16:28 -04:00
Pietro Gagliardi
c0c6b4fed6
Made all variables that refer to a tab page be called 'page'.
2015-05-10 21:22:22 -04:00
Pietro Gagliardi
e1e9dddfdd
Fixed some more warnings on the OS X backend. This also introduces realNSApp() and makes applicationClass global, which is important for fixing a few other TODOs (the setAppleMenu: one, for instance).
2015-05-10 14:27:25 -04:00
Pietro Gagliardi
ce96272f03
Fixed a bunch of warnings on the OS X backend.
2015-05-10 14:21:35 -04:00
Pietro Gagliardi
262ffb0bde
Migrated to uiBin on OS X and adjusted TODO.md.
2015-05-10 14:17:16 -04:00
Pietro Gagliardi
c062d2d0b5
Got rid of darwin/main.m and moved darwin/init.m in its place. The GTK+ backend won't need any of the should quit work; only the Quit item needs work and that shouldn't take too long. The Windows backend needs WM_QUERYENDSESSION support.
2015-05-09 10:24:07 -04:00
Pietro Gagliardi
2b83300e0b
Implemented the quitting logic on OS X. Now I can get rid of darwin/main.m and move darwin/init.m in its place.
2015-05-09 10:18:19 -04:00
Pietro Gagliardi
8032c24f74
Implemented the should quit logic on Mac OS X. The actual new quitting logic isn't in yet; that will wait for tests.
2015-05-09 10:05:24 -04:00
Pietro Gagliardi
3d714e03c1
Laid down the scaffolding for application termination on Mac OS X.
2015-05-09 00:37:24 -04:00
Pietro Gagliardi
86a4b0a7ba
More expository comments and TODOs.
2015-05-08 20:34:57 -04:00
Pietro Gagliardi
f47c8172e1
Implemented uninitMenus() on Mac OS X.
2015-05-08 20:31:19 -04:00
Pietro Gagliardi
2ec8fb8589
Fixed a typo.
2015-05-08 20:24:53 -04:00
Pietro Gagliardi
ada7608c14
Added menu tracking to the OS X backend. This is needed for uninitMenus().
2015-05-08 19:33:51 -04:00
Pietro Gagliardi
cf89124be5
Fixed allocation tracking on OS X.
2015-05-08 18:54:42 -04:00
Pietro Gagliardi
cc1491d1a7
More TODOs.
2015-05-08 18:02:02 -04:00
Pietro Gagliardi
c079e43784
Somewhat implemented uninitAlloc() on OS X.
2015-05-08 17:51:05 -04:00
Pietro Gagliardi
33f41d6c37
Implemented the allocation type stuff on OS X.
2015-05-08 17:29:36 -04:00
Pietro Gagliardi
27d6994bdc
Implemented stub uiUninit()s.
2015-05-07 22:32:17 -04:00
Pietro Gagliardi
6c9a122a7d
Changed the default uiWindowOnClosing() behavior. Decided to keep the int return.
2015-05-07 20:01:17 -04:00
Pietro Gagliardi
34f55321e0
Added a [libui] and a newline to the message printed by complain().
2015-05-07 19:34:45 -04:00
Pietro Gagliardi
817e13ae61
Set up visibility on OS X. This seems to work...
2015-05-07 18:38:47 -04:00
Pietro Gagliardi
727b6871bc
Made uiFree(NULL) illegal to spot bugs.
2015-05-07 17:45:55 -04:00
Pietro Gagliardi
49595bb18d
Set up proper -m flag manipulation for cross-compiling builds.
2015-05-07 16:02:34 -04:00
Pietro Gagliardi
a6478d68d1
Set up a shortcut for 32-bit builds on OS X.
2015-05-07 15:47:10 -04:00
Pietro Gagliardi
bf67a8b285
Fixed up darwin/init.m a bit.
2015-05-07 15:42:11 -04:00
Pietro Gagliardi
2107595ce7
"Exported" uiSizing fields.
2015-05-07 14:33:46 -04:00
Pietro Gagliardi
7270b54e81
Same, but for OS X.
2015-05-07 13:48:41 -04:00
Pietro Gagliardi
089186a88c
Implemented read-only uiEntries on OS X.
2015-05-07 00:31:31 -04:00
Pietro Gagliardi
01ff7965da
Implemented uiEntryOnChanged() on Mac OS X.
2015-05-06 20:58:55 -04:00
Pietro Gagliardi
c55ec89d19
Implemented uiTabInsertPageBefore() on OS X.
2015-05-06 14:46:50 -04:00
Pietro Gagliardi
2c7bccb3a8
Fixed bin destruction on Mac OS X.
2015-05-06 01:38:32 -04:00
Pietro Gagliardi
cc56e2cece
Implemented clearing realloc() on the OS X backend.
2015-05-04 20:07:34 -04:00
Pietro Gagliardi
8b8be286ff
Made private functions in the various bin source files static.
2015-05-04 17:42:20 -04:00
Pietro Gagliardi
b9597028fb
Moved some OS X TODOs to the long-term list.
2015-05-04 17:33:05 -04:00
Pietro Gagliardi
e571a73247
Made an executive decision about the behavior of uiControlShow() on uiWindows.
2015-05-04 17:23:01 -04:00
Pietro Gagliardi
b2e9b646a4
Got rid of typedefs in the various newcontrol files for consistency.
2015-05-04 15:51:23 -04:00
Pietro Gagliardi
c6229271cc
Implemented tab disabling on OS X.
2015-05-04 14:53:23 -04:00
Pietro Gagliardi
8f5ebd3118
More TODOs.
2015-05-04 01:15:14 -04:00
Pietro Gagliardi
d23fae34be
Implemented uiControlEnable() and uiControlDisable() for containers and uiWIndow on Mac OS X.
2015-05-04 01:14:18 -04:00
Pietro Gagliardi
4ba0f795eb
Switched from manually enabling menu items on OS X to automatic enabling, just like with the application menu. Same code :/ Also cleaned up useless [NSMenuItem setEnabled:] calls.
2015-05-03 21:37:45 -04:00
Pietro Gagliardi
82312861e9
Implemented menu finalization on OS X.
2015-05-03 21:28:21 -04:00
Pietro Gagliardi
d25c954d9f
Added code to get the active window for menu events on Mac OS X. Will test next.
2015-05-03 21:05:55 -04:00
Pietro Gagliardi
7086373807
Fixed an error left over in the previous commit.
2015-05-03 19:58:12 -04:00
Pietro Gagliardi
fd4c559e86
Removed the typename argument from uiAlloc() and uiRealloc().
2015-05-03 19:52:24 -04:00
Pietro Gagliardi
511cc76ef8
Investigated setAppleMenu:; decided to save it for later.
2015-05-03 16:28:46 -04:00
Pietro Gagliardi
2186192502
Changed c-> to uiControl(c)-> in the various newcontrol files for consistency.
2015-05-03 14:44:46 -04:00
Pietro Gagliardi
eae2e92d87
Confirmed that NSMenuValidation was only informal; thanks to Psy| in irc.freenode.net/#macdev for explaining how informal protocols actually worked (since the declaration in the headers threw me off).
2015-05-03 13:39:54 -04:00
Pietro Gagliardi
60d30688eb
More TODOs.
2015-05-03 13:18:27 -04:00
Pietro Gagliardi
ee3d9c5165
Some more TODO resolution.
2015-05-03 13:17:53 -04:00
Pietro Gagliardi
9ff20ad5f6
Implemented the bin OS parent check on OS X now that I know it actually IS meaningful.
2015-05-03 12:59:11 -04:00
Pietro Gagliardi
2a6da36542
Finished the OS X menu disabling code.
2015-05-03 02:45:59 -04:00
Pietro Gagliardi
810e2225ea
Started writing code for proper Quit/Preferences/About enabling and disabling on Mac OS X.
2015-05-02 23:04:37 -04:00
Pietro Gagliardi
a8fd88a5f9
Confirmed a TODO.
2015-05-02 21:05:08 -04:00
Pietro Gagliardi
454b3ecb03
Changed the various OS-side control creation functions to use Make like uiMakeContainer() does instead of New.
2015-05-02 20:51:00 -04:00
Pietro Gagliardi
57bc11d67c
TODO consolidation.
2015-05-02 14:58:29 -04:00
Pietro Gagliardi
c89b473c76
Added the Services menu to the OS X application menu.
2015-05-02 11:11:13 -04:00
Pietro Gagliardi
f86d312c74
Verified action signatures in darwin/menu.; thanks to mikeash in irc.freenode.net/#macdev for confirming.
2015-05-01 10:31:56 -04:00
Pietro Gagliardi
2eb995f93f
Implemented complain() on Mac OS X.
2015-04-30 23:28:02 -04:00
Pietro Gagliardi
442907ad64
Implemented menu uniqueness checks on OS X. More TODOs.
2015-04-30 23:24:52 -04:00
Pietro Gagliardi
9f2bb5b1fa
Oh wait it wasn't duplicate, but now it's in the right place.
2015-04-30 22:47:29 -04:00
Pietro Gagliardi
8b74c2fb92
Removed a duplicate TODO.
2015-04-30 22:46:24 -04:00
Pietro Gagliardi
1034978a2e
Attempted to fix uiTab resource freeing on OS X. Seems to work for removing tabs, not sure about deleting controls because of other crashes.
2015-04-30 19:56:12 -04:00
Pietro Gagliardi
e2cd6fe9d8
More TODOs.
2015-04-30 18:05:12 -04:00
Pietro Gagliardi
4035aee115
Marked a TODO in darwin/menu.m as resolved; we were already doing it properly.
2015-04-30 18:02:21 -04:00
Pietro Gagliardi
185d9cf122
Made refcounting for new control on GTK+ and OS X consistent.
2015-04-30 17:57:54 -04:00
Pietro Gagliardi
40dee5a693
Added bin destruction OS parent checks.
2015-04-30 17:49:38 -04:00
Pietro Gagliardi
d215ee147f
Implemented the new uiTab changes on the Mac OS X backend.
2015-04-30 16:34:38 -04:00
Pietro Gagliardi
c6023ee151
Some TODO resolution and changes.
2015-04-30 15:08:03 -04:00
Pietro Gagliardi
c8695e4ca2
Decided to remove allocation logging. Leak checking can be done with dedicated tools.
2015-04-30 13:37:13 -04:00
Pietro Gagliardi
127f025eee
Decided not to bother with destruction blocking for now.
2015-04-30 13:30:00 -04:00
Pietro Gagliardi
8f79f0596f
Set hidden flag variables BEFORE updating parent containers. Otherwise, parents won't reposition children correctly on systems where updates happen immediately (like OS X).
2015-04-29 14:25:34 -04:00
Pietro Gagliardi
d7f903373f
Fixed upside-down container issues on OS X.
2015-04-29 14:21:12 -04:00
Pietro Gagliardi
6c6bce3702
Moved everything back to the top level.
2015-04-29 11:02:38 -04:00
Pietro Gagliardi
ec7f461af1
Merged back the basic controls on Mac OS X.
2015-04-29 10:28:17 -04:00
Pietro Gagliardi
4c280ca42c
Removed or moved a bunch of stale files from the old source. All that's left now is to re-add the main controls and recreate the test program.
2015-04-29 10:20:25 -04:00
Pietro Gagliardi
9f59c0059c
Migrated darwin/tab.m. Now to test...
2015-04-29 10:06:39 -04:00
Pietro Gagliardi
f45e57494b
Migrated darwin/newcontrol.m.
2015-04-29 09:38:20 -04:00
Pietro Gagliardi
855bca9b0c
Started the stub menu code.
2015-04-28 14:17:28 -04:00
Pietro Gagliardi
bf401201f9
Removed a whole bunch of files from the old source tree.
2015-04-28 13:51:13 -04:00
Pietro Gagliardi
9ef8019159
Quick OS X menu fixup.
2015-04-21 18:24:48 -04:00
Pietro Gagliardi
2f1a806a31
More TODOs.
2015-04-21 18:10:48 -04:00
Pietro Gagliardi
de3c1cc0ea
Implemented the standard application menu on the Mac OS X backend.
2015-04-21 18:09:12 -04:00
Pietro Gagliardi
e26257006f
Converted the OS X menu code to the changes in the past few commits and made a few other small changes.
2015-04-21 00:46:30 -04:00
Pietro Gagliardi
b258e1fc82
Began implementing menus on Mac OS X.
2015-04-20 22:34:31 -04:00
Pietro Gagliardi
21a29a5468
More destruction rules following code.
2015-04-19 22:59:06 -04:00