1 #ifndef CARDFRAME_H
2 #define CARDFRAME_H
3 
4 #include "carddatabase.h"
5 
6 #include <QTabWidget>
7 
8 class AbstractCardItem;
9 class CardInfoPicture;
10 class CardInfoText;
11 class QVBoxLayout;
12 class QSplitter;
13 
14 class CardFrame : public QTabWidget
15 {
16     Q_OBJECT
17 private:
18     CardInfoPtr info;
19     CardInfoPicture *pic;
20     CardInfoText *text;
21     bool cardTextOnly;
22     QWidget *tab1, *tab2, *tab3;
23     QVBoxLayout *tab1Layout, *tab2Layout, *tab3Layout;
24     QSplitter *splitter;
25 
26 public:
27     enum ViewMode
28     {
29         ImageOnlyView,
30         TextOnlyView,
31         ImageAndTextView
32     };
33     explicit CardFrame(const QString &cardName = QString(), QWidget *parent = nullptr);
34     void retranslateUi();
35 
36 public slots:
37     void setCard(CardInfoPtr card);
38     void setCard(const QString &cardName);
39     void setCard(AbstractCardItem *card);
40     void clearCard();
41     void setViewMode(int mode);
42 };
43 
44 #endif
45