5 #include <QAbstractTableModel>
9 class PlayersModel : public QAbstractTableModel
12 PlayersModel(sqlite3 *db);
14 int rowCount(const QModelIndex &parent) const override
16 return players.size();
18 int columnCount(const QModelIndex &column) const override
22 QVariant headerData(int section, Qt::Orientation orientation, int role) const override;
23 QVariant data(const QModelIndex &index, int role) const override;
25 int get_player_id(unsigned row) const { return players[row].player_id; }
26 std::string get_player_number(unsigned row) const { return players[row].number; }
27 std::string get_player_name(unsigned row) const { return players[row].name; }
28 std::string get_player_gender(unsigned row) const { return players[row].gender; }
30 std::string get_player_name_by_id(unsigned player_id);
31 std::string get_player_gender_by_id(unsigned player_id);
32 QModelIndex get_row_start_qt(unsigned row) const {
33 return createIndex(row, 0);
35 QModelIndex get_row_end_qt(unsigned row) const {
36 return createIndex(row, 2);
39 void edit_player(int player_id, const std::string &number, const std::string &gender, const std::string &name);
48 std::vector<Player> players;
52 std::vector<Player> load_data();
55 #endif // !defined(_PLAYERS_H)