Projekt

Allgemein

Profil

Herunterladen als
Herunterladen (1,4 KB) Statistiken
| Zweig: | Revision:
59e17af2 SebastianDiel
#ifndef GROUP_H
#define GROUP_H
#include "entity.h"
#include <QDebug>

class Teacher;
class Person;
class Pupil;
//class Relation;
using namespace CuteEntityManager;

class Group: public CuteEntityManager::Entity {
Q_OBJECT
EM_MACRO(Group)
6734364c Christian Ehringfeld
Q_PROPERTY(QList<QSharedPointer<Pupil>> pupils READ getPupils WRITE setPupils)
59e17af2 SebastianDiel
Q_PROPERTY(QList<QSharedPointer<Person>> persons READ getPersons WRITE
setPersons)
Q_PROPERTY(QString name READ getName WRITE setName)
Q_PROPERTY(QSharedPointer<Person> mainTeacher READ getMainTeacher WRITE
setMainTeacher)

public:
Q_INVOKABLE Group();
const QHash<QString, CuteEntityManager::Relation> getRelations() const override;

QString getName() const;
void setName(const QString &value);

6734364c Christian Ehringfeld
QList<QSharedPointer<Pupil> > getPupils() const;
void setPupils(const QList<QSharedPointer<Pupil> > &value);
void addPupil(Pupil *pupil);
QSharedPointer<Pupil> pupilAt(int i);

QSharedPointer<Person> getMainTeacher() const;
59e17af2 SebastianDiel
void setMainTeacher(const QSharedPointer<Person> &value);

QList<QSharedPointer<Person> > getPersons() const;
8f029876 Christian Ehringfeld
void addPerson(Person *person);
59e17af2 SebastianDiel
void setPersons(const QList<QSharedPointer<Person> > &value);

protected:
6734364c Christian Ehringfeld
QList<QSharedPointer<Pupil>> pupils;
59e17af2 SebastianDiel
QList<QSharedPointer<Person>> persons;
QSharedPointer<Person> mainTeacher;
QString name;
};

#endif // GROUP_H