/* -*- 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 .
*/
namespace utl { class AccessibleRelationSetHelper; }
namespace accessibility {
class EDITENG_DLLPUBLIC AccessibleContextBase
: public cppu::ImplInheritanceHelper<comphelper::OAccessibleComponentHelper,
css::lang::XServiceInfo, css::accessibility::XAccessible>
{ public:
/** Call all accessibility event listeners to inform them about the specified event. @param aEventId Id of the event type. @param rNewValue New value of the modified attribute. Pass empty structure if not applicable. @param rOldValue Old value of the modified attribute. Pass empty structure if not applicable.
*/ void CommitChange (sal_Int16 aEventId, const css::uno::Any& rNewValue, const css::uno::Any& rOldValue,
sal_Int32 nValueIndex);
/** Set a new description and, provided that the new name differs from the old one, broadcast an accessibility event. @param rsDescription The new description. @param eDescriptionOrigin The origin of the description. This is used to determine whether the given description overrules the existing one. An origin with a lower numerical value overrides one with a higher value. @throws css::uno::RuntimeException
*/ void SetAccessibleDescription ( const OUString& rsDescription,
StringOrigin eDescriptionOrigin);
/** Set a new description and, provided that the new name differs from the old one, broadcast an accessibility event. @param rsName The new name. @param eNameOrigin The origin of the name. This is used to determine whether the given name overrules the existing one. An origin with a lower numerical value overrides one with a higher value. @throws css::uno::RuntimeException
*/ void SetAccessibleName ( const OUString& rsName,
StringOrigin eNameOrigin);
/** Set the specified state (turn it on) and send events to all listeners to inform them of the change.
@param aState The state to turn on.
@return If the specified state changed its value due to this call <TRUE/> is returned, otherwise <FALSE/>.
*/ virtualbool SetState (sal_Int64 aState);
/** Reset the specified state (turn it off) and send events to all listeners to inform them of the change.
@param aState The state to turn off.
@return If the specified state changed its value due to this call <TRUE/> is returned, otherwise <FALSE/>.
*/ virtualbool ResetState (sal_Int64 aState);
/** Return the state of the specified state.
@param aState The state for which to return its value.
@return A value of <TRUE/> indicates that the state is set. A <FALSE/> value indicates an unset state.
*/ bool GetState (sal_Int64 aState);
/** Replace the current relation set with the specified one. Send events for relations that are not in both sets.
@param rRelationSet The new relation set that replaces the old one.
/** Returns an identifier for the implementation of this object.
*/ virtual OUString SAL_CALL
getImplementationName() override;
/** Return whether the specified service is supported by this class.
*/ virtual sal_Bool SAL_CALL
supportsService (const OUString& sServiceName) override final;
/** Returns a list of all supported services. In this case that is just the AccessibleContext service.
*/ virtual css::uno::Sequence< OUString> SAL_CALL
getSupportedServiceNames() override;
/** Check whether or not the object has been disposed (or is in the state of being disposed).
@return TRUE, if the object is disposed or in the course of being disposed. Otherwise, FALSE is returned.
*/ bool IsDisposed() const;
protected: /** The state set.
*/
sal_Int64 mnStateSet;
/** The relation set. Relations can be set or removed by calling the <member>AddRelation</member> and <member>RemoveRelation</member> methods.
*/
rtl::Reference<utl::AccessibleRelationSetHelper> mxRelationSet;
// This method is called from the component helper base class while disposing. virtualvoid SAL_CALL disposing() override;
/** Create the accessible object's name. This method may be called more than once for a single object. @return The returned string is a unique (among the accessible object's siblings) name. @throws css::uno::RuntimeException
*/ virtual OUString CreateAccessibleName();
/** sets the role as returned by XaccessibleContext::getAccessibleRole
<p>Caution: This is only to be used in the construction phase (means within the ctor or late ctor), <em>never</em> when the object is still alive and part of an Accessibility hierarchy.</p>
*/ void SetAccessibleRole( sal_Int16 _nRole );
private: /// Reference to the parent object.
css::uno::Reference< css::accessibility::XAccessible> mxParent;
/** Description of this object. This is not a constant because it can be set from the outside. Furthermore, it changes according to the draw page's display mode.
*/
OUString msDescription;
/** The origin of the description is used to determine whether new descriptions given to the SetAccessibleDescription is ignored or whether that replaces the old value in msDescription.
*/
StringOrigin meDescriptionOrigin;
/** Name of this object. It changes according the draw page's display mode.
*/
OUString msName;
/** The origin of the name is used to determine whether new name given to the SetAccessibleName is ignored or whether that replaces the old value in msName.
*/
StringOrigin meNameOrigin;
/** This is the role of this object.
*/
sal_Int16 maRole;
};
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 ist noch experimentell.