Just when I thought I was getting somewhere...
I've hit a snag, most probable due to not fully undertanding what's going on despite much reading.
Best to repeat my tests. Attached parcel files...
Run in a workspace using: MVC01Form open
Cick on the Inspect button.
Click on the Next button to navigate to the 2nd item.
Change the value of #item from "item 2" to "something else" and then try to navigate away from the input field using Tab.
The confirmation dialog appears as I intended.
Clicking on "No" appears to work as intended. The new value is discarded and the original value of "item 2" is refreshed.
However, this is the problem -
Clicking on "Yes" does NOT appear to work as I intended. Looking in the inspector the new value has not been saved.
Furthermore, clicking on any of the First/Next/Previous/Last buttons continues to display #item as "something else" despite the value of #curr changing.
Despite "applying" the changes in #validationOnChange, the inspector still shows that the new value of #item is not propagated to the model.
It looks as if it is being retained in the buffer even though the trigger has been set to true.
I am assuming that although I am using "self trigger value: true" in my #applyChanges method, this isn't working as I expect and I am wondering if it is "out of context" in some way.
This is probably due to my understanding of the mechanism being wrong.
I've run numerous tests and made various code changes but nothing seems to overcome this problem.
I don't know if this is because of the way I am utilising the underlying data model as a kind of broker, although I don't see why it should given what I've done so far since when I used my original #okToProceed method it worked as intended.
I should mention that the technique I've adopted (and adapted) comes from the Smalltalk Daily at
http://www.cincomsmalltalk.com/casts/stDaily/2006/smalltalk_daily-10-4-06.htmlrather than from the GUIDevGuide.pdf