16 #ifndef _SPARSE_ONE_DIMENSIONAL_MODEL_H_ 17 #define _SPARSE_ONE_DIMENSIONAL_MODEL_H_ 24 #include <QStringList> 41 QString extraAttributes =
"")
const 43 stream << QString(
"%1<point frame=\"%2\" label=\"%3\" %4/>\n")
45 .arg(extraAttributes);
53 return list.join(delimiter);
80 bool notifyOnAdd =
true) :
91 virtual bool canPlay()
const {
return true; }
103 for (PointList::const_iterator j =
m_points.begin();
105 if (!comparator(*j, point) && !comparator(point, *j))
return i;
124 case 0:
return tr(
"Time");
125 case 1:
return tr(
"Frame");
126 case 2:
return tr(
"Label");
127 default:
return tr(
"Unknown");
131 virtual QVariant
getData(
int row,
int column,
int role)
const 139 if (i ==
m_points.end())
return QVariant();
142 case 2:
return i->label;
143 default:
return QVariant();
151 (row, column, value, role);
154 if (role != Qt::EditRole)
return 0;
157 EditCommand *command =
new EditCommand(
this, tr(
"Edit Data"));
160 command->deletePoint(point);
163 case 2: point.
label = value.toString();
break;
166 command->addPoint(point);
167 return command->finish();
195 for (PointList::iterator pli =
196 points.begin(); pli != points.end(); ++pli) {
std::multiset< OneDimensionalPoint, typename OneDimensionalPoint ::OrderComparator > PointList
static PlayParameterRepository * getInstance()
static RealTime frame2RealTime(long frame, unsigned int sampleRate)
Convert a sample frame at the given sample rate into a RealTime.
PointList::const_iterator PointListConstIterator
virtual int getSampleRate() const
virtual bool canPlay() const
QString getTypeName() const
Return the type of the model.
void removePlayable(const Playable *playable)
virtual int getColumnCount() const
TabularModel methods.
virtual QString getDefaultPlayClipId() const
bool operator()(const OneDimensionalPoint &p1, const OneDimensionalPoint &p2) const
virtual Command * getSetDataCommand(int row, int column, const QVariant &value, int role)
virtual QVariant getData(int row, int column, int role) const
static QString encodeEntities(QString)
virtual SortType getSortType(int column) const
virtual Command * getSetDataCommand(int row, int column, const QVariant &value, int role)
virtual int getStartFrame() const
bool operator()(const OneDimensionalPoint &p1, const OneDimensionalPoint &p2) const
virtual const PointList & getPoints() const
Get all points.
NoteList getNotes() const
NoteExportable methods.
int getDimensions() const
virtual ~SparseOneDimensionalModel()
QString toDelimitedDataString(QString delimiter, int sampleRate) const
OneDimensionalPoint(int _frame, QString _label)
NoteList getNotesWithin(int startFrame, int endFrame) const
virtual QString getHeading(int column) const
SparseOneDimensionalModel(int sampleRate, int resolution, bool notifyOnAdd=true)
virtual int getEndFrame() const
std::vector< NoteData > NoteList
OneDimensionalPoint(int _frame)
int getIndexOf(const Point &point)
void toXml(QTextStream &stream, QString indent="", QString extraAttributes="") const
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 ...
void addPlayable(const Playable *playable)
PointListIterator getPointListIteratorForRow(int row)
Model containing sparse data (points with some properties).
virtual QVariant getData(int row, int column, int role) const
virtual bool isColumnTimeValue(int column) const