comparison data/model/Model.cpp @ 1527:710e6250a401 zoom

Merge from default branch
author Chris Cannam
date Mon, 17 Sep 2018 13:51:14 +0100
parents 9d37c8cf9686
children d3814e07b8aa
comparison
equal deleted inserted replaced
1324:d4a28d1479a8 1527:710e6250a401
25 Model::~Model() 25 Model::~Model()
26 { 26 {
27 // SVDEBUG << "Model::~Model(" << this << ")" << endl; 27 // SVDEBUG << "Model::~Model(" << this << ")" << endl;
28 28
29 if (!m_aboutToDelete) { 29 if (!m_aboutToDelete) {
30 SVDEBUG << "NOTE: Model::~Model(" << this << ", \"" 30 SVDEBUG << "NOTE: Model(" << this << ", \""
31 << objectName() << "\"): Model deleted " 31 << objectName() << "\", type uri <"
32 << "with no aboutToDelete notification" << endl; 32 << m_typeUri << ">)::~Model(): Model deleted "
33 << "with no aboutToDelete notification"
34 << endl;
33 } 35 }
34 36
35 if (m_alignment) { 37 if (m_alignment) {
36 m_alignment->aboutToDelete(); 38 m_alignment->aboutToDelete();
37 delete m_alignment; 39 delete m_alignment;
38 } 40 }
41 }
42
43 int
44 Model::getNextId()
45 {
46 static int nextId = 0;
47 static QMutex mutex;
48 QMutexLocker locker(&mutex);
49 int i = nextId;
50 if (nextId == INT_MAX) {
51 nextId = INT_MIN;
52 }
53 ++nextId;
54 return i;
39 } 55 }
40 56
41 void 57 void
42 Model::setSourceModel(Model *model) 58 Model::setSourceModel(Model *model)
43 { 59 {
57 } 73 }
58 74
59 void 75 void
60 Model::aboutToDelete() 76 Model::aboutToDelete()
61 { 77 {
62 // cerr << "Model(" << this << ")::aboutToDelete()" << endl; 78 // SVDEBUG << "Model(" << this << ", \""
79 // << objectName() << "\", type uri <"
80 // << m_typeUri << ">)::aboutToDelete()" << endl;
63 81
64 if (m_aboutToDelete) { 82 if (m_aboutToDelete) {
65 cerr << "WARNING: Model(" << this << ", \"" 83 SVDEBUG << "WARNING: Model(" << this << ", \""
66 << objectName() << "\")::aboutToDelete: " 84 << objectName() << "\", type uri <"
67 << "aboutToDelete called more than once for the same model" 85 << m_typeUri << ">)::aboutToDelete: "
68 << endl; 86 << "aboutToDelete called more than once for the same model"
87 << endl;
69 } 88 }
70 89
71 emit aboutToBeDeleted(); 90 emit aboutToBeDeleted();
72 m_aboutToDelete = true; 91 m_aboutToDelete = true;
73 } 92 }
178 Model::toXml(QTextStream &stream, QString indent, 197 Model::toXml(QTextStream &stream, QString indent,
179 QString extraAttributes) const 198 QString extraAttributes) const
180 { 199 {
181 stream << indent; 200 stream << indent;
182 stream << QString("<model id=\"%1\" name=\"%2\" sampleRate=\"%3\" start=\"%4\" end=\"%5\" %6/>\n") 201 stream << QString("<model id=\"%1\" name=\"%2\" sampleRate=\"%3\" start=\"%4\" end=\"%5\" %6/>\n")
183 .arg(getObjectExportId(this)) 202 .arg(getObjectExportId(this))
184 .arg(encodeEntities(objectName())) 203 .arg(encodeEntities(objectName()))
185 .arg(getSampleRate()) 204 .arg(getSampleRate())
186 .arg(getStartFrame()) 205 .arg(getStartFrame())
187 .arg(getEndFrame()) 206 .arg(getEndFrame())
188 .arg(extraAttributes); 207 .arg(extraAttributes);
189 } 208 }
190 209
191 210