00001 /**************************************************************************** 00002 ** Copyright (C) 2006 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 00046 class KDTextDocument : public QTextDocument 00047 { 00048 Q_OBJECT 00049 00050 public: 00051 explicit KDTextDocument( QObject* parent = 0 ); 00052 explicit KDTextDocument( const QString& text, QObject* parent = 0 ); 00053 ~KDTextDocument(); 00054 00055 QSize sizeHint(); 00056 QSize minimumSizeHint(); 00057 00058 private: 00059 QSize sizeForWidth( int width ); 00060 00061 private: 00062 bool mHintValid; 00063 QSize mSizeHint; 00064 QSize mMinimumSizeHint; 00065 }; 00066 00067 00068 #endif /* KDTEXTDOCUMENT_H */ 00069