Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [platform-ui-dev] Giving some love to org.eclipse.core.databinding.observable

On generics - there is a version in the e4 git repo where people tried to add generics - at least you could get inspired by that.

On reactive: very welcome having this added 

On thread sync: if you ask me the realm concept is totally broken and i don't think the databinding lib should be dealing with it

Tom

Von meinem iPhone gesendet

Am 15.05.2015 um 23:05 schrieb Stefan Xenos <sxenos@xxxxxxxxxx>:

I'm starting to use the org.eclipse.core.databinding.observable plugin for one of my projects, but I see it hasn't had any love for about 5 years. I was thinking of updating the plugin but figured I'd discuss the changes here first, since they'd be fairly sweeping.

1. I notice the plugin has been updated to java 1.7, but the code is still written in 1.4 style.
- Most of the IObservable implementations were designed to be generics but they haven't been converted to actually use generics yet.
- Many of the methods are supposed to be annotated with @TrackedGetter, but the annotation is currently in comments rather than actual code.

2. It hasn't been updated to use modern algorithms for reactive programming frameworks. The whole library still uses listeners for change propogation, which are subject to event storms and degenerate in the repeated diamond shape.

Reference:

I know a good algorithm that addresses this quite efficiently and can deep-dive on it if anyone wants details.

3. Each async event currently gets executed as a separate asyncExec. This allows paints to get interleaved with the events, possibly causing flicker and triggering multiple layouts. I plan to put all pending updates in a queue and process them as a batch, ensuring that only one paint or layout pass occurs at the end.

Thoughts?

  - Stefan
_______________________________________________
platform-ui-dev mailing list
platform-ui-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/platform-ui-dev

Back to the top