comparison data/model/TextModel.h @ 1599:ce185d4dd408 bqaudiostream

Merge from default branch
author Chris Cannam
date Wed, 23 Jan 2019 14:43:43 +0000
parents ad5f892c0c4d
children 353a2d15f213
comparison
equal deleted inserted replaced
1598:d2555df635ec 1599:ce185d4dd408
11 published by the Free Software Foundation; either version 2 of the 11 published by the Free Software Foundation; either version 2 of the
12 License, or (at your option) any later version. See the file 12 License, or (at your option) any later version. See the file
13 COPYING included with this distribution for more information. 13 COPYING included with this distribution for more information.
14 */ 14 */
15 15
16 #ifndef _TEXT_MODEL_H_ 16 #ifndef SV_TEXT_MODEL_H
17 #define _TEXT_MODEL_H_ 17 #define SV_TEXT_MODEL_H
18 18
19 #include "SparseModel.h" 19 #include "SparseModel.h"
20 #include "base/XmlExportable.h" 20 #include "base/XmlExportable.h"
21 #include "base/RealTime.h" 21 #include "base/RealTime.h"
22 22
42 QString label; 42 QString label;
43 43
44 QString getLabel() const { return label; } 44 QString getLabel() const { return label; }
45 45
46 void toXml(QTextStream &stream, QString indent = "", 46 void toXml(QTextStream &stream, QString indent = "",
47 QString extraAttributes = "") const 47 QString extraAttributes = "") const override
48 { 48 {
49 stream << QString("%1<point frame=\"%2\" height=\"%3\" label=\"%4\" %5/>\n") 49 stream << QString("%1<point frame=\"%2\" height=\"%3\" label=\"%4\" %5/>\n")
50 .arg(indent).arg(frame).arg(height) 50 .arg(indent).arg(frame).arg(height)
51 .arg(encodeEntities(label)).arg(extraAttributes); 51 .arg(encodeEntities(label)).arg(extraAttributes);
52 } 52 }
87 public: 87 public:
88 TextModel(sv_samplerate_t sampleRate, int resolution, bool notifyOnAdd = true) : 88 TextModel(sv_samplerate_t sampleRate, int resolution, bool notifyOnAdd = true) :
89 SparseModel<TextPoint>(sampleRate, resolution, notifyOnAdd) 89 SparseModel<TextPoint>(sampleRate, resolution, notifyOnAdd)
90 { } 90 { }
91 91
92 virtual void toXml(QTextStream &out, 92 void toXml(QTextStream &out,
93 QString indent = "", 93 QString indent = "",
94 QString extraAttributes = "") const 94 QString extraAttributes = "") const override
95 { 95 {
96 SparseModel<TextPoint>::toXml 96 SparseModel<TextPoint>::toXml
97 (out, 97 (out,
98 indent, 98 indent,
99 QString("%1 subtype=\"text\"") 99 QString("%1 subtype=\"text\"")
100 .arg(extraAttributes)); 100 .arg(extraAttributes));
101 } 101 }
102 102
103 QString getTypeName() const { return tr("Text"); } 103 QString getTypeName() const override { return tr("Text"); }
104 104
105 /** 105 /**
106 * TabularModel methods. 106 * TabularModel methods.
107 */ 107 */
108 108
109 virtual int getColumnCount() const 109 int getColumnCount() const override
110 { 110 {
111 return 4; 111 return 4;
112 } 112 }
113 113
114 virtual QString getHeading(int column) const 114 QString getHeading(int column) const override
115 { 115 {
116 switch (column) { 116 switch (column) {
117 case 0: return tr("Time"); 117 case 0: return tr("Time");
118 case 1: return tr("Frame"); 118 case 1: return tr("Frame");
119 case 2: return tr("Height"); 119 case 2: return tr("Height");
120 case 3: return tr("Label"); 120 case 3: return tr("Label");
121 default: return tr("Unknown"); 121 default: return tr("Unknown");
122 } 122 }
123 } 123 }
124 124
125 virtual QVariant getData(int row, int column, int role) const 125 QVariant getData(int row, int column, int role) const override
126 { 126 {
127 if (column < 2) { 127 if (column < 2) {
128 return SparseModel<TextPoint>::getData 128 return SparseModel<TextPoint>::getData
129 (row, column, role); 129 (row, column, role);
130 } 130 }
137 case 3: return i->label; 137 case 3: return i->label;
138 default: return QVariant(); 138 default: return QVariant();
139 } 139 }
140 } 140 }
141 141
142 virtual Command *getSetDataCommand(int row, int column, const QVariant &value, int role) 142 Command *getSetDataCommand(int row, int column, const QVariant &value, int role) override
143 { 143 {
144 if (column < 2) { 144 if (column < 2) {
145 return SparseModel<TextPoint>::getSetDataCommand 145 return SparseModel<TextPoint>::getSetDataCommand
146 (row, column, value, role); 146 (row, column, value, role);
147 } 147 }
161 161
162 command->addPoint(point); 162 command->addPoint(point);
163 return command->finish(); 163 return command->finish();
164 } 164 }
165 165
166 virtual bool isColumnTimeValue(int column) const 166 bool isColumnTimeValue(int column) const override
167 { 167 {
168 return (column < 2); 168 return (column < 2);
169 } 169 }
170 170
171 virtual SortType getSortType(int column) const 171 SortType getSortType(int column) const override
172 { 172 {
173 if (column == 3) return SortAlphabetical; 173 if (column == 3) return SortAlphabetical;
174 return SortNumeric; 174 return SortNumeric;
175 } 175 }
176 176