1 /*
2  * Copyright (C) 2001-2015 Klaralvdalens Datakonsult AB.  All rights reserved.
3  *
4  * This file is part of the KD Chart library.
5  *
6  * This program is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU General Public License as
8  * published by the Free Software Foundation; either version 2 of
9  * the License, or (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program.  If not, see <https://www.gnu.org/licenses/>.
18  */
19 
20 #ifndef KCHARTDATASETSELECTOR_H
21 #define KCHARTDATASETSELECTOR_H
22 
23 #include <QFrame>
24 
25 #include "KChartDatasetProxyModel.h"
26 
27 
28 /**
29  * \cond PRIVATE_API_DOCU
30  *
31  * ( This class is used internally by DatasetSelectorWidget. )
32  */
33 QT_BEGIN_NAMESPACE
34 namespace Ui {
35     class DatasetSelector;
36 }
37 QT_END_NAMESPACE
38 /**
39  * \endcond
40  */
41 
42 namespace KChart {
43 
44     class KCHART_EXPORT DatasetSelectorWidget : public QFrame
45     {
46         Q_OBJECT
47 
48     public:
49         explicit DatasetSelectorWidget ( QWidget* parent = nullptr );
50         ~DatasetSelectorWidget();
51 
52     public Q_SLOTS:
53         void setSourceRowCount ( const int& rowCount );
54         void setSourceColumnCount ( const int& columnCount );
55 
56     Q_SIGNALS:
57         void configureDatasetProxyModel (
58             const DatasetDescriptionVector& rowConfig,
59             const DatasetDescriptionVector& columnConfig );
60 
61         void mappingDisabled ();
62 
63     private Q_SLOTS:
64         void updateState ( bool );
65         void calculateMapping();
66 
67     private:
68         void resetDisplayValues ();
69 
70         Ui::DatasetSelector* mUi;
71         int mSourceRowCount;
72         int mSourceColumnCount;
73     };
74 
75 }
76 
77 #endif
78