24 #include <document.hxx>
25 #include <stlpool.hxx>
29 #include <strings.hrc>
30 #include <strings.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].get());
117 aOldAreas[
i]->dispose();
121 AccessibleEventObject
aEvent;
122 aEvent.EventId = AccessibleEventId::CHILD;
123 aEvent.Source = uno::Reference< XAccessibleContext >(
this);
124 aEvent.NewValue <<= uno::Reference<XAccessible>(
maAreas[
i].get());
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));
346 (rxParentStates.is() && rxParentStates->contains(AccessibleStateType::DEFUNC));
const ScPreviewLocationData & GetLocationData()
void AddAccessibilityObject(SfxListener &rObject)
static bool EETextObjEqual(const EditTextObject *pObj1, const EditTextObject *pObj2)
const EditTextObject * GetCenterArea() const
const ContentProperties & rData
virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleParent() override
Return a reference to the parent.
#define STR_ACC_HEADER_DESCR
virtual SfxItemSet & GetItemSet()
virtual sal_Bool SAL_CALL containsPoint(const css::awt::Point &rPoint) override
===== XAccessibleComponent ============================================
SCTAB GetPrintTab() const
virtual void Notify(SfxBroadcaster &rBC, const SfxHint &rHint) override
===== SfxListener =====================================================
tools::Rectangle GetWindowExtentsRelative(const vcl::Window *pRelativeWindow) const
OUString GetText(sal_Int32 nPara) const
constexpr TypedWhichId< ScPageHFItem > ATTR_PAGE_FOOTERLEFT(178)
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
Returns a list of all supported services.
bool GetFooterPosition(tools::Rectangle &rFooterRect) const
bool IsFooterLeft() const
void IsObjectValid() const
OUString ScResId(const char *pId)
SC_DLLPUBLIC OUString GetPageStyle(SCTAB nTab) const
constexpr TypedWhichId< ScPageHFItem > ATTR_PAGE_HEADERRIGHT(179)
css::uno::Sequence< T > concatSequences(const css::uno::Sequence< T > &rS1, const Ss &...rSn)
constexpr TypedWhichId< ScPageHFItem > ATTR_PAGE_FOOTERRIGHT(180)
bool IsHeaderLeft() const
sal_Int32 GetParagraphCount() const
virtual void SAL_CALL disposing() override
const SfxPoolItem & Get(sal_uInt16 nWhich, bool bSrchInParent=true) const
void RemoveAccessibilityObject(SfxListener &rObject)
const EditTextObject * GetRightArea() const
const EditTextObject * GetLeftArea() const
ScDocument & GetDocument()
vcl::Window * GetWindow() const
SC_DLLPUBLIC ScStyleSheetPool * GetStyleSheetPool() const
void CommitChange(const css::accessibility::AccessibleEventObject &rEvent) const
Calls all Listener to tell they the change.
#define STR_ACC_FOOTER_DESCR
virtual SfxStyleSheetBase * Find(const OUString &, SfxStyleFamily eFam, SfxStyleSearchBits n=SfxStyleSearchBits::All)
void AddState(sal_Int16 aState)
constexpr TypedWhichId< ScPageHFItem > ATTR_PAGE_HEADERLEFT(177)
bool GetHeaderPosition(tools::Rectangle &rHeaderRect) const
virtual css::uno::Reference< css::accessibility::XAccessibleContext > SAL_CALL getAccessibleContext() override
===== XAccessible =====================================================