32#include <com/sun/star/accessibility/AccessibleRole.hpp>
45 if (
auto pvclwindow =
dynamic_cast<VCLXWindow*
>(pAccessible))
46 window = pvclwindow->GetWindow();
47 else if (
auto pvclxcomponent =
dynamic_cast<VCLXAccessibleComponent*
>(pAccessible))
48 window = pvclxcomponent->GetWindow();
54 systemdata = window->GetSystemData();
64 css::accessibility::XAccessibleContext* pAccessibleContext = xContext.get();
66 if(pAccessibleContext !=
nullptr && systemdata !=
nullptr)
75 short role = pAccessibleContext->getAccessibleRole();
77 if (role == css::accessibility::AccessibleRole::POPUP_MENU ||
78 role == css::accessibility::AccessibleRole::MENU )
83 if (role == css::accessibility::AccessibleRole::FRAME ||
84 role == css::accessibility::AccessibleRole::DIALOG ||
85 role == css::accessibility::AccessibleRole::WINDOW ||
86 role == css::accessibility::AccessibleRole::ALERT)
107 SAL_INFO(
"iacc2",
"windowOpened triggered" );
113 css::accessibility::XAccessible* pAccessible = xAccessible.get();
135 css::accessibility::XAccessibleContext* pAccessibleContext = xContext.get();
136 if(pAccessibleContext ==
nullptr)
149 short role = pAccessibleContext->getAccessibleRole();
150 if(css::accessibility::AccessibleRole::DOCUMENT == role ||
151 css::accessibility::AccessibleRole::DOCUMENT_PRESENTATION == role ||
152 css::accessibility::AccessibleRole::DOCUMENT_SPREADSHEET == role ||
153 css::accessibility::AccessibleRole::DOCUMENT_TEXT == role)
161 sal_Int64
nCount = pAccessibleContext->getAccessibleChildCount();
165 = pAccessibleContext->getAccessibleChild(
i);
167 css::accessibility::XAccessible* mpAccessible = mxAccessible.get();
168 if(mpAccessible !=
nullptr)
171 = mpAccessible->getAccessibleContext();
172 css::accessibility::XAccessibleContext*
mpContext = mxAccessibleContext.get();
181 SAL_INFO(
"iacc2",
"windowClosing triggered" );
191 SAL_INFO(
"iacc2",
"windowClosed triggered" );
197 css::accessibility::XAccessible* pAccessible = xAccessible.get();
198 if ( pAccessible ==
nullptr)
206 css::accessibility::XAccessibleContext* pAccessibleContext = xContext.get();
209 if(pAccessibleContext !=
nullptr)
211 role = pAccessibleContext->getAccessibleRole();
213 if (role == css::accessibility::AccessibleRole::POPUP_MENU ||
214 role == css::accessibility::AccessibleRole::MENU)
222 if( role != css::accessibility::AccessibleRole::POPUP_MENU )
248 sal_Int64 hWnd, sal_Int64 lParam, sal_Int64 wParam)
virtual void DeleteAccObj(css::accessibility::XAccessible *pXAcc)
When a new UNO XAccessible object is destroyed, we delete its corresponding com object and remove it ...
bool IsStateManageDescendant(css::accessibility::XAccessible *pXAcc)
void SaveTopWindowHandle(HWND hWnd, css::accessibility::XAccessible *pXAcc)
save the pair <topwindowhandle, XAccessible>
void IncreaseState(css::accessibility::XAccessible *pXAcc, sal_Int64 pState)
Interface of increasing MSAA name when some UNO state is increased.
sal_Int64 Get_ToATInterface(sal_Int64 hWnd, sal_Int64 lParam, sal_Int64 wParam)
Implementation of interface XMSAAService's method getAccObjectPtr() that returns the corresponding CO...
void DeleteChildrenAccObj(css::accessibility::XAccessible *pXAcc)
When new UNO children XAccessible objects are destroyed, we delete their corresponding com objects an...
virtual bool InsertAccObj(css::accessibility::XAccessible *pXAcc, css::accessibility::XAccessible *pParentXAcc, HWND hWnd=nullptr)
When a new UNO XAccessible object is found by listener, we create a corresponding com object and inse...
bool IsContainer(css::accessibility::XAccessible *pXAcc)
Judge whether a XAccessible object is a container object.
bool NotifyAccEvent(UnoMSAAEvent eEvent, css::accessibility::XAccessible *pXAcc=nullptr)
Interface of notify MSAA event when some UNO event occurred.
AccObjectManagerAgent accManagerAgent
virtual ~AccTopWindowListener() override
virtual void HandleWindowOpened(css::accessibility::XAccessible *pAccessible)
For the new opened window, generate all the UNO accessible's object, COM object and add accessible li...
virtual void SAL_CALL windowDeactivated(const css::lang::EventObject &e) override
virtual void SAL_CALL windowOpened(const css::lang::EventObject &e) override
It is invoked when a new window is opened, the source of this EventObject is the window.
virtual void SAL_CALL windowClosing(const css::lang::EventObject &e) override
virtual void SAL_CALL disposing(const css::lang::EventObject &Source) override
virtual void SAL_CALL windowClosed(const css::lang::EventObject &e) override
Invoke this method when the top window is closed, remove all the objects and its children from curren...
virtual void AddAllListeners(css::accessibility::XAccessible *pAccessible, css::accessibility::XAccessible *pParentXAcc, HWND pWND)
Add the accessible event listener to object and all its children objects.
sal_Int64 GetMSComPtr(sal_Int64 hWnd, sal_Int64 lParam, sal_Int64 wParam)
virtual void SAL_CALL windowActivated(const css::lang::EventObject &e) override
virtual void SAL_CALL windowMinimized(const css::lang::EventObject &e) override
virtual void SAL_CALL windowNormalized(const css::lang::EventObject &e) override
#define SAL_INFO(area, stream)
ParserContextSharedPtr mpContext
WinBits const WB_MOVEABLE