Browse Source

Implement accessibilityPlaceholderValue.

pull/11519/head
Steven Kirk 3 years ago
parent
commit
99eaa8960f
  1. 7
      native/Avalonia.Native/src/OSX/automation.mm
  2. 2
      src/Avalonia.Native/AvnAutomationPeer.cs
  3. 1
      src/Avalonia.Native/avn.idl

7
native/Avalonia.Native/src/OSX/automation.mm

@ -438,6 +438,13 @@ private:
return [super accessibilityNumberOfCharacters]; return [super accessibilityNumberOfCharacters];
} }
- (NSString *)accessibilityPlaceholderValue
{
if (_peer->IsTextProvider())
return GetNSStringAndRelease(_peer->TextProvider_GetPlaceholderText());
return [super accessibilityPlaceholderValue];
}
- (NSRange)accessibilityRangeForLine:(NSInteger)line - (NSRange)accessibilityRangeForLine:(NSInteger)line
{ {
if (_peer->IsTextProvider()) if (_peer->IsTextProvider())

2
src/Avalonia.Native/AvnAutomationPeer.cs

@ -160,6 +160,8 @@ namespace Avalonia.Native
*start = range.Start; *start = range.Start;
*length = range.Length; *length = range.Length;
} }
public IAvnString TextProvider_GetPlaceholderText() => ((ITextProvider)_inner).PlaceholderText.ToAvnString();
public IAvnString TextProvider_GetSelectedText() public IAvnString TextProvider_GetSelectedText()
{ {

1
src/Avalonia.Native/avn.idl

@ -919,6 +919,7 @@ interface IAvnAutomationPeer : IUnknown
int TextProvider_GetCaretLineNumber(); int TextProvider_GetCaretLineNumber();
int TextProvider_GetLineForIndex(int index); int TextProvider_GetLineForIndex(int index);
void TextProvider_GetLineRange(int lineIndex, int* start, int* length); void TextProvider_GetLineRange(int lineIndex, int* start, int* length);
IAvnString* TextProvider_GetPlaceholderText();
IAvnString* TextProvider_GetText(int start, int length); IAvnString* TextProvider_GetText(int start, int length);
int TextProvider_GetTextLength(); int TextProvider_GetTextLength();
IAvnString* TextProvider_GetSelectedText(); IAvnString* TextProvider_GetSelectedText();

Loading…
Cancel
Save