related: tdf#162601 UNIQUE function is case-insensitive also for non ASCII
[LibreOffice.git] / sw / source / core / inc / AccessibilityCheck.hxx
blobcaaff1944842f7dfe3d57cb94befa11975f06998
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 */
11 #pragma once
13 #include <sfx2/AccessibilityCheck.hxx>
14 #include <doc.hxx>
15 #include <node.hxx>
17 namespace sw
19 /** Base class for accessibility checks */
20 class BaseCheck
22 protected:
23 sfx::AccessibilityIssueCollection& m_rIssueCollection;
25 public:
26 BaseCheck(sfx::AccessibilityIssueCollection& rIssueCollection)
27 : m_rIssueCollection(rIssueCollection)
30 virtual ~BaseCheck() {}
33 class SW_DLLPUBLIC AccessibilityCheck final : public sfx::AccessibilityCheck
35 private:
36 SwDoc* m_pDoc;
38 std::vector<std::shared_ptr<BaseCheck>> m_aDocumentChecks;
39 std::vector<std::shared_ptr<BaseCheck>> m_aNodeChecks;
41 AccessibilityCheck() = delete;
43 void init();
45 public:
46 AccessibilityCheck(SwDoc* pDoc)
47 : m_pDoc(pDoc)
51 void check() override;
52 void checkObject(SwNode* pNode, SdrObject* pObject);
53 void checkNode(SwNode* pNode);
54 void checkDocumentProperties();
57 } // end sw namespace
59 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */