-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathnote.cpp
72 lines (51 loc) · 1.36 KB
/
note.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#include <QString>
#include "note.h"
#include <iostream>
using namespace std;
Note::~Note(){
for (int i=0; i < nbVersion; i++) delete versions[i];
delete[] versions;
}
Version *Note::getVersion(const unsigned int p){
if(p>nbVersion)
throw Exception("error, nonexistent version");
else
return versions[p];
}
// à REVOIR si title unique pour Version.
// Si oui : laisser comme ça
// Sinon changer
void Note::ajouterVersion(Version * v){
// capacité max ?
if (nbVersion==nbMaxVersion){
Version** newTab_Version= new Version*[nbMaxVersion+5];
for(unsigned int i=0; i<nbMaxVersion; i++) newTab_Version[i]=versions[i];
Version** oldTab_version=versions;
versions=newTab_Version;
nbMaxVersion+=5;
if (oldTab_version) delete[] oldTab_version;
}
//ajout de la note
versions[nbVersion++]=v;
}
void Note::restaurerVersion(const unsigned int p)
{
Version *v=getVersion(p);
this->ajouterVersion(v);
}
string enum_etat_to_string(Type_etat_note t){
if (t==active)
return "active";
if (t==archive)
return "archive";
if (t==sursis)
return "sursis";
}
Type_etat_note string_to_enum_etat(const string &s){
if(s=="active")
return active;
if(s=="archive")
return archive;
if(s=="sursis")
return sursis;
}