]> git.sesse.net Git - kdenlive/blob - src/documenttrack.h
2084634e7a77f50b0584f64175c5cc8a6ff7500a
[kdenlive] / src / documenttrack.h
1 #ifndef DOCUMENTTRACK_H
2 #define DOCUMENTTRACK_H
3
4 #include <QDomElement>
5 #include <QList>
6 #include <QWidget>
7 #include <QMap>
8 #include <QStringList>
9
10 #include "definitions.h"
11 #include "gentime.h"
12
13
14 class TrackPanelFunction;
15 class TrackView;
16
17   
18 class DocumentTrack : public QWidget
19 {
20   Q_OBJECT
21   
22   public:
23     DocumentTrack(QDomElement xml, TrackView * view, QWidget *parent=0);
24
25     QList <TrackViewClip> clipList();
26     int duration();
27     int documentTrackIndex();
28     TrackViewClip *getClipAt(GenTime pos);
29     void addFunctionDecorator(const QString & mode, const QString & function);
30     QStringList applicableFunctions(const QString & mode);
31
32   protected:
33     virtual void paintEvent(QPaintEvent * /*e*/);
34
35   private:
36     QDomElement m_xml;
37     QList <TrackViewClip> m_clipList;
38     void parseXml();
39     int m_trackDuration;
40       /** A map of lists of track panel functions. */
41     QMap < QString, QStringList > m_trackPanelFunctions;
42
43
44   public slots:
45
46 };
47
48 #endif