Commit Graph

601 Commits

Author SHA1 Message Date
Pietro Gagliardi 4f8f94b85a Updated the CMakeLists.txt for OS X. 2016-12-03 20:02:39 -05:00
Pietro Gagliardi da8b8de371 Wrote the new attributed string system's grapheme code for OS X. 2016-12-03 20:01:45 -05:00
Lailton Fernando Mariano 39d1c0565e Update uipriv_darwin.h 2016-12-01 16:26:59 -02:00
Lailton Fernando Mariano cb927659fa Update uipriv_darwin.h 2016-12-01 14:32:14 -02:00
Pietro Gagliardi e3dec183aa Started the process of splitting the table code into a separate branch. 2016-11-27 17:34:40 -05:00
Pietro Gagliardi 287d59b5c5 More TODOs. 2016-11-11 01:21:28 -05:00
Pietro Gagliardi 6b33c62b84 More TODOs. 2016-11-08 09:12:11 -05:00
Pietro Gagliardi f56411fde1 Use performWindowDragWithEvent: if available. 2016-11-02 09:34:40 -04:00
Pietro Gagliardi 17dc5f407e And implemented moves on OS X. 2016-11-02 09:29:44 -04:00
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