Commit Graph

186 Commits

Author SHA1 Message Date
Sarah Gerweck
c80d030b35 Update README for release 2015-08-11 11:18:05 -07:00
Sarah Gerweck
13e841d613 Synchronize the change handlers
I'm pretty confident that this isn't actually required by the JavaFX
threading model, but it makes the code more obviously correct and
uncontended synchronization has a negligible cost when we're talking
about UI-level changes.
2015-08-11 11:10:23 -07:00
Sarah Gerweck
3f30eb32c2 Fix Observable.map to suppress nil changes
If the new output is equal to the old output, we'll suppress the change
message altogether, so as not to do unnecessary recalculations.

E.g., imagine you have a property `isOdd`. If you go from 27 to 319,
there's no need to trigger all the downstream objects to recalculate.
(Most of the other functional primitives I've created already have this
behavior.)
2015-08-10 19:05:54 -07:00
Sarah Gerweck
8166b9be3f Improved return type 2015-08-10 04:49:42 -07:00
Sarah Gerweck
f769fffeb2 Make Observable an instance of Monad
This is not yet tested, and it requires a lot of testing. A previous
helper that attempted to support `bind` never quite worked correctly,
but I believe that the new approach of implementing `join` and `map`
instead of `bind` makes the code more resilient.

Even though `map` and `ap` can be derived from `point` and `bind`, I'm
keeping both of them, as `bind` requires quite a bit of subscription
manipulation. Those methods have much simpler implementations.
2015-08-09 22:51:11 -07:00
Sarah Gerweck
914e168771 Fix a bug in the ap function
This could prevent it from updating values if you returned to
the original value. E.g., if your values went 1, 2, 1, 2, you'd
get notifications for 1, 2, 2. This would also cause some extra
notifications to go when the logical value didn't actually change.
2015-08-09 22:41:01 -07:00
Sarah Gerweck
32449979b4 Set the Eclipse output directories 2015-08-09 22:32:35 -07:00
Sarah Gerweck
2b1d90fc20 Bump version number 2015-08-09 21:42:49 -07:00
Sarah Gerweck
81be8dd7e0 Update Shapeless to 2.2.5 2015-08-09 11:34:21 -07:00
Sarah Gerweck
9aa2021495 Minor dependency updates 2015-08-09 11:34:13 -07:00
Sarah Gerweck
8488477571 Bump Scala version to 2.11.7 2015-08-09 11:33:43 -07:00
Sarah Gerweck
6b4a579755 New SBT eclipse plugin 2015-08-09 11:33:13 -07:00
Sarah Gerweck
8e7a5a35a6 Simple withKey to bind a keyboard shortcut 2015-08-08 21:21:15 -07:00
Sarah Gerweck
484b62b0b0 Ignore new Eclipse cache files 2015-08-08 21:14:21 -07:00
Sarah Gerweck
6c2b73f4d6 Remove not-so-useful observe2 method. 2015-05-04 11:48:28 -07:00
Sarah Gerweck
fa7419d101 Base version of observe method on tuples.
This commit also includes an `observe2`, which operates directly on a
tuple without explicitly converting to an HList. I'm committing it for
posterity, but the next commit will remove it because it doesn't give a
narrow enough output type.
2015-05-04 11:44:46 -07:00
Sarah Gerweck
852fd5138e Remove old methods. 2015-05-01 19:51:39 -07:00
Sarah Gerweck
23212dfde8 WIP of tupler update. 2015-05-01 19:30:09 -07:00
Sarah Gerweck
35a04d2651 Several updates to project build. 2015-05-01 19:25:46 -07:00
Sarah Gerweck
dc8949d54c Much progress on observables.
Still some work to do on making the syntax work how we want.
2015-04-16 23:51:58 -07:00
Sarah Gerweck
c689dd3d3e WIP of tupling. 2015-04-16 13:24:21 -07:00
Sarah Gerweck
da718d713c Observable is a functor. 2015-04-16 00:38:58 -07:00
Sarah Gerweck
bdbc18ff62 Use older ScalaFX.
8.0.40-R8 seems to have a bug that prevents stages from working. (Or
there's some new thing I need to do that I don't know about.)
2015-04-16 00:21:03 -07:00
Sarah Gerweck
30ae4d8157 Better return type. 2015-04-15 23:56:43 -07:00
Sarah Gerweck
a6a1b220d8 This project is not property of AtScale. 2015-04-15 23:52:32 -07:00
Sarah Gerweck
2e002336b4 Introduce new SimpleProperty alias. 2015-04-15 21:05:38 -07:00
Sarah Gerweck
a9f4085786 Minor cleanup. 2015-04-15 21:05:22 -07:00
Sarah Gerweck
c74c748a44 Add some new magic object builders. 2015-04-15 00:03:35 -07:00
Sarah Gerweck
319652b052 Basic Scalaz applicative for ScalaFX Observables. 2015-04-14 23:30:39 -07:00
Sarah Gerweck
f13433541a Fix SCM info. 2015-04-14 23:30:11 -07:00
Sarah Gerweck
5df59c4010 Add scalaz and javafx jar. 2015-04-14 21:50:39 -07:00
Sarah Gerweck
a463855470 Move the sonatype resolver into a common area. 2015-04-14 21:50:23 -07:00
Sarah Gerweck
67c3578885 Add ScalaFX to this project. 2015-04-14 21:45:24 -07:00
Sarah Gerweck
047b5c4ab1 More stuff for the baseline. 2015-04-14 21:44:51 -07:00
Sarah Gerweck
65a6c47b2e Add project-main-class support. 2015-04-14 21:32:55 -07:00
Sarah Gerweck
8bd3d58361 SBT baseline project. 2015-04-14 21:25:04 -07:00