#ifndef ISTUDYMODEL_H #define ISTUDYMODEL_H #include 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