LibreOffice Module winaccessibility (master) 1
Public Member Functions | Private Member Functions | Private Attributes | List of all members
AccObject Class Reference

#include <AccObject.hxx>

Collaboration diagram for AccObject:
[legend]

Public Member Functions

 AccObject (css::accessibility::XAccessible *pXAcc=nullptr, AccObjectManagerAgent *pAgent=nullptr, AccEventListener *accListener=nullptr)
 Constructor. More...
 
virtual ~AccObject ()
 Destructor. More...
 
bool UpdateAccessibleInfoFromUnoToMSAA ()
 Public method to mapping information between MSAA and UNO. More...
 
void UpdateDefaultAction ()
 Set special default action description string via UNO role. More...
 
IMAccessibleGetIMAccessible ()
 
css::uno::Reference< css::accessibility::XAccessible > const & GetXAccessible ()
 
void SetResID (long id)
 
long GetResID ()
 
void SetParentHWND (HWND hWnd)
 
HWND GetParentHWND ()
 
::rtl::Reference< AccEventListenerSetListener (::rtl::Reference< AccEventListener > const &pListener)
 
AccEventListenergetListener ()
 
void SetParentObj (AccObject *pParentAccObj)
 
AccObjectGetParentObj ()
 
void InsertChild (AccObject *pChild, short pos=LAST_CHILD)
 Insert a child element. More...
 
void DeleteChild (AccObject *pChild)
 Delete a child element. More...
 
AccObjectNextChild ()
 Get next child element. More...
 
void NotifyDestroy ()
 
void DecreaseState (sal_Int64 xState)
 Decrease state of com object. More...
 
void IncreaseState (sal_Int64 xState)
 Increase state of com object. More...
 
void SetName (css::uno::Any newName)
 Set name property via pAny. More...
 
void SetValue (css::uno::Any pAny)
 Set value property via pAny. More...
 
short GetRole () const
 Get role property via pAny. More...
 
void UpdateState ()
 update state information from uno to com More...
 
void UpdateName ()
 Update name property to com object. More...
 
void UpdateValue ()
 Update value property to com object. More...
 
void UpdateAction ()
 Update default action property to com object. More...
 
void UpdateValidWindow ()
 In order to windows API WindowFromAccessibleObject, we sometimes to set a pure top window accessible object created by windows system as top ancestor. More...
 
void setFocus ()
 Set self to focus object in parent child list. More...
 
void unsetFocus ()
 Unset self from focus object in parent child list. More...
 
void setLocalizedResourceString ()
 

Private Member Functions

void ImplInitializeCreateObj ()
 Translate all UNO basic information into MSAA com information. More...
 
void UpdateActionDesc ()
 update action description desc More...
 
void UpdateRole ()
 update role information from uno to com More...
 
DWORD GetMSAAStateFromUNO (sal_Int64 xState)
 Get MSAA state from UNO state @Role nState UNO state. More...
 
css::accessibility::XAccessibleSelection * GetXAccessibleSelection ()
 
void GetExpandedState (sal_Bool *isExpandable, sal_Bool *isExpanded)
 
OUString GetMAccessibleValueFromAny (css::uno::Any pAny)
 

Private Attributes

short m_accRole
 
long m_resID
 
HWND m_pParantID
 
IMAccessible *const m_pIMAcc
 
AccObjectm_pParentObj
 
IAccChildList m_childrenList
 
::rtl::Reference< AccEventListenerm_pListener
 
css::uno::Reference< css::accessibility::XAccessible > m_xAccRef
 
css::uno::Reference< css::accessibility::XAccessibleAction > m_xAccActionRef
 
css::uno::Reference< css::accessibility::XAccessibleContext > m_xAccContextRef
 

Detailed Description

Definition at line 46 of file AccObject.hxx.

Constructor & Destructor Documentation

◆ AccObject()

AccObject::AccObject ( css::accessibility::XAccessible *  pXAcc = nullptr,
AccObjectManagerAgent pAgent = nullptr,
AccEventListener accListener = nullptr 
)

Constructor.

Parameters
pXAccUno XAccessible interface of control.
AgentThe agent kept in all listeners,it's the sole interface by which listener communicate with windows manager.
listenerlistener that registers in UNO system.
Returns
.

