13a700b0aSSteve Yin /**************************************************************
23a700b0aSSteve Yin *
33a700b0aSSteve Yin * Licensed to the Apache Software Foundation (ASF) under one
43a700b0aSSteve Yin * or more contributor license agreements. See the NOTICE file
53a700b0aSSteve Yin * distributed with this work for additional information
63a700b0aSSteve Yin * regarding copyright ownership. The ASF licenses this file
73a700b0aSSteve Yin * to you under the Apache License, Version 2.0 (the
83a700b0aSSteve Yin * "License"); you may not use this file except in compliance
93a700b0aSSteve Yin * with the License. You may obtain a copy of the License at
103a700b0aSSteve Yin *
113a700b0aSSteve Yin * http://www.apache.org/licenses/LICENSE-2.0
123a700b0aSSteve Yin *
133a700b0aSSteve Yin * Unless required by applicable law or agreed to in writing,
143a700b0aSSteve Yin * software distributed under the License is distributed on an
153a700b0aSSteve Yin * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
163a700b0aSSteve Yin * KIND, either express or implied. See the License for the
173a700b0aSSteve Yin * specific language governing permissions and limitations
183a700b0aSSteve Yin * under the License.
193a700b0aSSteve Yin *
203a700b0aSSteve Yin *************************************************************/
215fdc4257SSteve Yin
225fdc4257SSteve Yin #include "AccObjectManagerAgent.hxx"
235fdc4257SSteve Yin #include "AccObjectWinManager.hxx"
245fdc4257SSteve Yin
255fdc4257SSteve Yin #include "UAccCOM2.h"
265fdc4257SSteve Yin
275fdc4257SSteve Yin using namespace com::sun::star::uno;
285fdc4257SSteve Yin using namespace com::sun::star::accessibility;
295fdc4257SSteve Yin
305fdc4257SSteve Yin /**
315fdc4257SSteve Yin * Construction/Destruction.
325fdc4257SSteve Yin * @param
335fdc4257SSteve Yin * @return
345fdc4257SSteve Yin */
AccObjectManagerAgent()355fdc4257SSteve Yin AccObjectManagerAgent::AccObjectManagerAgent():
365fdc4257SSteve Yin pWinManager(NULL)
375fdc4257SSteve Yin {
385fdc4257SSteve Yin if( pWinManager == NULL )
395fdc4257SSteve Yin {
405fdc4257SSteve Yin pWinManager = AccObjectWinManager::CreateAccObjectWinManagerInstance(this);
415fdc4257SSteve Yin }
425fdc4257SSteve Yin }
435fdc4257SSteve Yin
~AccObjectManagerAgent()445fdc4257SSteve Yin AccObjectManagerAgent::~AccObjectManagerAgent()
455fdc4257SSteve Yin {
465fdc4257SSteve Yin delete pWinManager;
475fdc4257SSteve Yin pWinManager = NULL;
485fdc4257SSteve Yin }
495fdc4257SSteve Yin
505fdc4257SSteve Yin /**
515fdc4257SSteve Yin * Interface of updating MSAA name when UNO name_changed event occurs.
525fdc4257SSteve Yin * @param pXAcc Uno XAccessible interface of control.
535fdc4257SSteve Yin * @return
545fdc4257SSteve Yin */
UpdateAccName(XAccessible * pXAcc)555fdc4257SSteve Yin void AccObjectManagerAgent::UpdateAccName( XAccessible* pXAcc )
565fdc4257SSteve Yin {
575fdc4257SSteve Yin if( pWinManager )
585fdc4257SSteve Yin pWinManager->UpdateAccName( pXAcc );
595fdc4257SSteve Yin }
605fdc4257SSteve Yin
615fdc4257SSteve Yin /**
625fdc4257SSteve Yin * Interface of updating MSAA name when UNO action changed event occurs.
635fdc4257SSteve Yin * @param pXAcc Uno XAccessible interface of control.
645fdc4257SSteve Yin * @return
655fdc4257SSteve Yin */
UpdateAction(XAccessible * pXAcc)665fdc4257SSteve Yin void AccObjectManagerAgent::UpdateAction( XAccessible* pXAcc )
675fdc4257SSteve Yin {
685fdc4257SSteve Yin if( pWinManager )
695fdc4257SSteve Yin pWinManager->UpdateAction( pXAcc );
705fdc4257SSteve Yin }
715fdc4257SSteve Yin
725fdc4257SSteve Yin /**
735fdc4257SSteve Yin * Interface of updating MSAA value when UNO value_changed event occurs.
745fdc4257SSteve Yin * @param pXAcc Uno XAccessible interface of control.
755fdc4257SSteve Yin * @param pAny New value.
765fdc4257SSteve Yin * @return
775fdc4257SSteve Yin */
UpdateValue(XAccessible * pXAcc,Any pAny)785fdc4257SSteve Yin void AccObjectManagerAgent::UpdateValue( XAccessible* pXAcc, Any pAny )
795fdc4257SSteve Yin {
805fdc4257SSteve Yin if( pWinManager )
815fdc4257SSteve Yin pWinManager->SetValue( pXAcc, pAny );
825fdc4257SSteve Yin }
835fdc4257SSteve Yin
845fdc4257SSteve Yin /**
855fdc4257SSteve Yin * Interface of updating MSAA value when UNO value_changed event occurs.If we can not
865fdc4257SSteve Yin * find new value,we'll get new value from pXAcc to update com value.
875fdc4257SSteve Yin * @param pXAcc Uno XAccessible interface of control.
885fdc4257SSteve Yin * @return
895fdc4257SSteve Yin */
UpdateValue(XAccessible * pXAcc)905fdc4257SSteve Yin void AccObjectManagerAgent::UpdateValue( XAccessible* pXAcc )
915fdc4257SSteve Yin {
925fdc4257SSteve Yin if( pWinManager )
935fdc4257SSteve Yin pWinManager->UpdateValue( pXAcc );
945fdc4257SSteve Yin }
955fdc4257SSteve Yin
965fdc4257SSteve Yin /**
975fdc4257SSteve Yin * Interface of updating MSAA name when UNO name_changed event occurs.
985fdc4257SSteve Yin * @param pXAcc Uno XAccessible interface of control.
995fdc4257SSteve Yin * @param newName New UNO accessible name.
1005fdc4257SSteve Yin * @return
1015fdc4257SSteve Yin */
UpdateAccName(XAccessible * pXAcc,Any newName)1025fdc4257SSteve Yin void AccObjectManagerAgent::UpdateAccName( XAccessible* pXAcc, Any newName)
1035fdc4257SSteve Yin {
1045fdc4257SSteve Yin if( pWinManager )
1055fdc4257SSteve Yin pWinManager->SetAccName( pXAcc, newName );
1065fdc4257SSteve Yin }
1075fdc4257SSteve Yin
1085fdc4257SSteve Yin
1095fdc4257SSteve Yin /**
1105fdc4257SSteve Yin * Interface of updating MSAA location when UNO location_changed event occurs.
1115fdc4257SSteve Yin * @param pXAcc Uno XAccessible interface of control.
1125fdc4257SSteve Yin * @param pXAcc Uno The top position of new location.
1135fdc4257SSteve Yin * @param pXAcc Uno The left position of new location.
1145fdc4257SSteve Yin * @param pXAcc Uno The width of new location.
1155fdc4257SSteve Yin * @param pXAcc Uno The width of new location.
1165fdc4257SSteve Yin * @return
1175fdc4257SSteve Yin */
UpdateLocation(XAccessible *,long,long,long,long)1185fdc4257SSteve Yin void AccObjectManagerAgent::UpdateLocation( XAccessible* /* pXAcc */, long /*top*/, long /*left*/, long /*width*/, long /*height*/ )
1195fdc4257SSteve Yin {
1205fdc4257SSteve Yin #ifdef _IMPL_WIN
1215fdc4257SSteve Yin if( pWinManager )
1225fdc4257SSteve Yin pWinManager->SetLocation( pXAcc, top, left, width, height );
1235fdc4257SSteve Yin #endif
1245fdc4257SSteve Yin }
1255fdc4257SSteve Yin
1265fdc4257SSteve Yin /**
1275fdc4257SSteve Yin * Interface of updating MSAA name when UNO description_changed event occurs.
1285fdc4257SSteve Yin * @param pXAcc Uno XAccessible interface of control.
1295fdc4257SSteve Yin * @param newDesc New UNO accessible description.
1305fdc4257SSteve Yin * @return
1315fdc4257SSteve Yin */
UpdateDescription(XAccessible * pXAcc,Any newDesc)1325fdc4257SSteve Yin void AccObjectManagerAgent::UpdateDescription( XAccessible* pXAcc, Any newDesc )
1335fdc4257SSteve Yin {
1345fdc4257SSteve Yin if( pWinManager )
1355fdc4257SSteve Yin pWinManager->SetDescription( pXAcc, newDesc );
1365fdc4257SSteve Yin }
1375fdc4257SSteve Yin
1385fdc4257SSteve Yin /**
1395fdc4257SSteve Yin * When a new UNO XAccessible object is found by listener,we'll create a corresponding
1405fdc4257SSteve Yin * com object and insert it to our manager list.
1415fdc4257SSteve Yin * @param pXAcc Uno XAccessible interface of control.
1425fdc4257SSteve Yin * @param pWnd The top window handle containing control.
1435fdc4257SSteve Yin * @return If the method is correctly processed.
1445fdc4257SSteve Yin */
InsertAccObj(XAccessible * pXAcc,XAccessible * pParentXAcc,long pWnd)1455fdc4257SSteve Yin unsigned char AccObjectManagerAgent::InsertAccObj( XAccessible* pXAcc,XAccessible* pParentXAcc,long pWnd)
1465fdc4257SSteve Yin {
1475fdc4257SSteve Yin if( pWinManager )
1485fdc4257SSteve Yin return (unsigned char)pWinManager->InsertAccObj( pXAcc, pParentXAcc,HWND((void*)pWnd) );
1495fdc4257SSteve Yin
1505fdc4257SSteve Yin return sal_False;
1515fdc4257SSteve Yin }
1525fdc4257SSteve Yin
1535fdc4257SSteve Yin /**
1545fdc4257SSteve Yin * save the pair <topwindowhandle, XAccessible>
1555fdc4257SSteve Yin * @param hWnd, top window handle
1565fdc4257SSteve Yin * @param pXAcc XAccessible interface for top window
1575fdc4257SSteve Yin * @return void
1585fdc4257SSteve Yin */
SaveTopWindowHandle(long hWnd,com::sun::star::accessibility::XAccessible * pXAcc)1595fdc4257SSteve Yin void AccObjectManagerAgent::SaveTopWindowHandle(long hWnd, com::sun::star::accessibility::XAccessible* pXAcc)
1605fdc4257SSteve Yin {
1615fdc4257SSteve Yin if( pWinManager )
1625fdc4257SSteve Yin pWinManager->SaveTopWindowHandle( HWND((void*)hWnd), pXAcc );
1635fdc4257SSteve Yin }
1645fdc4257SSteve Yin
1655fdc4257SSteve Yin
1665fdc4257SSteve Yin /**
1675fdc4257SSteve Yin * When a UNO XAccessible object's new children are found by listener,we'll create
1685fdc4257SSteve Yin * corresponding com objects and insert them to our manager list.
1695fdc4257SSteve Yin * @param pXAcc Uno XAccessible interface of control.
1705fdc4257SSteve Yin * @param pWnd The top window handle containing control.
1715fdc4257SSteve Yin * @return If the method is correctly processed.
1725fdc4257SSteve Yin */
InsertChildrenAccObj(XAccessible * pXAcc,long pWnd)1735fdc4257SSteve Yin unsigned char AccObjectManagerAgent::InsertChildrenAccObj( XAccessible* pXAcc,
1745fdc4257SSteve Yin long pWnd)
1755fdc4257SSteve Yin {
1765fdc4257SSteve Yin if( pWinManager )
1775fdc4257SSteve Yin return (unsigned char)pWinManager->InsertChildrenAccObj( pXAcc, HWND((void*)pWnd) );
1785fdc4257SSteve Yin
1795fdc4257SSteve Yin return sal_False;
1805fdc4257SSteve Yin }
1815fdc4257SSteve Yin
1825fdc4257SSteve Yin /**
1835fdc4257SSteve Yin * When a new UNO XAccessible object is destroied,we'll delete its corresponding
1845fdc4257SSteve Yin * com object and remove it from our manager list.
1855fdc4257SSteve Yin * @param pXAcc Uno XAccessible interface of control.
1865fdc4257SSteve Yin * @return
1875fdc4257SSteve Yin */
DeleteAccObj(XAccessible * pXAcc)1885fdc4257SSteve Yin void AccObjectManagerAgent::DeleteAccObj( XAccessible* pXAcc )
1895fdc4257SSteve Yin {
1905fdc4257SSteve Yin if( pWinManager )
1915fdc4257SSteve Yin pWinManager->DeleteAccObj( pXAcc );
1925fdc4257SSteve Yin }
1935fdc4257SSteve Yin
1945fdc4257SSteve Yin /**
1955fdc4257SSteve Yin * When new UNO children XAccessible objects are destroyed,we'll delete their
1965fdc4257SSteve Yin * corresponding com objects and remove them from our manager list.
1975fdc4257SSteve Yin * @param pXAcc Uno XAccessible interface of control.
1985fdc4257SSteve Yin * @return
1995fdc4257SSteve Yin */
DeleteChildrenAccObj(XAccessible * pXAcc)2005fdc4257SSteve Yin void AccObjectManagerAgent::DeleteChildrenAccObj( XAccessible* pXAcc )
2015fdc4257SSteve Yin {
2025fdc4257SSteve Yin if( pWinManager )
2035fdc4257SSteve Yin pWinManager->DeleteChildrenAccObj( pXAcc );
2045fdc4257SSteve Yin }
2055fdc4257SSteve Yin
2065fdc4257SSteve Yin /**
2075fdc4257SSteve Yin * Interface of decreasing MSAA state when some UNO state is decreased.
2085fdc4257SSteve Yin * @param pXAcc Uno XAccessible interface of control.
2095fdc4257SSteve Yin * @param pState The lost state of control.
2105fdc4257SSteve Yin * @return
2115fdc4257SSteve Yin */
DecreaseState(XAccessible * pXAcc,unsigned short pState)2125fdc4257SSteve Yin void AccObjectManagerAgent::DecreaseState( XAccessible* pXAcc,unsigned short pState )
2135fdc4257SSteve Yin {
2145fdc4257SSteve Yin if(pWinManager)
2155fdc4257SSteve Yin {
2165fdc4257SSteve Yin pWinManager->DecreaseState( pXAcc, pState );
2175fdc4257SSteve Yin }
2185fdc4257SSteve Yin }
2195fdc4257SSteve Yin
2205fdc4257SSteve Yin /**
2215fdc4257SSteve Yin * Interface of increasing MSAA name when some UNO state is increased.
2225fdc4257SSteve Yin * @param pXAcc Uno XAccessible interface of control.
2235fdc4257SSteve Yin * @param pState The new state of control.
2245fdc4257SSteve Yin * @return
2255fdc4257SSteve Yin */
IncreaseState(XAccessible * pXAcc,unsigned short pState)2265fdc4257SSteve Yin void AccObjectManagerAgent::IncreaseState( XAccessible* pXAcc,unsigned short pState )
2275fdc4257SSteve Yin {
2285fdc4257SSteve Yin if(pWinManager)
2295fdc4257SSteve Yin {
2305fdc4257SSteve Yin pWinManager->IncreaseState( pXAcc, pState );
2315fdc4257SSteve Yin }
2325fdc4257SSteve Yin }
2335fdc4257SSteve Yin
UpdateState(com::sun::star::accessibility::XAccessible * pXAcc)2345fdc4257SSteve Yin void AccObjectManagerAgent::UpdateState( com::sun::star::accessibility::XAccessible* pXAcc )
2355fdc4257SSteve Yin {
2365fdc4257SSteve Yin if(pWinManager)
2375fdc4257SSteve Yin pWinManager->UpdateState(pXAcc);
2385fdc4257SSteve Yin }
2395fdc4257SSteve Yin
2405fdc4257SSteve Yin /**
241*86e1cf34SPedro Giffuni * Interface of notify MSAA event when some UNO event occurred.
2425fdc4257SSteve Yin * @param pXAcc Uno XAccessible interface of control.
2435fdc4257SSteve Yin * @param pEvent UNO event ID.
2445fdc4257SSteve Yin * @return If the method is correctly processed.
2455fdc4257SSteve Yin */
NotifyAccEvent(short pEvent,XAccessible * pXAcc)2465fdc4257SSteve Yin unsigned char AccObjectManagerAgent::NotifyAccEvent( short pEvent,XAccessible* pXAcc )
2475fdc4257SSteve Yin {
2485fdc4257SSteve Yin if(pWinManager)
2495fdc4257SSteve Yin return (unsigned char)pWinManager->NotifyAccEvent(pXAcc,pEvent);
2505fdc4257SSteve Yin
2515fdc4257SSteve Yin return sal_False;
2525fdc4257SSteve Yin }
2535fdc4257SSteve Yin
2545fdc4257SSteve Yin /**
2555fdc4257SSteve Yin * Judge whether a XAccessible object is a container object.
2565fdc4257SSteve Yin * @param pXAcc Uno XAccessible interface of control.
2575fdc4257SSteve Yin * @return If the method is correctly processed.
2585fdc4257SSteve Yin */
IsContainer(XAccessible * pXAcc)2595fdc4257SSteve Yin unsigned short AccObjectManagerAgent::IsContainer( XAccessible* pXAcc )
2605fdc4257SSteve Yin {
2615fdc4257SSteve Yin if(pWinManager)
2625fdc4257SSteve Yin return (unsigned char)pWinManager->IsContainer(pXAcc);
2635fdc4257SSteve Yin
2645fdc4257SSteve Yin return sal_False;
2655fdc4257SSteve Yin }
2665fdc4257SSteve Yin
2675fdc4257SSteve Yin /**
2685fdc4257SSteve Yin * Return com object interface by querying XAccessible interface.
2695fdc4257SSteve Yin * @param pXAcc Uno XAccessible interface of control.
2705fdc4257SSteve Yin * @return Com interface.
2715fdc4257SSteve Yin */
GetIMAccByXAcc(XAccessible * pXAcc)2725fdc4257SSteve Yin IMAccessible* AccObjectManagerAgent::GetIMAccByXAcc(XAccessible* pXAcc)
2735fdc4257SSteve Yin {
2745fdc4257SSteve Yin if(pWinManager)
2755fdc4257SSteve Yin return pWinManager->GetIMAccByXAcc(pXAcc);
2765fdc4257SSteve Yin
2775fdc4257SSteve Yin return NULL;
2785fdc4257SSteve Yin }
2795fdc4257SSteve Yin
2805fdc4257SSteve Yin /**
2815fdc4257SSteve Yin * Notify manger when a XAccessible object is destroying.
2825fdc4257SSteve Yin * @param pXAcc Uno XAccessible interface of control.
2835fdc4257SSteve Yin * @return.
2845fdc4257SSteve Yin */
NotifyDestroy(XAccessible * pXAcc)2855fdc4257SSteve Yin void AccObjectManagerAgent::NotifyDestroy(XAccessible* pXAcc)
2865fdc4257SSteve Yin {
2875fdc4257SSteve Yin if(pWinManager)
2885fdc4257SSteve Yin pWinManager->NotifyDestroy(pXAcc);
2895fdc4257SSteve Yin }
2905fdc4257SSteve Yin
2915fdc4257SSteve Yin /**
2925fdc4257SSteve Yin * Return com object interface by querying child id.
2935fdc4257SSteve Yin * @param pXAcc Uno XAccessible interface of control.
2945fdc4257SSteve Yin * @return Com interface.
2955fdc4257SSteve Yin */
GetIAccessibleFromResID(long childID,IMAccessible ** pIMAcc)2965fdc4257SSteve Yin void AccObjectManagerAgent::GetIAccessibleFromResID(long childID,IMAccessible** pIMAcc)
2975fdc4257SSteve Yin {
2985fdc4257SSteve Yin if(pWinManager)
2995fdc4257SSteve Yin *pIMAcc = pWinManager->GetIAccessibleFromResID(childID);
3005fdc4257SSteve Yin }
3015fdc4257SSteve Yin
3025fdc4257SSteve Yin /**
3035fdc4257SSteve Yin * Return object interface by querying interface.
3045fdc4257SSteve Yin * @param pXAcc Uno XAccessible interface of control.
3055fdc4257SSteve Yin * @return Com interface.
3065fdc4257SSteve Yin */
GetIAccessibleFromXAccessible(XAccessible * pXAcc,IAccessible ** ppXI)3075fdc4257SSteve Yin unsigned char AccObjectManagerAgent::GetIAccessibleFromXAccessible(XAccessible* pXAcc, IAccessible** ppXI)
3085fdc4257SSteve Yin {
3095fdc4257SSteve Yin if(pWinManager)
3105fdc4257SSteve Yin {
3115fdc4257SSteve Yin *ppXI = (IAccessible*)pWinManager->GetIMAccByXAcc(pXAcc);
3125fdc4257SSteve Yin if(*ppXI)
3135fdc4257SSteve Yin return sal_True;
3145fdc4257SSteve Yin }
3155fdc4257SSteve Yin return sal_False;
3165fdc4257SSteve Yin }
3175fdc4257SSteve Yin
GetParentXAccessible(XAccessible * pXAcc)3185fdc4257SSteve Yin XAccessible* AccObjectManagerAgent::GetParentXAccessible( XAccessible* pXAcc )
3195fdc4257SSteve Yin {
3205fdc4257SSteve Yin if(pWinManager)
3215fdc4257SSteve Yin return pWinManager->GetParentXAccessible( pXAcc );
3225fdc4257SSteve Yin
3235fdc4257SSteve Yin return NULL;
3245fdc4257SSteve Yin }
3255fdc4257SSteve Yin
GetParentRole(XAccessible * pXAcc)3265fdc4257SSteve Yin short AccObjectManagerAgent::GetParentRole( XAccessible* pXAcc )
3275fdc4257SSteve Yin {
3285fdc4257SSteve Yin if(pWinManager)
3295fdc4257SSteve Yin return pWinManager->GetParentRole( pXAcc );
3305fdc4257SSteve Yin
3315fdc4257SSteve Yin return -1;
3325fdc4257SSteve Yin }
3335fdc4257SSteve Yin
UpdateDescription(XAccessible * pXAcc)3345fdc4257SSteve Yin void AccObjectManagerAgent::UpdateDescription( XAccessible* pXAcc )
3355fdc4257SSteve Yin {
3365fdc4257SSteve Yin if(pWinManager)
3375fdc4257SSteve Yin pWinManager->UpdateDescription( pXAcc );
3385fdc4257SSteve Yin }
3395fdc4257SSteve Yin
UpdateChildState(com::sun::star::accessibility::XAccessible * pXAcc)3405fdc4257SSteve Yin void AccObjectManagerAgent::UpdateChildState(com::sun::star::accessibility::XAccessible* pXAcc)
3415fdc4257SSteve Yin {
3425fdc4257SSteve Yin if(pWinManager)
3435fdc4257SSteve Yin pWinManager->UpdateChildState( pXAcc );
3445fdc4257SSteve Yin }
3455fdc4257SSteve Yin
3465fdc4257SSteve Yin
IsSpecialToolboItem(com::sun::star::accessibility::XAccessible * pXAcc)3475fdc4257SSteve Yin bool AccObjectManagerAgent::IsSpecialToolboItem(com::sun::star::accessibility::XAccessible* pXAcc)
3485fdc4257SSteve Yin {
3495fdc4257SSteve Yin if(pWinManager)
3505fdc4257SSteve Yin return pWinManager->IsSpecialToolboItem( pXAcc );
3515fdc4257SSteve Yin
3525fdc4257SSteve Yin return false;
3535fdc4257SSteve Yin }
3545fdc4257SSteve Yin
GetRole(com::sun::star::accessibility::XAccessible * pXAcc)3555fdc4257SSteve Yin short AccObjectManagerAgent::GetRole(com::sun::star::accessibility::XAccessible* pXAcc)
3565fdc4257SSteve Yin {
3575fdc4257SSteve Yin if(pWinManager)
3585fdc4257SSteve Yin return pWinManager->GetRole( pXAcc );
3595fdc4257SSteve Yin
3605fdc4257SSteve Yin return -1;
3615fdc4257SSteve Yin }
3625fdc4257SSteve Yin
GetAccDocByAccTopWin(XAccessible * pXAcc)3635fdc4257SSteve Yin XAccessible* AccObjectManagerAgent::GetAccDocByAccTopWin( XAccessible* pXAcc )
3645fdc4257SSteve Yin {
3655fdc4257SSteve Yin if (pWinManager)
3665fdc4257SSteve Yin {
3675fdc4257SSteve Yin return pWinManager->GetAccDocByAccTopWin( pXAcc );
3685fdc4257SSteve Yin }
3695fdc4257SSteve Yin return NULL;
3705fdc4257SSteve Yin }
IsTopWinAcc(com::sun::star::accessibility::XAccessible * pXAcc)3715fdc4257SSteve Yin bool AccObjectManagerAgent::IsTopWinAcc( com::sun::star::accessibility::XAccessible* pXAcc )
3725fdc4257SSteve Yin {
3735fdc4257SSteve Yin if (pWinManager)
3745fdc4257SSteve Yin {
3755fdc4257SSteve Yin return pWinManager->IsTopWinAcc( pXAcc );
3765fdc4257SSteve Yin }
3775fdc4257SSteve Yin return NULL;
3785fdc4257SSteve Yin }
3795fdc4257SSteve Yin
IsStateManageDescendant(com::sun::star::accessibility::XAccessible * pXAcc)3805fdc4257SSteve Yin bool AccObjectManagerAgent::IsStateManageDescendant(com::sun::star::accessibility::XAccessible* pXAcc)
3815fdc4257SSteve Yin {
3825fdc4257SSteve Yin if(pWinManager)
3835fdc4257SSteve Yin return pWinManager->IsStateManageDescendant( pXAcc );
3845fdc4257SSteve Yin
3855fdc4257SSteve Yin return sal_False;
3865fdc4257SSteve Yin }
387