diff options
Diffstat (limited to 'include/sfx2/AccessibilityIssue.hxx')
-rw-r--r-- | include/sfx2/AccessibilityIssue.hxx | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/include/sfx2/AccessibilityIssue.hxx b/include/sfx2/AccessibilityIssue.hxx new file mode 100644 index 0000000000..92bef3d7d6 --- /dev/null +++ b/include/sfx2/AccessibilityIssue.hxx @@ -0,0 +1,82 @@ +/* -*- 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/. + * + */ + +#pragma once + +#include <sfx2/dllapi.h> + +#include <vcl/weld.hxx> +#include <rtl/ustring.hxx> + +#include <vector> +#include <memory> + +namespace sfx +{ +enum class AccessibilityIssueID +{ + UNSPECIFIED, // TODO: remove - temporary + DOCUMENT_TITLE, + DOCUMENT_LANGUAGE, + DOCUMENT_BACKGROUND, + STYLE_LANGUAGE, + LINKED_GRAPHIC, + NO_ALT_OLE, + NO_ALT_GRAPHIC, + NO_ALT_SHAPE, + TABLE_MERGE_SPLIT, + TEXT_FORMATTING, + TABLE_FORMATTING, + HYPERLINK_IS_TEXT, + HYPERLINK_SHORT, + FAKE_FOOTNOTE, + FAKE_CAPTION, + MANUAL_NUMBERING +}; + +class SFX2_DLLPUBLIC AccessibilityIssue +{ +public: + AccessibilityIssue(AccessibilityIssueID eIssueID = AccessibilityIssueID::UNSPECIFIED); + AccessibilityIssue(AccessibilityIssue const&) = default; + virtual ~AccessibilityIssue(); + + virtual bool canGotoIssue() const = 0; + virtual void gotoIssue() const = 0; + + virtual bool canQuickFixIssue() const = 0; + virtual void quickFixIssue() const = 0; + + void setParent(weld::Window* pParent) { m_pParent = pParent; } + + AccessibilityIssue& operator=(const AccessibilityIssue&) = default; + + AccessibilityIssueID m_eIssueID; + OUString m_aIssueText; + + weld::Window* m_pParent; +}; + +class SFX2_DLLPUBLIC AccessibilityIssueCollection +{ +private: + std::vector<std::shared_ptr<AccessibilityIssue>> m_aIssues; + +public: + AccessibilityIssueCollection() = default; + + std::vector<std::shared_ptr<AccessibilityIssue>>& getIssues(); + + void clear(); +}; + +} // end sfx namespace + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |