File indexing completed on 2024-05-19 15:26:51
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 MAINWINDOW_H 0021 #define MAINWINDOW_H 0022 0023 #include "ui_mainwindow.h" 0024 #include <TableModel.h> 0025 #include <KChartDataValueAttributes> 0026 0027 namespace KChart { 0028 class Chart; 0029 class BarDiagram; 0030 } 0031 0032 class MainWindow : public QWidget, private Ui::MainWindow 0033 { 0034 Q_OBJECT 0035 0036 public: 0037 MainWindow( QWidget* parent = nullptr ); 0038 0039 private Q_SLOTS: 0040 void on_scopeOneBarRB_toggled( bool checked ); 0041 void on_scopeBarDatasetSB_valueChanged( int i ); 0042 void on_scopeBarItemSB_valueChanged( int i ); 0043 void on_scopeDatasetRB_toggled( bool checked ); 0044 void on_scopeDatasetSB_valueChanged( int i ); 0045 void on_scopeCommonRB_toggled( bool checked ); 0046 0047 void on_paintValuesCB_toggled( bool checked ); 0048 0049 void on_fontCombo_currentIndexChanged( const QString & text ); 0050 void on_relativeSizeSB_valueChanged( int i ); 0051 void on_minimumSizeSB_valueChanged( int i ); 0052 void on_rotationSB_valueChanged( int i ); 0053 0054 void on_posPosCombo_currentIndexChanged( const QString & text ); 0055 void on_posAlignCombo_currentIndexChanged( const QString & text ); 0056 void on_posPadHoriSB_valueChanged( int i ); 0057 void on_posPadVertSB_valueChanged( int i ); 0058 void on_negPosCombo_currentIndexChanged( const QString & text ); 0059 void on_negAlignCombo_currentIndexChanged( const QString & text ); 0060 void on_negPadHoriSB_valueChanged( int i ); 0061 void on_negPadVertSB_valueChanged( int i ); 0062 0063 void on_labelLE_textEdited( const QString & text ); 0064 void on_prefixLE_textEdited( const QString & text ); 0065 void on_suffixLE_textEdited( const QString & text ); 0066 0067 private: 0068 const QModelIndex currentIndex() const; 0069 const KChart::DataValueAttributes attributes() const; 0070 const char* positionToScreenName( const KChart::Position& pos ) const; 0071 const Qt::Alignment alignmentFromScreeName( const QString& name ) const; 0072 const QString alignmentToScreenName( const Qt::Alignment& align ) const; 0073 void populateWidgets(); 0074 void setAttributes( const KChart::DataValueAttributes& da ); 0075 0076 KChart::Chart* m_chart; 0077 KChart::BarDiagram* m_bars; 0078 TableModel m_model; 0079 }; 0080 0081 0082 #endif /* MAINWINDOW_H */ 0083