Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikita Voronchev <nikita.voronchev@ru.axxonsoft.com>2019-12-19 00:24:06 +0300
committerAlexander Köplinger <alex.koeplinger@outlook.com>2019-12-19 00:24:06 +0300
commit0beb9611dfc03c0486256205fc6ead3e876975e2 (patch)
tree644ca38952b33e25fc3917ce0332290b3b5d5381 /mcs/class/System.Windows.Forms
parenta74416d950ae00c3cf5a6edb1b730039326c7ed0 (diff)
[WinForms][UIA] Add new internal event to track form's owner change (#18117)
This PR is needed for https://github.com/mono/uia2atk/pull/8
Diffstat (limited to 'mcs/class/System.Windows.Forms')
-rw-r--r--mcs/class/System.Windows.Forms/System.Windows.Forms/Form.cs15
1 files changed, 15 insertions, 0 deletions
diff --git a/mcs/class/System.Windows.Forms/System.Windows.Forms/Form.cs b/mcs/class/System.Windows.Forms/System.Windows.Forms/Form.cs
index 73dff86a6a7..7f032754f70 100644
--- a/mcs/class/System.Windows.Forms/System.Windows.Forms/Form.cs
+++ b/mcs/class/System.Windows.Forms/System.Windows.Forms/Form.cs
@@ -1099,6 +1099,8 @@ namespace System.Windows.Forms {
XplatUI.SetOwner(this.window.Handle, IntPtr.Zero);
}
}
+ // UIA Framework: Raises internal event
+ OnUIAOwnerChanged ();
}
}
}
@@ -3202,6 +3204,7 @@ namespace System.Windows.Forms {
static object UIAMenuChangedEvent = new object ();
static object UIATopMostChangedEvent = new object ();
static object UIAWindowStateChangedEvent = new object ();
+ static object UIAOwnerChangedEvent = new object ();
internal event EventHandler UIAMenuChanged {
add { Events.AddHandler (UIAMenuChangedEvent, value); }
@@ -3218,6 +3221,11 @@ namespace System.Windows.Forms {
remove { Events.RemoveHandler (UIAWindowStateChangedEvent, value); }
}
+ internal event EventHandler UIAOwnerChanged {
+ add { Events.AddHandler (UIAOwnerChangedEvent, value); }
+ remove { Events.RemoveHandler (UIAOwnerChangedEvent, value); }
+ }
+
internal void OnUIAMenuChanged (EventArgs e)
{
EventHandler eh = (EventHandler) Events [UIAMenuChangedEvent];
@@ -3238,6 +3246,13 @@ namespace System.Windows.Forms {
if (eh != null)
eh (this, EventArgs.Empty);
}
+
+ internal void OnUIAOwnerChanged ()
+ {
+ EventHandler eh = (EventHandler) Events [UIAOwnerChangedEvent];
+ if (eh != null)
+ eh (this, EventArgs.Empty);
+ }
#endregion // UIA Framework Events
#endregion // Events
}