1 // Permission is hereby granted, free of charge, to any person obtaining 2 // a copy of this software and associated documentation files (the 3 // "Software"), to deal in the Software without restriction, including 4 // without limitation the rights to use, copy, modify, merge, publish, 5 // distribute, sublicense, and/or sell copies of the Software, and to 6 // permit persons to whom the Software is furnished to do so, subject to 7 // the following conditions: 8 // 9 // The above copyright notice and this permission notice shall be 10 // included in all copies or substantial portions of the Software. 11 // 12 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 13 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 14 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 15 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 16 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 17 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 18 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 19 // 20 // Copyright (c) 2006 Novell, Inc. 21 // 22 // Authors: 23 // Chris Toshok (toshok@ximian.com) 24 // 25 26 using System; 27 using System.Data; 28 using System.Reflection; 29 using System.Collections; 30 using System.ComponentModel; 31 32 namespace System.Windows.Forms { 33 [DefaultMember("Item")] 34 internal class RelatedCurrencyManager : CurrencyManager { 35 36 BindingManagerBase parent; 37 PropertyDescriptor prop_desc; 38 RelatedCurrencyManager(BindingManagerBase parent, PropertyDescriptor prop_desc)39 public RelatedCurrencyManager (BindingManagerBase parent, PropertyDescriptor prop_desc) 40 : base (prop_desc.GetValue (parent.Current)) 41 { 42 this.parent = parent; 43 this.prop_desc = prop_desc; 44 45 parent.PositionChanged += new EventHandler (parent_PositionChanged); 46 } 47 parent_PositionChanged(object sender, EventArgs args)48 private void parent_PositionChanged (object sender, EventArgs args) 49 { 50 SetDataSource (prop_desc.GetValue (parent.Current)); 51 } 52 } 53 } 54 55