UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
WindowsUIAControlProvider.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#if WITH_ACCESSIBILITY && UE_WINDOWS_USING_UIA
6
9
12
19 , public ITextRangeProvider
20{
21public:
23
24 // IUnknown
25 HRESULT STDCALL QueryInterface(REFIID riid, void** ppInterface) override;
26 ULONG STDCALL AddRef() override;
27 ULONG STDCALL Release() override;
28 // ~
29
30 // ITextRangeProvider
31 virtual HRESULT STDCALL Clone(ITextRangeProvider** pRetVal) override;
32 virtual HRESULT STDCALL Compare(ITextRangeProvider* range, BOOL* pRetVal) override;
34 virtual HRESULT STDCALL ExpandToEnclosingUnit(TextUnit unit) override;
35 virtual HRESULT STDCALL FindAttribute(TEXTATTRIBUTEID attributeId, VARIANT val, BOOL backward, ITextRangeProvider** pRetVal) override;
36 virtual HRESULT STDCALL FindText(BSTR text, BOOL backward, BOOL ignoreCase, ITextRangeProvider** pRetVal) override;
37 virtual HRESULT STDCALL GetAttributeValue(TEXTATTRIBUTEID attributeId, VARIANT* pRetVal) override;
40 virtual HRESULT STDCALL GetText(int maxLength, BSTR* pRetVal) override;
41 virtual HRESULT STDCALL Move(TextUnit unit, int count, int* pRetVal) override;
44 virtual HRESULT STDCALL Select() override;
45 virtual HRESULT STDCALL AddToSelection() override;
46 virtual HRESULT STDCALL RemoveFromSelection() override;
47 virtual HRESULT STDCALL ScrollIntoView(BOOL alignToTop) override;
48 virtual HRESULT STDCALL GetChildren(SAFEARRAY** pRetVal) override;
49 // ~
50
51protected:
57 FString TextFromTextRange();
58 static FString TextFromTextRange(const FString& InString, const FTextRange& InRange);
59
61 FTextRange TextRange;
62
63private:
65};
66
76 , public IInvokeProvider
77 , public IRangeValueProvider
78 , public ITextProvider
79 , public IToggleProvider
80 , public ITransformProvider
81 , public IValueProvider
82 , public IWindowProvider
83 , public ISelectionProvider
85{
86public:
88
89 // IUnknown
90 HRESULT STDCALL QueryInterface(REFIID riid, void** ppInterface) override;
91 ULONG STDCALL AddRef() override;
92 ULONG STDCALL Release() override;
93 // ~
94
95 // IInvokeProvider
96 virtual HRESULT STDCALL Invoke() override;
97 // ~
98
99 // IRangeValueProvider
100 virtual HRESULT STDCALL SetValue(double val) override;
101 virtual HRESULT STDCALL get_Value(double* pRetVal) override;
102 virtual HRESULT STDCALL get_IsReadOnly(BOOL* pRetVal) override;
103 virtual HRESULT STDCALL get_Maximum(double* pRetVal) override;
104 virtual HRESULT STDCALL get_Minimum(double* pRetVal) override;
105 virtual HRESULT STDCALL get_LargeChange(double* pRetVal) override;
106 virtual HRESULT STDCALL get_SmallChange(double* pRetVal) override;
107 // ~
108
109 // ITextProvider
112 virtual HRESULT STDCALL GetSelection(SAFEARRAY** pRetVal) override;
116 // ~
117
118 // IToggleState
120 virtual HRESULT STDCALL Toggle() override;
121 // ~
122
123 // ITransformProvider
124 virtual HRESULT STDCALL get_CanMove(BOOL *pRetVal) override;
125 virtual HRESULT STDCALL get_CanResize(BOOL *pRetVal) override;
126 virtual HRESULT STDCALL get_CanRotate(BOOL *pRetVal) override;
127 virtual HRESULT STDCALL Move(double x, double y) override;
128 virtual HRESULT STDCALL Resize(double width, double height) override;
129 virtual HRESULT STDCALL Rotate(double degrees) override;
130 // ~
131
132 // IValueProvider
133 virtual HRESULT STDCALL SetValue(LPCWSTR val) override;
134 virtual HRESULT STDCALL get_Value(BSTR* pRetVal) override;
135 //virtual HRESULT STDCALL get_IsReadOnly(BOOL* pRetVal) override; // Duplicate of IRangeValueProvider
136 // ~
137
138 // IWindowProvider
139 virtual HRESULT STDCALL Close() override;
140 virtual HRESULT STDCALL get_CanMaximize(BOOL* pRetVal) override;
141 virtual HRESULT STDCALL get_CanMinimize(BOOL* pRetVal) override;
142 virtual HRESULT STDCALL get_IsModal(BOOL* pRetVal) override;
143 virtual HRESULT STDCALL get_IsTopmost(BOOL* pRetVal) override;
146 virtual HRESULT STDCALL SetVisualState(WindowVisualState state) override;
147 virtual HRESULT STDCALL WaitForInputIdle(int milliseconds, BOOL* pRetVal) override;
148 // ~
149
150 // ISelectionProvider
151 //HRESULT STDMETHODCALLTYPE GetSelection(SAFEARRAY** pRetVal) override; // duplicate from ITextProvider. Implementation also there
154 // ~
155
156 // ISelectionItemProvider
157 virtual HRESULT STDMETHODCALLTYPE Select() override;
158 virtual HRESULT STDMETHODCALLTYPE AddToSelection() override;
160 virtual HRESULT STDMETHODCALLTYPE get_IsSelected(BOOL* pRetVal) override;
162 // ~
163private:
165};
166
167#endif
#define STDCALL
Definition AndroidPlatform.h:136
AUTORTFM_INFER UE_FORCEINLINE_HINT constexpr auto Invoke(FuncType &&Func, ArgTypes &&... Args) -> decltype(((FuncType &&) Func)((ArgTypes &&) Args...))
Definition Invoke.h:44
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
JsonWriter Close()
void Move(T &A, typename TMoveSupportTraits< T >::Copy B)
Definition UnrealTemplate.h:24
Definition SharedPointer.h:153
constexpr bool Compare(const InAT &InputA, const InBT &InputB, ProjectionT Projection, PredicateT Predicate)
Definition Compare.h:15
IAnalyticsPropertyStore::EStatusCode SetValue(TGetter &&GetterFn, TSetter &&SetterFn, const T &ProposedValue, TCompare &&ConditionFn)
Definition AnalyticsPropertyStore.cpp:34
Definition UnrealString.h:234