Definition at line 161 of file AccObject.cxx.

References ImplInitializeCreateObj(), m_accRole, m_pIMAcc, m_xAccActionRef, m_xAccContextRef, m_xAccRef, IMAccessible::Put_XAccAgent(), IMAccessible::SetDefaultAction(), and IMAccessible::SetXAccessible().

◆ ~AccObject()

AccObject::~AccObject ( )
virtual

Destructor.

Parameters

return

Definition at line 187 of file AccObject.cxx.

References m_xAccActionRef, m_xAccContextRef, and m_xAccRef.

Member Function Documentation

◆ DecreaseState()

void AccObject::DecreaseState ( sal_Int64  xState)

Decrease state of com object.

Parameters
xStateThe lost state.
Returns

Definition at line 615 of file AccObject.cxx.

References IMAccessible::DecreaseState(), GetMSAAStateFromUNO(), IMAccessible::IncreaseState(), m_accRole, m_pIMAcc, m_pParentObj, and UNO_MSAA_UNMAPPING.

Referenced by AccObjectWinManager::DecreaseState(), unsetFocus(), and UpdateState().

◆ DeleteChild()

void AccObject::DeleteChild ( AccObject pChild)

Delete a child element.

Parameters
pChildChild element that should be inserted into child list.
posInsert position.
Returns

Definition at line 227 of file AccObject.cxx.

References m_childrenList, m_pIMAcc, and SetParentObj().

Referenced by AccObjectWinManager::DeleteAccChildNode().

◆ GetExpandedState()

void AccObject::GetExpandedState ( sal_Bool isExpandable,
sal_Bool isExpanded 
)
private

Definition at line 986 of file AccObject.cxx.

References m_xAccContextRef.

Referenced by GetMSAAStateFromUNO().

◆ GetIMAccessible()

IMAccessible * AccObject::GetIMAccessible ( )

◆ getListener()

AccEventListener * AccObject::getListener ( )

Definition at line 1055 of file AccObject.cxx.

References m_pListener.

◆ GetMAccessibleValueFromAny()

OUString AccObject::GetMAccessibleValueFromAny ( css::uno::Any  pAny)
private

Definition at line 406 of file AccObject.cxx.

References m_pIMAcc.

Referenced by SetName(), and SetValue().

◆ GetMSAAStateFromUNO()

DWORD AccObject::GetMSAAStateFromUNO ( sal_Int64  nState)
private

Get MSAA state from UNO state @Role nState UNO state.

Returns

Definition at line 495 of file AccObject.cxx.

References CHECKED, IMAccessible::DecreaseState(), DEFAULT, EDITABLE, FOCUSED, GetExpandedState(), m_accRole, m_pIMAcc, m_xAccContextRef, MENU, MOVEABLE, nState, PRESSED, SELECTED, and UNO_MSAA_UNMAPPING.

Referenced by DecreaseState(), and IncreaseState().

◆ GetParentHWND()

HWND AccObject::GetParentHWND ( )

◆ GetParentObj()

AccObject * AccObject::GetParentObj ( )

◆ GetResID()

long AccObject::GetResID ( )

◆ GetRole()

short AccObject::GetRole ( ) const

Get role property via pAny.

Parameters

return accessible role

Definition at line 485 of file AccObject.cxx.

References m_accRole.

Referenced by AccObjectWinManager::DeleteAccObj(), and AccObjectWinManager::InsertAccObj().

◆ GetXAccessible()

Reference< XAccessible > const & AccObject::GetXAccessible ( )

◆ GetXAccessibleSelection()

css::accessibility::XAccessibleSelection * AccObject::GetXAccessibleSelection ( )
private

◆ ImplInitializeCreateObj()

void AccObject::ImplInitializeCreateObj ( )
private

Translate all UNO basic information into MSAA com information.

Parameters

return If the method is correctly processed.

Definition at line 256 of file AccObject.cxx.

References m_pIMAcc.

Referenced by AccObject().

◆ IncreaseState()

void AccObject::IncreaseState ( sal_Int64  xState)

Increase state of com object.

Parameters
xStateThe new state.
Returns

Definition at line 658 of file AccObject.cxx.

References IMAccessible::DecreaseState(), GetMSAAStateFromUNO(), IMAccessible::IncreaseState(), m_pIMAcc, and UNO_MSAA_UNMAPPING.

