#ifndef UBTEACHERBARDATAMGR_H #define UBTEACHERBARDATAMGR_H #include <QString> #include <QWidget> #include <QTextEdit> #include <QLineEdit> #include <QLabel> #include <QHBoxLayout> #include <QVBoxLayout> #include <QComboBox> #include <QFrame> typedef enum{ eTeacherBarState_DocumentEdit, eTeacherBarState_DocumentPreview, eTeacherBarState_PageEdit, eTeacherBarState_PagePreview }eTeacherBarState; typedef enum{ eActionOwner_Teacher, eActionOwner_Student }eActionOwner; typedef struct{ int type; QString content; }sAction; typedef struct{ QString title; QString link; }sLink; typedef enum{ eLicense_CCBY, eLicense_CCBYND, eLicense_CCBYNCSA, eLicense_CCBYSA, eLicense_CCBYNC, eLicense_CCBYNCND }eLicense; class UBTBSeparator : public QFrame { public: UBTBSeparator(QWidget* parent=0, const char* name="UBTBSeparator"); ~UBTBSeparator(); }; class UBTBLicenseWidget : public QWidget { public: UBTBLicenseWidget(QWidget* parent=0, const char* name="UBTBLicenseWidget"); ~UBTBLicenseWidget(); void setLicense(eLicense lic); private: QHBoxLayout mLayout; QLabel* mpIcon; QLabel* mpText; }; class UBTeacherBarDataMgr { public: UBTeacherBarDataMgr(); ~UBTeacherBarDataMgr(); // Session Title void setSessionTitle(const QString& title){mSessionTitle = title;} QString sessionTitle(){return mSessionTitle;} // Session Target void setSessionTarget(const QString& target){mSessionTarget = target;} QString sessionTarget(){return mSessionTarget;} // Licence void setSessionLicence(eLicense licence){mSessionLicence = licence;} eLicense sessionLicence(){return mSessionLicence;} // Page Title void setPageTitle(const QString& title){mPageTitle = title;} QString pageTitle(){return mPageTitle;} // Actions QVector<sAction>* actions(){return &mActionList;} // Medias QVector<QWidget*>* medias(){return &mMediaList;} void addMediaUrl(const QString& url){mMediaUrls << url;} QStringList* mediaUrls(){return &mMediaUrls;} // Urls QVector<sLink>* urls(){return &mUrlList;} // Comments void setComments(const QString& c){mComments = c;} QString comments(){return mComments;} // Keywords void setKeywords(const QString& kw){mKeywords = kw;} QString keywords(){return mKeywords;} // Level void setLevel(const QString& level){mLevel = level;} QString level(){return mLevel;} // Topic void setTopic(const QString& topic){mTopic = topic;} QString topic(){return mTopic;} // Authors void setAuthors(const QString& authors){mAuthors = authors;} QString authors(){return mAuthors;} // Creation Date void setCreationDate(const QString& date){mCreationDate = date;} QString creationDate(){return mCreationDate;} // Last Modification void setLastModificationDate(const QString& date){mLastModif = date;} QString lastModificationDate(){return mLastModif;} // Others void clearLists(); void saveContent(); void loadContent(bool docChanged = false); private: QString mSessionTitle; QString mSessionTarget; eLicense mSessionLicence; QString mPageTitle; QString mComments; QString mKeywords; QString mLevel; QString mTopic; QString mAuthors; QString mCreationDate; QString mLastModif; QVector<sAction> mActionList; QVector<sLink> mUrlList; QVector<QWidget*> mMediaList; QStringList mMediaUrls; }; #endif // UBTEACHERBARDATAMGR_H