46 return (
HRESULT) UIA_E_ELEMENTNOTAVAILABLE;
68 const auto state =
getHandler().getCurrentState();
69 *pRetVal =
isRadioButton ? state.isChecked() : state.isSelected();
80 parent->getNativeImplementation()->QueryInterface (IID_PPV_ARGS (pRetVal));
89 return (
HRESULT) UIA_E_ELEMENTNOTAVAILABLE;
95 if (
handler.getCurrentState().isSelected())
105 return (
HRESULT) UIA_E_ELEMENTNOTAVAILABLE;
114 for (
auto* child :
parent->getChildren())
115 if (child != &
handler && child->getCurrentState().isSelected())
139 if (iid ==
__uuidof (IUnknown) || iid ==
__uuidof (ComTypes::ISelectionProvider))
142 if (iid ==
__uuidof (ComTypes::ISelectionProvider2))
146 return E_NOINTERFACE;
183 if (! selectedChildren.empty())
184 selectedChildren.front()->getNativeImplementation()->QueryInterface (IID_PPV_ARGS (pRetVal));
196 if (! selectedChildren.empty())
197 selectedChildren.back()->getNativeImplementation()->QueryInterface (IID_PPV_ARGS (pRetVal));
224 return getHandler().getCurrentState().isMultiSelectable();
229 std::vector<const AccessibilityHandler*> selectedHandlers;
231 for (
auto* child :
getHandler().getComponent().getChildren())
232 if (
auto*
handler = child->getAccessibilityHandler())
233 if (
handler->getCurrentState().isSelected())
234 selectedHandlers.push_back (
handler);
236 return selectedHandlers;
#define noexcept
Definition DistrhoDefines.h:72
Definition juce_android_Accessibility.cpp:207
JUCE_COMRESULT castToType(void **result)
Definition juce_win32_ComSmartPtr.h:186
ComBaseClassHelper(unsigned int initialRefCount=1)
Definition juce_win32_ComSmartPtr.h:203
const AccessibilityHandler & getHandler() const
Definition juce_win32_UIAProviderBase.h:46
UIAProviderBase(AccessibilityNativeHandle *nativeHandleIn)
Definition juce_win32_UIAProviderBase.h:33
bool isElementValid() const
Definition juce_win32_UIAProviderBase.h:38
JUCE_COMRESULT RemoveFromSelection() override
Definition juce_win32_UIASelectionProvider.h:86
JUCE_COMRESULT get_SelectionContainer(IRawElementProviderSimple **pRetVal) override
Definition juce_win32_UIASelectionProvider.h:74
JUCE_COMRESULT get_IsSelected(BOOL *pRetVal) override
Definition juce_win32_UIASelectionProvider.h:64
UIASelectionItemProvider(AccessibilityNativeHandle *handle)
Definition juce_win32_UIASelectionProvider.h:36
const bool isRadioButton
Definition juce_win32_UIASelectionProvider.h:123
JUCE_COMRESULT AddToSelection() override
Definition juce_win32_UIASelectionProvider.h:43
JUCE_COMRESULT Select() override
Definition juce_win32_UIASelectionProvider.h:102
Definition juce_win32_UIASelectionProvider.h:132
JUCE_COMRESULT get_FirstSelectedItem(IRawElementProviderSimple **pRetVal) override
Definition juce_win32_UIASelectionProvider.h:177
JUCE_COMRESULT GetSelection(SAFEARRAY **pRetVal) override
Definition juce_win32_UIASelectionProvider.h:168
std::vector< const AccessibilityHandler * > getSelectedChildren() const
Definition juce_win32_UIASelectionProvider.h:227
JUCE_COMRESULT get_ItemCount(int *pRetVal) override
Definition juce_win32_UIASelectionProvider.h:212
JUCE_COMRESULT get_IsSelectionRequired(BOOL *pRetVal) override
Definition juce_win32_UIASelectionProvider.h:159
JUCE_COMRESULT get_LastSelectedItem(IRawElementProviderSimple **pRetVal) override
Definition juce_win32_UIASelectionProvider.h:190
JUCE_COMRESULT QueryInterface(REFIID iid, void **result) override
Definition juce_win32_UIASelectionProvider.h:137
bool isMultiSelectable() const noexcept
Definition juce_win32_UIASelectionProvider.h:222
JUCE_COMRESULT get_CurrentSelectedItem(IRawElementProviderSimple **pRetVal) override
Definition juce_win32_UIASelectionProvider.h:203
JUCE_COMRESULT get_CanSelectMultiple(BOOL *pRetVal) override
Definition juce_win32_UIASelectionProvider.h:150
UIAProviderBase(AccessibilityNativeHandle *nativeHandleIn)
Definition juce_win32_UIAProviderBase.h:33
static uintptr_t parent
Definition pugl.h:1644
#define JUCE_BEGIN_IGNORE_WARNINGS_GCC_LIKE(...)
Definition juce_CompilerWarnings.h:181
#define JUCE_END_IGNORE_WARNINGS_GCC_LIKE
Definition juce_CompilerWarnings.h:182
#define JUCE_COMRESULT
Definition juce_win32_ComSmartPtr.h:54
#define __uuidof(x)
Definition juce_win32_ComSmartPtr.h:32
Definition juce_win32_ComInterfaces.h:29
const long UIA_SelectionItem_ElementSelectedEventId
Definition juce_win32_ComInterfaces.h:142
Definition carla_juce.cpp:31
JUCE_COMRESULT withCheckedComArgs(Value *pRetVal, Object &handle, Callback &&callback)
Definition juce_win32_UIAHelpers.h:106
@ toggle
Definition juce_AccessibilityActions.h:47
@ press
Definition juce_AccessibilityActions.h:40
void sendAccessibilityAutomationEvent(const AccessibilityHandler &handler, EVENTID event)
Definition juce_win32_Accessibility.cpp:133
AccessibilityRole
Definition juce_AccessibilityRole.h:37
@ radioButton
Definition juce_AccessibilityRole.h:40
JUCE_COMRESULT addHandlersToArray(const std::vector< const AccessibilityHandler * > &handlers, SAFEARRAY **pRetVal)
Definition juce_win32_UIAHelpers.h:75
#define S_OK
Definition swell-types.h:53
signed int HRESULT
Definition swell-types.h:181
signed char BOOL
Definition swell-types.h:160
void handler(int signal)
Definition fileio.c:1632
int result
Definition process.c:1455
typedef int(UZ_EXP MsgFn)()
#define const
Definition zconf.h:137