File indexing completed on 2024-06-16 04:09:00

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 MAINWINDOW_H
0010 #define MAINWINDOW_H
0011 
0012 #include <QDialog>
0013 #include <QMap>
0014 
0015 #include "ui_mainwindow.h"
0016 #include "ui_addheaderdialog.h"
0017 #include <TableModel.h>
0018 #include <KChartHeaderFooter>
0019 #include <KChartPosition>
0020 
0021 class QPrinter;
0022 
0023 namespace KChart {
0024     class Chart;
0025     class DatasetProxyModel;
0026     class LineDiagram;
0027 }
0028 
0029 class MainWindow : public QWidget, private Ui::MainWindow
0030 {
0031     Q_OBJECT
0032 
0033 public:
0034     MainWindow( QWidget* parent = nullptr );
0035 
0036 private Q_SLOTS:
0037     void on_defaultButton_clicked();
0038     void slotPaintRequested(QPrinter *printer);
0039     void on_printButton_clicked();
0040     void on_addHeaderPB_clicked();
0041     void on_editHeaderPB_clicked();
0042     void on_removeHeaderPB_clicked();
0043     void on_headersTV_itemSelectionChanged();
0044 private:
0045     void setupAddHeaderDialog( QDialog* dlg,
0046                                Ui::AddHeaderDialog& conf ) const;
0047     void addHeaderFooter( const QString &text,
0048                           KChart::HeaderFooter::HeaderFooterType type,
0049                           KChart::Position position ) const;
0050 
0051     KChart::Chart* m_chart;
0052     TableModel m_model;
0053     KChart::DatasetProxyModel* m_datasetProxy;
0054     KChart::LineDiagram* m_lines;
0055 };
0056 
0057 
0058 #endif /* MAINWINDOW_H */
0059