diff options
Diffstat (limited to 'sources/shiboken6/ApiExtractor/documentation.h')
-rw-r--r-- | sources/shiboken6/ApiExtractor/documentation.h | 72 |
1 files changed, 32 insertions, 40 deletions
diff --git a/sources/shiboken6/ApiExtractor/documentation.h b/sources/shiboken6/ApiExtractor/documentation.h index b0083c2be..df9d5d614 100644 --- a/sources/shiboken6/ApiExtractor/documentation.h +++ b/sources/shiboken6/ApiExtractor/documentation.h @@ -1,44 +1,22 @@ -/**************************************************************************** -** -** Copyright (C) 2020 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of Qt for Python. -** -** $QT_BEGIN_LICENSE:GPL-EXCEPT$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3 as published by the Free Software -** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ +// Copyright (C) 2020 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 #ifndef DOCUMENTATION_H #define DOCUMENTATION_H -#include <QtCore/QMap> #include <QtCore/QString> +#include <QtCore/QtCompare> + +QT_FORWARD_DECLARE_CLASS(QDebug) class Documentation { public: enum Format { - Native, - Target + Native, // XML + Target // RST }; + enum Type { Detailed, Brief, @@ -46,28 +24,42 @@ public: }; Documentation() = default; - Documentation(const QString& value, Type t = Documentation::Detailed, - Format fmt = Documentation::Native); + explicit Documentation(const QString &detailed, + const QString &brief, + Format fmt = Documentation::Native); bool isEmpty() const; - QString value(Type t = Documentation::Detailed) const; - void setValue(const QString& value, Type t = Documentation::Detailed, - Format fmt = Documentation::Native); + void setValue(const QString& value, Type t = Documentation::Detailed); Documentation::Format format() const; void setFormat(Format f); bool equals(const Documentation &rhs) const; + const QString &detailed() const { return m_detailed; } + void setDetailed(const QString &detailed); + + bool hasBrief() const { return !m_brief.isEmpty(); } + const QString &brief() const { return m_brief; } + void setBrief(const QString &brief); + private: - QMap<Type, QString> m_data; + friend bool comparesEqual(const Documentation &lhs, + const Documentation &rhs) noexcept + { + return lhs.m_format == rhs.m_format && lhs.m_detailed == rhs.m_detailed + && lhs.m_brief == rhs.m_brief; + } + Q_DECLARE_EQUALITY_COMPARABLE(Documentation) + + QString m_detailed; + QString m_brief; Format m_format = Documentation::Native; }; -inline bool operator==(const Documentation &d1, const Documentation &d2) -{ return d1.equals(d2); } -inline bool operator!=(const Documentation &d1, const Documentation &d2) -{ return !d1.equals(d2); } +#ifndef QT_NO_DEBUG_STREAM +QDebug operator<<(QDebug debug, const Documentation &); +#endif #endif // DOCUMENTATION_H |