26#include <com/sun/star/accessibility/XAccessible.hpp>
27#include <com/sun/star/accessibility/XAccessibleSelection.hpp>
28#include <com/sun/star/accessibility/XAccessibleAction.hpp>
32#include <rtl/ustring.hxx>
35enum class XInterfaceType;
45 public CComObjectRoot,
46 public CComCoClass<CMAccessible, &CLSID_MAccessible>,
47 public IDispatchImpl<IMAccessible, &IID_IMAccessible, &LIBID_UACCCOMLib>,
48 public IServiceProvider,
59 DECLARE_GET_CONTROLLING_UNKNOWN()
61 DECLARE_PROTECT_FINAL_CONSTRUCT()
65 COM_INTERFACE_ENTRY(IAccessible)
67 COM_INTERFACE_ENTRY(IDispatch)
69 COM_INTERFACE_ENTRY(IServiceProvider)
70 COM_INTERFACE_ENTRY_FUNC_BLIND(0,SmartQI_)
72#pragma clang diagnostic push
73#pragma clang diagnostic ignored "-Winconsistent-missing-override"
77#pragma clang diagnostic pop
81 STDMETHOD(put_accValue)(VARIANT varChild,BSTR szValue)
override;
82 STDMETHOD(put_accName)(VARIANT varChild,BSTR szName)
override;
83 STDMETHOD(accDoDefaultAction)(VARIANT varChild)
override;
84 STDMETHOD(accHitTest)(
long xLeft,
long yTop,VARIANT *pvarChild)
override;
85 STDMETHOD(accNavigate)(
long navDir,VARIANT varStart,VARIANT *pvarEndUpAt)
override;
86 STDMETHOD(accLocation)(
long *pxLeft,
long *pyTop,
long *pcxWidth,
long *pcyHeight,VARIANT varChild)
override;
87 STDMETHOD(accSelect)(
long flagsSelect,VARIANT varChild)
override;
88 STDMETHOD(get_accDefaultAction)( VARIANT varChild,BSTR *pszDefaultAction)
override;
89 STDMETHOD(get_accSelection)(VARIANT *pvarChildren)
override;
90 STDMETHOD(get_accFocus)(VARIANT *pvarChild)
override;
91 STDMETHOD(get_accKeyboardShortcut)( VARIANT varChild,BSTR *pszKeyboardShortcut)
override;
92 STDMETHOD(get_accHelpTopic)(BSTR *pszHelpFile,VARIANT varChild,
long *pidTopic)
override;
93 STDMETHOD(get_accHelp)(VARIANT varChild,BSTR *pszHelp)
override;
94 STDMETHOD(get_accState)(VARIANT varChild,VARIANT *pvarState)
override;
95 STDMETHOD(get_accRole)(VARIANT varChild,VARIANT *pvarRole)
override;
96 STDMETHOD(get_accDescription)(VARIANT varChild,BSTR *pszDescription)
override;
97 STDMETHOD(get_accValue)( VARIANT varChild,BSTR *pszValue)
override;
98 STDMETHOD(get_accName)(VARIANT varChild,BSTR *pszName)
override;
99 STDMETHOD(get_accChild)(VARIANT varChild,IDispatch **ppdispChild)
override;
100 STDMETHOD(get_accChildCount)(
long *pcountChildren)
override;
101 STDMETHOD(get_accParent)( IDispatch **ppdispParent)
override;
105 STDMETHOD(get_nRelations)(
long __RPC_FAR *nRelations)
override;
106 STDMETHOD(get_relation)(
long relationIndex,
IAccessibleRelation __RPC_FAR *__RPC_FAR *relation)
override;
107 STDMETHOD(get_relations)(
long maxRelations,
IAccessibleRelation __RPC_FAR *__RPC_FAR *relation,
long __RPC_FAR *nRelations)
override;
108 STDMETHOD(role)(
long __RPC_FAR *role)
override;
109 STDMETHOD(get_nActions)(
long __RPC_FAR *nActions);
112 STDMETHOD(get_groupPosition)(
long __RPC_FAR *groupLevel,
long __RPC_FAR *similarItemsInGroup,
long __RPC_FAR *positionInGroup)
override;
114 STDMETHOD(get_extendedRole)( BSTR __RPC_FAR *extendedRole )
override;
115 STDMETHOD(get_localizedExtendedRole)( BSTR __RPC_FAR *localizedExtendedRole )
override;
116 STDMETHOD(get_nExtendedStates)(
long __RPC_FAR *nExtendedStates)
override;
117 STDMETHOD(get_extendedStates)(
long maxExtendedStates, BSTR __RPC_FAR *__RPC_FAR *extendedStates,
long __RPC_FAR *nExtendedStates)
override;
118 STDMETHOD(get_localizedExtendedStates)(
long maxLocalizedExtendedStates,BSTR __RPC_FAR *__RPC_FAR *localizedExtendedStates,
long __RPC_FAR *nLocalizedExtendedStates)
override;
119 STDMETHOD(get_uniqueID)(
long __RPC_FAR *uniqueID)
override;
120 STDMETHOD(get_windowHandle)(HWND __RPC_FAR *windowHandle)
override;
121 STDMETHOD(get_indexInParent)(
long __RPC_FAR *accParentIndex )
override;
122 STDMETHOD(get_locale)(
IA2Locale __RPC_FAR *locale )
override;
123 STDMETHOD(get_attributes)( BSTR *pAttr)
override;
126 STDMETHOD(QueryService)(REFGUID guidService, REFIID riid,
void** ppvObject)
override;
129 STDMETHOD(get_appName)(BSTR __RPC_FAR *
name)
override;
130 STDMETHOD(get_appVersion)(BSTR __RPC_FAR *version)
override;
131 STDMETHOD(get_toolkitName)(BSTR __RPC_FAR *
name)
override;
132 STDMETHOD(get_toolkitVersion)(BSTR __RPC_FAR *version)
override;
138 STDMETHOD(Put_XAccName)(
const OLECHAR __RPC_FAR *pszName)
override;
139 STDMETHOD(Put_XAccRole)(
unsigned short pRole)
override;
140 STDMETHOD(DecreaseState)(DWORD pXSate)
override;
141 STDMETHOD(IncreaseState)(DWORD pXSate)
override;
142 STDMETHOD(SetState)(DWORD pXSate)
override;
143 STDMETHOD(Put_XAccValue)(
const OLECHAR __RPC_FAR *pszAccValue)
override;
144 STDMETHOD(Put_XAccFocus)(
long dChildID)
override;
145 STDMETHOD(Put_XAccParent)(
IMAccessible __RPC_FAR *pIParent)
override;
146 STDMETHOD(Put_XAccWindowHandle)(HWND hwnd)
override;
147 STDMETHOD(Put_XAccChildID)(
long dChildID)
override;
148 STDMETHOD(Put_XAccAgent)(hyper pAgent)
override;
149 STDMETHOD(NotifyDestroy)()
override;
150 STDMETHOD(Put_ActionDescription)(
const OLECHAR* szAction)
override;
151 STDMETHOD(SetDefaultAction)(hyper pAction)
override;
152 STDMETHOD(GetUNOInterface)(hyper*)
override;
153 STDMETHOD(SetXAccessible)(hyper)
override;
182 css::uno::Reference<css::accessibility::XAccessibleAction>
m_xAction;
183 css::uno::Reference<css::accessibility::XAccessibleContext>
m_xContext;
189 IMAccessible* GetNavigateChildForDM(VARIANT varCur,
short flags);
190 HRESULT GetFirstChild(VARIANT varStart,VARIANT* pvarEndUpAt);
191 HRESULT GetLastChild(VARIANT varStart,VARIANT* pvarEndUpAt);
192 HRESULT GetNextSibling(VARIANT varStart,VARIANT* pvarEndUpAt);
193 HRESULT GetPreSibling(VARIANT varStart,VARIANT* pvarEndUpAt);
195 static css::accessibility::XAccessibleContext* GetContextByXAcc(
196 css::accessibility::XAccessible* pXAcc);
197 static bool GetXInterfaceFromXAccessible(css::accessibility::XAccessible*,
198 css::uno::XInterface**, XInterfaceType);
199 HRESULT WINAPI SmartQI(
void* pv, REFIID iid,
void** ppvObject);
209 static bool get_IAccessibleFromXAccessible(
210 css::accessibility::XAccessible * pXAcc, IAccessible** ppIA);
214 REFIID iid,
void** ppvObject, DWORD_PTR)
216 return static_cast<CMAccessible*
>(pv)->SmartQI(pv,iid,ppvObject);
219 static OUString get_StringFromAny(css::uno::Any
const & pAny);
221 static OUString get_String4Numbering(
const css::uno::Any& pAny,
222 sal_Int16 numberingLevel, std::u16string_view numberingPrefix);
225 static void ConvertAnyToVariant(
const css::uno::Any &rAnyVal,
CEnumVariant implements IEnumVARIANT interface.
This class implements IMAccessible interface, which inherits from IAccessible2, and in turn inherits ...
css::uno::Reference< css::accessibility::XAccessibleAction > m_xAction
CEnumVariant * m_pEnumVar
css::uno::Reference< css::accessibility::XAccessible > m_xAccessible
IMAccessible * m_pIParent
static AccObjectManagerAgent * g_pAgent
css::uno::Reference< css::accessibility::XAccessibleContext > m_xContext
static HRESULT WINAPI SmartQI_(void *pv, REFIID iid, void **ppvObject, DWORD_PTR)
XGUIDToComObjHash m_containedObjects
BSTR m_pszActionDescription
::std::map< const GUID, CComPtr< IUnknown >, ltComp > XGUIDToComObjHash
IA2ScrollType
These constants control the scrolling of an object or substring into a window.
IA2CoordinateType
These constants define which coordinate system a point is located in.
This interface exposes the primary set of information about an IAccessible2 enabled accessible object...
This interface gives access to the application's name and version information.
This interface gives access to an object's set of relations.
A structure defining the locale of an accessible object.