3 #include <QStylePainter>
7 #include "documenttrack.h"
8 #include "headertrack.h"
11 TrackView::TrackView(KdenliveDoc *doc, QWidget *parent)
12 : QWidget(parent), m_doc(doc)
14 view = new Ui::TimeLine_UI();
16 m_ruler = new CustomRuler(doc->timecode());
17 QVBoxLayout *layout = new QVBoxLayout;
18 layout->addWidget(m_ruler);
19 view->ruler_frame->setLayout(layout);
21 m_tracksLayout = new QVBoxLayout;
22 m_tracksLayout->setContentsMargins (0, 0, 0, 0);
23 m_scrollArea = new QScrollArea;
25 m_tracksLayout->addWidget(m_scrollArea);
26 m_scrollArea->setHorizontalScrollBarPolicy ( Qt::ScrollBarAlwaysOn);
27 m_scrollArea->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::MinimumExpanding);
28 m_tracksAreaLayout = new QVBoxLayout;
29 m_tracksAreaLayout->setContentsMargins (0, 0, 0, 0);
30 m_tracksAreaLayout->insertStretch (1000);
31 m_scrollArea->setLayout(m_tracksAreaLayout);
32 view->tracks_frame->setLayout(m_tracksLayout);
34 m_headersLayout = new QVBoxLayout;
35 m_headersLayout->setContentsMargins (0, 0, 0, 0);
36 view->headers_frame->setLayout(m_headersLayout);
38 parseDocument(doc->toXml());
40 connect(view->horizontalSlider, SIGNAL(valueChanged ( int )), this, SLOT(slotChangeZoom( int )));
43 void TrackView::parseDocument(QDomDocument doc)
45 QDomNodeList tracks = doc.elementsByTagName("kdenlivetrack");
46 for (int i = 0; i < tracks.count(); i++)
52 void TrackView::slotChangeZoom(int factor)
54 m_ruler->setPixelPerMark(factor);
57 KdenliveDoc *TrackView::document()
62 void TrackView::slotAddTrack(int ix)
64 DocumentTrack *track = new DocumentTrack();
65 HeaderTrack *header = new HeaderTrack();
66 m_tracksAreaLayout->addWidget(track, ix, Qt::AlignTop);
67 m_headersLayout->addWidget(header, ix, Qt::AlignTop);
71 #include "trackview.moc"