25#if !defined WIN32_LEAN_AND_MEAN
26# define WIN32_LEAN_AND_MEAN
55 typedef std::map<com::sun::star::accessibility::XAccessible*, AccObject>
XIdToAccObjHash;
56 typedef std::map<HWND, com::sun::star::accessibility::XAccessible*>
XHWNDToXAccHash;
59 typedef std::map<const HWND, css::accessibility::XAccessible* >
98 css::accessibility::XAccessible* pXAcc);
101 bool InsertAccObj( css::accessibility::XAccessible* pXAcc,css::accessibility::XAccessible* pParentXAcc,HWND pWnd);
103 void DeleteAccObj( css::accessibility::XAccessible* pXAcc );
110 void DecreaseState(css::accessibility::XAccessible* pXAcc, sal_Int64 nState);
111 void IncreaseState(css::accessibility::XAccessible* pXAcc, sal_Int64 nState);
112 void UpdateState( css::accessibility::XAccessible* pXAcc );
114 void SetValue( css::accessibility::XAccessible* pXAcc, css::uno::Any pAny );
115 void UpdateValue( css::accessibility::XAccessible* pXAcc );
117 void SetAccName( css::accessibility::XAccessible* pXAcc, css::uno::Any newName);
118 void UpdateAccName( css::accessibility::XAccessible* pXAcc );
121 void UpdateAction( css::accessibility::XAccessible* pXAcc );
123 static bool IsContainer( css::accessibility::XAccessible* pAccessible );
128 void NotifyDestroy( css::accessibility::XAccessible* pXAcc );
129 css::accessibility::XAccessible*
GetParentXAccessible( css::accessibility::XAccessible* pXAcc );
130 short GetParentRole( css::accessibility::XAccessible* pXAcc );
138 static short GetRole(css::accessibility::XAccessible* pXAcc);
140 css::accessibility::XAccessible*
GetAccDocByAccTopWin( css::accessibility::XAccessible* pXAcc );
141 bool IsTopWinAcc( css::accessibility::XAccessible* pXAcc );
AccEventListener is the general event listener for all controls.
XResIdToAccObjHash XResIdAccList
bool IsSpecialToolbarItem(css::accessibility::XAccessible *pXAcc)
static short GetRole(css::accessibility::XAccessible *pXAcc)
void UpdateValue(css::accessibility::XAccessible *pXAcc)
Set corresponding com object's value via XAccessible interface.
void DecreaseState(css::accessibility::XAccessible *pXAcc, sal_Int64 nState)
state is a combination integer, each bit of which represents a single state, such as focused,...
XIdToAccObjHash XIdAccList
void NotifyDestroy(css::accessibility::XAccessible *pXAcc)
Notify some object will be destroyed.
void SetAccName(css::accessibility::XAccessible *pXAcc, css::uno::Any newName)
Set corresponding com object's name via XAccessible interface and new name.
static bool IsStateManageDescendant(css::accessibility::XAccessible *pAccessible)
Judge if a XAccessible object has ManageDescendant event.
::rtl::Reference< AccEventListener > CreateAccEventListener(css::accessibility::XAccessible *pXAcc)
Create the corresponding listener.
void UpdateAccFocus(css::accessibility::XAccessible *newFocus)
Update focus object by new focused XAccessible interface.
AccObjectWinManager(AccObjectManagerAgent *Agent=nullptr)
constructor
IMAccessible * GetIMAccByXAcc(css::accessibility::XAccessible *pXAcc)
Query and get IAccessible interface by XAccessible interface from list.
short GetParentRole(css::accessibility::XAccessible *pXAcc)
Get Parent role by XAccessible interface.
static void DeleteAccChildNode(AccObject *pChild)
Delete child element from children list.
void DeleteFromHwndXAcc(css::accessibility::XAccessible const *pXAcc)
Delete XAccessible items in top window handle hashtable.
static void InsertAccChildNode(AccObject *pCurObj, AccObject *pParentObj, HWND pWnd)
Insert child object.
void IncreaseState(css::accessibility::XAccessible *pXAcc, sal_Int64 nState)
state is a combination integer, each bit of which represents a single state,such as focused,...
css::accessibility::XAccessible * oldFocus
css::accessibility::XAccessible * GetParentXAccessible(css::accessibility::XAccessible *pXAcc)
Get Parent XAccessible interface by XAccessible interface.
std::recursive_mutex m_Mutex
void SetValue(css::accessibility::XAccessible *pXAcc, css::uno::Any pAny)
Set corresponding com object's value via XAccessible interface and new value.
virtual ~AccObjectWinManager()
Destructor,clear all resource.
css::accessibility::XAccessible * GetAccDocByAccTopWin(css::accessibility::XAccessible *pXAcc)
XHWNDToDocumentHash XHWNDDocList
AccObjectManagerAgent * pAgent
std::map< const long, AccObject * > XResIdToAccObjHash
long ImpleGenerateResID()
Generate a child ID, which is used for AT.
bool InsertAccObj(css::accessibility::XAccessible *pXAcc, css::accessibility::XAccessible *pParentXAcc, HWND pWnd)
Insert child object.
bool IsTopWinAcc(css::accessibility::XAccessible *pXAcc)
static rtl::Reference< AccEventListener > DeleteAccListener(AccObject *pAccObj)
Delete listener that inspects some XAccessible object.
std::map< const HWND, css::accessibility::XAccessible * > XHWNDToDocumentHash
void DeleteChildrenAccObj(css::accessibility::XAccessible *pAccObj)
Delete all children with the tree root of XAccessible pointer.
css::accessibility::XAccessible * GetAccDocByHWND(HWND hWnd)
IMAccessible * GetTopWindowIMAccessible(HWND hWnd)
get acc object of top window by its handle
void DeleteAccObj(css::accessibility::XAccessible *pXAcc)
Delete Acc object self.
LRESULT Get_ToATInterface(HWND hWnd, long lParam, WPARAM wParam)
Get valid com object interface when notifying some MSAA event.
void UpdateState(css::accessibility::XAccessible *pXAcc)
void UpdateChildState(css::accessibility::XAccessible *pXAcc)
void SaveTopWindowHandle(HWND hWnd, css::accessibility::XAccessible *pXAcc)
save the pair <topwindowhandle, XAccessible>
IMAccessible * GetIAccessibleFromResID(long resID)
Query and get IAccessible interface by child id from list.
void UpdateAccName(css::accessibility::XAccessible *pXAcc)
Set corresponding com object's accessible name via XAccessible interface and new name.
static bool IsContainer(css::accessibility::XAccessible *pAccessible)
Judge if a XAccessible object is a container object.
AccObject * GetAccObjByXAcc(css::accessibility::XAccessible *pXAcc)
Search AccObject by XAccessible pointer from our container.
bool InsertChildrenAccObj(css::accessibility::XAccessible *pXAcc, HWND pWnd=nullptr)
Insert all children of the current acc object.
bool NotifyAccEvent(css::accessibility::XAccessible *pXAcc, UnoMSAAEvent eEvent)
Simulate MSAA event via XAccessible interface and event type.
std::map< com::sun::star::accessibility::XAccessible *, AccObject > XIdToAccObjHash
void UpdateAction(css::accessibility::XAccessible *pXAcc)
std::map< HWND, com::sun::star::accessibility::XAccessible * > XHWNDToXAccHash