gapMea  1.0-rc1-1.5.3.2
GapMea est un outil visuel écrit en c++ à l'aide de la bibliothèque QT qui sert de base entre autre à l'environnement graphique de KDE.Il permet de dessiner des schémas recueillant et structurant les informations nécessaires à un domaine de gestion. Le schéma obtenu est enregistré dans un fichier texte au format xml.
 All Classes Functions Variables
xmeawriter.cpp
1 #include "xmeawriter.h"
2 
4 {
5  mum=maman;
6 }
7 
9 {
10 
11 }
12 
13 bool XMeaWriter::writeFile(QIODevice *device)
14 {
15  setDevice(device);
16  writeStartDocument();
17  writeDTD("<!DOCTYPE xmea>");
18  writeStartElement("xmea");
19  writeAttribute("version", "1.0");
20  //creation des entites
21  writeEntites();
22  //creation des liens
23  writeLiens();
24  //fin du doc
25  writeEndDocument();
26  return true;
27 }
28 
30 {
31  writeStartElement("entity");
32  writeAttribute("name",lEntite->nomEntite);
33  writeAttribute("left",QString::number(lEntite->x()));
34  writeAttribute("top",QString::number(lEntite->y()));
35  QString type;
36  if(lEntite->association)
37  {
38  type="association";
39  }
40  else type="entite";
41  writeAttribute("type",type);
42  //les champs
43  writeStartElement("fields");
44  //boucle sur les champs
45  foreach (Property* laPropriete, lEntite->vecteurChamps) {
46  writeStartElement("property");
47  writeAttribute("fieldname",laPropriete->nom);
48  writeAttribute("fieldtype",laPropriete->sonType);
49  writeAttribute("fieldsize",laPropriete->taille);
50  writeAttribute("fieldrole",laPropriete->role);
51  //fin de la propriété
52  writeEndElement();
53  }
54  writeEndElement();
55  //fin des champs
56  //fin de l'entité
57  writeEndElement();
58 }
60 {
61  writeStartElement("entities");
62  QVector<Entite*> vectE=mum->vectTable;
63  foreach(Entite* lEntite,vectE)
64  {
65  writeEntite(lEntite);
66  }
67  writeEndElement();
68 }
70 {
71  writeStartElement("link");
72  writeAttribute("t1",leLien->t1->nomEntite);
73  writeAttribute("t2",leLien->t2->nomEntite);
74  writeAttribute("type",leLien->typeDeJointure);
75  writeAttribute("card1",leLien->cardinalite1->text());
76  writeAttribute("card2",leLien->cardinalite2->text());
77  writeAttribute("role",leLien->role->text());
78  //on termine le lien
79  writeEndElement();
80 
81 }
83 {
84  writeStartElement("links");
85  QVector<Lien*> vectL=mum->vectLiens;
86  foreach(Lien* leLien,vectL)
87  {
88  writeLien(leLien);
89  }
90  writeEndElement();
91 }
Entite * t2
t2 second object
Definition: lien.h:40
QString nomEntite
nomEntite name of entity
Definition: entite.h:58
XMeaWriter(MainWindow *maman)
XMeaWriter.
Definition: xmeawriter.cpp:3
QVector< Entite * > vectTable
vectTable all entities and relations
Definition: mainwindow.h:60
The Lien class a link is betwwen to objects it contains a line a role text cardinality ...
Definition: lien.h:17
QString sonType
sonType his type ex varchar(25) ou integer
Definition: property.h:64
Entite * t1
t1 first object
Definition: lien.h:35
void writeEntites()
writeEntites Write all entities
Definition: xmeawriter.cpp:59
void writeLien(Lien *)
writeLien Write One link
Definition: xmeawriter.cpp:69
QGraphicsSimpleTextItem * cardinalite1
cardinalite1 example:0,1 or 1,1 or 0,n
Definition: lien.h:45
QGraphicsSimpleTextItem * cardinalite2
cardinalite2 example:0,1 or 1,1 or 0,n
Definition: lien.h:50
QString role
role his role ex father our chief ...
Definition: property.h:70
QString typeDeJointure
typeDeJointure cif –1,1–CIF–0,n–> df –0,1–DF–0,n–>or leg --------—
Definition: lien.h:79
bool writeFile(QIODevice *device)
writeFile
Definition: xmeawriter.cpp:13
void writeEntite(Entite *)
writeEntite Write one entity
Definition: xmeawriter.cpp:29
QVector< Property * > vecteurChamps
vecteurChamps container for entity's fields
Definition: entite.h:74
QString taille
taille whenever field type need size
Definition: property.h:75
The Property class property is a field it can be placed into entity or relation.
Definition: field.h:13
~XMeaWriter()
destructor
Definition: xmeawriter.cpp:8
QGraphicsSimpleTextItem * role
role if there are several links between two same objects
Definition: lien.h:56
void writeLiens()
writeLiens Write all links
Definition: xmeawriter.cpp:82
QString nom
nom his name example weight
Definition: property.h:50
The Entite class Entity is an object we have to deal with.
Definition: entite.h:20
The MainWindow class main code of application.
Definition: mainwindow.h:20
QVector< Lien * > vectLiens
vectLiens all links
Definition: mainwindow.h:55