[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [dali-dev] EMF binding/selection committed
|
Karen Moore wrote:
A few comments:
In EMFSWTBinding the eAdapter is never removed when the composite is
disposed. So, if you close the persistence properties view, the
perspective, or the window and then reopen it, you will hit problems
with the old widget trying to update to changes in the model. Also the
EmfBinding is being added as an adapter twice, first in
EMFOrderByBindingAction line 63 and then in EMFSWTBinding line 42.
Good points. :-)
EMFSWTBinding listens for dispose events on the widget and calls the new
action method doDeinit(...) on the action now. This deregisters the
binding from the EMF obj.
I fixed the bug with the double registering at the eobj too.
In EMFOrderByBindingAction the call to combo.getDisplay().timerExec(400,
runnable); You need to check that the widget is not disposed in the
runnable.run() according to the Display.timerExec() javadocs. This will
be a problem if you updated the java and then closed the persistence
properties view before the runnable is run.
fixed.
EMFBinding call to Display.getDefault().syncExec(runnable);
I am concerned with deadlocks in this situation. We've had problems
that I think are related to this in Dali, but we may have been misuing
other aspects of emf or swt. Do you know whether this will be a problem
with the emf binding framework? I can't say that I have a full grasp on
this issue.
Currently I don't see problems with this solution. However I moved the
call to EMFSWTBinding.doViewAction(...). I think its clearer that way.
Not sure why we need EMFBindingAction, providing an abstract class
doesn't seem very useful if you have to implement all the methods anyway.
Momentarily this class makes absolutly no sense at all, so I removed it.
In the process of writing more binding actions it might come handy
again to have some kind of inheritance for the actions though.
Karen
--
Regards,
Markus Kuppe
Versant GmbH, European Headquarters
Wiesenkamp 22b, 22359 Hamburg, Germany
+49(40)60990-215, http://www.versant.com