Browse Source

fix ime implementations with new api.

pull/7781/head
Dan Walmsley 4 years ago
parent
commit
9871144d3f
  1. 2
      src/Avalonia.FreeDesktop/DBusIme/IBus/IBusX11TextInputMethod.cs
  2. 2
      src/Avalonia.Input/ApiCompatBaseline.txt
  3. 7
      src/Avalonia.X11/X11Window.Xim.cs
  4. 4
      src/Web/Avalonia.Web.Blazor/AvaloniaView.razor.cs
  5. 6
      src/Windows/Avalonia.Win32/Input/Imm32InputMethod.cs

2
src/Avalonia.FreeDesktop/DBusIme/IBus/IBusX11TextInputMethod.cs

@ -97,7 +97,7 @@ namespace Avalonia.FreeDesktop.DBusIme.IBus
return _context.ProcessKeyEventAsync((uint)keyVal, (uint)keyCode, (uint)state);
}
public override void SetOptions(TextInputOptionsQueryEventArgs options)
public override void SetOptions(TextInputOptions options)
{
// No-op, because ibus
}

2
src/Avalonia.Input/ApiCompatBaseline.txt

@ -13,9 +13,9 @@ MembersMustExist : Member 'public void Avalonia.Input.InputElement.add_TextInput
MembersMustExist : Member 'public void Avalonia.Input.InputElement.remove_DoubleTapped(System.EventHandler<Avalonia.Interactivity.RoutedEventArgs>)' does not exist in the implementation but it does exist in the contract.
MembersMustExist : Member 'public void Avalonia.Input.InputElement.remove_Tapped(System.EventHandler<Avalonia.Interactivity.RoutedEventArgs>)' does not exist in the implementation but it does exist in the contract.
MembersMustExist : Member 'public void Avalonia.Input.InputElement.remove_TextInputOptionsQuery(System.EventHandler<Avalonia.Input.TextInput.TextInputOptionsQueryEventArgs>)' does not exist in the implementation but it does exist in the contract.
InterfacesShouldHaveSameMembers : Interface member 'public void Avalonia.Input.TextInput.ITextInputMethodImpl.SetActive(Avalonia.Input.TextInput.ITextInputMethodClient)' is present in the implementation but not in the contract.
InterfacesShouldHaveSameMembers : Interface member 'public void Avalonia.Input.TextInput.ITextInputMethodImpl.SetActive(System.Boolean)' is present in the contract but not in the implementation.
MembersMustExist : Member 'public void Avalonia.Input.TextInput.ITextInputMethodImpl.SetActive(System.Boolean)' does not exist in the implementation but it does exist in the contract.
InterfacesShouldHaveSameMembers : Interface member 'public void Avalonia.Input.TextInput.ITextInputMethodImpl.SetClient(Avalonia.Input.TextInput.ITextInputMethodClient)' is present in the implementation but not in the contract.
InterfacesShouldHaveSameMembers : Interface member 'public void Avalonia.Input.TextInput.ITextInputMethodImpl.SetOptions(Avalonia.Input.TextInput.TextInputOptions)' is present in the implementation but not in the contract.
InterfacesShouldHaveSameMembers : Interface member 'public void Avalonia.Input.TextInput.ITextInputMethodImpl.SetOptions(Avalonia.Input.TextInput.TextInputOptionsQueryEventArgs)' is present in the contract but not in the implementation.
MembersMustExist : Member 'public void Avalonia.Input.TextInput.ITextInputMethodImpl.SetOptions(Avalonia.Input.TextInput.TextInputOptionsQueryEventArgs)' does not exist in the implementation but it does exist in the contract.

7
src/Avalonia.X11/X11Window.Xim.cs

@ -10,7 +10,6 @@ namespace Avalonia.X11
{
partial class X11Window
{
class XimInputMethod : ITextInputMethodImpl, IX11InputMethodControl
{
private readonly X11Window _parent;
@ -58,9 +57,9 @@ namespace Avalonia.X11
UpdateActive();
}
public void SetActive(bool active)
public void SetClient(ITextInputMethodClient client)
{
_controlActive = active;
_controlActive = client is { };
UpdateActive();
}
@ -87,7 +86,7 @@ namespace Avalonia.X11
// No-op
}
public void SetOptions(TextInputOptionsQueryEventArgs options)
public void SetOptions(TextInputOptions options)
{
// No-op
}

4
src/Web/Avalonia.Web.Blazor/AvaloniaView.razor.cs

@ -367,10 +367,12 @@ namespace Avalonia.Web.Blazor
}
}
public void SetActive(bool active)
public void SetClient(ITextInputMethodClient? client)
{
_inputHelper.Clear();
var active = client is { };
if (active)
{
_inputHelper.Show();

6
src/Windows/Avalonia.Win32/Input/Imm32InputMethod.cs

@ -74,12 +74,12 @@ namespace Avalonia.Win32.Input
}
}
public void SetActive(bool active)
public void SetClient(ITextInputMethodClient client)
{
_active = active;
_active = client is { };
Dispatcher.UIThread.Post(() =>
{
if (active)
if (_active)
{
if (DefaultImc != IntPtr.Zero)
{

Loading…
Cancel
Save