Mercurial > hg > dmlib
diff edtimeline.cpp @ 393:5137db55f00b
More work towards the editor ..
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Fri, 19 Oct 2012 05:50:11 +0300 |
parents | 69ca8a83c25a |
children | 9993873ff655 |
line wrap: on
line diff
--- a/edtimeline.cpp Fri Oct 19 05:26:34 2012 +0300 +++ b/edtimeline.cpp Fri Oct 19 05:50:11 2012 +0300 @@ -2,7 +2,7 @@ #include "edtimeline.h" -TimelineTrackView::TimelineTrackView(QWidget *parent) : QWidget(parent) +QTimelineTrackDisplay::QTimelineTrackDisplay(QWidget *parent) : QWidget(parent) { track = NULL; time = offs = 0; @@ -12,46 +12,40 @@ } -QSize TimelineTrackView::minimumSizeHint() const +QSize QTimelineTrackDisplay::minimumSizeHint() const { return QSize(100, 60); } -QSize TimelineTrackView::sizeHint() const +QSize QTimelineTrackDisplay::sizeHint() const { return QSize(600, 60); } -void TimelineTrackView::setTrack(DMTimelineTrack *mtrack) +void QTimelineTrackDisplay::setTrack(DMTimelineTrack *mtrack) { track = mtrack; update(); } -DMTimelineTrack * TimelineTrackView::getTrack() -{ - return track; -} - - -void TimelineTrackView::setTime(const int mtime) +void QTimelineTrackDisplay::setTime(const int mtime) { time = mtime; update(); } -void TimelineTrackView::setOffset(const int moffs) +void QTimelineTrackDisplay::setOffset(const int moffs) { offs = moffs; update(); } -void TimelineTrackView::setScale(const float mscale) +void QTimelineTrackDisplay::setScale(const float mscale) { if (mscale > 0.05) scale = mscale; @@ -59,8 +53,11 @@ } -void TimelineTrackView::paintEvent(QPaintEvent *) +void QTimelineTrackDisplay::paintEvent(QPaintEvent *) { + if (track == NULL) + return; + QColor eventColor(150, 150, 150); QColor markerColor(255,255,255); @@ -85,7 +82,7 @@ } -void TimelineTrackView::mousePressEvent(QMouseEvent *ev) +void QTimelineTrackDisplay::mousePressEvent(QMouseEvent *ev) { /* if (ev->button() == Qt::LeftButton) @@ -97,7 +94,7 @@ } -void TimelineTrackView::mouseMoveEvent(QMouseEvent *ev) +void QTimelineTrackDisplay::mouseMoveEvent(QMouseEvent *ev) { /* if ((ev->buttons() & Qt::LeftButton) && scribbling) @@ -106,7 +103,7 @@ } -void TimelineTrackView::mouseReleaseEvent(QMouseEvent *ev) +void QTimelineTrackDisplay::mouseReleaseEvent(QMouseEvent *ev) { /* if (ev->button() == Qt::LeftButton && scribbling) @@ -116,3 +113,80 @@ } */ } + + +QTimelineTrackView::QTimelineTrackView(QWidget *parent) : QWidget(parent) +{ + QHBoxLayout *mainLayout = new QHBoxLayout(this); + mainLayout->setMargin(0); + track = new QTimelineTrackDisplay(this); + + QFrame *infoLayoutContainer = new QFrame(this); + infoLayoutContainer->setFrameStyle(QFrame::StyledPanel | QFrame::Plain); + infoLayoutContainer->setLineWidth(2); +// infoLayoutContainer->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Ignored); +// infoLayoutContainer->resize(250, 60); + + QVBoxLayout *infoLayout = new QVBoxLayout(infoLayoutContainer); + infoLayout->setMargin(0); +// QVBoxLayout *infoLayout = new QVBoxLayout(); + infoName = new QLabel("-"); + infoName->setStyleSheet("QLabel { background-color: black; color: white; padding: 2px; }"); + infoLayout->addWidget(infoName); + + + enabledCheck = new QCheckBox("Enabled"); + infoLayout->addWidget(enabledCheck); + connect(enabledCheck, SIGNAL(toggled(bool)), this, SLOT(slotEnabledChanged(bool))); + + infoData = new QLabel(); + infoData->setStyleSheet("QLabel { padding: 2px; }"); + infoLayout->addWidget(infoData); + + mainLayout->addWidget(infoLayoutContainer); +// mainLayout->addLayout(infoLayout); + mainLayout->addWidget(track); + +} + + +void QTimelineTrackView::setTrack(DMTimelineTrack *mtrack) +{ + if (mtrack != NULL) + { + infoName->setText(QString(mtrack->name)); + infoData->setText("-"); +// infoData->setText(QString("<b>%1</b>, <b>%2</b> ch, <b>%3</b> Hz").arg(fmt).arg(mchannels).arg(mfreq)); + } + else + { + infoData->setText("-"); + } + track->setTrack(mtrack); + update(); +} + + +void QTimelineTrackView::setTime(const int mtime) +{ + track->setTime(mtime); +} + + +void QTimelineTrackView::setOffset(const int moffs) +{ + track->setOffset(moffs); +} + + +void QTimelineTrackView::setScale(const float mscale) +{ + track->setScale(mscale); +} + + +void QTimelineTrackView::slotEnabledChanged(bool value) +{ + track->track->enabled = value; +// emit enabledChanged(value); +}