Referenced by AccObjectWinManager::IncreaseState(), setFocus(), and UpdateState().

◆ InsertChild()

void AccObject::InsertChild ( AccObject pChild,
short  pos = LAST_CHILD 
)

Insert a child element.

Parameters
pChildChild element that should be inserted into child list.
posInsert position.
Returns

Definition at line 201 of file AccObject.cxx.

References LAST_CHILD, m_childrenList, pos, and SetParentObj().

Referenced by AccObjectWinManager::InsertAccChildNode().

◆ NextChild()

AccObject * AccObject::NextChild ( )

Get next child element.

Parameters

return AccObject Object interface.

Definition at line 687 of file AccObject.cxx.

References m_childrenList.

Referenced by AccObjectWinManager::DeleteChildrenAccObj().

◆ NotifyDestroy()

void AccObject::NotifyDestroy ( )

◆ setFocus()

void AccObject::setFocus ( )

Set self to focus object in parent child list.

Parameters

return

Definition at line 961 of file AccObject.cxx.

References FOCUSED, IncreaseState(), m_pIMAcc, IMAccessible::Put_XAccFocus(), and UpdateRole().

Referenced by AccObjectWinManager::UpdateAccFocus().

◆ SetListener()

rtl::Reference< AccEventListener > AccObject::SetListener ( ::rtl::Reference< AccEventListener > const &  pListener)

◆ setLocalizedResourceString()

void AccObject::setLocalizedResourceString ( )

◆ SetName()

void AccObject::SetName ( css::uno::Any  newName)

Set name property via pAny.

Parameters
pAnyNew accessible name.
Returns

Definition at line 471 of file AccObject.cxx.

References GetMAccessibleValueFromAny(), m_pIMAcc, and IMAccessible::Put_XAccName().

Referenced by AccObjectWinManager::SetAccName().

◆ SetParentHWND()

void AccObject::SetParentHWND ( HWND  hWnd)

Definition at line 1043 of file AccObject.cxx.

References m_pParantID.

Referenced by AccObjectWinManager::InsertAccObj().

◆ SetParentObj()

void AccObject::SetParentObj ( AccObject pParentAccObj)

◆ SetResID()

void AccObject::SetResID ( long  id)

Definition at line 1026 of file AccObject.cxx.

References m_pIMAcc, m_resID, and IMAccessible::Put_XAccChildID().

Referenced by AccObjectWinManager::InsertAccObj().

◆ SetValue()

void AccObject::SetValue ( css::uno::Any  pAny)

Set value property via pAny.

Parameters
pAnyNew value.
Returns

Definition at line 362 of file AccObject.cxx.

References COMBO_BOX, GetMAccessibleValueFromAny(), m_accRole, m_pIMAcc, m_pParentObj, m_xAccContextRef, NOTE, PARAGRAPH, IMAccessible::Put_XAccValue(), TABLE_CELL, and TEXT.

Referenced by AccObjectWinManager::SetValue(), and UpdateValue().

◆ unsetFocus()

void AccObject::unsetFocus ( )

Unset self from focus object in parent child list.

Parameters

return

Definition at line 977 of file AccObject.cxx.

References DecreaseState(), FOCUSED, m_pIMAcc, IMAccessible::Put_XAccFocus(), and UACC_NO_FOCUS.

Referenced by AccObjectWinManager::UpdateAccFocus().

◆ UpdateAccessibleInfoFromUnoToMSAA()

bool AccObject::UpdateAccessibleInfoFromUnoToMSAA ( )

Public method to mapping information between MSAA and UNO.

Parameters

return If the method is correctly processed.

Definition at line 934 of file AccObject.cxx.

References m_pIMAcc, m_xAccContextRef, UpdateActionDesc(), UpdateName(), UpdateRole(), UpdateState(), and UpdateValue().

Referenced by AccObjectWinManager::InsertAccObj().

◆ UpdateAction()

void AccObject::UpdateAction ( )

Update default action property to com object.

Parameters

return

Definition at line 292 of file AccObject.cxx.

References m_pIMAcc, m_xAccActionRef, m_xAccContextRef, IMAccessible::SetDefaultAction(), and UpdateDefaultAction().

