1 /* 2 * Copyright (C) 2001-2015 Klaralvdalens Datakonsult AB. All rights reserved. 3 * 4 * This file is part of the KD Chart library. 5 * 6 * This program is free software; you can redistribute it and/or 7 * modify it under the terms of the GNU General Public License as 8 * published by the Free Software Foundation; either version 2 of 9 * the License, or (at your option) any later version. 10 * 11 * This program is distributed in the hope that it will be useful, 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 * GNU General Public License for more details. 15 * 16 * You should have received a copy of the GNU General Public License 17 * along with this program. If not, see <https://www.gnu.org/licenses/>. 18 */ 19 20 #ifndef KTEXTDOCUMENT_H 21 #define KTEXTDOCUMENT_H 22 23 // 24 // W A R N I N G 25 // ------------- 26 // 27 // This file is not part of the KD Chart API. It exists purely as an 28 // implementation detail. This header file may change from version to 29 // version without notice, or even be removed. 30 // 31 // We mean it. 32 // 33 34 #include <QTextDocument> 35 #include <QSize> 36 37 /** 38 * KTextDocument is an internally used enhanced QTextDocument 39 * \internal 40 */ 41 class KTextDocument : public QTextDocument 42 { 43 Q_OBJECT 44 45 public: 46 explicit KTextDocument( QObject* parent = nullptr ); 47 explicit KTextDocument( const QString& text, QObject* parent = nullptr ); 48 ~KTextDocument(); 49 50 QSize sizeHint(); 51 QSize minimumSizeHint(); 52 53 private: 54 QSize sizeForWidth( int width ); 55 56 private: 57 bool mHintValid; 58 QSize mSizeHint; 59 QSize mMinimumSizeHint; 60 }; 61 62 63 #endif /* KTEXTDOCUMENT_H */ 64 65