Skip to main content

[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






Back to the top