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

github.com/microsoft/vs-editor-api.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAaron Bockover <abock@microsoft.com>2019-10-09 18:36:58 +0300
committerAaron Bockover <abock@microsoft.com>2019-10-09 18:36:58 +0300
commit18269c7aa4e83191e96c1291927db5d33a53696d (patch)
treed9a2e63967e6bad3b42222b8f295d3fac21ff37f
parentda342fe434ab7d728e511cf2d558fe7fed577479 (diff)
Sync with vs-editor-core@cc5b48a3
-rw-r--r--build/PackageVersions.targets1
-rw-r--r--build/Project.targets27
-rw-r--r--src/Editor/Text/Def/TextUICocoa/Input/CocoaMouseProcessorBase.cs64
-rw-r--r--src/Editor/Text/Def/TextUICocoa/Input/DragEventArgs.cs (renamed from src/Editor/Text/Def/TextUICocoa/Input/DragEvent.cs)4
-rw-r--r--src/Editor/Text/Def/TextUICocoa/Input/ICocoaMouseProcessor.cs64
-rw-r--r--src/Editor/Text/Def/TextUICocoa/Input/InputEventArgs.cs (renamed from src/Editor/Text/Def/TextUICocoa/Input/InputEvent.cs)19
-rw-r--r--src/Editor/Text/Def/TextUICocoa/Input/KeyEventArgs.cs (renamed from src/Editor/Text/Def/TextUICocoa/Input/KeyEvent.cs)14
-rw-r--r--src/Editor/Text/Def/TextUICocoa/Input/KeyProcessor.cs6
-rw-r--r--src/Editor/Text/Def/TextUICocoa/Input/MouseEvent.cs20
-rw-r--r--src/Editor/Text/Def/TextUICocoa/Input/MouseEventArgs.cs31
-rw-r--r--src/Editor/Text/Util/TextUIUtil/WpfHelper.cs1
11 files changed, 153 insertions, 98 deletions
diff --git a/build/PackageVersions.targets b/build/PackageVersions.targets
index 713322a..413d588 100644
--- a/build/PackageVersions.targets
+++ b/build/PackageVersions.targets
@@ -43,5 +43,6 @@
<ItemGroup>
<PackageReference Update="xunit" Version="2.4.1"/>
<PackageReference Update="xunit.runner.console" Version="2.4.1"/>
+ <PackageReference Update="Xunit.StaFact.Mac" Version="1.0.24-beta-g88c3555268"/>
</ItemGroup>
</Project>
diff --git a/build/Project.targets b/build/Project.targets
index 5601814..cc9b081 100644
--- a/build/Project.targets
+++ b/build/Project.targets
@@ -1,11 +1,30 @@
<Project>
- <Import Project="PackageVersions.targets"/>
-
<PropertyGroup>
<IsPackable Condition="'$(PushToPublicFeed)' != 'true'">false</IsPackable>
<IncludeSymbols>true</IncludeSymbols>
</PropertyGroup>
+ <PropertyGroup>
+ <HasEditorUnitTests Condition="'$(HasEditorUnitTests)' == '' And $(MSBuildProjectFile.EndsWith('UnitTests.csproj'))">true</HasEditorUnitTests>
+ <HasEditorUnitTests Condition="'$(HasEditorUnitTests)' == ''">false</HasEditorUnitTests>
+ <HasCocoaEditorUnitTests Condition="$(IsMac) And $(HasEditorUnitTests)">true</HasCocoaEditorUnitTests>
+ <HasCocoaEditorUnitTests Condition="'$(HasCocoaEditorUnitTests)' == ''">false</HasCocoaEditorUnitTests>
+ </PropertyGroup>
+
+ <ItemGroup Condition="$(HasEditorUnitTests)">
+ <PackageReference Include="xunit"/>
+ </ItemGroup>
+
+ <ItemGroup Condition="$(HasCocoaEditorUnitTests)">
+ <PackageReference Include="Xunit.StaFact.Mac"/>
+ </ItemGroup>
+
+ <ItemGroup Condition="$(HasCocoaEditorUnitTests) And '$(MSBuildProjectFile)' != 'StandaloneEditorCocoa.csproj'">
+ <ProjectReference Include="$(RepoSrcEditorPath)Text\Test\Util\StandaloneEditorCocoa\StandaloneEditorCocoa.csproj"/>
+ </ItemGroup>
+
+ <Import Project="PackageVersions.targets"/>
+
<Target Name="DumpPaths">
<Message Text="RepoRootPath: $(RepoRootPath)"/>
<Message Text="RepoObjPath: $(RepoObjPath)"/>
@@ -62,10 +81,10 @@
</ItemGroup>
</Target>
- <Target Name="Test" Condition="$(MSBuildProjectFile.EndsWith('UnitTests.csproj'))">
+ <Target Name="Test" Condition="$(HasEditorUnitTests)">
<PropertyGroup>
<StandaloneMacEditor>$(RepoBinPath)StandaloneMacEditor\$(Configuration)\$(TargetFramework)\MonoDevelop.Ide.app\Contents\MacOS\MonoDevelop.Ide</StandaloneMacEditor>
</PropertyGroup>
- <Exec Command="&quot;$(StandaloneMacEditor)&quot; test &quot;$(TargetPath)&quot; -xml &quot;$(RepoArtifactsPath)TestResults\$(TargetName).xml&quot;" />
+ <Exec Command="&quot;$(StandaloneMacEditor)&quot; xunit &quot;$(TargetPath)&quot; -xml &quot;$(RepoArtifactsPath)TestResults\$(TargetName).xml&quot;" />
</Target>
</Project> \ No newline at end of file
diff --git a/src/Editor/Text/Def/TextUICocoa/Input/CocoaMouseProcessorBase.cs b/src/Editor/Text/Def/TextUICocoa/Input/CocoaMouseProcessorBase.cs
index 92f44ef..c7b61f4 100644
--- a/src/Editor/Text/Def/TextUICocoa/Input/CocoaMouseProcessorBase.cs
+++ b/src/Editor/Text/Def/TextUICocoa/Input/CocoaMouseProcessorBase.cs
@@ -17,140 +17,140 @@ namespace Microsoft.VisualStudio.Text.Editor
/// Handles the mouse left button down event before the default handler.
/// </summary>
/// <param name="e">The event arguments.</param>
- public virtual void PreprocessMouseLeftButtonDown(MouseEvent e) { }
+ public virtual void PreprocessMouseLeftButtonDown(MouseEventArgs e) { }
/// <summary>
/// Handles the mouse left button down event after the default handler.
/// </summary>
/// <param name="e">The event arguments.</param>
- public virtual void PostprocessMouseLeftButtonDown(MouseEvent e) { }
+ public virtual void PostprocessMouseLeftButtonDown(MouseEventArgs e) { }
/// <summary>
/// Handles the mouse right button down event before the default handler.
/// </summary>
/// <param name="e">The event arguments.</param>
- public virtual void PreprocessMouseRightButtonDown(MouseEvent e) { }
+ public virtual void PreprocessMouseRightButtonDown(MouseEventArgs e) { }
/// <summary>
/// Handles the mouse right button down event after the default handler.
/// </summary>
/// <param name="e">The event arguments.</param>
- public virtual void PostprocessMouseRightButtonDown(MouseEvent e) { }
+ public virtual void PostprocessMouseRightButtonDown(MouseEventArgs e) { }
/// <summary>
/// Handles the mouse left button up event before the default handler.
/// </summary>
/// <param name="e">The event arguments.</param>
- public virtual void PreprocessMouseLeftButtonUp(MouseEvent e) { }
+ public virtual void PreprocessMouseLeftButtonUp(MouseEventArgs e) { }
/// <summary>
/// Handles the mouse left button up event after the default handler.
/// </summary>
/// <param name="e">The event arguments.</param>
- public virtual void PostprocessMouseLeftButtonUp(MouseEvent e) { }
+ public virtual void PostprocessMouseLeftButtonUp(MouseEventArgs e) { }
/// <summary>
/// Handles the mouse right button up event before the default handler.
/// </summary>
/// <param name="e">The event arguments.</param>
- public virtual void PreprocessMouseRightButtonUp(MouseEvent e) { }
+ public virtual void PreprocessMouseRightButtonUp(MouseEventArgs e) { }
/// <summary>
/// Handles the mouse right button up event after the default handler.
/// </summary>
/// <param name="e">The event arguments.</param>
- public virtual void PostprocessMouseRightButtonUp(MouseEvent e) { }
+ public virtual void PostprocessMouseRightButtonUp(MouseEventArgs e) { }
/// <summary>
/// Handles the mouse up event before the default handler.
/// </summary>
/// <param name="e">The event arguments.</param>
- public virtual void PreprocessMouseUp(MouseEvent e) { }
+ public virtual void PreprocessMouseUp(MouseEventArgs e) { }
/// <summary>
/// Handles the mouse up event after the default handler.
/// </summary>
/// <param name="e">The event arguments.</param>
- public virtual void PostprocessMouseUp(MouseEvent e) { }
+ public virtual void PostprocessMouseUp(MouseEventArgs e) { }
/// <summary>
/// Handles the mouse down event before the default handler.
/// </summary>
/// <param name="e">The event arguments.</param>
- public virtual void PreprocessMouseDown(MouseEvent e) { }
+ public virtual void PreprocessMouseDown(MouseEventArgs e) { }
/// <summary>
/// Handles the mouse down event after the default handler.
/// </summary>
/// <param name="e">The event arguments.</param>
- public virtual void PostprocessMouseDown(MouseEvent e) { }
+ public virtual void PostprocessMouseDown(MouseEventArgs e) { }
/// <summary>
/// Handles the mouse move event before the default handler.
/// </summary>
/// <param name="e">The event arguments.</param>
- public virtual void PreprocessMouseMove(MouseEvent e) { }
+ public virtual void PreprocessMouseMove(MouseEventArgs e) { }
/// <summary>
/// Handles the mouse move event after the default handler.
/// </summary>
/// <param name="e">The event arguments.</param>
- public virtual void PostprocessMouseMove(MouseEvent e) { }
+ public virtual void PostprocessMouseMove(MouseEventArgs e) { }
/// <summary>
/// Handles the mouse wheel event before the default handler.
/// </summary>
/// <param name="e">The event arguments.</param>
- public virtual void PreprocessMouseWheel(MouseEvent e) { }
+ public virtual void PreprocessMouseWheel(MouseEventArgs e) { }
/// <summary>
/// Handles the mouse wheel event after the default handler.
/// </summary>
/// <param name="e">The event arguments.</param>
- public virtual void PostprocessMouseWheel(MouseEvent e) { }
+ public virtual void PostprocessMouseWheel(MouseEventArgs e) { }
/// <summary>
/// Handles the mouse enter event before the default handler.
/// </summary>
/// <param name="e">The event arguments.</param>
- public virtual void PreprocessMouseEnter(MouseEvent e) { }
+ public virtual void PreprocessMouseEnter(MouseEventArgs e) { }
/// <summary>
/// Handles the mouse enter event after the default handler.
/// </summary>
/// <param name="e">The event arguments.</param>
- public virtual void PostprocessMouseEnter(MouseEvent e) { }
+ public virtual void PostprocessMouseEnter(MouseEventArgs e) { }
/// <summary>
/// Handles the mouse leave event before the default handler.
/// </summary>
/// <param name="e">The event arguments.</param>
- public virtual void PreprocessMouseLeave(MouseEvent e) { }
+ public virtual void PreprocessMouseLeave(MouseEventArgs e) { }
/// <summary>
/// Handles the mouse leave event after the default handler.
/// </summary>
/// <param name="e">The event arguments.</param>
- public virtual void PostprocessMouseLeave(MouseEvent e) { }
+ public virtual void PostprocessMouseLeave(MouseEventArgs e) { }
- public virtual void PreprocessDraggingEntered(DragEvent e) { }
- public virtual void PostprocessDraggingEntered(DragEvent e) { }
+ public virtual void PreprocessDraggingEntered(DragEventArgs e) { }
+ public virtual void PostprocessDraggingEntered(DragEventArgs e) { }
- public virtual void PreprocessDraggingUpdated(DragEvent e) { }
- public virtual void PostprocessDraggingUpdated(DragEvent e) { }
+ public virtual void PreprocessDraggingUpdated(DragEventArgs e) { }
+ public virtual void PostprocessDraggingUpdated(DragEventArgs e) { }
- public virtual void PreprocessDraggingExited(DragEvent e) { }
- public virtual void PostprocessDraggingExited(DragEvent e) { }
+ public virtual void PreprocessDraggingExited(DragEventArgs e) { }
+ public virtual void PostprocessDraggingExited(DragEventArgs e) { }
- public virtual void PreprocessPrepareForDragOperation(DragEvent e) { }
- public virtual void PostprocessPrepareForDragOperation(DragEvent e) { }
+ public virtual void PreprocessPrepareForDragOperation(DragEventArgs e) { }
+ public virtual void PostprocessPrepareForDragOperation(DragEventArgs e) { }
- public virtual void PreprocessPerformDragOperation(DragEvent e) { }
- public virtual void PostprocessPerformDragOperation(DragEvent e) { }
+ public virtual void PreprocessPerformDragOperation(DragEventArgs e) { }
+ public virtual void PostprocessPerformDragOperation(DragEventArgs e) { }
- public virtual void PreprocessDraggingEnded(DragEvent e) { }
- public virtual void PostprocessDraggingEnded(DragEvent e) { }
+ public virtual void PreprocessDraggingEnded(DragEventArgs e) { }
+ public virtual void PostprocessDraggingEnded(DragEventArgs e) { }
#endregion
}
diff --git a/src/Editor/Text/Def/TextUICocoa/Input/DragEvent.cs b/src/Editor/Text/Def/TextUICocoa/Input/DragEventArgs.cs
index dcc197d..cf09205 100644
--- a/src/Editor/Text/Def/TextUICocoa/Input/DragEvent.cs
+++ b/src/Editor/Text/Def/TextUICocoa/Input/DragEventArgs.cs
@@ -3,7 +3,7 @@ using AppKit;
namespace Microsoft.VisualStudio.Text.Editor
{
- public sealed class DragEvent
+ public sealed class DragEventArgs : EventArgs
{
/// <summary>
/// The dragginginfo thas is being processed.
@@ -20,7 +20,7 @@ namespace Microsoft.VisualStudio.Text.Editor
/// </summary>
public bool Handled { get; set; }
- public DragEvent(NSDraggingInfo draggingInfo)
+ public DragEventArgs(NSDraggingInfo draggingInfo)
{
DraggingInfo = draggingInfo;
}
diff --git a/src/Editor/Text/Def/TextUICocoa/Input/ICocoaMouseProcessor.cs b/src/Editor/Text/Def/TextUICocoa/Input/ICocoaMouseProcessor.cs
index c6969cd..5bf2514 100644
--- a/src/Editor/Text/Def/TextUICocoa/Input/ICocoaMouseProcessor.cs
+++ b/src/Editor/Text/Def/TextUICocoa/Input/ICocoaMouseProcessor.cs
@@ -16,7 +16,7 @@ namespace Microsoft.VisualStudio.Text.Editor
/// <param name="e">
/// Event arguments that describe the event.
/// </param>
- void PreprocessMouseLeftButtonDown(MouseEvent e);
+ void PreprocessMouseLeftButtonDown(MouseEventArgs e);
/// <summary>
/// Handles a mouse left button down event after the default handler.
@@ -24,7 +24,7 @@ namespace Microsoft.VisualStudio.Text.Editor
/// <param name="e">
/// Event arguments that describe the event.
/// </param>
- void PostprocessMouseLeftButtonDown(MouseEvent e);
+ void PostprocessMouseLeftButtonDown(MouseEventArgs e);
/// <summary>
/// Handles a mouse right button down event before the default handler.
@@ -32,7 +32,7 @@ namespace Microsoft.VisualStudio.Text.Editor
/// <param name="e">
/// Event arguments that describe the event.
/// </param>
- void PreprocessMouseRightButtonDown(MouseEvent e);
+ void PreprocessMouseRightButtonDown(MouseEventArgs e);
/// <summary>
/// Handles a mouse right button down event after the default handler.
@@ -40,7 +40,7 @@ namespace Microsoft.VisualStudio.Text.Editor
/// <param name="e">
/// Event arguments that describe the event.
/// </param>
- void PostprocessMouseRightButtonDown(MouseEvent e);
+ void PostprocessMouseRightButtonDown(MouseEventArgs e);
/// <summary>
/// Handles a mouse left button up event before the default handler.
@@ -48,7 +48,7 @@ namespace Microsoft.VisualStudio.Text.Editor
/// <param name="e">
/// Event arguments that describe the event.
/// </param>
- void PreprocessMouseLeftButtonUp(MouseEvent e);
+ void PreprocessMouseLeftButtonUp(MouseEventArgs e);
/// <summary>
/// Handles a mouse left button up event after the default handler.
@@ -56,7 +56,7 @@ namespace Microsoft.VisualStudio.Text.Editor
/// <param name="e">
/// Event arguments that describe the event.
/// </param>
- void PostprocessMouseLeftButtonUp(MouseEvent e);
+ void PostprocessMouseLeftButtonUp(MouseEventArgs e);
/// <summary>
/// Handles a mouse right button up event before the default handler.
@@ -64,7 +64,7 @@ namespace Microsoft.VisualStudio.Text.Editor
/// <param name="e">
/// Event arguments that describe the event.
/// </param>
- void PreprocessMouseRightButtonUp(MouseEvent e);
+ void PreprocessMouseRightButtonUp(MouseEventArgs e);
/// <summary>
/// Handles a mouse right button up event after the default handler.
@@ -72,7 +72,7 @@ namespace Microsoft.VisualStudio.Text.Editor
/// <param name="e">
/// Event arguments that describe the event.
/// </param>
- void PostprocessMouseRightButtonUp(MouseEvent e);
+ void PostprocessMouseRightButtonUp(MouseEventArgs e);
/// <summary>
/// Handles a mouse up event before the default handler.
@@ -80,7 +80,7 @@ namespace Microsoft.VisualStudio.Text.Editor
/// <param name="e">
/// Event arguments that describe the event.
/// </param>
- void PreprocessMouseUp(MouseEvent e);
+ void PreprocessMouseUp(MouseEventArgs e);
/// <summary>
/// Handles a mouse up event after the default handler.
@@ -88,7 +88,7 @@ namespace Microsoft.VisualStudio.Text.Editor
/// <param name="e">
/// Event arguments that describe the event.
/// </param>
- void PostprocessMouseUp(MouseEvent e);
+ void PostprocessMouseUp(MouseEventArgs e);
/// <summary>
/// Handles a mouse down event before the default handler.
@@ -96,7 +96,7 @@ namespace Microsoft.VisualStudio.Text.Editor
/// <param name="e">
/// Event arguments that describe the event.
/// </param>
- void PreprocessMouseDown(MouseEvent e);
+ void PreprocessMouseDown(MouseEventArgs e);
/// <summary>
/// Handles a mouse down event after the default handler.
@@ -104,7 +104,7 @@ namespace Microsoft.VisualStudio.Text.Editor
/// <param name="e">
/// Event arguments that describe the event.
/// </param>
- void PostprocessMouseDown(MouseEvent e);
+ void PostprocessMouseDown(MouseEventArgs e);
/// <summary>
/// Handles a mouse move event before the default handler.
@@ -112,7 +112,7 @@ namespace Microsoft.VisualStudio.Text.Editor
/// <param name="e">
/// Event arguments that describe the event.
/// </param>
- void PreprocessMouseMove(MouseEvent e);
+ void PreprocessMouseMove(MouseEventArgs e);
/// <summary>
/// Handles a mouse move event after the default handler.
@@ -120,7 +120,7 @@ namespace Microsoft.VisualStudio.Text.Editor
/// <param name="e">
/// Event arguments that describe the event.
/// </param>
- void PostprocessMouseMove(MouseEvent e);
+ void PostprocessMouseMove(MouseEventArgs e);
/// <summary>
/// Handles a mouse wheel event before the default handler.
@@ -128,7 +128,7 @@ namespace Microsoft.VisualStudio.Text.Editor
/// <param name="e">
/// Event arguments that describe the event.
/// </param>
- void PreprocessMouseWheel(MouseEvent e);
+ void PreprocessMouseWheel(MouseEventArgs e);
/// <summary>
/// Handles a mouse wheel event after the default handler.
@@ -136,7 +136,7 @@ namespace Microsoft.VisualStudio.Text.Editor
/// <param name="e">
/// Event arguments that describe the event.
/// </param>
- void PostprocessMouseWheel(MouseEvent e);
+ void PostprocessMouseWheel(MouseEventArgs e);
/// <summary>
/// Handles a mouse enter event before the default handler.
@@ -144,7 +144,7 @@ namespace Microsoft.VisualStudio.Text.Editor
/// <param name="e">
/// Event arguments that describe the event.
/// </param>
- void PreprocessMouseEnter(MouseEvent e);
+ void PreprocessMouseEnter(MouseEventArgs e);
/// <summary>
/// Handles a mouse enter event after the default handler.
@@ -152,7 +152,7 @@ namespace Microsoft.VisualStudio.Text.Editor
/// <param name="e">
/// Event arguments that describe the event.
/// </param>
- void PostprocessMouseEnter(MouseEvent e);
+ void PostprocessMouseEnter(MouseEventArgs e);
/// <summary>
/// Handles a mouse leave event before the default handler.
@@ -160,7 +160,7 @@ namespace Microsoft.VisualStudio.Text.Editor
/// <param name="e">
/// Event arguments that describe the event.
/// </param>
- void PreprocessMouseLeave(MouseEvent e);
+ void PreprocessMouseLeave(MouseEventArgs e);
/// <summary>
/// Handles a mouse leave event after the default handler.
@@ -168,24 +168,24 @@ namespace Microsoft.VisualStudio.Text.Editor
/// <param name="e">
/// Event arguments that describe the event.
/// </param>
- void PostprocessMouseLeave(MouseEvent e);
+ void PostprocessMouseLeave(MouseEventArgs e);
- void PreprocessDraggingEntered(DragEvent e);
- void PostprocessDraggingEntered(DragEvent e);
+ void PreprocessDraggingEntered(DragEventArgs e);
+ void PostprocessDraggingEntered(DragEventArgs e);
- void PreprocessDraggingUpdated(DragEvent e);
- void PostprocessDraggingUpdated(DragEvent e);
+ void PreprocessDraggingUpdated(DragEventArgs e);
+ void PostprocessDraggingUpdated(DragEventArgs e);
- void PreprocessDraggingExited(DragEvent e);
- void PostprocessDraggingExited(DragEvent e);
+ void PreprocessDraggingExited(DragEventArgs e);
+ void PostprocessDraggingExited(DragEventArgs e);
- void PreprocessPrepareForDragOperation(DragEvent e);
- void PostprocessPrepareForDragOperation(DragEvent e);
+ void PreprocessPrepareForDragOperation(DragEventArgs e);
+ void PostprocessPrepareForDragOperation(DragEventArgs e);
- void PreprocessPerformDragOperation(DragEvent e);
- void PostprocessPerformDragOperation(DragEvent e);
+ void PreprocessPerformDragOperation(DragEventArgs e);
+ void PostprocessPerformDragOperation(DragEventArgs e);
- void PreprocessDraggingEnded(DragEvent e);
- void PostprocessDraggingEnded(DragEvent e);
+ void PreprocessDraggingEnded(DragEventArgs e);
+ void PostprocessDraggingEnded(DragEventArgs e);
}
} \ No newline at end of file
diff --git a/src/Editor/Text/Def/TextUICocoa/Input/InputEvent.cs b/src/Editor/Text/Def/TextUICocoa/Input/InputEventArgs.cs
index 7aeee02..6603af3 100644
--- a/src/Editor/Text/Def/TextUICocoa/Input/InputEvent.cs
+++ b/src/Editor/Text/Def/TextUICocoa/Input/InputEventArgs.cs
@@ -13,7 +13,7 @@ namespace Microsoft.VisualStudio.Text.Editor
/// Base class wrapping a native <see cref="NSEvent"/> input event
/// that allows for indicating that the event has been handled.
/// </summary>
- public abstract class InputEvent
+ public abstract class InputEventArgs : EventArgs
{
/// <summary>
/// The event thas is being processed.
@@ -21,11 +21,26 @@ namespace Microsoft.VisualStudio.Text.Editor
public NSEvent Event { get; }
/// <summary>
+ /// The type of event that is being processed.
+ /// </summary>
+ public NSEventType Type => Event.Type;
+
+ /// <summary>
+ /// Modifier flags for the event.
+ /// </summary>
+ public NSEventModifierMask ModifierFlags => Event.ModifierFlags;
+
+ /// <summary>
+ /// Destination window for the event.
+ /// </summary>
+ public NSWindow Window => Event.Window;
+
+ /// <summary>
/// Whether or not this event has been handled.
/// </summary>
public bool Handled { get; set; }
- private protected InputEvent(NSEvent @event)
+ private protected InputEventArgs(NSEvent @event)
=> Event = @event ?? throw new ArgumentNullException(nameof(@event));
}
} \ No newline at end of file
diff --git a/src/Editor/Text/Def/TextUICocoa/Input/KeyEvent.cs b/src/Editor/Text/Def/TextUICocoa/Input/KeyEventArgs.cs
index eab7599..620fdcf 100644
--- a/src/Editor/Text/Def/TextUICocoa/Input/KeyEvent.cs
+++ b/src/Editor/Text/Def/TextUICocoa/Input/KeyEventArgs.cs
@@ -14,9 +14,19 @@ namespace Microsoft.VisualStudio.Text.Editor
/// <see cref="NSEventType.KeyDown"/>, and <see cref="NSEventType.FlagsChanged"/>
/// events.
/// </summary>
- public sealed class KeyEvent : InputEvent
+ public sealed class KeyEventArgs : InputEventArgs
{
- internal KeyEvent(NSEvent @event) : base(@event)
+ /// <summary>
+ /// The characters associated with a key-up or key-down event.
+ /// </summary>
+ public string Characters => Event.Characters;
+
+ /// <summary>
+ /// The characters generated by a key event as if no modifier key (except for Shift) applies.
+ /// </summary>
+ public string CharactersIgnoringModifiers => Event.CharactersIgnoringModifiers;
+
+ internal KeyEventArgs(NSEvent @event) : base(@event)
{
switch (@event.Type)
{
diff --git a/src/Editor/Text/Def/TextUICocoa/Input/KeyProcessor.cs b/src/Editor/Text/Def/TextUICocoa/Input/KeyProcessor.cs
index c45269f..2208734 100644
--- a/src/Editor/Text/Def/TextUICocoa/Input/KeyProcessor.cs
+++ b/src/Editor/Text/Def/TextUICocoa/Input/KeyProcessor.cs
@@ -25,7 +25,7 @@ namespace Microsoft.VisualStudio.Text.Editor
/// <param name="e">
/// Event arguments that describe the event.
/// </param>
- public virtual void KeyDown(KeyEvent e)
+ public virtual void KeyDown(KeyEventArgs e)
{
}
@@ -35,7 +35,7 @@ namespace Microsoft.VisualStudio.Text.Editor
/// <param name="e">
/// Event arguments that describe the event.
/// </param>
- public virtual void KeyUp(KeyEvent e)
+ public virtual void KeyUp(KeyEventArgs e)
{
}
@@ -45,7 +45,7 @@ namespace Microsoft.VisualStudio.Text.Editor
/// <param name="e">
/// Event arguments that describe the event.
/// </param>
- public virtual void FlagsChanged(KeyEvent e)
+ public virtual void FlagsChanged(KeyEventArgs e)
{
}
}
diff --git a/src/Editor/Text/Def/TextUICocoa/Input/MouseEvent.cs b/src/Editor/Text/Def/TextUICocoa/Input/MouseEvent.cs
deleted file mode 100644
index f98aa64..0000000
--- a/src/Editor/Text/Def/TextUICocoa/Input/MouseEvent.cs
+++ /dev/null
@@ -1,20 +0,0 @@
-//
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License. See License.txt in the project root for license information.
-//
-
-using AppKit;
-
-namespace Microsoft.VisualStudio.Text.Editor
-{
- /// <summary>
- /// A native <see cref="NSEvent"/> mouse input event that
- /// allows for indicating that the event has been handled.
- /// </summary>
- public sealed class MouseEvent : InputEvent
- {
- internal MouseEvent(NSEvent @event) : base(@event)
- {
- }
- }
-} \ No newline at end of file
diff --git a/src/Editor/Text/Def/TextUICocoa/Input/MouseEventArgs.cs b/src/Editor/Text/Def/TextUICocoa/Input/MouseEventArgs.cs
new file mode 100644
index 0000000..dbe903b
--- /dev/null
+++ b/src/Editor/Text/Def/TextUICocoa/Input/MouseEventArgs.cs
@@ -0,0 +1,31 @@
+//
+// Copyright (c) Microsoft Corporation. All rights reserved.
+// Licensed under the MIT License. See License.txt in the project root for license information.
+//
+
+using AppKit;
+using CoreGraphics;
+
+namespace Microsoft.VisualStudio.Text.Editor
+{
+ /// <summary>
+ /// A native <see cref="NSEvent"/> mouse input event that
+ /// allows for indicating that the event has been handled.
+ /// </summary>
+ public sealed class MouseEventArgs : InputEventArgs
+ {
+ /// <summary>
+ /// The number of mouse clicks associated with a mouse-down or mouse-up event.
+ /// </summary>
+ public int ClickCount => (int)Event.ClickCount;
+
+ /// <summary>
+ /// Location of the mouse in window coordinates.
+ /// </summary>
+ public CGPoint LocationInWindow => Event.LocationInWindow;
+
+ internal MouseEventArgs(NSEvent @event) : base(@event)
+ {
+ }
+ }
+} \ No newline at end of file
diff --git a/src/Editor/Text/Util/TextUIUtil/WpfHelper.cs b/src/Editor/Text/Util/TextUIUtil/WpfHelper.cs
index 65219ac..1edab1d 100644
--- a/src/Editor/Text/Util/TextUIUtil/WpfHelper.cs
+++ b/src/Editor/Text/Util/TextUIUtil/WpfHelper.cs
@@ -14,7 +14,6 @@ namespace Microsoft.VisualStudio.Text.Utilities
using System.Security;
using System.Text;
using System.Windows;
- using System.Windows.Input;
using System.Windows.Interop;
using System.Windows.Media;