File indexing completed on 2024-05-12 04:20:38

0001 /*
0002  * SPDX-FileCopyrightText: 2001-2015 Klaralvdalens Datakonsult AB. All rights reserved.
0003  *
0004  * This file is part of the KD Chart library.
0005  *
0006  * SPDX-License-Identifier: GPL-2.0-or-later
0007  */
0008 
0009 #ifndef KTEXTDOCUMENT_H
0010 #define KTEXTDOCUMENT_H
0011 
0012 //
0013 //  W A R N I N G
0014 //  -------------
0015 //
0016 // This file is not part of the KD Chart API.  It exists purely as an
0017 // implementation detail.  This header file may change from version to
0018 // version without notice, or even be removed.
0019 //
0020 // We mean it.
0021 //
0022 
0023 #include <QTextDocument>
0024 #include <QSize>
0025 
0026 /**
0027   * KTextDocument is an internally used enhanced QTextDocument
0028   * \internal
0029   */
0030 class KTextDocument : public QTextDocument
0031 {
0032     Q_OBJECT
0033 
0034 public:
0035     explicit KTextDocument( QObject* parent = nullptr );
0036     explicit KTextDocument( const QString& text, QObject* parent = nullptr );
0037     ~KTextDocument() override;
0038 
0039     QSize sizeHint();
0040     QSize minimumSizeHint();
0041 
0042 private:
0043     QSize sizeForWidth( int width );
0044 
0045 private:
0046     bool mHintValid;
0047     QSize mSizeHint;
0048     QSize mMinimumSizeHint;
0049 };
0050 
0051 
0052 #endif /* KTEXTDOCUMENT_H */
0053