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

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 KCHARTHEADERFOOTER_H
0010 #define KCHARTHEADERFOOTER_H
0011 
0012 #include "KChartTextArea.h"
0013 #include "KChartPosition.h"
0014 
0015 namespace KChart {
0016 
0017     class Chart;
0018     class TextAttributes;
0019 
0020 /**
0021   * @brief A header or footer displaying text above or below charts
0022   */
0023 class KCHART_EXPORT HeaderFooter : public TextArea
0024 {
0025     Q_OBJECT
0026 
0027     KCHART_DECLARE_PRIVATE_DERIVED_PARENT( HeaderFooter, Chart* )
0028 
0029 public:
0030     HeaderFooter( Chart* parent = nullptr );
0031     ~HeaderFooter() override;
0032 
0033     /**
0034       * Creates an exact copy of this header/footer.
0035       */
0036     virtual HeaderFooter * clone() const;
0037 
0038     bool compare( const HeaderFooter& other ) const;
0039 
0040     enum HeaderFooterType{ Header,
0041                            Footer };
0042 
0043     void setType( HeaderFooterType type );
0044     HeaderFooterType type() const;
0045 
0046     void setPosition( Position position );
0047     Position position() const;
0048 
0049     void setParent( QObject* parent );
0050 
0051 Q_SIGNALS:
0052     void destroyedHeaderFooter( KChart::HeaderFooter* );
0053     void positionChanged( KChart::HeaderFooter* );
0054 
0055 }; // End of class HeaderFooter
0056 
0057 }
0058 
0059 
0060 #endif // KCHARTHEADERFOOTER_H