ReactOS 0.4.16-dev-2498-g8632030
CTipbarAccessible Class Reference
Inheritance diagram for CTipbarAccessible:
Collaboration diagram for CTipbarAccessible:

Public Member Functions

 CTipbarAccessible (CTipbarAccItem *pItem)
 
virtual ~CTipbarAccessible ()
 
HRESULT Initialize ()
 
BOOL AddAccItem (CTipbarAccItem *pItem)
 
HRESULT RemoveAccItem (CTipbarAccItem *pItem)
 
void ClearAccItems ()
 
CTipbarAccItemAccItemFromID (INT iItem)
 
INT GetIDOfItem (CTipbarAccItem *pTarget)
 
LONG_PTR CreateRefToAccObj (WPARAM wParam)
 
BOOL DoDefaultActionReal (INT nID)
 
void NotifyWinEvent (DWORD event, CTipbarAccItem *pItem)
 
void SetWindow (HWND hWnd)
 
STDMETHOD() QueryInterface (REFIID riid, void **ppvObject)
 
 STDMETHOD_ (ULONG, AddRef)()
 
 STDMETHOD_ (ULONG, Release)()
 
STDMETHOD() GetTypeInfoCount (UINT *pctinfo)
 
STDMETHOD() GetTypeInfo (UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo)
 
