Revision ba6f6521
Von Christian Ehringfeld vor fast 9 Jahren hinzugefügt
example/models/group.h | ||
---|---|---|
#include <QList>
|
||
#include <QVariantList>
|
||
//#include <QQuickView>
|
||
#include "artikel.h"
|
||
#include <QSharedPointer>
|
||
|
||
#include <QHash>
|
||
#include <QString>
|
||
#include "relation.h"
|
||
using namespace CuteEntityManager;
|
||
|
||
|
||
class SeatingPlan;
|
||
class Teacher;
|
||
class Pupil;
|
||
class Person;
|
||
class Relation;
|
||
|
||
class Group: public CuteEntityManager::Entity {
|
||
Q_OBJECT
|
||
//Q_ENUMS(Gender)
|
||
//Q_PROPERTY(QList<Person*> persons READ getPersons)
|
||
|
||
// Q_PROPERTY(QList<Person*> persons READ get_persons WRITE set_persons RESET reset_persons)
|
||
// BR_PROPERTY(QList<Person*>, persons, QList<Person*>())
|
||
Q_PROPERTY(QList<Person*> persons READ getPersons WRITE setPersons NOTIFY personsChanged)
|
||
Q_PROPERTY(Person* teacher READ getTeacher WRITE setTeacher)
|
||
Q_PROPERTY(QSharedPointer<Person> teacherP READ getTeacherP WRITE setTeacherP)
|
||
Q_PROPERTY(QSharedPointer<Artikel> artikel READ getArtikel WRITE setArtikel)
|
||
Q_PROPERTY(QList<QSharedPointer<Pupil>> pupils READ getPupils WRITE setPupils
|
||
NOTIFY pupilsChanged)
|
||
Q_PROPERTY(QList<QSharedPointer<Pupil>> classPrefects READ getClassPrefects
|
||
WRITE setClassPrefects NOTIFY classPrefectsChanged)
|
||
Q_PROPERTY(QSharedPointer<Teacher> teacher READ getTeacher WRITE setTeacher
|
||
NOTIFY teacherChanged)
|
||
Q_PROPERTY(QString name READ getName WRITE setName NOTIFY nameChanged)
|
||
Q_PROPERTY(QList<QSharedPointer<Person> > parentSpeakers READ getParentSpeakers WRITE setParentSpeakers
|
||
NOTIFY parentSpeakersChanged)
|
||
|
||
signals:
|
||
void personsChanged();
|
||
|
||
public slots:
|
||
void personChangedSlot();
|
||
void pupilsChanged();
|
||
void nameChanged();
|
||
void teacherChanged();
|
||
void classPrefectsChanged();
|
||
void parentSpeakersChanged();
|
||
|
||
public:
|
||
virtual const QHash<QString, CuteEntityManager::Relation> getRelations() const;
|
||
// constructor
|
||
virtual const QHash<QString, Relation> getRelations() const;
|
||
Group();
|
||
|
||
// getters
|
||
// QQmlListProperty <Person> persons();
|
||
|
||
|
||
// static void appendPerson(QQmlListProperty<Person> *list, Person *p);
|
||
// static int personsCount(QQmlListProperty<Person>*list);
|
||
// static Person* personAt(QQmlListProperty<Person> *list, int i);
|
||
// static void personsClear(QQmlListProperty<Person> *list);
|
||
|
||
QList <Person *> classPrefects() {
|
||
return m_classPrefects;
|
||
}
|
||
QList <Person *> parentSpeakers() {
|
||
return m_parentSpeakers;
|
||
}
|
||
|
||
// setters
|
||
void removePerson(Person *p) {
|
||
persons.removeOne(p);
|
||
}
|
||
void addClassPrefect(Person *p) {
|
||
m_classPrefects.append(p);
|
||
}
|
||
void removeClassPrefect(Person *p) {
|
||
m_classPrefects.removeOne(p);
|
||
}
|
||
void addParentSpeaker(Person *p) {
|
||
m_parentSpeakers.append(p);
|
||
}
|
||
void removeParentSpeaker(Person *p) {
|
||
m_parentSpeakers.removeOne(p);
|
||
}
|
||
|
||
void addPerson(Person *p) {
|
||
persons.append(p);
|
||
}
|
||
|
||
QList<Person *> getPersons() const;
|
||
void setPersons(const QList<Person *> &value);
|
||
|
||
QSharedPointer<Person> getTeacherP() const;
|
||
void setTeacherP(const QSharedPointer<Person> &value);
|
||
|
||
Person *getTeacher() const;
|
||
void setTeacher(Person *value);
|
||
|
||
QSharedPointer<Artikel> getArtikel() const;
|
||
void setArtikel(const QSharedPointer<Artikel> &value);
|
||
|
||
protected:
|
||
// members
|
||
Person* teacher;
|
||
QSharedPointer<Person> teacherP;
|
||
QList<Person*> persons;
|
||
QSharedPointer<Artikel> artikel;
|
||
QList <Person *> m_classPrefects;
|
||
QList <Person *> m_parentSpeakers;
|
||
|
||
// PersonListModel* m_personListModel;
|
||
QString getName() const;
|
||
void setName(const QString &value);
|
||
|
||
QSharedPointer<Teacher> getTeacher() const;
|
||
void setTeacher(const QSharedPointer<Teacher> &value);
|
||
|
||
QList<QSharedPointer<Pupil> > getPupils() const;
|
||
void setPupils(const QList<QSharedPointer<Pupil> > &value);
|
||
|
||
QList<QSharedPointer<Pupil> > getClassPrefects() const;
|
||
void setClassPrefects(const QList<QSharedPointer<Pupil> > &value);
|
||
|
||
QList<QSharedPointer<Person> > getParentSpeakers() const;
|
||
void setParentSpeakers(const QList<QSharedPointer<Person> > &value);
|
||
|
||
private:
|
||
|
||
QString name;
|
||
QSharedPointer<Teacher> teacher;
|
||
QList<QSharedPointer<Pupil>> pupils;
|
||
QList<QSharedPointer<Pupil>> classPrefects;
|
||
QList<QSharedPointer<Person>> parentSpeakers;
|
||
|
||
|
||
// PersonListModel* m_personListModel;
|
||
};
|
||
#endif // GROUP_H
|
Auch abrufbar als: Unified diff
example update, one_to_one implementation of EM is reallly bad!