Revision ba6f6521
Von Christian Ehringfeld vor mehr als 10 Jahren hinzugefügt
| example/models/person.h | ||
|---|---|---|
|
#include <QAbstractListModel>
|
||
|
#include <QDebug>
|
||
|
|
||
|
enum Gender {MALE, FEMALE, UNKNOWNGENDER};
|
||
|
Q_DECLARE_METATYPE(Gender)
|
||
|
class Person: public CuteEntityManager::Entity {
|
||
|
|
||
|
Q_OBJECT
|
||
|
Q_ENUMS(Gender)
|
||
|
|
||
|
//[1] We don't want the id to be set from QML
|
||
|
//[2] Notification via inherited signals is not allowed
|
||
|
Q_PROPERTY(QString firstName READ firstName WRITE setFirstName NOTIFY firstNameChanged)
|
||
|
Q_PROPERTY(QString familyName READ familyName WRITE setFamilyName NOTIFY familyNameChanged)
|
||
|
Q_PROPERTY(QString namePrefix READ namePrefix WRITE setNamePrefix NOTIFY namePrefixChanged)
|
||
|
Q_PROPERTY(QString nickName READ nickName WRITE setNickName NOTIFY nickNameChanged)
|
||
|
Q_PROPERTY(QString customPictureFileName READ customPictureFileName WRITE setCustomPictureFileName NOTIFY
|
||
|
customPictureFileNameChanged)
|
||
|
Q_PROPERTY(QDate birthday READ birthday WRITE setBirthday NOTIFY birthdayChanged)
|
||
|
Q_PROPERTY(Gender gender READ gender WRITE setGender NOTIFY genderChanged)
|
||
|
|
||
|
|
||
|
//Q_ENUMS(Gender)
|
||
|
Q_PROPERTY(QString firstName READ getFirstName WRITE setFirstName NOTIFY
|
||
|
firstNameChanged)
|
||
|
Q_PROPERTY(QString familyName READ getFamilyName WRITE setFamilyName NOTIFY
|
||
|
familyNameChanged)
|
||
|
Q_PROPERTY(QString namePrefix READ getNamePrefix WRITE setNamePrefix NOTIFY
|
||
|
namePrefixChanged)
|
||
|
Q_PROPERTY(QString nickName READ getNickName WRITE setNickName NOTIFY
|
||
|
nickNameChanged)
|
||
|
Q_PROPERTY(QString customPictureFileName READ getCustomPictureFileName WRITE
|
||
|
setCustomPictureFileName NOTIFY
|
||
|
customPictureFileNameChanged)
|
||
|
Q_PROPERTY(QDate birthday READ getBirthday WRITE setBirthday NOTIFY
|
||
|
birthdayChanged)
|
||
|
Q_PROPERTY(Gender gender READ getGender WRITE setGender NOTIFY genderChanged)
|
||
|
|
||
|
signals:
|
||
|
void firstNameChanged();
|
||
| ... | ... | |
|
void genderChanged();
|
||
|
void customPictureFileNameChanged();
|
||
|
|
||
|
public slots:
|
||
|
void testSlot() {
|
||
|
qDebug() << "testslot clicked";
|
||
|
}
|
||
|
|
||
|
public:
|
||
|
QString toString();
|
||
|
enum Gender {MALE, FEMALE, UNKNOWNGENDER};
|
||
|
Person(QObject *parent=0);
|
||
|
Person(QObject *parent = 0);
|
||
|
Person(QString firstName,
|
||
|
QString familyName,
|
||
|
Gender gender = Person::UNKNOWNGENDER,
|
||
|
Gender gender = UNKNOWNGENDER,
|
||
|
QString customPictureFileName = QString(),
|
||
|
QString namePrefix = QString(),
|
||
|
QString nickName = QString(),
|
||
|
QDate birthday = QDate(),
|
||
|
QObject *parent = 0);
|
||
|
virtual ~Person() {}
|
||
|
|
||
|
QString getCustomPictureFileName() const;
|
||
|
void setCustomPictureFileName(const QString &value);
|
||
|
|
||
|
Gender getGender() const;
|
||
|
void setGender(const Gender &value);
|
||
|
|
||
|
bool isPresent(QDateTime date = QDateTime::currentDateTime());
|
||
|
QString fullName();
|
||
|
|
||
|
// getters
|
||
|
QString firstName() const {
|
||
|
return m_firstName;
|
||
|
}
|
||
|
QString familyName() const {
|
||
|
return m_familyName;
|
||
|
}
|
||
|
QString namePrefix() const {
|
||
|
return m_namePrefix;
|
||
|
}
|
||
|
QString nickName() const {
|
||
|
return m_nickName;
|
||
|
}
|
||
|
QDate birthday() const {
|
||
|
return m_birthday;
|
||
|
}
|
||
|
Gender gender() const {
|
||
|
return m_gender;
|
||
|
}
|
||
|
QString customPictureFileName() const {
|
||
|
return m_customPictureFileName;
|
||
|
}
|
||
|
|
||
|
|
||
|
// setters
|
||
|
void setFirstName(QString firstName) {
|
||
|
m_firstName = firstName;
|
||
|
emit firstNameChanged();
|
||
|
}
|
||
|
void setFamilyName(QString familyName) {
|
||
|
m_familyName = familyName;
|
||
|
emit familyNameChanged();
|
||
|
}
|
||
|
void setNamePrefix(QString namePrefix) {
|
||
|
m_namePrefix = namePrefix;
|
||
|
emit namePrefixChanged();
|
||
|
}
|
||
|
void setNickName(QString nickName) {
|
||
|
m_nickName = nickName;
|
||
|
emit nickNameChanged();
|
||
|
}
|
||
|
void setBirthday(QDate birthday) {
|
||
|
m_birthday = birthday;
|
||
|
emit birthdayChanged();
|
||
|
}
|
||
|
void setGender(Gender gender) {
|
||
|
m_gender = gender;
|
||
|
emit genderChanged();
|
||
|
}
|
||
|
void setCustomPictureFileName(QString fileName) {
|
||
|
m_customPictureFileName = fileName;
|
||
|
emit customPictureFileNameChanged();
|
||
|
}
|
||
|
QDate getBirthday() const;
|
||
|
void setBirthday(const QDate &value);
|
||
|
|
||
|
QString getNickName() const;
|
||
|
void setNickName(const QString &value);
|
||
|
|
||
|
QString getNamePrefix() const;
|
||
|
void setNamePrefix(const QString &value);
|
||
|
|
||
|
QString getFamilyName() const;
|
||
|
void setFamilyName(const QString &value);
|
||
|
|
||
|
QString getFirstName() const;
|
||
|
void setFirstName(const QString &value);
|
||
|
|
||
|
protected:
|
||
|
// members
|
||
|
QString m_firstName;
|
||
|
QString m_familyName;
|
||
|
QString m_namePrefix;
|
||
|
QString m_nickName;
|
||
|
QDate m_birthday;
|
||
|
Gender m_gender;
|
||
|
QString m_customPictureFileName;
|
||
|
QString firstName;
|
||
|
QString familyName;
|
||
|
QString namePrefix;
|
||
|
QString nickName;
|
||
|
QDate birthday;
|
||
|
Gender gender;
|
||
|
QString customPictureFileName;
|
||
|
|
||
|
};
|
||
|
Q_DECLARE_METATYPE(Person*)
|
||
|
Q_DECLARE_METATYPE(QList<Person*>)
|
||
|
|
||
|
#endif // PERSON_H
|
||
Auch abrufbar als: Unified diff
example update, one_to_one implementation of EM is reallly bad!