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);
+}