Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision ba6f6521

Von Christian Ehringfeld vor fast 9 Jahren hinzugefügt

  • ID ba6f6521ea77f1092bc9060b00862ef48c030ab4
  • Vorgänger 396a60d7
  • Nachfolger 1a3b37ba

example update, one_to_one implementation of EM is reallly bad!

Unterschiede anzeigen:

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