Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 1cee0f5b

Von Christian Ehringfeld vor fast 9 Jahren hinzugefügt

  • ID 1cee0f5bdb709dd2170406ebf826723370bbe69f
  • Vorgänger 033279c9
  • Nachfolger b7446f4c

stupid stuff

Unterschiede anzeigen:

example/Example.pro
TEMPLATE = app
HEADERS += \
# models/pupil.h \
models/artikel.h \
models/person.h \
models/group.h \
models/pupil.h \
models/teacher.h
# models/person.h \
# models/group.h \
# models/teacher.h \
models/test/person.h \
models/test/group.h \
models/test/pupil.h \
models/test/address.h \
models/test/contact.h \
models/faker/createfakemodeldata.h \
models/test/enums.h
SOURCES += \
main.cpp \
models/artikel.cpp \
models/person.cpp \
models/group.cpp \
models/pupil.cpp \
models/teacher.cpp
# models/person.cpp \
# models/group.cpp \
# models/pupil.cpp \
# models/teacher.cpp \
models/test/person.cpp \
models/test/group.cpp \
models/test/pupil.cpp \
models/test/address.cpp \
models/test/contact.cpp \
models/faker/createfakemodeldata.cpp
unix:!macx: LIBS += -L$$PWD/../../build-EntityManager-Desktop-Debug -lCuteEntityManager
unix:INCLUDEPATH += $$PWD/../src
example/main.cpp
#include <QDir>
#include <QDebug>
#include "models/artikel.h"
#include "models/person.h"
#include <typeinfo>
#include <QThread>
#include <QMetaMethod>
#include <QMetaProperty>
#include "models/group.h"
#include "models/test/group.h"
#include "../src/entity.h"
#include "../src/entitymanager.h"
#include "../src/relation.h"
#include <QGenericReturnArgument>
#include "entityinstancefactory.h"
#include <exception>
#include "models/pupil.h"
#include "models/test/pupil.h"
#include "models/faker/createfakemodeldata.h"
/**
* create,remove und merge funktionieren
*/
......
"Müsli"));
auto ep = a.dynamicCast<CuteEntityManager::Entity>();
qDebug() << "Tabelle artikel erstellt:" << e->createTable(ep);
e->create(ep);
//e->create(ep);
auto artikel = e->findById<Artikel *>(1);
qDebug() << "ArtikelID:" << artikel.data()->getId();
// QSharedPointer<CuteEntityManager::Entity> p = QSharedPointer<CuteEntityManager::Entity>(new Person("Max", "Mustermann", Person::MALE, "", "", "",
......
// qDebug() << iterator.key() << " Value:" << iterator.value().read(p);
// iterator++;
// }
EntityInstanceFactory::registerClass<Group>();
EntityInstanceFactory::registerClass<Person>();
Group *g = new Group();
// CreateFakeModelData::fillGroup(g);
QSharedPointer<Group> gPtr = QSharedPointer<Group>(g);
e->createTable(gPtr);
auto prrr = gPtr.objectCast<Entity>();
e->create(prrr);
qDebug() << "Duration:" << t.elapsed();
return 0;
}
example/models/faker/createfakemodeldata.cpp
#include "createfakemodeldata.h"
#include "../test/person.h"
#include "../test/pupil.h"
#include "../test/address.h"
#include "../test/contact.h"
void CreateFakeModelData::fillGroup(Group* group) {
group->addPerson(new Pupil("Tim","Berg",Person::MALE,"Tim Berg.jpg",QString(),QString(),QDate(2000,7,13),"05c",0));
group->addPerson(new Pupil("Lena","Conrad",Person::FEMALE,"Lena Conrad.jpg",QString(),QString(),QDate(2000,7,13),"05c",0));
group->addPerson(new Pupil("Marcel","Dunst",Person::MALE,"Marcel Dunst.jpg",QString(),QString(),QDate(2000,7,13),"05c",0));
group->addPerson(new Pupil("Carsten","Ernst",Person::MALE,"Carsten Ernst.jpg",QString(),QString(),QDate(2000,7,13),"05c",0));
group->addPerson(new Pupil("Hannah","Eschborn",Person::FEMALE,"Hannah Eschborn.jpg",QString(),QString(),QDate(2000,7,13),"05c",0));
group->addPerson(new Pupil("Vera","Geseke",Person::FEMALE,"Vera Geseke.jpg",QString(),QString(),QDate(2000,4,1),"05c",0));
group->addPerson(new Pupil("Jann","Hagedorn",Person::MALE,"Jann Hagedorn.jpg",QString(),QString(),QDate(2000,8,16),"05c",0));
group->addPerson(new Pupil("Svenja","Hartmann",Person::FEMALE,"Svenja Hartmann.jpg",QString(),QString(),QDate(2000,2,2),"05c",0));
group->addPerson(new Pupil("Timo","Haufer",Person::MALE,"Timo Haufer.jpg",QString(),QString(),QDate(2000,2,28),"05c",0));
group->addPerson(new Pupil("Birthe","Jäger",Person::FEMALE,"Birthe Jaeger.jpg",QString(),QString(),QDate(2000,2,14),"05c",0));
group->addPerson(new Pupil("Torben","Kadatz",Person::MALE,"Torben Kadatz.jpg",QString(),QString(),QDate(2000,2,11),"05c",0));
group->addPerson(new Pupil("Julia","Kaiser",Person::FEMALE,"Julia Kaiser.jpg",QString(),QString(),QDate(2000,10,23),"05c",0));
group->addPerson(new Pupil("Nadine","Kersting",Person::FEMALE,"Nadine Kersting.jpg",QString(),QString(),QDate(2000,2,1),"05c",0));
group->addPerson(new Pupil("Friederike","Kerzel",Person::FEMALE,"Friederike Kerzel.jpg",QString(),QString(),QDate(2000,8,12),"05c",0));
group->addPerson(new Pupil("Miriam","Köller",Person::FEMALE,"Miriam Koeller.jpg",QString(),QString(),QDate(2000,6,27),"05c",0));
group->addPerson(new Pupil("Mara","Langenberg",Person::FEMALE,"Mara Langenberg.jpg",QString(),QString(),QDate(2000,7,14),"05c",0));
group->addPerson(new Pupil("Stefan","Maier",Person::MALE,"Stefan Maier.jpg",QString(),QString(),QDate(2000,3,26),"05c",0));
group->addPerson(new Pupil("Dana","Meerkat",Person::FEMALE,"Dana Meerkat.jpg",QString(),QString(),QDate(2000,3,10),"05c",0));
group->addPerson(new Pupil("Sibylle","Mentzel",Person::FEMALE,"Sibylle Mentzel.jpg",QString(),QString(),QDate(2001,4,26),"05c",0));
group->addPerson(new Pupil("Steffen","Niecke",Person::MALE,"Steffen Niecke.jpg",QString(),QString(),QDate(2000,3,2),"05c",0));
group->addPerson(new Pupil("Murat","Öztürk",Person::MALE,"Murat Oeztuerk.jpg",QString(),QString(),QDate(2000,10,27),"05c",0));
group->addPerson(new Pupil("Marie","Pieczonka",Person::FEMALE,"Marie Pieczonka.jpg",QString(),QString(),QDate(2000,2,12),"05c",0));
group->addPerson(new Pupil("Pit","Reining",Person::MALE,"Pit Reining.jpg",QString(),QString(),QDate(2000,7,20),"05c",0));
group->addPerson(new Pupil("Alexander","Richter",Person::MALE,"Alexander Richter .jpg",QString(),QString(),QDate(2001,4,14),"05c",0));
group->addPerson(new Pupil("Sina","Schneemann",Person::FEMALE,"Sina Schneemann.jpg",QString(),QString(),QDate(2000,9,2),"05c",0));
group->addPerson(new Pupil("Anne","Seweringsbeck",Person::FEMALE,"Anne Seweringsbeck.jpg",QString(),QString(),QDate(1999,11,23),"05c",0));
group->addPerson(new Pupil("Benedikt","Terstelen",Person::MALE,"Benedikt Terstelen.jpg",QString(),QString(),QDate(2000,1,6),"05c",0));
group->addPerson(new Pupil("Felix","Van Ophoven",Person::MALE,"Felix van Ophoven .jpg",QString(),QString(),QDate(1999,11,21),"05c",0));
group->addPerson(new Pupil("Heike","Vierseneck",Person::FEMALE,"Heike Vierseneck.jpg",QString(),QString(),QDate(2000,3,13),"05c",0));
group->addPerson(new Pupil("Beatrix","Weber",Person::FEMALE,"Beatrix Weber.jpg",QString(),QString(),QDate(2000,6,9),"05c",0));
group->addPerson(new Pupil("Thomas","Weber",Person::MALE,"Thomas Weber.jpg",QString(),QString(),QDate(1999,12,20),"05c",0));
group->addPerson(new Pupil("Anna","Webern",Person::FEMALE,"Anna Webern.jpg",QString(),QString(),QDate(2000,12,7),"05c",0));
group->addPerson(new Pupil("Lara","Bachmann",Person::FEMALE,"Lara Bachmann.jpg",QString(),QString(),QDate(2000,3,8),"08a",0));
group->addPerson(new Pupil("Sandra","Böhmer",Person::FEMALE,"_Sandra Boehmer.jpg",QString(),QString(),QDate(2000,3,22),"08a",0));
group->addPerson(new Pupil("Britta","Eschweger",Person::FEMALE,"Britta Eschweger.jpg",QString(),QString(),QDate(2000,7,10),"08a",0));
group->addPerson(new Pupil("Annike","Gosekamp",Person::FEMALE,"_Annike Gosekamp.jpg",QString(),QString(),QDate(2000,7,28),"08a",0));
group->addPerson(new Pupil("Katharina","Haarmann",Person::FEMALE,"Katharina Haarmann.jpg",QString(),QString(),QDate(2000,3,8),"08a",0));
group->addPerson(new Pupil("Sebastian","Hohage",Person::MALE,"Sebastian Hohage.jpg",QString(),QString(),QDate(2000,5,1),"08a",0));
group->addPerson(new Pupil("Markus","Kerzel",Person::MALE,"Markus Kerzel.jpg",QString(),QString(),QDate(2000,3,16),"08a",0));
group->addPerson(new Pupil("Henning","König",Person::MALE,"Henning Koenig.jpg",QString(),QString(),QDate(2000,5,11),"08a",0));
group->addPerson(new Pupil("Sandra","Lehmann",Person::FEMALE,"Sandra Lehmann.jpg",QString(),QString(),QDate(2000,9,3),"08a",0));
group->addPerson(new Pupil("Yasmin","Lipinski",Person::FEMALE,"_Yasmin Lipinski .jpg",QString(),QString(),QDate(2000,3,27),"08a",0));
group->addPerson(new Pupil("Jakob","Meilenberg",Person::MALE,"Jakob Meilenberg.jpg",QString(),QString(),QDate(2000,6,30),"08a",0));
group->addPerson(new Pupil("Benedikt","Meyer",Person::MALE,"Benedikt Meyer.jpg",QString(),QString(),QDate(1999,12,28),"08a",0));
group->addPerson(new Pupil("Stefan","Müller",Person::MALE,"Stefan Maier.jpg",QString(),QString(),QDate(2000,5,20),"08a",0));
group->addPerson(new Pupil("Peter","Neumann",Person::MALE,"Peter Naumann.jpg",QString(),QString(),QDate(2000,5,27),"08a",0));
group->addPerson(new Pupil("Philipp","Quäbicker",Person::MALE,"Phillip Quaebicker.jpg",QString(),QString(),QDate(2000,8,11),"08a",0));
group->addPerson(new Pupil("Susanne","Regensburger",Person::FEMALE,"Susanne Regensburger.jpg",QString(),QString(),QDate(2000,8,6),"08a",0));
group->addPerson(new Pupil("Beate","Schmidt",Person::FEMALE,"beate schmidt.jpg",QString(),QString(),QDate(2000,7,9),"08a",0));
group->addPerson(new Pupil("Lisa","Schmidt",Person::FEMALE,"_Lisa Schmidt.jpg",QString(),QString(),QDate(1999,10,31),"08a",0));
group->addPerson(new Pupil("Paul","Schmidt",Person::MALE,"Paul Schmidt.jpg",QString(),QString(),QDate(2000,4,26),"08a",0));
group->addPerson(new Pupil("Tanja","Scholz",Person::FEMALE,"Tanja Scholz.jpg",QString(),QString(),QDate(2001,1,11),"08a",0));
group->addPerson(new Pupil("Marina","Schulte",Person::FEMALE,"Marina Schulte.jpg",QString(),QString(),QDate(1999,12,2),"08a",0));
group->addPerson(new Pupil("Kevin","Schulze",Person::MALE,"Kevin schulze.jpg",QString(),QString(),QDate(1999,2,20),"08a",0));
group->addPerson(new Pupil("Antonia","Schwarz",Person::FEMALE,"Antonia Schwarz.jpg",QString(),QString(),QDate(1999,7,11),"08a",0));
group->addPerson(new Pupil("Hendrik","Theissen",Person::MALE,"Hendrik Theissen.jpg",QString(),QString(),QDate(2000,3,11),"08a",0));
group->addPerson(new Pupil("Carsten","Trompeter",Person::MALE,"Carsten Trompeter.jpg",QString(),QString(),QDate(1998,10,11),"08a",0));
group->addPerson(new Pupil("Julia","Tworuschka",Person::FEMALE,"Julia Tworuschka.jpg",QString(),QString(),QDate(1999,7,15),"08a",0));
group->addPerson(new Pupil("Sophie","Wedler",Person::FEMALE,"Sophie Wedler.jpg",QString(),QString(),QDate(2000,2,27),"08a",0));
group->addPerson(new Pupil("Alice","Wellenstein",Person::FEMALE,"Alice Wellenstein.jpg",QString(),QString(),QDate(2000,11,11),"08a",0));
group->addPerson(new Pupil("Gesa","Werthmann",Person::FEMALE,"Gesa Werthmann.jpg",QString(),QString(),QDate(2000,7,23),"08a",0));
group->addPerson(new Pupil("Selma","Yildiz",Person::FEMALE,"_Selma Yildiz.jpg",QString(),QString(),QDate(1998,2,1),"08a",0));
group->addPerson(new Pupil("Barbara","Anklang",Person::FEMALE,"Barbara Anklang.jpg",QString(),QString(),QDate(1997,12,25),"11",0));
group->addPerson(new Pupil("Martin","Baack",Person::MALE,"Martin Baack.jpg",QString(),QString(),QDate(1998,1,1),"11",0));
group->addPerson(new Pupil("Martin","Bergmann",Person::MALE,"Martin Bergmann.jpg",QString(),QString(),QDate(1999,5,29),"11",0));
group->addPerson(new Pupil("Elisabeth","Blauwies",Person::FEMALE,"Elisabeth Blauwies.jpg",QString(),QString(),QDate(1998,4,9),"11",0));
group->addPerson(new Pupil("Tim","Bösch",Person::MALE,"Tim Boesch.jpg",QString(),QString(),QDate(1998,9,27),"11",0));
group->addPerson(new Pupil("Frank","Brinkhoff",Person::MALE,"Frank Brinkhoff.jpg",QString(),QString(),QDate(1998,1,15),"11",0));
group->addPerson(new Pupil("Theresa","Christens",Person::FEMALE,"Theresa Christens.jpg",QString(),QString(),QDate(1998,3,14),"11",0));
group->addPerson(new Pupil("Silke","Goisern",Person::FEMALE,"Silke Goisern.jpg",QString(),QString(),QDate(1998,3,15),"11",0));
group->addPerson(new Pupil("Kerstin","Heineberg",Person::FEMALE,"Kerstin Heinenberg .jpg",QString(),QString(),QDate(1997,10,22),"11",0));
group->addPerson(new Pupil("Jan","Heiner",Person::MALE,"Jan Heiner.jpg",QString(),QString(),QDate(1997,11,26),"11",0));
group->addPerson(new Pupil("Annika","Henrichs",Person::FEMALE,"Annika Henrichs.jpg",QString(),QString(),QDate(1998,5,17),"11",0));
group->addPerson(new Pupil("Fritzie","Herbst",Person::FEMALE,"Fritzie Herbst.jpg",QString(),QString(),QDate(1998,3,14),"11",0));
group->addPerson(new Pupil("Leo","Hirsch",Person::MALE,"Leo Hirsch.jpg",QString(),QString(),QDate(1997,9,7),"11",0));
group->addPerson(new Pupil("Justus","Markwort",Person::MALE,"Justus Markwort.jpg",QString(),QString(),QDate(1995,8,4),"11",0));
group->addPerson(new Pupil("Christopher","Mauntz",Person::MALE,"Christopher Mauntz.jpg",QString(),QString(),QDate(1998,1,13),"11",0));
group->addPerson(new Pupil("Kai","Maurer",Person::MALE,"Kai Maurer.jpg",QString(),QString(),QDate(1997,12,30),"11",0));
group->addPerson(new Pupil("Florian","Neuhaus",Person::MALE,"Florian Neuhaus.jpg",QString(),QString(),QDate(1998,5,20),"11",0));
group->addPerson(new Pupil("Sabine","Overkamp",Person::FEMALE,"Sabine Overkamp.jpg",QString(),QString(),QDate(1998,8,4),"11",0));
group->addPerson(new Pupil("Frank","Paschen",Person::MALE,"Frank Paschen.jpg",QString(),QString(),QDate(1998,3,17),"11",0));
group->addPerson(new Pupil("Petra","Schubert",Person::FEMALE,"Petra Schubert.jpg",QString(),QString(),QDate(1994,2,23),"11",0));
group->addPerson(new Pupil("Verena","Schwarz",Person::FEMALE,"Verena Schwarz.jpg",QString(),QString(),QDate(1993,3,17),"11",0));
group->addPerson(new Pupil("Helge","Stalter",Person::MALE,"Helge Stalter.jpg",QString(),QString(),QDate(1994,2,6),"11",0));
group->addPerson(new Pupil("Lena","Swarovski",Person::FEMALE,"Lena Swarovski.jpg",QString(),QString(),QDate(1994,3,22),"11",0));
// Paths::setCustomPicturePathStatic("resources/");
// Paths::setPicturePathStatic("resources/");
group->personAt(0).data()->addAddress(new Address("Erzieher","Bukesweg 473","33330","Gütersloh"));
group->personAt(1).data()->addAddress(new Address("Erzieher","Bukesweg 473","33330","Gütersloh"));
group->personAt(2).data()->addAddress(new Address("Erzieher","Bukesweg 473","33330","Gütersloh"));
group->personAt(3).data()->addAddress(new Address("Erzieher","Bukesweg 473","33330","Gütersloh"));
group->personAt(4).data()->addAddress(new Address("Erzieher","Bukesweg 473","33330","Gütersloh"));
group->personAt(5).data()->addAddress(new Address("Erzieher","Auguste-Viktoria-Platz 193","77652","Offenburg"));
group->personAt(6).data()->addAddress(new Address("Erzieher","Bullenwinkel 467","74074","Heilbronn"));
group->personAt(7).data()->addAddress(new Address("Erzieher","Schinkelplatz 389","46236","Bottrop"));
group->personAt(8).data()->addAddress(new Address("Erzieher","Mentzelstraße 327","33617","Bielefeld"));
group->personAt(9).data()->addAddress(new Address("Erzieher","Bundesallee 252","49082","Osnabrück"));
group->personAt(10).data()->addAddress(new Address("Erzieher","Schreberplatz 93","33619","Bielefeld"));
group->personAt(11).data()->addAddress(new Address("Erzieher","Mühltaler Straße 252","45327","Essen"));
group->personAt(12).data()->addAddress(new Address("Erzieher","Köllnischer Wursthof 49","50996","Köln"));
group->personAt(13).data()->addAddress(new Address("Erzieher","Spinnpfad 38","40599","Düsseldorf"));
group->personAt(14).data()->addAddress(new Address("Erzieher","Schießgasse 122","85399","Hallbergmoos"));
group->personAt(15).data()->addAddress(new Address("Erzieher","Am Wiesenrain 156","69221","Dossenheim"));
group->personAt(16).data()->addAddress(new Address("Erzieher","Spindlersfelder Straße 201","40593","Düsseldorf"));
group->personAt(17).data()->addAddress(new Address("Erzieher","Schröderdamm 37","47169","Duisburg"));
group->personAt(18).data()->addAddress(new Address("Erzieher","Franklinstraße 390","48356","Nordwalde"));
group->personAt(19).data()->addAddress(new Address("Erzieher","Friedbergstraße 84","10555","Berlin"));
group->personAt(20).data()->addAddress(new Address("Erzieher","Mandrellaplatz 319","53119","Bonn"));
group->personAt(21).data()->addAddress(new Address("Erzieher","Müggelwerderweg 489","50823","Köln"));
group->personAt(22).data()->addAddress(new Address("Erzieher","Stralauer Straße 137","45478","Mülheim"));
group->personAt(23).data()->addAddress(new Address("Erzieher","Müggellandstraße 101","33611","Bielefeld"));
group->personAt(24).data()->addAddress(new Address("Erzieher","Müggelbergallee 455","60314","Frankfurt"));
group->personAt(25).data()->addAddress(new Address("Erzieher","Kirch-Gasse 96","53129","Bonn"));
group->personAt(26).data()->addAddress(new Address("Erzieher","Buchholzweg 278","51545","Waldbröl"));
group->personAt(27).data()->addAddress(new Address("Erzieher","Plattnerstraße 287","40233","Düsseldorf"));
group->personAt(28).data()->addAddress(new Address("Erzieher","Bolivarallee 28","41517","Grevenbroich"));
group->personAt(29).data()->addAddress(new Address("Erzieher","Große Allee 464","F-75011","Paris"));
group->personAt(30).data()->addAddress(new Address("Erzieher","Edisonstraße 496","53881","Euskirchen"));
group->personAt(31).data()->addAddress(new Address("Erzieher","Erknerstraße 414","82194","Gröbenzell"));
group->personAt(32).data()->addAddress(new Address("Erzieher","Friedrichplatz 339","57584","Wallmenroth"));
group->personAt(33).data()->addAddress(new Address("Erzieher","Englische Straße 42","22926","Ahrensburg"));
group->personAt(34).data()->addAddress(new Address("Erzieher","Oettingstraße 491","82140","Olching"));
group->personAt(35).data()->addAddress(new Address("Erzieher","Erpetaler Weg 285","46519","Alpen"));
group->personAt(36).data()->addAddress(new Address("Erzieher","Spreestraße 91","40235","Düsseldorf"));
group->personAt(37).data()->addAddress(new Address("Erzieher","Carmerstraße 233","46397","Bocholt"));
group->personAt(38).data()->addAddress(new Address("Erzieher","Emmy-Zehden-Weg 460","10435","Berlin"));
group->personAt(39).data()->addAddress(new Address("Erzieher","Stubenrauchstraße 216","40210","Düsseldorf"));
group->personAt(40).data()->addAddress(new Address("Erzieher","Kalkscheunenquergasse 210","46395","Bocholt"));
group->personAt(41).data()->addAddress(new Address("Erzieher","Seestraße 430","59302","Oelde"));
group->personAt(42).data()->addAddress(new Address("Erzieher","Amselhorst 257","60313","Frankfurt"));
group->personAt(43).data()->addAddress(new Address("Erzieher","Nobels Hof 383","95326","Kulmbach"));
group->personAt(44).data()->addAddress(new Address("Erzieher","Luisenstraße 375","45259","Essen"));
group->personAt(45).data()->addAddress(new Address("Erzieher","Müllroser Straße 371","33428","Harsewinkel"));
group->personAt(46).data()->addAddress(new Address("Erzieher","Bismarckstraße 251","24103","Kiel"));
group->personAt(47).data()->addAddress(new Address("Erzieher","Militscher Weg 222","59077","Hamm"));
group->personAt(48).data()->addAddress(new Address("Erzieher","Kleine Burgstraße 211","24111","Kiel"));
group->personAt(49).data()->addAddress(new Address("Erzieher","Kirchgasse 166","47166","Duisburg"));
group->personAt(50).data()->addAddress(new Address("Erzieher","Am Postfenn 448","81825","München"));
group->personAt(51).data()->addAddress(new Address("Erzieher","Breite Straße 227","80993","München"));
group->personAt(52).data()->addAddress(new Address("Erzieher","Gustloffstraße 292","45896","Gelsenkirchen"));
group->personAt(53).data()->addAddress(new Address("Erzieher","Am Salzufer beim Speicher 10","53842","Troisdorf"));
group->personAt(54).data()->addAddress(new Address("Erzieher","Strandweg 13","46359","Heiden"));
group->personAt(55).data()->addAddress(new Address("Erzieher","Dickensweg 269","45899","Gelsenkirchen"));
group->personAt(56).data()->addAddress(new Address("Erzieher","Birkweilerstraße 258","42389","Wuppertal"));
group->personAt(57).data()->addAddress(new Address("Erzieher","Luisenplatz 33","48153","Münster"));
group->personAt(58).data()->addAddress(new Address("Erzieher","Am Volkshaus 242","60529","Frankfurt"));
group->personAt(59).data()->addAddress(new Address("Erzieher","Adlershofer Straße 357","37671","Höxter"));
group->personAt(60).data()->addAddress(new Address("Erzieher","Semliner Straße 463","10245","Berlin"));
group->personAt(61).data()->addAddress(new Address("Erzieher","Kirchplatz 254","76149","Karlsruhe"));
group->personAt(62).data()->addAddress(new Address("Erzieher","Straße nach Fichtenau 408","52457","Aldenhoven"));
group->personAt(63).data()->addAddress(new Address("Erzieher","Schützengasse 497","73460","Hüttlingen"));
group->personAt(64).data()->addAddress(new Address("Erzieher","Bismarckstraße 194","28209","Bremen"));
group->personAt(65).data()->addAddress(new Address("Erzieher","Am Bahnhof Jungfernheide 227","57299","Burbach"));
group->personAt(66).data()->addAddress(new Address("Erzieher","Epiphanienweg 219","45149","Essen"));
group->personAt(67).data()->addAddress(new Address("Erzieher","Scharnhorststraße 238","91054","Erlangen"));
group->personAt(68).data()->addAddress(new Address("Erzieher","Baderseestraße 492","42899","Remscheid"));
group->personAt(69).data()->addAddress(new Address("Erzieher","Enkenbacher Weg 473","53179","Bonn"));
group->personAt(70).data()->addAddress(new Address("Erzieher","Siefersheimer Straße 379","50226","Frechen"));
group->personAt(71).data()->addAddress(new Address("Erzieher","Gutsmuthsweg 197","59955","Winterberg"));
group->personAt(72).data()->addAddress(new Address("Erzieher","Beutenweg 316","42329","Wuppertal"));
group->personAt(73).data()->addAddress(new Address("Erzieher","Fahlenbergstraße 244","50667","Köln"));
group->personAt(74).data()->addAddress(new Address("Erzieher","Cauerstraße 171","41068","Mönchengladbach"));
group->personAt(75).data()->addAddress(new Address("Erzieher","Eichkatzweg 263","10999","Berlin"));
group->personAt(76).data()->addAddress(new Address("Erzieher","Fasanenstraße 83","34127","Kassel"));
group->personAt(77).data()->addAddress(new Address("Erzieher","Augsburger Straße 397","41748","Viersen"));
group->personAt(78).data()->addAddress(new Address("Erzieher","Erlengrund 240","22393","Hamburg"));
group->personAt(79).data()->addAddress(new Address("Erzieher","Müggelschlößchenweg 111","90762","Fürth"));
group->personAt(80).data()->addAddress(new Address("Erzieher","Rautendeleinweg 233","60322","Frankfurt"));
group->personAt(81).data()->addAddress(new Address("Erzieher","Plattnerstraße 448","33611","Bielefeld"));
group->personAt(82).data()->addAddress(new Address("Erzieher","Falkendamm 174","44532","Lünen"));
group->personAt(83).data()->addAddress(new Address("Erzieher","Beutenweg 46","40233","Düsseldorf"));
group->personAt(84).data()->addAddress(new Address("Erzieher","Grolmanstraße 21","42105","Wuppertal"));
group->personAt(0).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-474466"));
group->personAt(1).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-474466"));
group->personAt(2).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-474466"));
group->personAt(3).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-474466"));
group->personAt(4).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-474466"));
group->personAt(5).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-340678"));
group->personAt(6).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-697259"));
group->personAt(7).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-893457"));
group->personAt(8).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-329887"));
group->personAt(9).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-929597"));
group->personAt(10).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-796732"));
group->personAt(11).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-546859"));
group->personAt(12).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-595620"));
group->personAt(13).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-866276"));
group->personAt(14).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-460017"));
group->personAt(15).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-482789"));
group->personAt(16).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-572497"));
group->personAt(17).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-778335"));
group->personAt(18).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-373357"));
group->personAt(19).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-141325"));
group->personAt(20).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-479624"));
group->personAt(21).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-181349"));
group->personAt(22).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-292118"));
group->personAt(23).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-835081"));
group->personAt(24).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-177756"));
group->personAt(25).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-744508"));
group->personAt(26).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-966629"));
group->personAt(27).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-310955"));
group->personAt(28).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-557452"));
group->personAt(29).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-822892"));
group->personAt(30).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-146895"));
group->personAt(31).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-140179"));
group->personAt(32).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-748715"));
group->personAt(33).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-511395"));
group->personAt(34).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-451487"));
group->personAt(35).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-427073"));
group->personAt(36).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-636559"));
group->personAt(37).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-952210"));
group->personAt(38).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-273424"));
group->personAt(39).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-371440"));
group->personAt(40).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-620761"));
group->personAt(41).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-976994"));
group->personAt(42).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-884805"));
group->personAt(43).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-664649"));
group->personAt(44).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-860288"));
group->personAt(45).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-756263"));
group->personAt(46).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-471363"));
group->personAt(47).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-381769"));
group->personAt(48).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-449971"));
group->personAt(49).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-167298"));
group->personAt(50).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-125506"));
group->personAt(51).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-295468"));
group->personAt(52).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-288429"));
group->personAt(53).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-838009"));
group->personAt(54).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-460820"));
group->personAt(55).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-280847"));
group->personAt(56).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-864574"));
group->personAt(57).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-496047"));
group->personAt(58).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-448370"));
group->personAt(59).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-371203"));
group->personAt(60).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-395222"));
group->personAt(61).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-984187"));
group->personAt(62).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-726034"));
group->personAt(63).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-848504"));
group->personAt(64).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-384888"));
group->personAt(65).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-816536"));
group->personAt(66).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-959895"));
group->personAt(67).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-805634"));
group->personAt(68).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-884150"));
group->personAt(69).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-614509"));
group->personAt(70).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-204527"));
group->personAt(71).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-936177"));
group->personAt(72).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-851124"));
group->personAt(73).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-780272"));
group->personAt(74).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-193218"));
group->personAt(75).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-863423"));
group->personAt(76).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-505932"));
group->personAt(77).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-193988"));
group->personAt(78).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-284261"));
group->personAt(79).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-354793"));
group->personAt(80).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-150300"));
group->personAt(81).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-935449"));
group->personAt(82).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-241454"));
group->personAt(83).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-263433"));
group->personAt(84).data()->addContact(new Contact("Telefon 1",LANDLINE_CONTACT,"01234-942203"));
group->personAt(0).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-755490"));
group->personAt(1).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-755490"));
group->personAt(2).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-755490"));
group->personAt(3).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-755490"));
group->personAt(4).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-755490"));
group->personAt(5).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-791688"));
group->personAt(6).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-837199"));
group->personAt(7).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-194122"));
group->personAt(8).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-145996"));
group->personAt(9).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-446435"));
group->personAt(10).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-777240"));
group->personAt(11).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-957984"));
group->personAt(12).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-959035"));
group->personAt(13).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-646996"));
group->personAt(14).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-754644"));
group->personAt(15).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-691871"));
group->personAt(16).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-606116"));
group->personAt(17).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-560258"));
group->personAt(18).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-725004"));
group->personAt(19).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-836000"));
group->personAt(20).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-501271"));
group->personAt(21).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-495368"));
group->personAt(22).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-833977"));
group->personAt(23).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-999205"));
group->personAt(24).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-496463"));
group->personAt(25).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-901833"));
group->personAt(26).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-836660"));
group->personAt(27).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-565273"));
group->personAt(28).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-334976"));
group->personAt(29).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-586964"));
group->personAt(30).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-669576"));
group->personAt(31).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-931698"));
group->personAt(32).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-968447"));
group->personAt(33).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-576603"));
group->personAt(34).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-331963"));
group->personAt(35).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-122682"));
group->personAt(36).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-582439"));
group->personAt(37).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-930372"));
group->personAt(38).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-812512"));
group->personAt(39).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-432765"));
group->personAt(40).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-443758"));
group->personAt(41).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-696010"));
group->personAt(42).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-493309"));
group->personAt(43).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-470076"));
group->personAt(44).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-284998"));
group->personAt(45).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-619313"));
group->personAt(46).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-922854"));
group->personAt(47).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-610450"));
group->personAt(48).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-593422"));
group->personAt(49).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-378564"));
group->personAt(50).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-311956"));
group->personAt(51).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-645321"));
group->personAt(52).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-305341"));
group->personAt(53).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-708486"));
group->personAt(54).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-943784"));
group->personAt(55).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-855304"));
group->personAt(56).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-524665"));
group->personAt(57).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-629998"));
group->personAt(58).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-803833"));
group->personAt(59).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-568313"));
group->personAt(60).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-472579"));
group->personAt(61).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-453570"));
group->personAt(62).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-779747"));
group->personAt(63).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-959740"));
group->personAt(64).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-791460"));
group->personAt(65).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-852067"));
group->personAt(66).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-137234"));
group->personAt(67).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-245563"));
group->personAt(68).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-103207"));
group->personAt(69).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-376089"));
group->personAt(70).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-551473"));
group->personAt(71).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-928563"));
group->personAt(72).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-268328"));
group->personAt(73).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-771549"));
group->personAt(74).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-776219"));
group->personAt(75).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-581444"));
group->personAt(76).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-100392"));
group->personAt(77).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-267220"));
group->personAt(78).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-333075"));
group->personAt(79).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-746235"));
group->personAt(80).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-695127"));
group->personAt(81).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-231127"));
group->personAt(82).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-992639"));
group->personAt(83).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-334154"));
group->personAt(84).data()->addContact(new Contact("Telefon 2",LANDLINE_CONTACT,"01234-100465"));
group->personAt(0).data()->addContact(new Contact("Email",EMAIL_CONTACT,"TimmieB@smail.de_"));
group->personAt(1).data()->addContact(new Contact("Email",EMAIL_CONTACT,"lenalenalena3@smail.de_"));
group->personAt(2).data()->addContact(new Contact("Email",EMAIL_CONTACT,"marcel.dunst111@smail.de_"));
group->personAt(3).data()->addContact(new Contact("Email",EMAIL_CONTACT,"cernst@smail.de_"));
group->personAt(4).data()->addContact(new Contact("Email",EMAIL_CONTACT,"hannahsemail@smail.de_"));
group->personAt(5).data()->addContact(new Contact("Email",EMAIL_CONTACT,"vrgsk@smail.de_"));
group->personAt(6).data()->addContact(new Contact("Email",EMAIL_CONTACT,"hagedornjann@smail.de_"));
group->personAt(7).data()->addContact(new Contact("Email",EMAIL_CONTACT,"svenja_H@smail.de_"));
group->personAt(8).data()->addContact(new Contact("Email",EMAIL_CONTACT,"dertimohatmail@smail.de_"));
group->personAt(9).data()->addContact(new Contact("Email",EMAIL_CONTACT,"birthe-hunter@smail.de_"));
group->personAt(10).data()->addContact(new Contact("Email",EMAIL_CONTACT,"thor-ben@smail.de_"));
group->personAt(11).data()->addContact(new Contact("Email",EMAIL_CONTACT,"kaiserin_julia@smail.de_"));
group->personAt(12).data()->addContact(new Contact("Email",EMAIL_CONTACT,"dinikersting@smail.de_"));
group->personAt(13).data()->addContact(new Contact("Email",EMAIL_CONTACT,"rieke1234567@smail.de_"));
group->personAt(14).data()->addContact(new Contact("Email",EMAIL_CONTACT,"koellerkollerkiller@smail.de_"));
group->personAt(15).data()->addContact(new Contact("Email",EMAIL_CONTACT,"mara-longmountain@smail.de_"));
group->personAt(16).data()->addContact(new Contact("Email",EMAIL_CONTACT,"stefanowitschm@smail.de_"));
group->personAt(17).data()->addContact(new Contact("Email",EMAIL_CONTACT,"danameerkatze@smail.de_"));
group->personAt(18).data()->addContact(new Contact("Email",EMAIL_CONTACT,"BillieMentzel@smail.de_"));
group->personAt(19).data()->addContact(new Contact("Email",EMAIL_CONTACT,"steffenNIE@smail.de_"));
group->personAt(20).data()->addContact(new Contact("Email",EMAIL_CONTACT,"MuratÖzgür@smail.de_"));
group->personAt(21).data()->addContact(new Contact("Email",EMAIL_CONTACT,"MariechenPieczo@smail.de_"));
group->personAt(22).data()->addContact(new Contact("Email",EMAIL_CONTACT,"pit-cleaning@smail.de_"));
group->personAt(23).data()->addContact(new Contact("Email",EMAIL_CONTACT,"richter_alex1111@smail.de_"));
group->personAt(24).data()->addContact(new Contact("Email",EMAIL_CONTACT,"schneefrau@smail.de_"));
group->personAt(25).data()->addContact(new Contact("Email",EMAIL_CONTACT,"anne.seweringsbeck@smail.de_"));
group->personAt(26).data()->addContact(new Contact("Email",EMAIL_CONTACT,"benedikt_terstelen@smail.de_"));
group->personAt(27).data()->addContact(new Contact("Email",EMAIL_CONTACT,"happyfromophoven@smail.de_"));
group->personAt(28).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Heike.Vierseneck@smail.de_"));
group->personAt(29).data()->addContact(new Contact("Email",EMAIL_CONTACT,"BeaWeberNEU@smail.de_"));
group->personAt(30).data()->addContact(new Contact("Email",EMAIL_CONTACT,"ThomasWeberThomasWeber@smail.de_"));
group->personAt(31).data()->addContact(new Contact("Email",EMAIL_CONTACT,"BellaAnnaWebern99@smail.de_"));
group->personAt(32).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Larabach@smail.de_"));
group->personAt(33).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Sboehmer@smail.de_"));
group->personAt(34).data()->addContact(new Contact("Email",EMAIL_CONTACT,"BrEs@smail.de_"));
group->personAt(35).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Annik-Gose@smail.de_"));
group->personAt(36).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Kat_Haarmann@smail.de_"));
group->personAt(37).data()->addContact(new Contact("Email",EMAIL_CONTACT,"SebiHohi2000@smail.de_"));
group->personAt(38).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Kerzel.M@smail.de_"));
group->personAt(39).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Hennig-the-King@smail.de_"));
group->personAt(40).data()->addContact(new Contact("Email",EMAIL_CONTACT,"SandyLeh@smail.de_"));
group->personAt(41).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Yasmin-Lipinski@smail.de_"));
group->personAt(42).data()->addContact(new Contact("Email",EMAIL_CONTACT,"7-Meilen-Jakob@smail.de_"));
group->personAt(43).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Big_Benny@smail.de_"));
group->personAt(44).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Stefan.Mueller13@smail.de_"));
group->personAt(45).data()->addContact(new Contact("Email",EMAIL_CONTACT,"PeterPanNeu@smail.de_"));
group->personAt(46).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Quaebicker.Phil@smail.de_"));
group->personAt(47).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Susi_Spielmacher@smail.de_"));
group->personAt(48).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Schmidtty-Bea00@smail.de_"));
group->personAt(49).data()->addContact(new Contact("Email",EMAIL_CONTACT,"MrsNeunmalklug@smail.de_"));
group->personAt(50).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Paul.S.99@smail.de_"));
group->personAt(51).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Scholz_Tanja_2@smail.de_"));
group->personAt(52).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Meeresschulte99@smail.de_"));
group->personAt(53).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Kev.Cool-13@smail.de_"));
group->personAt(54).data()->addContact(new Contact("Email",EMAIL_CONTACT,"BlackAntony@smail.de_"));
group->personAt(55).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Hendrik-Theissen-Jr@smail.de_"));
group->personAt(56).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Carsten-Trumpet5@smail.de_"));
group->personAt(57).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Julia.Tworuschka@smail.de_"));
group->personAt(58).data()->addContact(new Contact("Email",EMAIL_CONTACT,"SophiesWelt2000@smial.de_"));
group->personAt(59).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Alice-Wavestone@smail.de_"));
group->personAt(60).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Leiden-der-jungen-Gesa@smail.de_"));
group->personAt(61).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Selma-Yildiz13@smail.de_"));
group->personAt(62).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Barbara-at-Sound@smail.de_"));
group->personAt(63).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Baak.M.1234@smail.de_"));
group->personAt(64).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Martin.Bergmann@smail.de_"));
group->personAt(65).data()->addContact(new Contact("Email",EMAIL_CONTACT,"EinsteinElli@smail.de_"));
group->personAt(66).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Ti-Boe@smail.de_"));
group->personAt(67).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Zum-Wohl-Frank@smail.de_"));
group->personAt(68).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Holy-Theresa@smail.de_"));
group->personAt(69).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Silke.Goisern96@smail.de_"));
group->personAt(70).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Kerstin_Heini@smail.de_"));
group->personAt(71).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Jan-the-brain@smail.de_"));
group->personAt(72).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Annika.Henrichs12@smail.de_"));
group->personAt(73).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Fritzie-Coke@smail.de_"));
group->personAt(74).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Hirsch-heisst-er@smail.de_"));
group->personAt(75).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Just_Mark_Word@smail.de_"));
group->personAt(76).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Chriscat95@smail.de_"));
group->personAt(77).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Kai-Maurer-415@smail.de_"));
group->personAt(78).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Neuhaus-1645@smail.de_"));
group->personAt(79).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Sabine.Overkamp2@smail.de_"));
group->personAt(80).data()->addContact(new Contact("Email",EMAIL_CONTACT,"PaschFrank@smail.de_"));
group->personAt(81).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Petras_Winterreise@smail.de_"));
group->personAt(82).data()->addContact(new Contact("Email",EMAIL_CONTACT,"BlackMamba5@smail.de_"));
group->personAt(83).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Helges-Jazzclub@smail.de_"));
group->personAt(84).data()->addContact(new Contact("Email",EMAIL_CONTACT,"Swarovski.Lena4@smail.de_"));
group->personAt(0).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"info@berg-immobilien.com_"));
group->personAt(1).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"ClemensundAnja@DieConrads.de_"));
group->personAt(2).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"sales@dunst-aufzuege.de_"));
group->personAt(3).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"FamilieErnst@smail.de_"));
group->personAt(4).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"juergen.eschborn@smail.de_"));
group->personAt(5).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Britta_Geseke@smail.de_"));
group->personAt(6).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"familie@hagedorns.de_"));
group->personAt(7).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"hartmaenner@smail.de_"));
group->personAt(8).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Marco.Haufer@email.de_"));
group->personAt(9).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"aufzumfroehlichenjagen@email.de_"));
group->personAt(10).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"hwerdka@smail.de_"));
group->personAt(11).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"HalloHerrKaiser@smail.de_"));
group->personAt(12).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Kersting.Ute@smail.de_"));
group->personAt(13).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Kerzels@smail.de_"));
group->personAt(14).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"vera-koeller@smail.de_"));
group->personAt(15).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Sebastian.Langenberg@smail.de_"));
group->personAt(16).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Sabine_Maier_69@smail.de_"));
group->personAt(17).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"paul@familiemeerkat.de_"));
group->personAt(18).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"berndmentzel@smail.de_"));
group->personAt(19).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Ruediger_Niecke@smail.de_"));
group->personAt(20).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"OgulcanOeztuerk@smail.com.tk_"));
group->personAt(21).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"sales@beckertransporte.de_"));
group->personAt(22).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"mail@reining-tv.de_"));
group->personAt(23).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"GeroRichter@smail.de_"));
group->personAt(24).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"dieschneemaenner@smail.de_"));
group->personAt(25).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"familie@seweringsbeck.de_"));
group->personAt(26).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"terstelen@deinebank.de_"));
group->personAt(27).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"vanophovencarla@smail.de_"));
group->personAt(28).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"elternvonheike@smail.de_"));
group->personAt(29).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"WeberKnechte@smail.de_"));
group->personAt(30).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"WeberKnechte@smail.de_"));
group->personAt(31).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"webern@elternmail.de_"));
group->personAt(32).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Heiner.Bachmann@smail.de_"));
group->personAt(33).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"L.Boehmer-Kapitza@smail.de_"));
group->personAt(34).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Annette.Eschweger@smail.de_"));
group->personAt(35).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Heiner.Gosekamp@smail.de_"));
group->personAt(36).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"H@Haarmann.de_"));
group->personAt(37).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"K.Hohage@smail.de_"));
group->personAt(38).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"KaiKerzel@smail.de_"));
group->personAt(39).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Maraike@FIrmaKoenig.de_"));
group->personAt(40).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Kontakt@Lehmann-industries.de_"));
group->personAt(41).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Silke_Lipinski@Stadtnet.de_"));
group->personAt(42).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"HeikeUndWalter.Ernst@smail.de_"));
group->personAt(43).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Klaus_Meyer@smail.de_"));
group->personAt(44).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Support@MusikMueller.de_"));
group->personAt(45).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Karin.Neumann@smail.de_"));
group->personAt(46).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Bernd_Quäbicker@smail.de_"));
group->personAt(47).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"FamilieRegensburger@smail.de_"));
group->personAt(48).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Daphne-Schmidt@smail.de_"));
group->personAt(49).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Info@KaisersLaden.de_"));
group->personAt(50).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"ElenoreSchmidt2@smail.de_"));
group->personAt(51).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"TanjasEltern@smail.de_"));
group->personAt(52).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Schulte@SchulteGmbH-Co-KG.de_"));
group->personAt(53).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,""));
group->personAt(54).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"SchwarzWeiss@smail.de_"));
group->personAt(55).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Hendrik-Theissen-Sr@smail.de_"));
group->personAt(56).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Kurt@Instrumentenbau.de_"));
group->personAt(57).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"S.K.Tworuschka@smail.de_"));
group->personAt(58).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"HeinkeUndKarlWedler@smail.de_"));
group->personAt(59).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Wellenstein@Wellenstein.net_"));
group->personAt(60).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Dagma.Werthmann@smail.de_"));
group->personAt(61).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"K@Yildiz-Industries.com_"));
group->personAt(62).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Beate_Anklang4@smail.de_"));
group->personAt(63).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"FamilieBaack@smail.de_"));
group->personAt(64).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Katharina_Bergmann@smail.de_"));
group->personAt(65).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Vorstand@Blauwies-Entertainment.de_"));
group->personAt(66).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Ehepaar_Boesch@smail.de_"));
group->personAt(67).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"DiethelmBrinkhoff@smail.de_"));
group->personAt(68).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Kai.Christens-Lachmacher@smail.de_"));
group->personAt(69).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Salome-Goisern@smail.de_"));
group->personAt(70).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"HeinebergFamilie@smail.de_"));
group->personAt(71).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Kurt@HeinerVerlag.de_"));
group->personAt(72).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Dorothea_Henrichs@smail.de_"));
group->personAt(73).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Herbstsaison@smail.de_"));
group->personAt(74).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"GieselaHirsch@Hirsch.de_"));
group->personAt(75).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,""));
group->personAt(76).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Kathrin.Mauntz-Wirting@smail.de_"));
group->personAt(77).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Maurer@Hausbau.de_"));
group->personAt(78).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Isabell_Neuhaus@smail.de_"));
group->personAt(79).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Overkamp@Overkamp.de_"));
group->personAt(80).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"NilsUndBarbaraPaschen@smail.de_"));
group->personAt(81).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Schubert@Boosey-and-Klawkes.de_"));
group->personAt(82).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"IngoSchwarz@smail.de_"));
group->personAt(83).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"SE@Stalter-Verkauf.net_"));
group->personAt(84).data()->addContact(new Contact("Email Eltern",EMAIL_CONTACT,"Glitzerndes@Swarovski.net_"));
}
example/models/faker/createfakemodeldata.h
#ifndef CREATEFAKEMODELDATA
#define CREATEFAKEMODELDATA
#include "../test/group.h"
#include "../test/person.h"
#include "../test/address.h"
#include "../test/contact.h"
class CreateFakeModelData {
public:
static void fillGroup(Group* group);
};
#endif // CREATEFAKEMODELDATA
example/models/group.cpp
#include "group.h"
#include "models/person.h"
#include "models/group.h"
#include "../src/relation.h"
//#include <QQmlListProperty>
#include <QDebug>
Group::Group() : Entity() {
}
QString Group::getName() const
{
return name;
}
void Group::setName(const QString &value)
{
name = value;
}
QSharedPointer<Teacher> Group::getTeacher() const
{
return teacher;
}
void Group::setTeacher(const QSharedPointer<Teacher> &value)
{
teacher = value;
}
QList<QSharedPointer<Pupil> > Group::getPupils() const
{
return pupils;
}
void Group::setPupils(const QList<QSharedPointer<Pupil> > &value)
{
pupils = value;
}
QList<QSharedPointer<Pupil> > Group::getClassPrefects() const
{
return classPrefects;
}
void Group::setClassPrefects(const QList<QSharedPointer<Pupil> > &value)
{
classPrefects = value;
}
QList<QSharedPointer<Person> > Group::getParentSpeakers() const
{
return parentSpeakers;
}
void Group::setParentSpeakers(const QList<QSharedPointer<Person> > &value)
{
parentSpeakers = value;
}
const QHash<QString, Relation> Group::getRelations() const
{
auto hash = Entity::getRelations();
hash.insert("teacher",Relation("teacher",MANY_TO_ONE,false));
hash.insert("pupils",Relation("pupils",MANY_TO_MANY));
hash.insert("classPrefects",Relation("classPrefects",MANY_TO_MANY));
hash.insert("parentSpeakers",Relation("parentSpeakers",MANY_TO_MANY));
return hash;
}
example/models/group.h
#ifndef GROUP_H
#define GROUP_H
#include "models/person.h"
//#include <QQmlListProperty>
#include <QDebug>
#include <QList>
#include <QVariantList>
//#include <QQuickView>
#include <QSharedPointer>
#include <QHash>
#include <QString>
#include "relation.h"
using namespace CuteEntityManager;
class SeatingPlan;
class Teacher;
class Pupil;
class Person;
class Group: public CuteEntityManager::Entity {
Q_OBJECT
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 pupilsChanged();
void nameChanged();
void teacherChanged();
void classPrefectsChanged();
void parentSpeakersChanged();
public:
virtual const QHash<QString, Relation> getRelations() const;
Group();
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
example/models/old/group.cpp
#include "group.h"
#include "models/person.h"
#include "models/group.h"
#include "../src/relation.h"
//#include <QQmlListProperty>
#include <QDebug>
Group::Group() : Entity() {
}
QString Group::getName() const
{
return name;
}
void Group::setName(const QString &value)
{
name = value;
}
QSharedPointer<Teacher> Group::getTeacher() const
{
return teacher;
}
void Group::setTeacher(const QSharedPointer<Teacher> &value)
{
teacher = value;
}
QList<QSharedPointer<Pupil> > Group::getPupils() const
{
return pupils;
}
void Group::setPupils(const QList<QSharedPointer<Pupil> > &value)
{
pupils = value;
}
QList<QSharedPointer<Pupil> > Group::getClassPrefects() const
{
return classPrefects;
}
void Group::setClassPrefects(const QList<QSharedPointer<Pupil> > &value)
{
classPrefects = value;
}
QList<QSharedPointer<Person> > Group::getParentSpeakers() const
{
return parentSpeakers;
}
void Group::setParentSpeakers(const QList<QSharedPointer<Person> > &value)
{
parentSpeakers = value;
}
const QHash<QString, Relation> Group::getRelations() const
{
auto hash = Entity::getRelations();
hash.insert("teacher",Relation("teacher",false,MANY_TO_ONE));
hash.insert("pupils",Relation("pupils",MANY_TO_MANY,QString("")));
hash.insert("classPrefects",Relation("classPrefects",MANY_TO_MANY,QString("")));
hash.insert("parentSpeakers",Relation("parentSpeakers",MANY_TO_MANY,QString("")));
return hash;
}
example/models/old/group.h
#ifndef GROUP_H
#define GROUP_H
#include "models/person.h"
//#include <QQmlListProperty>
#include <QDebug>
#include <QList>
#include <QVariantList>
//#include <QQuickView>
#include <QSharedPointer>
#include <QHash>
#include <QString>
#include "relation.h"
using namespace CuteEntityManager;
class SeatingPlan;
class Teacher;
class Pupil;
class Person;
class Group: public CuteEntityManager::Entity {
Q_OBJECT
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 pupilsChanged();
void nameChanged();
void teacherChanged();
void classPrefectsChanged();
void parentSpeakersChanged();
public:
// virtual const QHash<QString, Relation> getRelations() const;
Group();
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
example/models/old/person.cpp
#include "person.h"
QString Person::toString()
{
return Entity::toString() + " " + this->getFirstName();
}
Person::Person(QObject *parent) : Entity(parent)
{
}
Person::Person(QString firstName,
QString familyName,
Gender gender,
QString customPictureFileName,
QString namePrefix,
QString nickName,
QDate birthday,
QObject *parent): CuteEntityManager::Entity(parent) {
setFirstName(firstName);
setFamilyName(familyName);
setNamePrefix(namePrefix);
setNickName(nickName);
setBirthday(birthday);
setGender(gender);
setCustomPictureFileName(customPictureFileName);
}
QString Person::getCustomPictureFileName() const
{
return customPictureFileName;
}
void Person::setCustomPictureFileName(const QString &value)
{
customPictureFileName = value;
}
Gender Person::getGender() const
{
return gender;
}
void Person::setGender(const Gender &value)
{
gender = value;
}
QDate Person::getBirthday() const
{
return birthday;
}
void Person::setBirthday(const QDate &value)
{
birthday = value;
}
QString Person::getNickName() const
{
return nickName;
}
void Person::setNickName(const QString &value)
{
nickName = value;
}
QString Person::getNamePrefix() const
{
return namePrefix;
}
void Person::setNamePrefix(const QString &value)
{
namePrefix = value;
}
QString Person::getFamilyName() const
{
return familyName;
}
void Person::setFamilyName(const QString &value)
{
familyName = value;
}
QString Person::getFirstName() const
{
return firstName;
}
void Person::setFirstName(const QString &value)
{
firstName = value;
}
example/models/old/person.h
#ifndef PERSON_H
#define PERSON_H
#include <QDateTime>
#include <QString>
#include <QList>
#include <QObject>
#include "../../src/entity.h"
#include <QAbstractListModel>
#include <QDebug>
enum Gender {MALE, FEMALE, UNKNOWNGENDER};
Q_DECLARE_METATYPE(Gender)
class Person: public CuteEntityManager::Entity {
Q_OBJECT
//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 familyNameChanged();
void namePrefixChanged();
void nickNameChanged();
void birthdayChanged();
void genderChanged();
void customPictureFileNameChanged();
public:
QString toString();
Person(QObject *parent = 0);
Person(QString firstName,
QString familyName,
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);
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 firstName;
QString familyName;
QString namePrefix;
QString nickName;
QDate birthday;
Gender gender;
QString customPictureFileName;
};
#endif // PERSON_H
example/models/old/pupil.cpp
#include "pupil.h"
Pupil::Pupil() : Person() {
}
QSharedPointer<Person> Pupil::getParent() const
{
return parent;
}
void Pupil::setParent(const QSharedPointer<Person> &value)
{
parent = value;
}
QString Pupil::getName() const
{
return name;
}
void Pupil::setName(const QString &value)
{
name = value;
}
const QHash<QString, Relation> Pupil::getRelations() const {
auto hash = Person::getRelations();
hash.insert("parent", Relation("parent", true, ONE_TO_ONE));
hash.insert("groups", Relation("groups", ONE_TO_MANY, "teacher"));
return hash;
}
example/models/old/pupil.h
#ifndef PUPIL_H
#define PUPIL_H
#include "person.h"
#include "relation.h"
using namespace CuteEntityManager;
class Pupil : public Person
{
Q_OBJECT
// Q_PROPERTY(QSharedPointer<Person> parent READ getParent WRITE setParent NOTIFY
// parentChanged)
Q_PROPERTY(QString name READ getName WRITE setName NOTIFY nameChanged)
signals:
void parentChanged();
void nameChanged();
public:
Pupil();
virtual const QHash<QString, Relation> getRelations() const;
QSharedPointer<Person> getParent() const;
void setParent(const QSharedPointer<Person> &value);
QString getName() const;
void setName(const QString &value);
private:
QSharedPointer<Person> parent;
QString name;
};
#endif // PUPIL_H
example/models/old/teacher.cpp
#include "teacher.h"
Teacher::Teacher(QSharedPointer<Person> parent) : Person() {
this->parent = parent;
}
const QHash<QString, Relation> Teacher::getRelations() const {
auto hash = Person::getRelations();
hash.insert("parent", Relation("parent", true,ONE_TO_ONE));
hash.insert("groups", Relation("groups", ONE_TO_MANY, "teacher"));
return hash;
}
QList<QSharedPointer<Group> > Teacher::getGroups() const {
return groups;
}
void Teacher::setGroups(const QList<QSharedPointer<Group> > &value) {
groups = value;
}
QSharedPointer<Person> Teacher::getParent() const {
return parent;
}
void Teacher::setParent(const QSharedPointer<Person> &value) {
parent = value;
}
example/models/old/teacher.h
#ifndef TEACHER_H
#define TEACHER_H
#include "person.h"
#include "relation.h"
using namespace CuteEntityManager;
class Group;
class Teacher : public Person {
Q_OBJECT
Q_PROPERTY(QList<QSharedPointer<Group>> groups READ getGroups WRITE setGroups
NOTIFY groupsChanged)
Q_PROPERTY(QSharedPointer<Person> parent READ getParent WRITE setParent NOTIFY
parentChanged)
signals:
void groupsChanged();
void parentChanged();
public:
Teacher(QSharedPointer<Person> parent);
virtual const QHash<QString, Relation> getRelations() const;
QList<QSharedPointer<Group> > getGroups() const;
void setGroups(const QList<QSharedPointer<Group> > &value);
QSharedPointer<Person> getParent() const;
void setParent(const QSharedPointer<Person> &value);
private:
QList<QSharedPointer<Group>> groups;
QSharedPointer<Person> parent;
};
#endif // TEACHER_H
example/models/person.cpp
#include "person.h"
QString Person::toString()
{
return Entity::toString() + " " + this->getFirstName();
}
Person::Person(QObject *parent) : Entity(parent)
{
}
Person::Person(QString firstName,
QString familyName,
Gender gender,
QString customPictureFileName,
QString namePrefix,
QString nickName,
QDate birthday,
QObject *parent): CuteEntityManager::Entity(parent) {
setFirstName(firstName);
setFamilyName(familyName);
setNamePrefix(namePrefix);
setNickName(nickName);
setBirthday(birthday);
setGender(gender);
setCustomPictureFileName(customPictureFileName);
}
QString Person::getCustomPictureFileName() const
{
return customPictureFileName;
}
void Person::setCustomPictureFileName(const QString &value)
{
customPictureFileName = value;
}
Gender Person::getGender() const
{
return gender;
}
void Person::setGender(const Gender &value)
{
gender = value;
}
QDate Person::getBirthday() const
{
return birthday;
}
void Person::setBirthday(const QDate &value)
{
birthday = value;
}
QString Person::getNickName() const
{
return nickName;
}
void Person::setNickName(const QString &value)
{
nickName = value;
}
QString Person::getNamePrefix() const
{
return namePrefix;
}
void Person::setNamePrefix(const QString &value)
{
namePrefix = value;
}
QString Person::getFamilyName() const
{
return familyName;
}
void Person::setFamilyName(const QString &value)
{
familyName = value;
}
QString Person::getFirstName() const
{
return firstName;
}
void Person::setFirstName(const QString &value)
{
firstName = value;
}
example/models/person.h
#ifndef PERSON_H
#define PERSON_H
#include <QDateTime>
#include <QString>
#include <QList>
#include <QObject>
#include "../../src/entity.h"
#include <QAbstractListModel>
#include <QDebug>
enum Gender {MALE, FEMALE, UNKNOWNGENDER};
Q_DECLARE_METATYPE(Gender)
class Person: public CuteEntityManager::Entity {
Q_OBJECT
//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 familyNameChanged();
void namePrefixChanged();
void nickNameChanged();
void birthdayChanged();
void genderChanged();
void customPictureFileNameChanged();
public:
QString toString();
Person(QObject *parent = 0);
Person(QString firstName,
QString familyName,
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);
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 firstName;
QString familyName;
QString namePrefix;
QString nickName;
QDate birthday;
Gender gender;
QString customPictureFileName;
};
#endif // PERSON_H
example/models/pupil.cpp
#include "pupil.h"
Pupil::Pupil() : Person() {
}
QSharedPointer<Person> Pupil::getParent() const
{
return parent;
}
void Pupil::setParent(const QSharedPointer<Person> &value)
{
parent = value;
}
QString Pupil::getName() const
{
return name;
}
void Pupil::setName(const QString &value)
{
name = value;
}
const QHash<QString, Relation> Pupil::getRelations() const {
auto hash = Person::getRelations();
hash.insert("parent", Relation("parent", ONE_TO_ONE));
hash.insert("groups", Relation("groups", ONE_TO_MANY, "teacher"));
return hash;
}
example/models/pupil.h
#ifndef PUPIL_H
#define PUPIL_H
#include "person.h"
#include "relation.h"
using namespace CuteEntityManager;
class Pupil : public Person
{
Q_OBJECT
// Q_PROPERTY(QSharedPointer<Person> parent READ getParent WRITE setParent NOTIFY
// parentChanged)
Q_PROPERTY(QString name READ getName WRITE setName NOTIFY nameChanged)
signals:
void parentChanged();
void nameChanged();
public:
Pupil();
virtual const QHash<QString, Relation> getRelations() const;
QSharedPointer<Person> getParent() const;
void setParent(const QSharedPointer<Person> &value);
QString getName() const;
void setName(const QString &value);
private:
QSharedPointer<Person> parent;
QString name;
};
#endif // PUPIL_H
example/models/teacher.cpp
#include "teacher.h"
Teacher::Teacher(QSharedPointer<Person> parent) : Person() {
this->parent = parent;
}
const QHash<QString, Relation> Teacher::getRelations() const {
auto hash = Person::getRelations();
hash.insert("parent", Relation("parent", ONE_TO_ONE));
hash.insert("groups", Relation("groups", ONE_TO_MANY, "teacher"));
return hash;
}
QList<QSharedPointer<Group> > Teacher::getGroups() const {
return groups;
}
void Teacher::setGroups(const QList<QSharedPointer<Group> > &value) {
groups = value;
}
QSharedPointer<Person> Teacher::getParent() const {
return parent;
}
void Teacher::setParent(const QSharedPointer<Person> &value) {
parent = value;
}
example/models/teacher.h
#ifndef TEACHER_H
#define TEACHER_H
#include "person.h"
#include "relation.h"
using namespace CuteEntityManager;
class Group;
class Teacher : public Person {
Q_OBJECT
Q_PROPERTY(QList<QSharedPointer<Group>> groups READ getGroups WRITE setGroups
NOTIFY groupsChanged)
Q_PROPERTY(QSharedPointer<Person> parent READ getParent WRITE setParent NOTIFY
parentChanged)
signals:
void groupsChanged();
void parentChanged();
public:
Teacher(QSharedPointer<Person> parent);
virtual const QHash<QString, Relation> getRelations() const;
QList<QSharedPointer<Group> > getGroups() const;
void setGroups(const QList<QSharedPointer<Group> > &value);
QSharedPointer<Person> getParent() const;
void setParent(const QSharedPointer<Person> &value);
private:
QList<QSharedPointer<Group>> groups;
QSharedPointer<Person> parent;
};
#endif // TEACHER_H
example/models/test/address.cpp
#include "address.h"
Address::Address(QString label, QString street, QString postcode, QString city) {
m_label=label;
m_street=street;
m_postcode=postcode;
m_city=city;
}
QString Address::label() const
{
return m_label;
}
void Address::setLabel(const QString &label)
{
m_label = label;
}
QString Address::street() const
{
return m_street;
}
void Address::setStreet(const QString &street)
{
m_street = street;
}
QString Address::postcode() const
{
return m_postcode;
}
void Address::setPostcode(const QString &postcode)
{
m_postcode = postcode;
}
QString Address::city() const
{
return m_city;
}
void Address::setCity(const QString &city)
{
m_city = city;
}
example/models/test/address.h
#ifndef ADDRESS_H
#define ADDRESS_H
#include <QString>
//#iclude "../../em/entitymanager/src/entity.h"
#include "entity.h"
class Address: public CuteEntityManager::Entity
{
Q_OBJECT
Q_PROPERTY(QString label READ label WRITE setLabel)
Q_PROPERTY(QString street READ street WRITE setStreet)
Q_PROPERTY(QString postcode READ postcode WRITE setPostcode)
Q_PROPERTY(QString city READ city WRITE setCity)
public:
Q_INVOKABLE Address() {}
Address(QString label, QString street, QString postcode, QString city);
QString label() const;
void setLabel(const QString &label);
QString street() const;
void setStreet(const QString &street);
QString postcode() const;
void setPostcode(const QString &postcode);
QString city() const;
void setCity(const QString &city);
protected:
// members
QString m_label;
QString m_street;
QString m_postcode;
QString m_city;
};
#endif // ADDRESS_H
example/models/test/contact.cpp
#include "contact.h"
Contact::Contact(QString label, ContactCategory category, QString content) {
m_label=label;
m_category=category;
m_content=content;
}
example/models/test/contact.h
#ifndef CONTACT_H
#define CONTACT_H
#include <QString>
#include "entity.h"
#include "enums.h"
class Contact: public CuteEntityManager::Entity
{
Q_OBJECT
Q_PROPERTY(QString content READ content WRITE setContent)
Q_PROPERTY(ContactCategory category READ category WRITE setCategory)
Q_PROPERTY(QString label READ label WRITE setLabel)
public:
Q_INVOKABLE Contact() {}
Contact(QString label, ContactCategory category, QString content);
// getters
QString content() {return m_content;}
ContactCategory category() {return m_category;}
QString label() {return m_label;}
// setters
void setContent(QString content) {m_content=content;}
void setCategory(ContactCategory category) {m_category=category;}
void setLabel(QString label) {m_label=label;}
protected:
// members
QString m_content;
ContactCategory m_category;
QString m_label;
};
#endif // CONTACT_H
example/models/test/enums.h
#ifndef ENUMS_H
#define ENUMS_H
enum ContactCategory {EMAIL_CONTACT,MOBILE_CONTACT,LANDLINE_CONTACT,MESSENGER_CONTACT,EXTRA1_CONTACT,EXTRA2_CONTACT,EXTRA3_CONTACT,EXTRA4_CONTACT,EXTRA5_CONTACT,EXTRA6_CONTACT} ;
enum Orientation {LANDSCAPE_ORIENTATION,PORTRAIT_ORIENTATION,LANDSCAPE_180_ORIENTATION,PORTRAIT_180_ORIENTATION};
enum NameOrder {FIRST_FAMILY_NAME_ORDER,FAMILY_FIRST_NAME_ORDER};
enum DataFieldPosition {TOP_LEFT_DATA=0, TOP_DATA=1, TOP_RIGHT_DATA=2, UPPER_LEFT_DATA=3, UPPER_DATA=4, UPPER_RIGHT_DATA=5, LOWER_LEFT_DATA=6, LOWER_DATA=7, LOWER_RIGHT_DATA=8, BOTTOM_LEFT_DATA=9, BOTTOM_DATA=10, BOTTOM_RIGHT_DATA=11,CENTER_DATA=12};
enum IconPosition {TOP_LEFT_ICON,TOP_RIGHT_ICON,BOTTOM_LEFT_ICON,BOTTOM_RIGHT_ICON,CENTER_ICON,TOP_ICON,BOTTOM_ICON,LEFT_ICON,RIGHT_ICON};
enum ShadowPosition {TOP_LEFT_SHADOW,TOP_RIGHT_SHADOW,BOTTOM_LEFT_SHADOW,BOTTOM_RIGHT_SHADOW,INVALID_SHADOW};
#endif // ENUMS_H
example/models/test/group.cpp
#include "group.h"
#include "enums.h"
#include "person.h"
#include "group.h"
#include "contact.h"
#include <QDebug>
Group::Group() : Entity()
{
//connect(this,SIGNAL(personsChanged()),this,SLOT(personChangedSlot()));
// m_persons.append(new Person("Vera","Geseke",Person::FEMALE,"Vera Geseke.jpg","","",QDate::currentDate()));
// m_persons.append(new Person("Harry","Hirsch",Person::MALE));
// m_persons.append(new Person("Sibylle","Mentzel",Person::FEMALE,"Sibylle Mentzel.jpg","","",QDate::currentDate()));
}
const QHash<QString, CuteEntityManager::Relation> Group::getRelations() const
{
auto hash = QHash<QString, CuteEntityManager::Relation>();
hash.insert("persons",CuteEntityManager::Relation("persons",MANY_TO_MANY,QString("")));
return hash;
}
QList<QSharedPointer<Person> > Group::persons() const
{
return m_persons;
}
void Group::setPersons(const QList<QSharedPointer<Person> > &persons)
{
m_persons = persons;
}
/*void Group::personChangedSlot()
{
}
QQmlListProperty <Person> Group::persons()
{
return QQmlListProperty<Person>(this,0, &appendPerson,&personsCount,&personAt,&personsClear);
}
void Group::appendPerson(QQmlListProperty<Person> *list, Person *p) {
Group *group = qobject_cast<Group*>(list->object);
if(group && p) {
group->addPerson(p);
emit group->personsChanged();
}
}
int Group::personsCount(QQmlListProperty<Person>*list)
{
Group *group = qobject_cast<Group*>(list->object);
if (group)
return group->m_persons.count();
return 0;
}
Person* Group::personAt(QQmlListProperty<Person> *list, int i)
{
Group *group = qobject_cast<Group*>(list->object);
if (group)
return group->m_persons.at(i);
return 0;
}
Person* Group::personAt(int i)
{
return this->m_persons.at(i);
}
void Group::personsClear(QQmlListProperty<Person> *list)
{
Group *group = qobject_cast<Group*>(list->object);
if (group) {
group->m_persons.clear();
emit group->personsChanged();
}
}
*/
example/models/test/group.h
#ifndef GROUP_H
#define GROUP_H
#include "enums.h"
#include "entity.h"
#include "person.h"
#include "contact.h"
#include <QDebug>
//#include <QQuickView>
class Teacher;
class Person;
class Relation;
using namespace CuteEntityManager;
class Group: public CuteEntityManager::Entity
{
Q_OBJECT
Q_PROPERTY(QList<QSharedPointer<Person> > persons READ persons)
public:
Q_INVOKABLE Group();
virtual const QHash<QString, CuteEntityManager::Relation> getRelations() const;
QList<QSharedPointer<Person> > persons() const;
void setPersons(const QList<QSharedPointer<Person> > &persons);
QSharedPointer<Person> personAt(int i) { return m_persons.at(i); }
void addPerson(Person *p) {m_persons.append(QSharedPointer<Person>(p));}
/*
// getters
QQmlListProperty <Person> persons();
static void appendPerson(QQmlListProperty<Person> *list, Person *p);
static int personsCount(QQmlListProperty<Person>*list);
int personsCount() { return m_persons.count(); }
static Person* personAt(QQmlListProperty<Person> *list, int i);
static void personsClear(QQmlListProperty<Person> *list);
// setters
void setPersons(QList<Person*> persons) {m_persons = persons;}
void removePerson(Person *p) {m_persons.removeOne(p);}
*/
// QList <SeatingPlan*> seatingPlans() {return m_seatingPlans;}
// QList <Teacher*> teachers() {return m_teachers;}
// QList <Person*> classPrefects() {return m_classPrefects;}
// QList <Person*> parentSpeakers() {return m_parentSpeakers;}
// void addSeatingPlan(SeatingPlan *s) {m_seatingPlans.append(s);}
// void removeSeatingPlan(SeatingPlan *s) {m_seatingPlans.removeOne(s);}
// void addTeacher(Teacher* t) {m_teachers.append(t);}
// void removeTeacher(Teacher* t) {m_teachers.removeOne(t);}
// 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);}
protected:
// members
QList<QSharedPointer<Person> > m_persons;
// QList <SeatingPlan*> m_seatingPlans;
// QList <Teacher*> m_teachers;
// QList <Person*> m_classPrefects;
// QList <Person*> m_parentSpeakers;
};
#endif // GROUP_H
example/models/test/person.cpp
#include "person.h"
Person::Person(QObject *parent): Entity(parent)
{
}
Person::Person(QString firstName,
QString familyName,
Gender gender,
QString customPictureFileName,
QString namePrefix,
QString nickName,
QDate birthday,
QObject *parent):Entity(parent)
{
setFirstName(firstName);
setFamilyName(familyName);
setNamePrefix(namePrefix);
setNickName(nickName);
setBirthday(birthday);
setGender(gender);
setCustomPictureFileName(customPictureFileName);
}
const QHash<QString, CuteEntityManager::Relation> Person::getRelations() const
{
auto hash = QHash<QString, CuteEntityManager::Relation>();
hash.insert("groups",CuteEntityManager::Relation("groups",MANY_TO_MANY,QString("persons")));
return hash;
}
QString Person::fullName(NameOrder nameOrder) const {
QString name=QString();
if (nameOrder==FAMILY_FIRST_NAME_ORDER) {
name+=this->familyName();
name+=", ";
if (!this->namePrefix().isEmpty()) {
name+=this->namePrefix();
name+=" ";
}
name+=this->firstName();
} else {
name+=this->firstName();
name+=" ";
name+=this->familyName();
if (!this->namePrefix().isEmpty()) {
name+=", ";
name+=this->namePrefix();
}
}
return name;
}
QList<QSharedPointer<Group> > Person::groups() const
{
return m_groups;
}
void Person::setGroups(const QList<QSharedPointer<Group> > &groups)
{
m_groups = groups;
}
QList<QSharedPointer<Address> > Person::addresses() const
{
return m_addresses;
}
void Person::setAddresses(const QList<QSharedPointer<Address> > &addresses)
{
m_addresses = addresses;
}
QList<QSharedPointer<Contact> > Person::contacts() const
{
return m_contacts;
}
void Person::setContacts(const QList<QSharedPointer<Contact> > &contacts)
{
m_contacts = contacts;
}
example/models/test/person.h
#ifndef PERSON_H
#define PERSON_H
#include <QDateTime>
#include <QString>
#include <QList>
#include <QObject>
#include "group.h"
#include "contact.h"
#include "address.h"
#include <QAbstractListModel>
#include <QDebug>
#include "../../entitymanager/src/entity.h"
using namespace CuteEntityManager;
class Group;
class Person: public 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(int personId READ entityId /*[1]WRITE setId [2]NOTIFY idChanged*/)
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_PROPERTY(QList<QSharedPointer<Group>> groups READ groups WRITE setGroups)
signals:
void firstNameChanged();
void familyNameChanged();
void namePrefixChanged();
void nickNameChanged();
void birthdayChanged();
void genderChanged();
void customPictureFileNameChanged();
void formChanged();
public slots:
void testSlot(){qDebug()<<"testslot clicked";}
public:
enum Gender {MALE,FEMALE,UNKNOWNGENDER};
Q_INVOKABLE explicit Person(QObject *parent = 0);
Person(QString firstName,
QString familyName,
Gender gender = Person::UNKNOWNGENDER,
QString customPictureFileName = QString(),
QString namePrefix = QString(),
QString nickName = QString(),
QDate birthday = QDate(),
QObject *parent = 0);
virtual const QHash<QString, CuteEntityManager::Relation> getRelations() const;
bool isPresent(QDateTime date=QDateTime::currentDateTime());
QString fullName(NameOrder nameOrder=FAMILY_FIRST_NAME_ORDER) const;
// 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 addGroup(Group *group) {m_groups.append(QSharedPointer<Group>(group));}
//void removeGroup(Group *group) {m_groups.removeOne(group);}
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();}
void addContact(Contact* contact) {m_contacts.append(QSharedPointer<Contact>(contact));}
//void removeContact(Contact* contact) {m_contacts.removeOne(contact);}
void addAddress(Address* address) {m_addresses.append(QSharedPointer<Address>(address));}
//void removeAddress(Address* address) {m_addresses.removeOne(address);}
QList<QSharedPointer<Group> > groups() const;
void setGroups(const QList<QSharedPointer<Group> > &groups);
QList<QSharedPointer<Address> > addresses() const;
void setAddresses(const QList<QSharedPointer<Address> > &addresses);
QList<QSharedPointer<Contact> > contacts() const;
void setContacts(const QList<QSharedPointer<Contact> > &contacts);
protected:
// members
QString m_firstName;
QString m_familyName;
QString m_namePrefix;
QString m_nickName;
QDate m_birthday;
Gender m_gender;
QString m_customPictureFileName;
QList <QSharedPointer<Contact>> m_contacts;
QList <QSharedPointer<Address>> m_addresses;
QList<QSharedPointer<Group>> m_groups;
};
#endif // PERSON_H
example/models/test/pupil.cpp
#include "pupil.h"
#include <QString>
#include "person.h"
Pupil::Pupil()
:Person()
{
}
Pupil::Pupil(
QString firstName,
QString familyName,
Gender gender,
QString customPictureFileName,
QString namePrefix,
QString nickName,
QDate birthday,
QString form,
QObject *parent)
:Person(firstName,familyName,gender,customPictureFileName,namePrefix,nickName, birthday,parent)
{
setFirstName(firstName);
setFamilyName(familyName);
setNamePrefix(namePrefix);
setNickName(nickName);
setBirthday(birthday);
setGender(gender);
setCustomPictureFileName(customPictureFileName);
setForm(form);
}
example/models/test/pupil.h
#ifndef PUPIL_H
#define PUPIL_H
#include "person.h"
class Pupil : public Person
{
public:
Pupil();
Pupil(QString firstName,
QString familyName,
Gender gender = Person::UNKNOWNGENDER,
QString customPictureFileName = QString(),
QString namePrefix = QString(),
QString nickName = QString(),
QDate birthday = QDate(),
QString form = QString(),
QObject *parent = 0);
QString form() const { return m_form; }
void setForm(QString form) { m_form = form; }
protected:
QString m_form;
};
#endif // PUPIL_H
src/entityinstancefactory.cpp
Entity *EntityInstanceFactory::createInstance(const char *className) {
QString s = QString(className);
bool contained = false;
if (!s.contains("*")) {
contained = true;
s.append("*");
}
return EntityInstanceFactory::createInstance(QMetaType::type(
s.toUtf8().constData()));
auto ptr = EntityInstanceFactory::createInstance(QMetaType::type(
s.toUtf8().constData()));
if(!ptr) {
if(contained) {
s.remove("*");
}
ptr = EntityInstanceFactory::createObject(s.toUtf8());
}
return ptr;
}
Entity *EntityInstanceFactory::createInstance(const QString &className) {
......
e = static_cast<Entity *>(newObj);
}
}
if (!e) {
qDebug() << "Entity instance could not created!";
throw - 2; //testing
}
} else {
qDebug() << metaTypeId << "EntityClass NOT registered! Please register it!";
throw - 1; //testing
}
return e;
}
src/entityinstancefactory.h
namespace CuteEntityManager {
class Entity;
class EntityInstanceFactory {
public:
public:
static Entity *createInstance(const char *className);
static Entity *createInstance(const QString &className);
static Entity *createInstance(int metaTypeId);
......
static Entity *createInstance() {
return EntityInstanceFactory::createInstance(qMetaTypeId<T>());
}
protected:
//http://www.mimec.org/node/350
template<typename T>
static void registerClass()
{
constructors().insert( T::staticMetaObject.className(), &constructorHelper<T> );
}
static Entity* createObject( const QByteArray& className)
{
Constructor constructor = constructors().value( className );
if ( constructor == NULL )
return NULL;
return (*constructor)();
}
private:
typedef Entity* (*Constructor)();
template<typename T>
static Entity* constructorHelper()
{
return new T();
}
static QHash<QByteArray, Constructor>& constructors()
{
static QHash<QByteArray, Constructor> instance;
return instance;
}
protected:
EntityInstanceFactory();
};
}
src/querybuilder.cpp
QSqlQuery QueryBuilder::insert(const QString &tableName,
QHash<QString, QVariant> &attributes, const QString &primaryKey) const {
attributes.remove(primaryKey);
//if(attributes.size() == 1) {
// attributes.insert(primaryKey,QVariant("null"));
// } else {
attributes.remove(primaryKey);
// }
QSqlQuery q = this->database.data()->getQuery();
QString p1 = "INSERT INTO " + this->schema.data()->quoteTableName(
tableName) + "(";
......
} else if (v.canConvert<QPointer<Entity>>()) {
this->insertRelationId(qvariant_cast<QPointer<Entity>>(v).data(), map, i.key());
}
++i;
}
++i;
}
return map;
}

Auch abrufbar als: Unified diff