#ifndef PACKSPAGE_H #define PACKSPAGE_H #include #include #include #include #include #include #include #include "DictionaryOptionsDialog.h" #include "PackFieldsView.h" class CardSideView; class Dictionary; class PacksListModel; class UnusedFieldsListModel; class PacksPage : public QWidget { Q_OBJECT public: PacksPage( DictionaryOptionsDialog* aParent ); ~PacksPage(); public slots: void moveItemsUpDown(); void removeFields(); void addFields(); void addPack(); void removePacks(); void renamePack(); private: void createPacksList(); void createPackFieldsList(); void createUnusedFieldsList(); void createPackPreview(); private slots: void updatePreviewForPack(); void updateUsesExactAnswer(const QModelIndex& index); void updatePackUsesExactAnswer(int state); private: DictionaryOptionsDialog* m_parent; // Models PacksListModel* m_packsListModel; QAbstractListModel* m_packFieldsListModel; UnusedFieldsListModel* m_unusedFieldsListModel; int m_curPack; // List views PackFieldsView* m_packsListView; PackFieldsView* m_fieldsListView; PackFieldsView* m_unusedFieldsListView; QCheckBox* usesExactAnswerBox; CardSideView* m_qstPreview; CardSideView* m_ansPreview; // Layouts QGridLayout* m_packsListLt; QGridLayout* m_fieldsListLt; QGridLayout* m_unusedFieldsListLt; QVBoxLayout* m_previewLt; }; #endif