00001 /**************************************************************************** 00002 ** Copyright (C) 2007 Klarälvdalens Datakonsult AB. All rights reserved. 00003 ** 00004 ** This file is part of the KD Chart library. 00005 ** 00006 ** This file may be distributed and/or modified under the terms of the 00007 ** GNU General Public License version 2 as published by the Free Software 00008 ** Foundation and appearing in the file LICENSE.GPL included in the 00009 ** packaging of this file. 00010 ** 00011 ** Licensees holding valid commercial KD Chart licenses may use this file in 00012 ** accordance with the KD Chart Commercial License Agreement provided with 00013 ** the Software. 00014 ** 00015 ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 00016 ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 00017 ** 00018 ** See http://www.kdab.net/kdchart for 00019 ** information about KDChart Commercial License Agreements. 00020 ** 00021 ** Contact info@kdab.net if any conditions of this 00022 ** licensing are not clear to you. 00023 ** 00024 **********************************************************************/ 00025 00026 #ifndef KDTEXTDOCUMENT_H 00027 #define KDTEXTDOCUMENT_H 00028 00029 // 00030 // W A R N I N G 00031 // ------------- 00032 // 00033 // This file is not part of the KD Chart API. It exists purely as an 00034 // implementation detail. This header file may change from version to 00035 // version without notice, or even be removed. 00036 // 00037 // We mean it. 00038 // 00039 00040 #include <QTextDocument> 00041 #include <QSize> 00042 00047 class KDTextDocument : public QTextDocument 00048 { 00049 Q_OBJECT 00050 00051 public: 00052 explicit KDTextDocument( QObject* parent = 0 ); 00053 explicit KDTextDocument( const QString& text, QObject* parent = 0 ); 00054 ~KDTextDocument(); 00055 00056 QSize sizeHint(); 00057 QSize minimumSizeHint(); 00058 00059 private: 00060 QSize sizeForWidth( int width ); 00061 00062 private: 00063 bool mHintValid; 00064 QSize mSizeHint; 00065 QSize mMinimumSizeHint; 00066 }; 00067 00068 00069 #endif /* KDTEXTDOCUMENT_H */ 00070