16 #ifndef _REGION_MODEL_H_ 17 #define _REGION_MODEL_H_ 41 RegionRec(
long _frame,
float _value,
int _duration, QString _label) :
55 QString extraAttributes =
"")
const 58 QString(
"%1<point frame=\"%2\" value=\"%3\" duration=\"%4\" label=\"%5\" %6/>\n")
67 list << QString(
"%1").arg(
value);
70 return list.join(delimiter);
98 bool notifyOnAdd =
true) :
106 float valueMinimum,
float valueMaximum,
107 bool notifyOnAdd =
true) :
109 valueMinimum, valueMaximum,
127 virtual void toXml(QTextStream &out,
129 QString extraAttributes =
"")
const 131 std::cerr <<
"RegionModel::toXml: extraAttributes = \"" 132 << extraAttributes.toStdString() << std::endl;
137 QString(
"%1 subtype=\"region\" valueQuantization=\"%2\"")
153 case 0:
return tr(
"Time");
154 case 1:
return tr(
"Frame");
155 case 2:
return tr(
"Value");
156 case 3:
return tr(
"Duration");
157 case 4:
return tr(
"Label");
158 default:
return tr(
"Unknown");
162 virtual QVariant
getData(
int row,
int column,
int role)
const 169 if (i ==
m_points.end())
return QVariant();
172 case 4:
return i->label;
173 default:
return QVariant();
181 (row, column, value, role);
184 if (role != Qt::EditRole)
return 0;
187 EditCommand *command =
new EditCommand(
this, tr(
"Edit Data"));
190 command->deletePoint(point);
193 case 4: point.
label = value.toString();
break;
196 command->addPoint(point);
197 return command->finish();
virtual void toXml(QTextStream &out, QString indent="", QString extraAttributes="") const
Stream this exportable object out to XML on a text stream.
virtual SortType getSortType(int column) const
void toXml(QTextStream &stream, QString indent="", QString extraAttributes="") const
static RealTime frame2RealTime(long frame, unsigned int sampleRate)
Convert a sample frame at the given sample rate into a RealTime.
virtual QString getHeading(int column) const
PointList::const_iterator PointListConstIterator
RegionModel – a concrete IntervalModel for intervals associated with a value, which we call regions f...
bool operator()(const RegionRec &p1, const RegionRec &p2) const
virtual Command * getSetDataCommand(int row, int column, const QVariant &value, int role)
virtual QVariant getData(int row, int column, int role) const
TabularModel methods.
bool m_haveDistinctValues
void setValueQuantization(float q)
virtual QVariant getData(int row, int column, int role) const
TabularModel methods.
RegionModel(int sampleRate, int resolution, float valueMinimum, float valueMaximum, bool notifyOnAdd=true)
static QString encodeEntities(QString)
bool operator()(const RegionRec &p1, const RegionRec &p2) const
virtual void addPoint(const Point &point)
Add a point.
float getValueQuantization() const
QString toDelimitedDataString(QString delimiter, int sampleRate) const
int getDimensions() const
RegionRec(long _frame, float _value, int _duration, QString _label)
virtual void addPoint(const PointType &point)
Add a point.
Model containing sparse data (points with some properties) of which the properties include a duration...
PointList::iterator PointListIterator
virtual Command * getSetDataCommand(int row, int column, const QVariant &value, int role)
virtual void toXml(QTextStream &stream, QString indent="", QString extraAttributes="") const
Stream this exportable object out to XML on a text stream.
std::string toString(bool align=false) const
Return a human-readable debug-type string to full precision (probably not a format to show to a user ...
PointListIterator getPointListIteratorForRow(int row)
QString getTypeName() const
Return the type of the model.
bool haveDistinctValues() const
float m_valueQuantization
RegionModel(int sampleRate, int resolution, bool notifyOnAdd=true)
virtual int getColumnCount() const
TabularModel methods.