2007-04-27 Chris Toshok <toshok@ximian.com>
commite28362e46d38ca2a579ab9748cffbefd28b7dad4
authorChris Toshok <toshok@novell.com>
Fri, 27 Apr 2007 19:38:33 +0000 (27 19:38 -0000)
committerChris Toshok <toshok@novell.com>
Fri, 27 Apr 2007 19:38:33 +0000 (27 19:38 -0000)
treebb9b20d3234c5e827b424d9e102c51bd7efc934c
parent5464b4f93ad974f10aa0db3aa00196142bb9562f
2007-04-27  Chris Toshok  <toshok@ximian.com>

* BindingManagerBase.cs: fill in CurrentItemChanged (and have an
internal handler that can be invoked from our subclasses.)  Also,
add a comment to PushData about how we need to fix it.

* CurrencyManager.cs: tons of changes here.  trying to get things
matching the behavior of .net wrt event orders (ItemChanged,
CurrentChanged, PositionChanged.)  I've implemented a private .net
symbol (ChangeRecordState) that appears in stack traces because
it's actually easier to do this than to effective inline all its
various behaviors at every call site.

* RelatedPropertyManager.cs: guard against an exception here by
not using parent.Current if the position is set to -1 (if the
parent datasource is cleared, for instance).

* Binding.cs: don't parse data in PushData (this might be wrong,
but it jives with MS's behavior.)  Also, don't call PushData when
we get a CurrentChanged event.

svn path=/trunk/mcs/; revision=76401
mcs/class/Managed.Windows.Forms/System.Windows.Forms/Binding.cs
mcs/class/Managed.Windows.Forms/System.Windows.Forms/BindingManagerBase.cs
mcs/class/Managed.Windows.Forms/System.Windows.Forms/ChangeLog
mcs/class/Managed.Windows.Forms/System.Windows.Forms/CurrencyManager.cs
mcs/class/Managed.Windows.Forms/System.Windows.Forms/RelatedPropertyManager.cs