новые иконки в OpenBoard
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
OpenBoard/src/gui/UBTeacherBarDataMgr.h

150 lines
3.5 KiB

#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