Skip to content

Commit

Permalink
Add extension to text editor that allows to inject automation peer th…
Browse files Browse the repository at this point in the history
…at represents IntelliSense suggesiton list and the currently selected suggestion - to allow screen narrators to read the suggestion.
  • Loading branch information
sloutsky committed Dec 27, 2021
1 parent 9eed87a commit 35ccb67
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 6 deletions.
6 changes: 3 additions & 3 deletions ICSharpCode.AvalonEdit/Editing/TextArea.cs
Original file line number Diff line number Diff line change
Expand Up @@ -1085,13 +1085,13 @@ public bool OverstrikeMode {

#endregion

#region AutomationPeer for IntelliSense
#region AutomationPeer override for CodeCompletion
/// <summary>
/// Gets or sets AutomationPeer instance used by IntelliSense.
/// Gets or sets AutomationPeer instance used by CodeCompletion.
/// CompletionWindow can use this property to inject AutomationPeer that reflects
/// the suggestion list and the value of the currently selected CompletionData item.
/// </summary>
public System.Windows.Automation.Peers.AutomationPeer ActiveIntelliSenseAutomationPeer { get; set; }
public System.Windows.Automation.Peers.AutomationPeer CodeCompletionAutomationPeer { get; set; }
#endregion

/// <inheritdoc/>
Expand Down
6 changes: 3 additions & 3 deletions ICSharpCode.AvalonEdit/Editing/TextRangeProvider.cs
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ public ITextRangeProvider Clone()
public bool Compare(ITextRangeProvider range)
{
TextRangeProvider other = (TextRangeProvider)range;
if (textArea.ActiveIntelliSenseAutomationPeer != null) {
if (textArea.CodeCompletionAutomationPeer != null) {
Log("{0}.Compare({1}) [ActiveIntelliSenseAutomationPeer != null]= false", ID, other.ID);
return false;
}
Expand Down Expand Up @@ -199,8 +199,8 @@ public IRawElementProviderSimple GetEnclosingElement()
public string GetText(int maxLength)
{
Log("{0}.GetText({1})", ID, maxLength);
if (textArea.ActiveIntelliSenseAutomationPeer != null) {
var result = textArea.ActiveIntelliSenseAutomationPeer.GetName();
if (textArea.CodeCompletionAutomationPeer != null) {
var result = textArea.CodeCompletionAutomationPeer.GetName();
Log("{0}.GetText({1}) --> {2}", ID, maxLength, result);
return result;
}
Expand Down

0 comments on commit 35ccb67

Please sign in to comment.