#ifndef STATISTICS_VIEW_H #define STATISTICS_VIEW_H #include #include #include "StatisticsParams.h" class Dictionary; class CardPack; class StatisticsView: public QDialog, public StatisticsParams { Q_OBJECT public: StatisticsView(const Dictionary* dict); private: static QList> getPeriodsList(); private: void init(); void closeEvent(QCloseEvent *event); void createPages(); void createContentsList(); void createListItems(); void createUi(); void loadSettings(); void saveSettings(); QBoxLayout* createControlLayout(); QComboBox* createPacksBox(); QComboBox* createPeriodBox(); void updateChart(); void updatePeriodBox(); private slots: void changePage(QListWidgetItem* curPage, QListWidgetItem* prevPage); void setPack(int packIndex); void setPeriod(int index); private: static const QSize GridSize; static const int IconSize = 75; private: const Dictionary* dict; QListWidget* contentsWidget; QLabel* periodLabel; QComboBox* periodBox; QStackedWidget* pagesWidget; }; #endif