Monday, March 26, 2007

3.3M6 JFace Data Binding API Changes

3.3M6 was the API freeze and JFace Data Binding had a few changes in regards to API that were necessary for 1.0. All API changes can be found with this query. The most dramatic changes can be found in bugs 175840 and 177463.

175840 - [DataBinding] Remove BindingListener/BindingEvent from the API


The title doesn't quite do this justice. The change that will effect most consumers is that we removed BindSpec and the configuration of bindings has changes because of this. We have introduced 2 new classes to replace BindSpec: UpdateValueStrategy and UpdateListStrategy.

177463 - [DataBinding] SWT Observable API additions


The essence of this change is that all SWTObservables.observe*(...) methods are now untyped meaning they all accept a type of Control. This was done in anticipation of supporting multiple SWT versions. If we were to put the latest and greatest widgets in the method signatures it would prohibit us from using this class with Eclipse 3.2.

8 comments:

Boris Bokowski said...

Btw, the second change is source compatible at least for that change, clients should not have to do anything.

Hannes said...

After downloading the new M6 I tried to bind a DateTime Widget, but there is no SWTObservables.observeDateTime? Is it in any way possible to bind a DateTime?

Brad Reynolds said...

Not at this point in time. For status/updates on DateTime see bug 169876.

Ben said...

I see that observable trees have been pushed out of the API for now. Where can I go to see status/updates on this?

Brad Reynolds said...

I'd say add yourself to the CC on bug 175418 if you're not already. I'll try to remember to post something to this blog when this is made public again.

Ben said...

Good news! According to bug bug 184755 the internal tree content provider has been fixed by Stephen Xenos and Boris. Anyone have any thoughts on when this will become part of the API?

Brad Reynolds said...

Ben, feel free to ask on the bug. I don't have any information on that.

Ben said...

Cheers, I've added a comment to the bug.