/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ /* * This file is part of the LibreOffice project. * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. * * This file incorporates work covered by the following license notice: * * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed * with this work for additional information regarding copyright * ownership. The ASF licenses this file to you under the Apache * License, Version 2.0 (the "License"); you may not use this file * except in compliance with the License. You may obtain a copy of * the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
/** *This class implements IMAccessible interface, which inherits from IAccessible2, and *in turn inherits from IAccessible. So its methods include the methods defined only in *IAccessible, plus the methods defined only in IAccessible2, plus the methods defined *only in IMAccessible.
*/ class ATL_NO_VTABLE CMAccessible : public CComObjectRoot, public CComCoClass<CMAccessible, &CLSID_MAccessible>, public IDispatchImpl<IMAccessible, &IID_IMAccessible, &LIBID_UACCCOMLib>, public IServiceProvider, public IAccessibleApplication
{ typedef ::std::map<const GUID, CComPtr<IUnknown>, ltComp> XGUIDToComObjHash;
// methods which are defined only in IMAccessible // These methods are provided for UNO management system. // The UNO management system use these methods to put Accessibility // information to COM.
STDMETHOD(Put_XAccRole)(unsignedshort pRole) override;
STDMETHOD(DecreaseState)(DWORD pXSate) override;
STDMETHOD(IncreaseState)(DWORD pXSate) override;
STDMETHOD(SetState)(DWORD pXSate) override;
STDMETHOD(Put_XAccValue)(const OLECHAR __RPC_FAR *pszAccValue) override;
STDMETHOD(Put_XAccFocus)(long dChildID) override;
STDMETHOD(Put_XAccParent)(IMAccessible __RPC_FAR *pIParent) override;
STDMETHOD(Put_XAccWindowHandle)(HWND hwnd) override;
STDMETHOD(Put_XAccChildID)(long dChildID) override;
STDMETHOD(Put_XAccObjectManager)(hyper pManager) override;
STDMETHOD(NotifyDestroy)() override;
STDMETHOD(SetXAccessible)(hyper) override;
public: // AccObjectWinManager is a management object in UNO, here keep its pointer for // the implementation of accNavigate when descendant manage happens for List,Tree, or Table // AccObjectWinManager and the following UNO objects XAccessible,XAccessibleSelection, // XAccessibleAction are all used to operate UNO accessibility information directly when // implement some specific MSAA methods,such as accSelection,accNavigate static AccObjectWinManager* g_pAccObjectManager;
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.