summaryrefslogtreecommitdiff
path: root/src/study/IStudyModel.h
blob: 392ef01775257719ed8fe6ed6530f85d1fe83050 (plain)
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
#ifndef ISTUDYMODEL_H
#define ISTUDYMODEL_H

#include <QObject>

class Card;
class CardPack;
class DictTableModel;

class IStudyModel: public QObject
{
Q_OBJECT

public:
    IStudyModel( CardPack* aCardPack );
    virtual ~IStudyModel() {}

public:
    CardPack* getCardPack() { return cardPack; }
    virtual Card* getCurCard() const = 0;
    DictTableModel* getDictModel() const { return dictModel; }
    
    void setDictModel( DictTableModel* aModel ) { dictModel = aModel; }

signals:
    void nextCardSelected();
    void curCardUpdated();

protected:
    CardPack* cardPack;
    DictTableModel* dictModel;
    int curCardNum;        ///< Number of the current card in this session, base=0.
};

#endif