-
Notifications
You must be signed in to change notification settings - Fork 0
/
mainwindow.h
65 lines (49 loc) · 1.76 KB
/
mainwindow.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include "pokemon.h"
#include <QMainWindow>
#include <QtCharts/QPolarChart>
#include <QtCharts/QValueAxis>
#include <QtCharts/QCategoryAxis>
#include <QtCharts/QLineSeries>
#include <QComboBox>
#include <QLabel>
#include <QString>
#include <QStringList>
QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = nullptr);
~MainWindow();
public slots:
void filter();
void setComparisonData();
void tabChanged(int index);
void onTableClicked(int row, int column);
private:
Ui::MainWindow *ui;
QList<Pokemon> _pokedex;
QStringList _types_list;
QPolarChart* _chart;
QList<QStringList> parsePokedexCsv();
QList<Pokemon> getPokemonList(QList<QStringList> parsed_file);
Pokemon createPokemon(QStringList pokemon_stats);
QStringList getTypesList();
void addPokemonToTable(QStringList headers);
QString getTypeColor(QStringList types, QString type);
void addTypeFilters(QStringList types);
void addPokemonsToComboBox();
void showSelectedPokemonInfo(QComboBox* pokemon_cbox, QLabel* pokemon_img, QLayout* types_layout);
void disablePokemonFromComboBox(QComboBox* pokemon1, QComboBox* pokemon2);
void clearLayout(QLayout* layout);
QPolarChart* generateEmptyChart();
void updateSeries(QPolarChart* chart, Pokemon pokemon, unsigned int brightness);
void setSeriesColor(QLineSeries* series, Pokemon pokemon, int brightness);
QLineSeries* generateLineSeries(Pokemon pokemon, Pokemon max);
double getPercentageValue(unsigned int value, unsigned int max_value);
};
#endif // MAINWINDOW_H