2008-12-05 Brad Taylor <brad@getcoded.net>
authorBrad Taylor <brad@getcoded.net>
Fri, 5 Dec 2008 20:57:02 +0000 (20:57 -0000)
committerBrad Taylor <brad@getcoded.net>
Fri, 5 Dec 2008 20:57:02 +0000 (20:57 -0000)
* MonthCalendar.cs: Add UIA specific events so that we can know when
the selection changes, and when MaxSelectedCount changes.

svn path=/trunk/mcs/; revision=120889

mcs/class/Managed.Windows.Forms/System.Windows.Forms/ChangeLog
mcs/class/Managed.Windows.Forms/System.Windows.Forms/MonthCalendar.cs

index c828cdad85f55b0001620e4c878885435a9858ae..3091e4424ba5577a232c5a25740d31b8f28c18d4 100644 (file)
@@ -1,3 +1,8 @@
+2008-12-05  Brad Taylor  <brad@getcoded.net>
+
+       * MonthCalendar.cs: Add UIA specific events so that we can know when
+       the selection changes, and when MaxSelectedCount changes.
+
 2008-12-05  Ivan N. Zlatev  <contact@i-nz.net>
 
        * DataGridView.cs: Cleanup rows_displayed out of OnPaint. It's not 
index bd4af8ac883466a113edfd49e010be5898ca6cea..2d65de5d433f2e96ef2a2dbb9bbb7cb2aeadac3d 100644 (file)
@@ -413,6 +413,7 @@ namespace System.Windows.Forms {
                        
                                if (max_selection_count != value) {
                                        max_selection_count = value;
+                                       this.OnUIAMaxSelectionCountChanged ();
                                }
                        }
                        get {
@@ -547,6 +548,7 @@ namespace System.Windows.Forms {
                                        SelectionRange.End = value;
                                        this.InvalidateDateRange (new SelectionRange (old_end, SelectionRange.End));
                                        this.OnDateChanged (new DateRangeEventArgs (SelectionStart, SelectionEnd));
+                                       this.OnUIASelectionChanged ();
                                }
                        }
                        get {
@@ -613,6 +615,7 @@ namespace System.Windows.Forms {
                                                this.InvalidateDateRange (new_range);
                                        // raise date changed event
                                        this.OnDateChanged (new DateRangeEventArgs (SelectionStart, SelectionEnd));
+                                       this.OnUIASelectionChanged ();
                                }
                        }
                        get {
@@ -643,6 +646,7 @@ namespace System.Windows.Forms {
                                        
                                        this.Invalidate ();
                                        this.OnDateChanged (new DateRangeEventArgs (SelectionStart, SelectionEnd));
+                                       this.OnUIASelectionChanged ();
                                }
                        }
                        get {
@@ -2424,5 +2428,36 @@ namespace System.Windows.Forms {
                }
 
                #endregion      // inner classes
+
+               #region UIA Framework: Methods, Properties and Events
+
+               static object UIAMaxSelectionCountChangedEvent = new object ();
+               static object UIASelectionChangedEvent = new object ();
+
+               internal event EventHandler UIAMaxSelectionCountChanged {
+                       add { Events.AddHandler (UIAMaxSelectionCountChangedEvent, value); }
+                       remove { Events.RemoveHandler (UIAMaxSelectionCountChangedEvent, value); }
+               }
+
+               internal event EventHandler UIASelectionChanged {
+                       add { Events.AddHandler (UIASelectionChangedEvent, value); }
+                       remove { Events.RemoveHandler (UIASelectionChangedEvent, value); }
+               }
+
+               private void OnUIAMaxSelectionCountChanged ()
+               {
+                       EventHandler eh = (EventHandler) Events [UIAMaxSelectionCountChangedEvent];
+                       if (eh != null)
+                               eh (this, EventArgs.Empty);
+               }
+
+               private void OnUIASelectionChanged ()
+               {
+                       EventHandler eh = (EventHandler) Events [UIASelectionChangedEvent];
+                       if (eh != null)
+                               eh (this, EventArgs.Empty);
+               }
+
+               #endregion
        }
 }