diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-15 05:54:39 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-15 05:54:39 +0000 |
commit | 267c6f2ac71f92999e969232431ba04678e7437e (patch) | |
tree | 358c9467650e1d0a1d7227a21dac2e3d08b622b2 /sw/source/core/inc/AccessibilityIssue.hxx | |
parent | Initial commit. (diff) | |
download | libreoffice-267c6f2ac71f92999e969232431ba04678e7437e.tar.xz libreoffice-267c6f2ac71f92999e969232431ba04678e7437e.zip |
Adding upstream version 4:24.2.0.upstream/4%24.2.0
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'sw/source/core/inc/AccessibilityIssue.hxx')
-rw-r--r-- | sw/source/core/inc/AccessibilityIssue.hxx | 89 |
1 files changed, 89 insertions, 0 deletions
diff --git a/sw/source/core/inc/AccessibilityIssue.hxx b/sw/source/core/inc/AccessibilityIssue.hxx new file mode 100644 index 0000000000..5fe9857b99 --- /dev/null +++ b/sw/source/core/inc/AccessibilityIssue.hxx @@ -0,0 +1,89 @@ +/* -*- 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/. + * + */ + +#ifndef INCLUDED_SW_SOURCE_CORE_ACCESSIBILITYISSUE_HXX +#define INCLUDED_SW_SOURCE_CORE_ACCESSIBILITYISSUE_HXX + +#include <sfx2/AccessibilityIssue.hxx> +#include <doc.hxx> +#include <txtftn.hxx> + +namespace sw +{ +enum class IssueObject +{ + UNKNOWN, + GRAPHIC, + OLE, + SHAPE, + FORM, + TABLE, + TEXT, + DOCUMENT_TITLE, + DOCUMENT_BACKGROUND, + LANGUAGE_NOT_SET, + FOOTENDNOTE, + TEXTFRAME, + LINKED, +}; + +class SW_DLLPUBLIC AccessibilityIssue final : public sfx::AccessibilityIssue +{ +private: + IssueObject m_eIssueObject; + SwDoc* m_pDoc; + OUString m_sObjectID; + std::vector<OUString> m_aIssueAdditionalInfo; + SwNode* m_pNode; + SwTextFootnote* m_pTextFootnote; + + sal_Int32 m_nStart; + sal_Int32 m_nEnd; + +public: + AccessibilityIssue(sfx::AccessibilityIssueID eIssueID = sfx::AccessibilityIssueID::UNSPECIFIED); + AccessibilityIssue(AccessibilityIssue const&) = default; + + void setIssueObject(IssueObject eIssueObject); + void setDoc(SwDoc& rDoc); + void setObjectID(OUString const& rID); + void setNode(SwNode* pNode) { m_pNode = pNode; } + void setTextFootnote(SwTextFootnote* pTextFootnote) { m_pTextFootnote = pTextFootnote; } + + void setStart(sal_Int32 nStart) { m_nStart = nStart; } + + void setEnd(sal_Int32 nEnd) { m_nEnd = nEnd; } + + std::vector<OUString> const& getAdditionalInfo() const { return m_aIssueAdditionalInfo; } + + void setAdditionalInfo(std::vector<OUString>&& rIssueAdditionalInfo) + { + m_aIssueAdditionalInfo = std::move(rIssueAdditionalInfo); + } + + bool canGotoIssue() const override; + void gotoIssue() const override; + + bool canQuickFixIssue() const override; + void quickFixIssue() const override; + + sal_Int32 getStart() { return m_nStart; } + sal_Int32 getEnd() { return m_nEnd; } + SwNode* getNode() { return m_pNode; } + SwTextFootnote* getTextFootnote() { return m_pTextFootnote; } + + AccessibilityIssue& operator=(const AccessibilityIssue&) = default; +}; + +} // end sw namespace + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |