You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
184 lines
4.1 KiB
C++
184 lines
4.1 KiB
C++
/*!
|
|
\file cbook.h
|
|
|
|
*/
|
|
|
|
#ifndef CBOOK_H
|
|
#define CBOOK_H
|
|
|
|
|
|
#include "ctextdocument.h"
|
|
|
|
#include <QMetaType>
|
|
#include <QString>
|
|
#include <QDateTime>
|
|
#include <QObject>
|
|
|
|
|
|
/*!
|
|
\brief
|
|
|
|
\class cBook cbook.h "cbook.h"
|
|
*/
|
|
class cBook : public QObject
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
/*!
|
|
\brief constructor of cBook
|
|
|
|
\fn cBook
|
|
\param szTitle title of the book
|
|
\param parent parent object
|
|
*/
|
|
explicit cBook(const QString& szTitle = "", QObject *parent = nullptr);
|
|
|
|
/*!
|
|
\brief Load the main book values from the database.
|
|
|
|
\fn load
|
|
\return true on success, otherwise false
|
|
*/
|
|
bool load();
|
|
/*!
|
|
\brief Save the main book values to the database.
|
|
|
|
\fn save
|
|
\return true on success, otherwise false
|
|
*/
|
|
bool save();
|
|
|
|
/*!
|
|
\brief Set the title of the book.
|
|
|
|
\fn setTitle
|
|
\param szTitle Title of the book
|
|
*/
|
|
void setTitle(const QString& szTitle);
|
|
/*!
|
|
\brief Returns the title of the book.
|
|
|
|
\fn title
|
|
\return title of the book
|
|
*/
|
|
QString title();
|
|
|
|
/*!
|
|
\brief Set the subtitle of the book.
|
|
|
|
\fn setSubTitle
|
|
\param szSubTitle subtitle of the book
|
|
*/
|
|
void setSubTitle(const QString& szSubTitle);
|
|
/*!
|
|
\brief Return the subtitle of the book.
|
|
|
|
\fn subTitle
|
|
\return subtitle of the book
|
|
*/
|
|
QString subTitle();
|
|
|
|
/*!
|
|
\brief Set the short description of the book. The text may be formatted.
|
|
|
|
\fn setShortDescription
|
|
\param lpShortDescription pointer to a cTextDocument containing the short description
|
|
*/
|
|
void setShortDescription(cTextDocument* lpShortDescription);
|
|
/*!
|
|
\brief Return the short description of the book.
|
|
|
|
\fn shortDescription
|
|
\return short description of the book as a cTextDocument
|
|
*/
|
|
cTextDocument* shortDescription();
|
|
|
|
/*!
|
|
\brief Set the description of the book. The text may be formatted.
|
|
|
|
\fn setDescription
|
|
\param lpDescription pointer to a cTextDocument containing the description
|
|
*/
|
|
void setDescription(cTextDocument* lpDescription);
|
|
/*!
|
|
\brief Return the description of the book.
|
|
|
|
\fn description
|
|
\return description of the book as a cTextDocument
|
|
*/
|
|
cTextDocument* description();
|
|
|
|
/*!
|
|
\brief Set the author of the book.
|
|
|
|
\fn setAuthor
|
|
\param name of the author
|
|
*/
|
|
void setAuthor(const QString& szAuthor);
|
|
/*!
|
|
\brief Return the author of the book.
|
|
|
|
\fn author
|
|
\return name of the author
|
|
*/
|
|
QString author();
|
|
|
|
/*!
|
|
\brief Set the date and time when the document has been started.
|
|
|
|
\fn setStartedAt
|
|
\param date and time when the document has been started
|
|
*/
|
|
void setStartedAt(const QDateTime& startedAt);
|
|
/*!
|
|
\brief Return the date and time when the document has been started.
|
|
|
|
\fn startedAt
|
|
\return date and time when the document has been started
|
|
*/
|
|
QDateTime startedAt();
|
|
|
|
/*!
|
|
\brief Set the date and time when the document has been finished.
|
|
|
|
\fn setFinishedAt
|
|
\param date and time when the document has been finished
|
|
*/
|
|
void setFinishedAt(const QDateTime& finishedAt);
|
|
/*!
|
|
\brief Return the date and time when the document has been finished.
|
|
|
|
\fn finishedAt
|
|
\return date and time when the document has been finished
|
|
*/
|
|
QDateTime finishedAt();
|
|
|
|
/*!
|
|
\brief Set the date and time when the document should be finished.
|
|
|
|
\fn setTargetDate
|
|
\param date and time when the document should be finished
|
|
*/
|
|
void setTargetDate(const QDateTime& targetDate);
|
|
/*!
|
|
\brief Return the date and time when the document should be finished.
|
|
|
|
\fn targetDate
|
|
\return date and time when the document should be finished
|
|
*/
|
|
QDateTime targetDate();
|
|
private:
|
|
QString m_szTitle; /*!< title of the document */
|
|
QString m_szSubtitle; /*!< subtitle of the document */
|
|
cTextDocument* m_lpShortDescription; /*!< short description of the document. The text may be formatted */
|
|
cTextDocument* m_lpDescription; /*!< description of the document. The text may be formatted */
|
|
QString m_szAuthor; /*!< name of the author of the document */
|
|
QDateTime m_startedAt; /*!< date and time when the document has been startd */
|
|
QDateTime m_finishedAt; /*!< date and time when the document has been finished */
|
|
QDateTime m_targetDate; /*!< date and time when the document should be finished */
|
|
};
|
|
|
|
Q_DECLARE_METATYPE(cBook*)
|
|
|
|
#endif // CBOOK_H
|