24#include <document.hxx>
32#include <com/sun/star/accessibility/AccessibleRole.hpp>
33#include <com/sun/star/accessibility/AccessibleStateType.hpp>
34#include <com/sun/star/accessibility/AccessibleEventId.hpp>
35#include <com/sun/star/lang/IndexOutOfBoundsException.hpp>
54 mpViewShell( pViewShell ),
99 if (rHint.
GetId() == SfxHintId::ScDataChanged)
101 std::vector<rtl::Reference<ScAccessiblePageHeaderArea>> aOldAreas(
maAreas);
109 if (aOldAreas[
i].is() && aOldAreas[
i]->GetEditTextObject())
111 AccessibleEventObject
aEvent;
112 aEvent.EventId = AccessibleEventId::CHILD;
113 aEvent.Source = uno::Reference< XAccessibleContext >(
this);
114 aEvent.OldValue <<= uno::Reference<XAccessible>(aOldAreas[
i]);
117 aOldAreas[
i]->dispose();
121 AccessibleEventObject
aEvent;
122 aEvent.EventId = AccessibleEventId::CHILD;
123 aEvent.Source = uno::Reference< XAccessibleContext >(
this);
131 else if (rHint.
GetId() == SfxHintId::ScAccVisAreaChanged)
133 AccessibleEventObject
aEvent;
134 aEvent.EventId = AccessibleEventId::VISIBLE_DATA_CHANGED;
135 aEvent.Source = uno::Reference< XAccessibleContext >(
this);
146 uno::Reference<XAccessible> xRet;
179 if (xAccessibleComponent.is())
180 xAccessibleComponent->grabFocus();
200 sal_uInt16 nPageWhichId(0);
221 uno::Reference<XAccessible> xRet;
227 for (
const auto& rxArea :
maAreas)
242 throw lang::IndexOutOfBoundsException();
255 uno::Reference<XAccessibleStateSet> xParentStates;
258 uno::Reference<XAccessibleContext> xParentContext =
getAccessibleParent()->getAccessibleContext();
259 xParentStates = xParentContext->getAccessibleStateSet();
263 pStateSet->AddState(AccessibleStateType::DEFUNC);
266 pStateSet->AddState(AccessibleStateType::ENABLED);
267 pStateSet->AddState(AccessibleStateType::OPAQUE);
269 pStateSet->AddState(AccessibleStateType::SHOWING);
271 pStateSet->AddState(AccessibleStateType::VISIBLE);
280 return "ScAccessiblePageHeader";
285 const css::uno::Sequence<OUString> vals {
"com.sun.star.text.AccessibleHeaderFooterView" };
294 return sDesc.replaceFirst(
"%1",
ScResId(SCSTR_UNKNOWN));
300 return sName.replaceFirst(
"%1",
ScResId(SCSTR_UNKNOWN));
325 rData.GetHeaderPosition( aRect );
327 rData.GetFooterPosition( aRect );
345 (rxParentStates.is() && rxParentStates->contains(AccessibleStateType::DEFUNC));
virtual sal_Int32 GetParagraphCount() const=0
virtual OUString GetText(sal_Int32 nPara) const=0
virtual sal_Bool SAL_CALL containsPoint(const css::awt::Point &rPoint) override
===== XAccessibleComponent ============================================
void IsObjectValid() const
virtual css::uno::Reference< css::accessibility::XAccessibleContext > SAL_CALL getAccessibleContext() override
===== XAccessible =====================================================
virtual void SAL_CALL disposing() override
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
Returns a list of all supported services.
virtual void Notify(SfxBroadcaster &rBC, const SfxHint &rHint) override
===== SfxListener =====================================================
virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleParent() override
Return a reference to the parent.
void CommitChange(const css::accessibility::AccessibleEventObject &rEvent) const
Calls all Listener to tell they the change.
SC_DLLPUBLIC OUString GetPageStyle(SCTAB nTab) const
SC_DLLPUBLIC ScStyleSheetPool * GetStyleSheetPool() const
static bool EETextObjEqual(const EditTextObject *pObj1, const EditTextObject *pObj2)
const EditTextObject * GetCenterArea() const
const EditTextObject * GetLeftArea() const
const EditTextObject * GetRightArea() const
bool IsFooterLeft() const
bool IsHeaderLeft() const
SCTAB GetPrintTab() const
const ScPreviewLocationData & GetLocationData()
void AddAccessibilityObject(SfxListener &rObject)
ScDocument & GetDocument()
void RemoveAccessibilityObject(SfxListener &rObject)
const SfxPoolItem & Get(sal_uInt16 nWhich, bool bSrchInParent=true) const
virtual SfxStyleSheetBase * Find(const OUString &, SfxStyleFamily eFam, SfxStyleSearchBits n=SfxStyleSearchBits::All) const
virtual SfxItemSet & GetItemSet()
vcl::Window * GetWindow() const
vcl::Window * GetAccessibleParentWindow() const
tools::Rectangle GetWindowExtentsRelative(const vcl::Window *pRelativeWindow) const
const ContentProperties & rData
css::uno::Sequence< T > concatSequences(const css::uno::Sequence< T > &rS1, const Ss &... rSn)
OUString ScResId(TranslateId aId)
constexpr TypedWhichId< ScPageHFItem > ATTR_PAGE_FOOTERLEFT(179)
constexpr TypedWhichId< ScPageHFItem > ATTR_PAGE_HEADERLEFT(178)
constexpr TypedWhichId< ScPageHFItem > ATTR_PAGE_FOOTERRIGHT(181)
constexpr TypedWhichId< ScPageHFItem > ATTR_PAGE_HEADERRIGHT(180)
constexpr OUStringLiteral STR_ACC_HEADER_DESCR
constexpr OUStringLiteral STR_ACC_FOOTER_DESCR