File indexing completed on 2024-05-12 15:54:16

0001 /*
0002  * Copyright (C) 2001-2015 Klaralvdalens Datakonsult AB.  All rights reserved.
0003  *
0004  * This file is part of the KD Chart library.
0005  *
0006  * This program is free software; you can redistribute it and/or
0007  * modify it under the terms of the GNU General Public License as
0008  * published by the Free Software Foundation; either version 2 of
0009  * the License, or (at your option) any later version.
0010  *
0011  * This program is distributed in the hope that it will be useful,
0012  * but WITHOUT ANY WARRANTY; without even the implied warranty of
0013  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
0014  * GNU General Public License for more details.
0015  *
0016  * You should have received a copy of the GNU General Public License
0017  * along with this program.  If not, see <https://www.gnu.org/licenses/>.
0018  */
0019 
0020 #ifndef KCHARTHEADERFOOTER_P_H
0021 #define KCHARTHEADERFOOTER_P_H
0022 
0023 //
0024 //  W A R N I N G
0025 //  -------------
0026 //
0027 // This file is not part of the KD Chart API.  It exists purely as an
0028 // implementation detail.  This header file may change from version to
0029 // version without notice, or even be removed.
0030 //
0031 // We mean it.
0032 //
0033 
0034 #include "KChartHeaderFooter.h"
0035 #include "KChartTextArea_p.h"
0036 #include "KChartChart.h"
0037 #include "KChartMath_p.h"
0038 
0039 #include <QMap>
0040 
0041 
0042 class KTextDocument;
0043 
0044 namespace KChart {
0045     class Chart;
0046     class TextAttributes;
0047 }
0048 
0049 /**
0050  * \internal
0051  */
0052 class Q_DECL_HIDDEN KChart::HeaderFooter::Private : public KChart::TextArea::Private
0053 {
0054     friend class KChart::HeaderFooter;
0055 public:
0056     explicit Private();
0057     ~Private();
0058 
0059     Private( const Private& rhs ) :
0060         TextArea::Private( rhs ),
0061         type( rhs.type ),
0062         position( rhs.position )
0063         {
0064         }
0065 
0066     void updateTextDoc();
0067 
0068 private:
0069     // user-settable
0070     HeaderFooterType type;
0071     Position position;
0072 };
0073 
0074 inline KChart::HeaderFooter::HeaderFooter( Private* d, KChart::Chart* parent )
0075     : TextArea( d )
0076 {
0077     setParent( parent );
0078     init();
0079 }
0080 inline KChart::HeaderFooter::Private * KChart::HeaderFooter::d_func()
0081 {
0082     return static_cast<Private*>( TextArea::d_func() );
0083 }
0084 inline const KChart::HeaderFooter::Private * KChart::HeaderFooter::d_func() const
0085 {
0086     return static_cast<const Private*>( TextArea::d_func() );
0087 }
0088 
0089 
0090 #endif /* KCHARTHEADERFOOTER_P_H */