Referenced by AccObjectWinManager::UpdateAction().

◆ UpdateActionDesc()

void AccObject::UpdateActionDesc ( )
private

update action description desc

Parameters

return

Definition at line 699 of file AccObject.cxx.

References COMBO_BOX, m_accRole, m_pIMAcc, m_xAccActionRef, IMAccessible::Put_ActionDescription(), TEXT, and UpdateDefaultAction().

Referenced by UpdateAccessibleInfoFromUnoToMSAA().

◆ UpdateDefaultAction()

void AccObject::UpdateDefaultAction ( )

Set special default action description string via UNO role.

Parameters
RoleUNO role
Returns

Definition at line 335 of file AccObject.cxx.

References m_accRole, m_pIMAcc, m_xAccActionRef, and IMAccessible::Put_ActionDescription().

Referenced by AccObjectWinManager::NotifyAccEvent(), UpdateAction(), and UpdateActionDesc().

◆ UpdateName()

void AccObject::UpdateName ( )

Update name property to com object.

Parameters

return

Definition at line 266 of file AccObject.cxx.

References m_accRole, m_pIMAcc, m_pParentObj, m_xAccContextRef, PARAGRAPH, IMAccessible::Put_XAccName(), and TEXT_FRAME.

Referenced by UpdateAccessibleInfoFromUnoToMSAA(), and AccObjectWinManager::UpdateAccName().

◆ UpdateRole()

void AccObject::UpdateRole ( )
private

update role information from uno to com

Parameters

return

Definition at line 737 of file AccObject.cxx.

References m_pIMAcc, m_xAccContextRef, o3tl::make_unsigned(), IMAccessible::Put_XAccRole(), ROLE_TABLE, and SAL_N_ELEMENTS.

Referenced by setFocus(), and UpdateAccessibleInfoFromUnoToMSAA().

◆ UpdateState()

void AccObject::UpdateState ( )

◆ UpdateValidWindow()

void AccObject::UpdateValidWindow ( )

In order to windows API WindowFromAccessibleObject, we sometimes to set a pure top window accessible object created by windows system as top ancestor.

Parameters
.
Returns

Definition at line 245 of file AccObject.cxx.

References m_pIMAcc, m_pParantID, and IMAccessible::Put_XAccWindowHandle().

Referenced by AccObjectWinManager::InsertAccChildNode().

◆ UpdateValue()

void AccObject::UpdateValue ( )

Update value property to com object.

Parameters

return

Definition at line 312 of file AccObject.cxx.

References Any, m_pIMAcc, m_xAccContextRef, and SetValue().

Referenced by UpdateAccessibleInfoFromUnoToMSAA(), and AccObjectWinManager::UpdateValue().

Member Data Documentation

◆ m_accRole

short AccObject::m_accRole
private

◆ m_childrenList

IAccChildList AccObject::m_childrenList
private

Definition at line 55 of file AccObject.hxx.

Referenced by DeleteChild(), InsertChild(), and NextChild().

◆ m_pIMAcc

IMAccessible* const AccObject::m_pIMAcc
private

◆ m_pListener

::rtl::Reference<AccEventListener> AccObject::m_pListener
private

Definition at line 56 of file AccObject.hxx.

Referenced by getListener(), and SetListener().

◆ m_pParantID

HWND AccObject::m_pParantID
private

Definition at line 52 of file AccObject.hxx.

Referenced by GetParentHWND(), SetParentHWND(), and UpdateValidWindow().

◆ m_pParentObj

AccObject* AccObject::m_pParentObj
private

◆ m_resID

long AccObject::m_resID
private

Definition at line 51 of file AccObject.hxx.

Referenced by GetResID(), and SetResID().

◆ m_xAccActionRef

css::uno::Reference< css::accessibility::XAccessibleAction > AccObject::m_xAccActionRef
private

◆ m_xAccContextRef

css::uno::Reference< css::accessibility::XAccessibleContext > AccObject::m_xAccContextRef
private

◆ m_xAccRef

css::uno::Reference< css::accessibility::XAccessible > AccObject::m_xAccRef
private

Definition at line 58 of file AccObject.hxx.

Referenced by AccObject(), GetXAccessible(), and ~AccObject().


The documentation for this class was generated from the following files: