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

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 KCHARTDATASETSELECTOR_H
0021 #define KCHARTDATASETSELECTOR_H
0022 
0023 #include <QFrame>
0024 
0025 #include "KChartDatasetProxyModel.h"
0026 
0027 
0028 /**
0029  * \cond PRIVATE_API_DOCU
0030  *
0031  * ( This class is used internally by DatasetSelectorWidget. )
0032  */
0033 QT_BEGIN_NAMESPACE
0034 namespace Ui {
0035     class DatasetSelector;
0036 }
0037 QT_END_NAMESPACE
0038 /**
0039  * \endcond
0040  */
0041 
0042 namespace KChart {
0043 
0044     class KCHART_EXPORT DatasetSelectorWidget : public QFrame
0045     {
0046         Q_OBJECT
0047 
0048     public:
0049         explicit DatasetSelectorWidget ( QWidget* parent = nullptr );
0050         ~DatasetSelectorWidget();
0051 
0052     public Q_SLOTS:
0053         void setSourceRowCount ( const int& rowCount );
0054         void setSourceColumnCount ( const int& columnCount );
0055 
0056     Q_SIGNALS:
0057         void configureDatasetProxyModel (
0058             const DatasetDescriptionVector& rowConfig,
0059             const DatasetDescriptionVector& columnConfig );
0060 
0061         void mappingDisabled ();
0062 
0063     private Q_SLOTS:
0064         void updateState ( bool );
0065         void calculateMapping();
0066 
0067     private:
0068         void resetDisplayValues ();
0069 
0070         Ui::DatasetSelector* mUi;
0071         int mSourceRowCount;
0072         int mSourceColumnCount;
0073     };
0074 
0075 }
0076 
0077 #endif