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.
556 lines
7.3 KiB
C++
556 lines
7.3 KiB
C++
/*!
|
|
\file ccharacter.h
|
|
|
|
*/
|
|
|
|
#ifndef CCHARACTER_H
|
|
#define CCHARACTER_H
|
|
|
|
|
|
#include "ctextdocument.h"
|
|
#include "cimage.h"
|
|
|
|
#include <QMetaType>
|
|
#include <QList>
|
|
#include <QString>
|
|
#include <QDateTime>
|
|
#include <QColor>
|
|
#include <QObject>
|
|
|
|
|
|
/*!
|
|
\brief
|
|
|
|
\class cCharacter ccharacter.h "ccharacter.h"
|
|
*/
|
|
class cCharacter : public QObject
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
/*!
|
|
\brief
|
|
|
|
\enum GENDER
|
|
*/
|
|
enum GENDER
|
|
{
|
|
GENDER_undefined = 0,
|
|
GENDER_male = 1,
|
|
GENDER_female = 2,
|
|
};
|
|
|
|
/*!
|
|
\brief
|
|
|
|
\fn cCharacter
|
|
\param iID
|
|
\param parent
|
|
*/
|
|
explicit cCharacter(qint32 iID = -1, QObject *parent = nullptr);
|
|
|
|
/*!
|
|
\brief
|
|
|
|
\fn setID
|
|
\param iID
|
|
*/
|
|
void setID(const qint32& iID);
|
|
/*!
|
|
\brief
|
|
|
|
\fn id
|
|
\return qint32
|
|
*/
|
|
qint32 id();
|
|
|
|
/*!
|
|
\brief
|
|
|
|
\fn setMainCharacter
|
|
\param bMainCharacter
|
|
*/
|
|
void setMainCharacter(bool bMainCharacter);
|
|
/*!
|
|
\brief
|
|
|
|
\fn mainCharacter
|
|
\return bool
|
|
*/
|
|
bool mainCharacter();
|
|
|
|
/*!
|
|
\brief
|
|
|
|
\fn setCreature
|
|
\param szCreature
|
|
*/
|
|
void setCreature(const QString& szCreature);
|
|
/*!
|
|
\brief
|
|
|
|
\fn creature
|
|
\return QString
|
|
*/
|
|
QString creature();
|
|
|
|
/*!
|
|
\brief
|
|
|
|
\fn setGender
|
|
\param gender
|
|
*/
|
|
void setGender(GENDER gender);
|
|
/*!
|
|
\brief
|
|
|
|
\fn gender
|
|
\return GENDER
|
|
*/
|
|
GENDER gender();
|
|
/*!
|
|
\brief
|
|
|
|
\fn genderText
|
|
\return QString
|
|
*/
|
|
QString genderText();
|
|
/*!
|
|
\brief
|
|
|
|
\fn genderText
|
|
\param gender
|
|
\return QString
|
|
*/
|
|
QString genderText(GENDER gender) const;
|
|
|
|
/*!
|
|
\brief
|
|
|
|
\fn setTitle
|
|
\param szTitle
|
|
*/
|
|
void setTitle(const QString& szTitle);
|
|
/*!
|
|
\brief
|
|
|
|
\fn title
|
|
\return QString
|
|
*/
|
|
QString title();
|
|
|
|
/*!
|
|
\brief
|
|
|
|
\fn setFirstName
|
|
\param szFirstName
|
|
*/
|
|
void setFirstName(const QString& szFirstName);
|
|
/*!
|
|
\brief
|
|
|
|
\fn firstName
|
|
\return QString
|
|
*/
|
|
QString firstName();
|
|
|
|
/*!
|
|
\brief
|
|
|
|
\fn setMiddleName
|
|
\param szMiddleName
|
|
*/
|
|
void setMiddleName(const QString& szMiddleName);
|
|
/*!
|
|
\brief
|
|
|
|
\fn middleName
|
|
\return QString
|
|
*/
|
|
QString middleName();
|
|
|
|
/*!
|
|
\brief
|
|
|
|
\fn setLastName
|
|
\param szLastName
|
|
*/
|
|
void setLastName(const QString& szLastName);
|
|
/*!
|
|
\brief
|
|
|
|
\fn lastName
|
|
\return QString
|
|
*/
|
|
QString lastName();
|
|
|
|
/*!
|
|
\brief
|
|
|
|
\fn name
|
|
\return QString
|
|
*/
|
|
QString name();
|
|
|
|
/*!
|
|
\brief
|
|
|
|
\fn setNickName
|
|
\param szNickName
|
|
*/
|
|
void setNickName(const QString& szNickName);
|
|
/*!
|
|
\brief
|
|
|
|
\fn nickName
|
|
\return QString
|
|
*/
|
|
QString nickName();
|
|
|
|
/*!
|
|
\brief
|
|
|
|
\fn setHeight
|
|
\param dHeight
|
|
*/
|
|
void setHeight(qreal dHeight);
|
|
/*!
|
|
\brief
|
|
|
|
\fn height
|
|
\return qreal
|
|
*/
|
|
qreal height();
|
|
|
|
/*!
|
|
\brief
|
|
|
|
\fn setWeight
|
|
\param dWeight
|
|
*/
|
|
void setWeight(qreal dWeight);
|
|
/*!
|
|
\brief
|
|
|
|
\fn weight
|
|
\return qreal
|
|
*/
|
|
qreal weight();
|
|
|
|
/*!
|
|
\brief
|
|
|
|
\fn setAge
|
|
\param dAge
|
|
*/
|
|
void setAge(qreal dAge);
|
|
/*!
|
|
\brief
|
|
|
|
\fn age
|
|
\return qreal
|
|
*/
|
|
qreal age();
|
|
|
|
/*!
|
|
\brief
|
|
|
|
\fn setDateOfBirth
|
|
\param dateOfBirth
|
|
*/
|
|
void setDateOfBirth(const QDate& dateOfBirth);
|
|
/*!
|
|
\brief
|
|
|
|
\fn dateOfBirth
|
|
\return QDate
|
|
*/
|
|
QDate dateOfBirth();
|
|
|
|
/*!
|
|
\brief
|
|
|
|
\fn setPlaceOfBirth
|
|
\param szPlaceOfBirth
|
|
*/
|
|
void setPlaceOfBirth(const QString& szPlaceOfBirth);
|
|
/*!
|
|
\brief
|
|
|
|
\fn placeOfBirth
|
|
\return QString
|
|
*/
|
|
QString placeOfBirth();
|
|
|
|
/*!
|
|
\brief
|
|
|
|
\fn setDateOfDeath
|
|
\param dateOfDeath
|
|
*/
|
|
void setDateOfDeath(const QDate& dateOfDeath);
|
|
/*!
|
|
\brief
|
|
|
|
\fn dateOfDeath
|
|
\return QDate
|
|
*/
|
|
QDate dateOfDeath();
|
|
|
|
/*!
|
|
\brief
|
|
|
|
\fn setPlaceOfDeath
|
|
\param szPlaceOfDeath
|
|
*/
|
|
void setPlaceOfDeath(const QString& szPlaceOfDeath);
|
|
/*!
|
|
\brief
|
|
|
|
\fn placeOfDeath
|
|
\return QString
|
|
*/
|
|
QString placeOfDeath();
|
|
|
|
/*!
|
|
\brief
|
|
|
|
\fn setHairColor
|
|
\param szHairColor
|
|
*/
|
|
void setHairColor(const QString& szHairColor);
|
|
/*!
|
|
\brief
|
|
|
|
\fn hairColor
|
|
\return QString
|
|
*/
|
|
QString hairColor();
|
|
|
|
/*!
|
|
\brief
|
|
|
|
\fn setHairCut
|
|
\param szHairCut
|
|
*/
|
|
void setHairCut(const QString& szHairCut);
|
|
/*!
|
|
\brief
|
|
|
|
\fn hairCut
|
|
\return QString
|
|
*/
|
|
QString hairCut();
|
|
|
|
/*!
|
|
\brief
|
|
|
|
\fn setHairLength
|
|
\param szHairLength
|
|
*/
|
|
void setHairLength(const QString& szHairLength);
|
|
/*!
|
|
\brief
|
|
|
|
\fn hairLength
|
|
\return QString
|
|
*/
|
|
QString hairLength();
|
|
|
|
/*!
|
|
\brief
|
|
|
|
\fn setFigure
|
|
\param szFigure
|
|
*/
|
|
void setFigure(const QString& szFigure);
|
|
/*!
|
|
\brief
|
|
|
|
\fn figure
|
|
\return QString
|
|
*/
|
|
QString figure();
|
|
|
|
/*!
|
|
\brief
|
|
|
|
\fn setNature
|
|
\param szNature
|
|
*/
|
|
void setNature(const QString& szNature);
|
|
/*!
|
|
\brief
|
|
|
|
\fn nature
|
|
\return QString
|
|
*/
|
|
QString nature();
|
|
|
|
/*!
|
|
\brief
|
|
|
|
\fn setSpokenLanguages
|
|
\param szSpokenLanguages
|
|
*/
|
|
void setSpokenLanguages(const QString& szSpokenLanguages);
|
|
/*!
|
|
\brief
|
|
|
|
\fn spokenLanguages
|
|
\return QString
|
|
*/
|
|
QString spokenLanguages();
|
|
|
|
/*!
|
|
\brief
|
|
|
|
\fn setSkin
|
|
\param szSkin
|
|
*/
|
|
void setSkin(const QString& szSkin);
|
|
/*!
|
|
\brief
|
|
|
|
\fn skin
|
|
\return QString
|
|
*/
|
|
QString skin();
|
|
|
|
/*!
|
|
\brief
|
|
|
|
\fn setSchool
|
|
\param szSchool
|
|
*/
|
|
void setSchool(const QString& szSchool);
|
|
/*!
|
|
\brief
|
|
|
|
\fn school
|
|
\return QString
|
|
*/
|
|
QString school();
|
|
|
|
/*!
|
|
\brief
|
|
|
|
\fn setJob
|
|
\param szJob
|
|
*/
|
|
void setJob(const QString& szJob);
|
|
/*!
|
|
\brief
|
|
|
|
\fn job
|
|
\return QString
|
|
*/
|
|
QString job();
|
|
|
|
/*!
|
|
\brief
|
|
|
|
\fn setDescription
|
|
\param lpDescription
|
|
*/
|
|
void setDescription(cTextDocument* lpDescription);
|
|
/*!
|
|
\brief
|
|
|
|
\fn description
|
|
\return cTextDocument
|
|
*/
|
|
cTextDocument* description();
|
|
|
|
/*!
|
|
\brief
|
|
|
|
\fn addImage
|
|
\param lpImage
|
|
*/
|
|
void addImage(cImage* lpImage);
|
|
/*!
|
|
\brief
|
|
|
|
\fn images
|
|
\return QList<cImage *>
|
|
*/
|
|
QList<cImage*> images();
|
|
private:
|
|
qint32 m_id; /*!< TODO: describe */
|
|
bool m_bMainCharacter; /*!< TODO: describe */
|
|
QString m_szCreature; /*!< TODO: describe */
|
|
GENDER m_gender; /*!< TODO: describe */
|
|
QString m_szTitle; /*!< TODO: describe */
|
|
QString m_szFirstName; /*!< TODO: describe */
|
|
QString m_szMiddleName; /*!< TODO: describe */
|
|
QString m_szLastName; /*!< TODO: describe */
|
|
QString m_szNickName; /*!< TODO: describe */
|
|
qreal m_dHeight; /*!< TODO: describe */
|
|
qreal m_dWeight; /*!< TODO: describe */
|
|
qreal m_dAge; /*!< TODO: describe */
|
|
QDate m_dateOfBirth; /*!< TODO: describe */
|
|
QString m_szPlaceOfBirth; /*!< TODO: describe */
|
|
QDate m_dateOfDeath; /*!< TODO: describe */
|
|
QString m_szPlaceOfDeath; /*!< TODO: describe */
|
|
QString m_szHairColor; /*!< TODO: describe */
|
|
QString m_szHairCut; /*!< TODO: describe */
|
|
QString m_szHairLength; /*!< TODO: describe */
|
|
QString m_szFigure; /*!< TODO: describe */
|
|
QString m_szNature; /*!< TODO: describe */
|
|
QString m_szSpokenLanguages; /*!< TODO: describe */
|
|
QString m_szSkin; /*!< TODO: describe */
|
|
QString m_szSchool; /*!< TODO: describe */
|
|
QString m_szJob; /*!< TODO: describe */
|
|
cTextDocument* m_lpDescription; /*!< TODO: describe */
|
|
QList<cImage*> m_imageList; /*!< TODO: describe */
|
|
signals:
|
|
|
|
public slots:
|
|
};
|
|
|
|
Q_DECLARE_METATYPE(cCharacter*)
|
|
|
|
/*!
|
|
\brief
|
|
|
|
\class cCharacterList ccharacter.h "ccharacter.h"
|
|
*/
|
|
class cCharacterList : public QList<cCharacter*>
|
|
{
|
|
public:
|
|
/*!
|
|
\brief
|
|
|
|
\fn load
|
|
\param lpImageList
|
|
\return bool
|
|
*/
|
|
bool load(cImageList* lpImageList);
|
|
/*!
|
|
\brief
|
|
|
|
\fn save
|
|
\return bool
|
|
*/
|
|
bool save();
|
|
|
|
/*!
|
|
\brief
|
|
|
|
\fn add
|
|
\param iID
|
|
\return cCharacter
|
|
*/
|
|
cCharacter* add(const qint32& iID);
|
|
/*!
|
|
\brief
|
|
|
|
\fn find
|
|
\param iID
|
|
\return cCharacter
|
|
*/
|
|
cCharacter* find(const qint32& iID);
|
|
};
|
|
|
|
#endif // CCHARACTER_H
|