STDMETHOD() GetIDsOfNames (REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
 
STDMETHOD() Invoke (DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
 
STDMETHOD() get_accParent (IDispatch **ppdispParent)
 
STDMETHOD() get_accChildCount (LONG *pcountChildren)
 
STDMETHOD() get_accChild (VARIANT varChildID, IDispatch **ppdispChild)
 
STDMETHOD() get_accName (VARIANT varID, BSTR *pszName)
 
STDMETHOD() get_accValue (VARIANT varID, BSTR *pszValue)
 
STDMETHOD() get_accDescription (VARIANT varID, BSTR *description)
 
STDMETHOD() get_accRole (VARIANT varID, VARIANT *role)
 
STDMETHOD() get_accState (VARIANT varID, VARIANT *state)
 
STDMETHOD() get_accHelp (VARIANT varID, BSTR *help)
 
STDMETHOD() get_accHelpTopic (BSTR *helpfile, VARIANT varID, LONG *pidTopic)
 
STDMETHOD() get_accKeyboardShortcut (VARIANT varID, BSTR *shortcut)
 
STDMETHOD() get_accFocus (VARIANT *pvarID)
 
STDMETHOD() get_accSelection (VARIANT *pvarID)
 
STDMETHOD() get_accDefaultAction (VARIANT varID, BSTR *action)
 
STDMETHOD() accSelect (LONG flagsSelect, VARIANT varID)
 
STDMETHOD() accLocation (LONG *left, LONG *top, LONG *width, LONG *height, VARIANT varID)
 
STDMETHOD() accNavigate (LONG dir, VARIANT varStart, VARIANT *pvarEnd)
 
STDMETHOD() accHitTest (LONG left, LONG top, VARIANT *pvarID)
 
STDMETHOD() accDoDefaultAction (VARIANT varID)
 
STDMETHOD() put_accName (VARIANT varID, BSTR name)
 
STDMETHOD() put_accValue (VARIANT varID, BSTR value)
 
HRESULT accSelect ([in] long flagsSelect, [in, optional] VARIANT varID)
 
HRESULT accLocation ([out] long *left, [out] long *top, [out] long *width, [out] long *height, [in, optional] VARIANT varID)
 
HRESULT accNavigate ([in] long dir, [in, optional] VARIANT varStart, [out, retval] VARIANT *pvarEnd)
 
HRESULT accHitTest ([in] long left, [in] long top, [out, retval] VARIANT *pvarID)
 
HRESULT accDoDefaultAction ([in, optional] VARIANT varID)
 
- Public Member Functions inherited from IDispatch
HRESULT GetTypeInfoCount ([out] UINT *pctinfo)
 
HRESULT GetTypeInfo ([in] UINT iTInfo, [in] LCID lcid, [out] ITypeInfo **ppTInfo)
 
HRESULT GetIDsOfNames ([in] REFIID riid, [in, size_is(cNames)] LPOLESTR *rgszNames, [in] UINT cNames, [in] LCID lcid, [out, size_is(cNames)] DISPID *rgDispId)
 
HRESULT Invoke ([in] DISPID dispIdMember, [in] REFIID riid, [in] LCID lcid, [in] WORD wFlags, [in, out] DISPPARAMS *pDispParams, [out] VARIANT *pVarResult, [out] EXCEPINFO *pExcepInfo, [out] UINT *puArgErr)
 
HRESULT RemoteInvoke ([in] DISPID dispIdMember, [in] REFIID riid, [in] LCID lcid, [in] DWORD dwFlags, [in] DISPPARAMS *pDispParams, [out] VARIANT *pVarResult, [out] EXCEPINFO *pExcepInfo, [out] UINT *pArgErr, [in] UINT cVarRef, [in, size_is(cVarRef)] UINT *rgVarRefIdx, [in, out, size_is(cVarRef)] VARIANTARG *rgVarRef)
 
- Public Member Functions inherited from IUnknown
HRESULT QueryInterface ([in] REFIID riid, [out, iid_is(riid)] void **ppvObject)
 
ULONG AddRef ()
 
ULONG Release ()
 

Protected Attributes

LONG m_cRefs
 
HWND m_hWnd
 
IAccessiblem_pStdAccessible
 
ITypeInfom_pTypeInfo
 
BOOL m_bInitialized
 
CicArray< CTipbarAccItem * > m_AccItems
 
LONG m_cSelection
 

Friends

class CUTBMenuWnd
 
class CTipbarWnd
 

Additional Inherited Members

- Public Types inherited from IAccessible
typedef IAccessibleLPACCESSIBLE
 
- Public Types inherited from IDispatch
typedef IDispatchLPDISPATCH
 
- Public Types inherited from IUnknown
typedef IUnknownLPUNKNOWN
 
- Public Attributes inherited from IAccessible
const long DISPID_ACC_PARENT = -5000
 
const long DISPID_ACC_CHILDCOUNT = -5001
 
const long DISPID_ACC_CHILD = -5002
 
const long DISPID_ACC_NAME = -5003
 
const long DISPID_ACC_VALUE = -5004
 
const long DISPID_ACC_DESCRIPTION = -5005
 
const long DISPID_ACC_ROLE = -5006
 
const long DISPID_ACC_STATE = -5007
 
const long DISPID_ACC_HELP = -5008
 
const long DISPID_ACC_HELPTOPIC = -5009
 
const long DISPID_ACC_KEYBOARDSHORTCUT = -5010
 
const long DISPID_ACC_FOCUS = -5011
 
const long DISPID_ACC_SELECTION = -5012
 
const long DISPID_ACC_DEFAULTACTION = -5013
 
const long DISPID_ACC_SELECT = -5014
 
const long DISPID_ACC_LOCATION = -5015
 
const long DISPID_ACC_NAVIGATE = -5016
 
const long DISPID_ACC_HITTEST = -5017
 
const long DISPID_ACC_DODEFAULTACTION = -5018
 
- Public Attributes inherited from IDispatch
const DISPID DISPID_UNKNOWN = -1
 
const DISPID DISPID_VALUE = 0
 
const DISPID DISPID_PROPERTYPUT = -3
 
const DISPID DISPID_NEWENUM = -4
 
const DISPID DISPID_EVALUATE = -5
 
const DISPID DISPID_CONSTRUCTOR = -6
 
const DISPID DISPID_DESTRUCTOR = -7
 
const DISPID DISPID_COLLECT = -8
 
- Properties inherited from IAccessible
IDispatch accParent [get]
 
long accChildCount [get]
 
IDispatch accChild ([in] VARIANT varChildID) [get]
 
BSTR accName ([in, optional] VARIANT varID) [get, set]
 
BSTR accValue ([in, optional] VARIANT varID) [get, set]
 
BSTR accDescription ([in, optional] VARIANT varID) [get]
 
VARIANT accRole ([in, optional] VARIANT varID) [get]
 
VARIANT accState ([in, optional] VARIANT varID) [get]
 
BSTR accHelp ([in, optional] VARIANT varID) [get]
 
long accHelpTopic ([out] BSTR helpfile,[in, optional] VARIANT varID) [get]
 
BSTR accKeyboardShortcut ([in, optional] VARIANT varID) [get]
 
VARIANT accFocus [get]
 
VARIANT accSelection [get]
 
BSTR accDefaultAction ([in, optional] VARIANT varID) [get]
 

Detailed Description

Definition at line 763 of file msutb.cpp.

Constructor & Destructor Documentation

◆ CTipbarAccessible()

CTipbarAccessible::CTipbarAccessible ( CTipbarAccItem pItem)

Definition at line 2067 of file msutb.cpp.

2068{
2069 m_cRefs = 1;
2070 m_hWnd = NULL;
2071 m_pTypeInfo = NULL;
2074 m_cSelection = 1;
2075 m_AccItems.Add(pItem);
2076 ++g_DllRefCount;
2077}
BOOL m_bInitialized
Definition: msutb.cpp:770
IAccessible * m_pStdAccessible
Definition: msutb.cpp:768
ITypeInfo * m_pTypeInfo
Definition: msutb.cpp:769
CicArray< CTipbarAccItem * > m_AccItems
Definition: msutb.cpp:771
BOOL Add(const T_ITEM &item)
Definition: cicarray.h:60
#define NULL
Definition: types.h:112
#define FALSE
Definition: types.h:117
LONG g_DllRefCount
Definition: msutb.cpp:34

◆ ~CTipbarAccessible()

CTipbarAccessible::~CTipbarAccessible ( )
virtual

Definition at line 2079 of file msutb.cpp.

2080{
2082 if (m_pTypeInfo)
2083 {
2085 m_pTypeInfo = NULL;
2086 }
2087 if (m_pStdAccessible)
2088 {
2091 }
2092 --g_DllRefCount;
2093}
ULONG Release()

Member Function Documentation

◆ accDoDefaultAction()

STDMETHODIMP CTipbarAccessible::accDoDefaultAction ( VARIANT  varID)

Implements IAccessible.

Definition at line 2559 of file msutb.cpp.

2560{
2561 if (V_VT(&varID) != VT_I4)
2562 return E_INVALIDARG;
2563 CTipbarAccItem *pItem = AccItemFromID(V_I4(&varID));
2564 if (!pItem)
2565 return DISP_E_MEMBERNOTFOUND;
2566 return (pItem->DoAccDefaultAction() ? S_OK : S_FALSE);
2567}
CTipbarAccItem * AccItemFromID(INT iItem)
Definition: msutb.cpp:2141
#define E_INVALIDARG
Definition: ddrawi.h:101
@ VT_I4
Definition: compat.h:2298
#define S_OK
Definition: intsafe.h:52
#define V_VT(A)
Definition: oleauto.h:211
#define V_I4(A)
Definition: oleauto.h:247
#define S_FALSE
Definition: winerror.h:3451
#define DISP_E_MEMBERNOTFOUND
Definition: winerror.h:3615

◆ accHitTest()

STDMETHODIMP CTipbarAccessible::accHitTest ( LONG  left,
LONG  top,
VARIANT pvarID 
)

Implements IAccessible.

Definition at line 2524 of file msutb.cpp.

2525{
2526 if (!pvarID)
2527 return E_INVALIDARG;
2528 POINT Point = { left, top };
2529 RECT Rect;
2532
2533 if (!::PtInRect(&Rect, Point))
2534 {
2535 V_VT(pvarID) = VT_EMPTY;
2536 return S_OK;
2537 }
2538
2539 V_VT(pvarID) = VT_I4;
2540 V_I4(pvarID) = 0;
2541
2542 for (size_t iItem = 1; iItem < m_AccItems.size(); ++iItem)
2543 {
2544 CTipbarAccItem *pItem = m_AccItems[iItem];
2545 if (pItem)
2546 {
2547 pItem->GetAccLocation(&Rect);
2548 if (::PtInRect(&Rect, Point))
2549 {
2550 V_I4(pvarID) = iItem;
2551 break;
2552 }
2553 }
2554 }
2555
2556 return S_OK;
2557}
size_t size() const
Definition: cicarray.h:34
@ VT_EMPTY
Definition: compat.h:2295
GLdouble GLdouble GLdouble GLdouble top
Definition: glext.h:10859
GLint left
Definition: glext.h:7726
BOOL WINAPI PtInRect(_In_ LPCRECT, _In_ POINT)
BOOL WINAPI GetClientRect(_In_ HWND, _Out_ LPRECT)
BOOL WINAPI ScreenToClient(_In_ HWND, _Inout_ LPPOINT)

◆ AccItemFromID()

CTipbarAccItem * CTipbarAccessible::AccItemFromID ( INT  iItem)

Definition at line 2141 of file msutb.cpp.

2142{
2143 if (iItem < 0 || (INT)m_AccItems.size() <= iItem)
2144 return NULL;
2145 return m_AccItems[iItem];
2146}
int32_t INT
Definition: typedefs.h:58

Referenced by accDoDefaultAction(), accLocation(), DoDefaultActionReal(), get_accDefaultAction(), get_accName(), get_accRole(), get_accState(), and get_accValue().

◆ accLocation()

STDMETHODIMP CTipbarAccessible::accLocation ( LONG left,
LONG top,
LONG width,
LONG height,
VARIANT  varID 
)

Implements IAccessible.

Definition at line 2451 of file msutb.cpp.

2457{
2458 if (!left || !top || !width || !height)
2459 return E_INVALIDARG;
2460
2461 if (!V_I4(&varID))
2462 return m_pStdAccessible->accLocation(left, top, width, height, varID);
2463
2464 RECT rc;
2465 CTipbarAccItem *pItem = AccItemFromID(V_I4(&varID));
2466 pItem->GetAccLocation(&rc);
2467
2468 *left = rc.left;
2469 *top = rc.top;
2470 *width = rc.right - rc.left;
2471 *height = rc.bottom - rc.top;
2472 return S_OK;
2473}
GLint GLint GLsizei GLsizei height
Definition: gl.h:1546
GLint GLint GLsizei width
Definition: gl.h:1546
HRESULT accLocation([out] long *left, [out] long *top, [out] long *width, [out] long *height, [in, optional] VARIANT varID)
LONG right
Definition: windef.h:108
LONG bottom
Definition: windef.h:109
LONG top
Definition: windef.h:107
LONG left
Definition: windef.h:106

◆ accNavigate()

STDMETHODIMP CTipbarAccessible::accNavigate ( LONG  dir,
VARIANT  varStart,
VARIANT pvarEnd 
)

Implements IAccessible.

Definition at line 2475 of file msutb.cpp.

2479{
2480 if (m_AccItems.size() <= 1)
2481 {
2482 V_VT(pvarEnd) = VT_EMPTY;
2483 return S_OK;
2484 }
2485
2486 switch (dir)
2487 {
2488 case NAVDIR_UP:
2489 case NAVDIR_LEFT:
2490 case NAVDIR_PREVIOUS:
2491 V_VT(pvarEnd) = VT_I4;
2492 V_I4(pvarEnd) = V_I4(&varStart) - 1;
2493 if (V_I4(&varStart) - 1 <= 0)
2494 V_I4(pvarEnd) = (INT)(m_AccItems.size() - 1);
2495 return S_OK;
2496
2497 case NAVDIR_DOWN:
2498 case NAVDIR_RIGHT:
2499 case NAVDIR_NEXT:
2500 V_VT(pvarEnd) = VT_I4;
2501 V_I4(pvarEnd) = V_I4(&varStart) + 1;
2502 if ((INT)m_AccItems.size() <= V_I4(&varStart) + 1)
2503 V_I4(pvarEnd) = 1;
2504 return S_OK;
2505
2506 case NAVDIR_FIRSTCHILD:
2507 V_VT(pvarEnd) = VT_I4;
2508 V_I4(pvarEnd) = 1;
2509 return S_OK;
2510
2511 case NAVDIR_LASTCHILD:
2512 V_VT(pvarEnd) = VT_I4;
2513 V_I4(pvarEnd) = (INT)(m_AccItems.size() - 1);
2514 return S_OK;
2515
2516 default:
2517 break;
2518 }
2519
2520 V_VT(pvarEnd) = VT_EMPTY;
2521 return S_OK;
2522}
unsigned int dir
Definition: maze.c:112
#define INT
Definition: polytest.cpp:20

◆ accSelect()

STDMETHODIMP CTipbarAccessible::accSelect ( LONG  flagsSelect,
VARIANT  varID 
)

Implements IAccessible.

Definition at line 2431 of file msutb.cpp.

2434{
2435 if ((flagsSelect & SELFLAG_ADDSELECTION) && (flagsSelect & SELFLAG_REMOVESELECTION))
2436 return E_INVALIDARG;
2437 if (flagsSelect & (SELFLAG_TAKEFOCUS | SELFLAG_ADDSELECTION | SELFLAG_EXTENDSELECTION))
2438 return S_FALSE;
2439 if (flagsSelect & SELFLAG_REMOVESELECTION)
2440 return S_OK;
2441 if (V_VT(&varID) != VT_I4)
2442 return E_INVALIDARG;
2443 if (flagsSelect & SELFLAG_TAKESELECTION)
2444 {
2445 m_cSelection = V_I4(&varID);
2446 return S_OK;
2447 }
2448 return S_FALSE;
2449}

◆ AddAccItem()

BOOL CTipbarAccessible::AddAccItem ( CTipbarAccItem pItem)

Definition at line 2118 of file msutb.cpp.

2119{
2120 return m_AccItems.Add(pItem);
2121}

Referenced by CTipbarItem::_AddedToUI().

◆ ClearAccItems()

void CTipbarAccessible::ClearAccItems ( )

Definition at line 2136 of file msutb.cpp.

2137{
2138 m_AccItems.clear();
2139}
void clear()
Definition: cicarray.h:36

◆ CreateRefToAccObj()

LONG_PTR CTipbarAccessible::CreateRefToAccObj ( WPARAM  wParam)

Definition at line 2158 of file msutb.cpp.

2159{
2160 return ::LresultFromObject(IID_IAccessible, wParam, this);
2161}
WPARAM wParam
Definition: combotst.c:138

◆ DoDefaultActionReal()

BOOL CTipbarAccessible::DoDefaultActionReal ( INT  nID)

Definition at line 2163 of file msutb.cpp.

2164{
2165 CTipbarAccItem *pItem = AccItemFromID(nID);
2166 if (!pItem)
2167 return FALSE;
2168 return pItem->DoAccDefaultActionReal();
2169}

◆ get_accChild()

STDMETHODIMP CTipbarAccessible::get_accChild ( VARIANT  varChildID,
IDispatch **  ppdispChild 
)

Definition at line 2288 of file msutb.cpp.

2291{
2292 if (!ppdispChild)
2293 return E_INVALIDARG;
2294 *ppdispChild = NULL;
2295 return S_FALSE;
2296}

◆ get_accChildCount()

STDMETHODIMP CTipbarAccessible::get_accChildCount ( LONG pcountChildren)

Definition at line 2277 of file msutb.cpp.

2278{
2279 if (!pcountChildren)
2280 return E_INVALIDARG;
2281 INT cItems = (INT)m_AccItems.size();
2282 if (!cItems)
2283 return E_FAIL;
2284 *pcountChildren = cItems - 1;
2285 return S_OK;
2286}
#define E_FAIL
Definition: ddrawi.h:102

◆ get_accDefaultAction()

STDMETHODIMP CTipbarAccessible::get_accDefaultAction ( VARIANT  varID,
BSTR action 
)

Definition at line 2411 of file msutb.cpp.

2414{
2415 if (!action)
2416 return E_INVALIDARG;
2417 *action = NULL;
2418
2419 if (V_VT(&varID) != VT_I4)
2420 return E_INVALIDARG;
2421
2422 CTipbarAccItem *pItem = AccItemFromID(V_I4(&varID));
2423 if (!pItem)
2424 return DISP_E_MEMBERNOTFOUND;
2425 *action = pItem->GetAccDefaultAction();
2426 if (!*action)
2427 return S_FALSE;
2428 return S_OK;
2429}
action
Definition: namespace.c:707

◆ get_accDescription()

STDMETHODIMP CTipbarAccessible::get_accDescription ( VARIANT  varID,
BSTR description 
)

Definition at line 2328 of file msutb.cpp.

2331{
2332 if (!description)
2333 return E_INVALIDARG;
2334 return m_pStdAccessible->get_accDescription(varID, description);
2335}
const char * description
Definition: directx.c:2497

◆ get_accFocus()

STDMETHODIMP CTipbarAccessible::get_accFocus ( VARIANT pvarID)

Definition at line 2383 of file msutb.cpp.

2384{
2385 if (!pvarID)
2386 return E_INVALIDARG;
2387 V_VT(pvarID) = VT_EMPTY;
2388 return S_FALSE;
2389}

◆ get_accHelp()

STDMETHODIMP CTipbarAccessible::get_accHelp ( VARIANT  varID,
BSTR help 
)

Definition at line 2365 of file msutb.cpp.

2366{
2367 return DISP_E_MEMBERNOTFOUND;
2368}

◆ get_accHelpTopic()

STDMETHODIMP CTipbarAccessible::get_accHelpTopic ( BSTR helpfile,
VARIANT  varID,
LONG pidTopic 
)

Definition at line 2370 of file msutb.cpp.

2374{
2375 return DISP_E_MEMBERNOTFOUND;
2376}

◆ get_accKeyboardShortcut()

STDMETHODIMP CTipbarAccessible::get_accKeyboardShortcut ( VARIANT  varID,
BSTR shortcut 
)

Definition at line 2378 of file msutb.cpp.

2379{
2380 return DISP_E_MEMBERNOTFOUND;
2381}

◆ get_accName()

STDMETHODIMP CTipbarAccessible::get_accName ( VARIANT  varID,
BSTR pszName 
)

Definition at line 2298 of file msutb.cpp.

2301{
2302 if (!pszName)
2303 return E_INVALIDARG;
2304 CTipbarAccItem *pItem = AccItemFromID(V_I4(&varID));
2305 if (!pItem)
2306 return E_INVALIDARG;
2307 *pszName = pItem->GetAccName();
2308 if (!*pszName)
2309 return DISP_E_MEMBERNOTFOUND;
2310 return S_OK;
2311}

◆ get_accParent()

STDMETHODIMP CTipbarAccessible::get_accParent ( IDispatch **  ppdispParent)

Definition at line 2272 of file msutb.cpp.

2273{
2274 return m_pStdAccessible->get_accParent(ppdispParent);
2275}

◆ get_accRole()

STDMETHODIMP CTipbarAccessible::get_accRole ( VARIANT  varID,
VARIANT role 
)

Definition at line 2337 of file msutb.cpp.

2340{
2341 if (!role)
2342 return E_INVALIDARG;
2343 CTipbarAccItem *pItem = AccItemFromID(V_I4(&varID));
2344 if (!pItem)
2345 return E_INVALIDARG;
2346 V_VT(role) = VT_I4;
2347 V_I4(role) = pItem->GetAccRole();
2348 return S_OK;
2349}

◆ get_accSelection()

STDMETHODIMP CTipbarAccessible::get_accSelection ( VARIANT pvarID)

Definition at line 2391 of file msutb.cpp.

2392{
2393 if (!pvarID)
2394 return E_INVALIDARG;
2395
2396 V_VT(pvarID) = VT_EMPTY;
2397
2398 INT cItems = (INT)m_AccItems.size();
2399 if (cItems < m_cSelection)
2400 return S_FALSE;
2401
2402 if (cItems > m_cSelection)
2403 {
2404 V_VT(pvarID) = VT_I4;
2405 V_I4(pvarID) = m_cSelection;
2406 }
2407
2408 return S_OK;
2409}

◆ get_accState()

STDMETHODIMP CTipbarAccessible::get_accState ( VARIANT  varID,
VARIANT state 
)

Definition at line 2351 of file msutb.cpp.

2354{
2355 if (!state)
2356 return E_INVALIDARG;
2357 CTipbarAccItem *pItem = AccItemFromID(V_I4(&varID));
2358 if (!pItem)
2359 return E_INVALIDARG;
2360 V_VT(state) = VT_I4;
2361 V_I4(state) = pItem->GetAccState();
2362 return S_OK;
2363}
static int state
Definition: maze.c:121

◆ get_accValue()

STDMETHODIMP CTipbarAccessible::get_accValue ( VARIANT  varID,
BSTR pszValue 
)

Definition at line 2313 of file msutb.cpp.

2316{
2317 if (!pszValue)
2318 return E_INVALIDARG;
2319 CTipbarAccItem *pItem = AccItemFromID(V_I4(&varID));
2320 if (!pItem)
2321 return E_INVALIDARG;
2322 *pszValue = pItem->GetAccValue();
2323 if (!*pszValue)
2324 return DISP_E_MEMBERNOTFOUND;
2325 return S_OK;
2326}
_In_opt_ LPCSTR _In_opt_ LPCSTR pszValue
Definition: shlwapi.h:783

◆ GetIDOfItem()

INT CTipbarAccessible::GetIDOfItem ( CTipbarAccItem pTarget)

Definition at line 2148 of file msutb.cpp.

2149{
2150 for (size_t iItem = 0; iItem < m_AccItems.size(); ++iItem)
2151 {
2152 if (pTarget == m_AccItems[iItem])
2153 return (INT)iItem;
2154 }
2155 return -1;
2156}
FxIoTarget * pTarget
Definition: fxdeviceapi.cpp:97

Referenced by NotifyWinEvent(), CTipbarWnd::StartDoAccDefaultActionTimer(), and CUTBMenuWnd::StartDoAccDefaultActionTimer().

◆ GetIDsOfNames()

STDMETHODIMP CTipbarAccessible::GetIDsOfNames ( REFIID  riid,
LPOLESTR rgszNames,
UINT  cNames,
LCID  lcid,
DISPID rgDispId 
)

Implements IDispatch.

Definition at line 2239 of file msutb.cpp.

2245{
2246 if (!m_pTypeInfo)
2247 return E_NOTIMPL;
2248 return m_pTypeInfo->GetIDsOfNames(rgszNames, cNames, rgDispId);
2249}
#define E_NOTIMPL
Definition: ddrawi.h:99
HRESULT GetIDsOfNames([in, size_is(cNames)] LPOLESTR *rgszNames, [in] UINT cNames, [out, size_is(cNames)] MEMBERID *pMemId)

◆ GetTypeInfo()

STDMETHODIMP CTipbarAccessible::GetTypeInfo ( UINT  iTInfo,
LCID  lcid,
ITypeInfo **  ppTInfo 
)

Implements IDispatch.

Definition at line 2222 of file msutb.cpp.

2226{
2227 if (!ppTInfo)
2228 return E_INVALIDARG;
2229 *ppTInfo = NULL;
2230 if (iTInfo != 0)
2232 if (!m_pTypeInfo)
2233 return E_NOTIMPL;
2234 *ppTInfo = m_pTypeInfo;
2236 return S_OK;
2237}
ULONG AddRef()
#define TYPE_E_ELEMENTNOTFOUND
Definition: winerror.h:3642

◆ GetTypeInfoCount()

STDMETHODIMP CTipbarAccessible::GetTypeInfoCount ( UINT pctinfo)

Implements IDispatch.

Definition at line 2214 of file msutb.cpp.

2215{
2216 if (!pctinfo)
2217 return E_INVALIDARG;
2218 *pctinfo = (m_pTypeInfo == NULL);
2219 return S_OK;
2220}

◆ Initialize()

HRESULT CTipbarAccessible::Initialize ( )

Definition at line 2095 of file msutb.cpp.

2096{
2098
2100 (void **)&m_pStdAccessible);
2101 if (FAILED(hr))
2102 return hr;
2103
2104 ITypeLib *pTypeLib;
2105 hr = ::LoadRegTypeLib(LIBID_Accessibility, 1, 0, 0, &pTypeLib);
2106 if (FAILED(hr))
2107 hr = ::LoadTypeLib(L"OLEACC.DLL", &pTypeLib);
2108
2109 if (SUCCEEDED(hr))
2110 {
2111 hr = pTypeLib->GetTypeInfoOfGuid(IID_IAccessible, &m_pTypeInfo);
2112 pTypeLib->Release();
2113 }
2114
2115 return hr;
2116}
HRESULT hr
Definition: delayimp.cpp:573
#define TRUE
Definition: types.h:120
HRESULT WINAPI CreateStdAccessibleObject(HWND hwnd, LONG idObject, REFIID riidInterface, void **ppvObject)
Definition: main.c:154
HRESULT WINAPI LoadRegTypeLib(REFGUID rguid, WORD wVerMajor, WORD wVerMinor, LCID lcid, ITypeLib **ppTLib)
Definition: typelib.c:531
HRESULT WINAPI LoadTypeLib(const OLECHAR *szFile, ITypeLib **pptLib)
Definition: typelib.c:458
#define L(x)
Definition: resources.c:13
HRESULT GetTypeInfoOfGuid([in] REFGUID guid, [out] ITypeInfo **ppTinfo)
#define SUCCEEDED(hr)
Definition: intsafe.h:50
#define FAILED(hr)
Definition: intsafe.h:51
#define OBJID_CLIENT
Definition: winable.h:19

◆ Invoke()

STDMETHODIMP CTipbarAccessible::Invoke ( DISPID  dispIdMember,
REFIID  riid,
LCID  lcid,
WORD  wFlags,
DISPPARAMS *  pDispParams,
VARIANT pVarResult,
EXCEPINFO *  pExcepInfo,
UINT puArgErr 
)

Implements IDispatch.

Definition at line 2251 of file msutb.cpp.

2260{
2261 if (!m_pTypeInfo)
2262 return E_NOTIMPL;
2263 return m_pTypeInfo->Invoke(this,
2264 dispIdMember,
2265 wFlags,
2266 pDispParams,
2267 pVarResult,
2268 pExcepInfo,
2269 puArgErr);
2270}
HRESULT Invoke([in] PVOID pvInstance, [in] MEMBERID memid, [in] WORD wFlags, [in, out] DISPPARAMS *pDispParams, [out] VARIANT *pVarResult, [out] EXCEPINFO *pExcepInfo, [out] UINT *puArgErr)
WINBASEAPI _In_ DWORD _Out_ _In_ WORD wFlags
Definition: wincon_undoc.h:337

◆ NotifyWinEvent()

void CTipbarAccessible::NotifyWinEvent ( DWORD  event,
CTipbarAccItem pItem 
)

Definition at line 2171 of file msutb.cpp.

2172{
2173 INT nID = GetIDOfItem(pItem);
2174 if (nID < 0)
2175 return;
2176
2177 ::NotifyWinEvent(event, m_hWnd, -4, nID);
2178}
INT GetIDOfItem(CTipbarAccItem *pTarget)
Definition: msutb.cpp:2148
void NotifyWinEvent(DWORD event, CTipbarAccItem *pItem)
Definition: msutb.cpp:2171
struct _cl_event * event
Definition: glext.h:7739

Referenced by NotifyWinEvent().

◆ put_accName()

STDMETHODIMP CTipbarAccessible::put_accName ( VARIANT  varID,
BSTR  name 
)

Definition at line 2569 of file msutb.cpp.

2570{
2571 return S_FALSE;
2572}

◆ put_accValue()

STDMETHODIMP CTipbarAccessible::put_accValue ( VARIANT  varID,
BSTR  value 
)

Definition at line 2574 of file msutb.cpp.

2575{
2576 return S_FALSE;
2577}

◆ QueryInterface()

STDMETHODIMP CTipbarAccessible::QueryInterface ( REFIID  riid,
void **  ppvObject 
)

Implements IUnknown.

Definition at line 2185 of file msutb.cpp.

2188{
2189 static const QITAB c_tab[] =
2190 {
2193 { NULL }
2194 };
2195 return ::QISearch(this, c_tab, riid, ppvObject);
2196}
REFIID riid
Definition: atlbase.h:39
#define QITABENT(Cthis, Ifoo)
Definition: shlwapi.h:152
Definition: shlwapi.h:139

◆ RemoveAccItem()

HRESULT CTipbarAccessible::RemoveAccItem ( CTipbarAccItem pItem)

Definition at line 2123 of file msutb.cpp.

2124{
2125 for (size_t iItem = 0; iItem < m_AccItems.size(); ++iItem)
2126 {
2127 if (m_AccItems[iItem] == pItem)
2128 {
2129 m_AccItems.Remove(iItem, 1);
2130 break;
2131 }
2132 }
2133 return S_OK;
2134}
void Remove(size_t iItem, size_t cRemove=1)
Definition: cicarray.cpp:57

Referenced by CTipbarItem::_RemovedToUI(), and CTipbarItem::~CTipbarItem().

◆ SetWindow()

void CTipbarAccessible::SetWindow ( HWND  hWnd)

Definition at line 2180 of file msutb.cpp.

2181{
2182 m_hWnd = hWnd;
2183}
HWND hWnd
Definition: settings.c:17

◆ STDMETHOD_() [1/2]

CTipbarAccessible::STDMETHOD_ ( ULONG  ,
AddRef   
)

◆ STDMETHOD_() [2/2]

CTipbarAccessible::STDMETHOD_ ( ULONG  ,
Release   
)

Friends And Related Function Documentation

◆ CTipbarWnd

friend class CTipbarWnd
friend

Definition at line 774 of file msutb.cpp.

◆ CUTBMenuWnd

friend class CUTBMenuWnd
friend

Definition at line 773 of file msutb.cpp.

Member Data Documentation

◆ m_AccItems

◆ m_bInitialized

BOOL CTipbarAccessible::m_bInitialized
protected

Definition at line 770 of file msutb.cpp.

Referenced by CTipbarAccessible(), and Initialize().

◆ m_cRefs

LONG CTipbarAccessible::m_cRefs
protected

Definition at line 766 of file msutb.cpp.

Referenced by CTipbarAccessible().

◆ m_cSelection

LONG CTipbarAccessible::m_cSelection
protected

Definition at line 772 of file msutb.cpp.

Referenced by accSelect(), CTipbarAccessible(), and get_accSelection().

◆ m_hWnd

HWND CTipbarAccessible::m_hWnd
protected

Definition at line 767 of file msutb.cpp.

Referenced by accHitTest(), CTipbarAccessible(), Initialize(), NotifyWinEvent(), and SetWindow().

◆ m_pStdAccessible

IAccessible* CTipbarAccessible::m_pStdAccessible
protected

◆ m_pTypeInfo

ITypeInfo* CTipbarAccessible::m_pTypeInfo
protected

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