Commit Graph

120 Commits

Author SHA1 Message Date
Sarah Gerweck
87e1c9d29d Setting version to 0.6.0 2016-04-16 20:51:50 -07:00
Sarah Gerweck
00612a3b4f A number of updates for 0.6 release 2016-04-16 20:49:58 -07:00
Sarah Gerweck
6956bd05da Add operations to flatten arrays, lists and sets
This makes it really convenient to take a data structure like a
`ObservableBuffer`, which normally has special operations to watch for
different CRUD operations on its individual members, and treat the whole
thing as a solid value. This lets you turn it into an `ObservableValue`
where you get a notice of changes and then you can use the normal
operations like `map` and `flatMap` to react to changes.

Because this requires reprocessing the entirety of the contained values,
this may not perform as well as if you subscribe to more granular update
messages.

It is possible to round-trip these collections back to the ScalaFX
native collections using the other utilities available. This will be
required if you want to use the output to back something like a table.
2016-04-16 20:42:37 -07:00
Sarah Gerweck
d9ffc45d69 Slight performance & correctness improvement 2016-04-16 17:21:04 -07:00
Sarah Gerweck
d19c9fee5e Setting version to 0.5.1-SNAPSHOT 2015-10-05 11:44:27 -07:00
Sarah Gerweck
86ed3da0bc Setting version to 0.5.0 2015-10-05 11:44:07 -07:00
Sarah Gerweck
05d4a4f8aa Remove deprecated view-bound syntax 2015-10-05 11:39:54 -07:00
Sarah Gerweck
f1d4ab70fe Update to ScalaFX R9 for Java 8.0.60 2015-10-05 11:39:54 -07:00
Sarah Gerweck
6136189008 Setting version to 0.4.1-SNAPSHOT 2015-09-20 22:20:12 -07:00
Sarah Gerweck
340b939a2c Setting version to 0.4.0 2015-09-20 22:16:59 -07:00
Sarah Gerweck
33faf63c7c Bump version in README 2015-09-20 22:16:30 -07:00
Sarah Gerweck
a953604cd8 Update to dependencies 2015-09-20 21:20:18 -07:00
Sarah Gerweck
b366a810f7 ScalaFX App wrapper 2015-09-15 01:33:05 -07:00
Sarah Gerweck
d491186b38 Bump version of Gerweck Scala util 2015-09-15 01:33:05 -07:00
Sarah Gerweck
de55ef579e Updates to build process 2015-09-15 01:33:05 -07:00
Sarah Gerweck
907c83da52 Remove erroneous copyright notice 2015-08-15 16:30:56 -07:00
Sarah Gerweck
4e51aa7d16 Setting version to 0.3.2-SNAPSHOT 2015-08-15 03:49:23 -07:00
Sarah Gerweck
b0c5cf1435 Setting version to 0.3.1 2015-08-15 03:48:58 -07:00
Sarah Gerweck
0c92955369 Bump version for release 2015-08-15 03:48:34 -07:00
Sarah Gerweck
6d37cc4373 More support for observing collections 2015-08-15 03:48:14 -07:00
Sarah Gerweck
d0e210607f Setting version to 0.3.1-SNAPSHOT 2015-08-15 02:38:47 -07:00
Sarah Gerweck
fd14bd1af3 Setting version to 0.3.0 2015-08-15 02:38:26 -07:00
Sarah Gerweck
3ba63b8dad Bump version for release 2015-08-15 02:37:58 -07:00
Sarah Gerweck
2a6e0ee5e7 Update to 1.0 of sbt-release plugin 2015-08-15 02:37:39 -07:00
Sarah Gerweck
4bc515b73f Finalize classes 2015-08-15 02:18:37 -07:00
Sarah Gerweck
777f6bda28 Add conversion to ObservableBuffer 2015-08-15 02:09:45 -07:00
Sarah Gerweck
b039198d7f Update ScalaFX version 2015-08-15 02:09:35 -07:00
Sarah Gerweck
3464ef6709 Update README 2015-08-15 02:09:10 -07:00
Sarah Gerweck
f1044d2b5a Clean up unneeded imports 2015-08-12 18:29:32 -07:00
Sarah Gerweck
690e1b2670 Setting version to 0.2.1-SNAPSHOT 2015-08-11 12:35:58 -07:00
Sarah Gerweck
54c3d8f649 Setting version to 0.2.0 2015-08-11 12:35:44 -07:00
Sarah Gerweck
daf4da502a Fix up the organization name and URL 2015-08-11 12:35:25 -07:00
Sarah Gerweck
c2fd6f0b78 Move groupId to org.gerweck.scalafx 2015-08-11 12:29:21 -07:00
Sarah Gerweck
584da921ea Fix the Sonatype staging location
Publishing isn't possible with the one that comes from SBT for some
reason.
2015-08-11 11:34:46 -07:00
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