changeset 398:8660c6005032

More work.
author Matti Hamalainen <ccr@tnsp.org>
date Fri, 19 Oct 2012 09:46:05 +0300
parents 9993873ff655
children 525f7af644c4
files dmtimelinew.c edgui.cpp edmain.cpp edtimeline.cpp edtimeline.h edview.cpp edview.h edwaveform.cpp
diffstat 8 files changed, 77 insertions(+), 27 deletions(-) [+]
line wrap: on
line diff
--- a/dmtimelinew.c	Fri Oct 19 07:22:09 2012 +0300
+++ b/dmtimelinew.c	Fri Oct 19 09:46:05 2012 +0300
@@ -218,6 +218,7 @@
         return DMERR_MALLOC;
     
     track->name = dm_strdup(name);
+    track->enabled = TRUE;
 
     if (tl->ntracks + 1 >= tl->nallocated)
     {
--- a/edgui.cpp	Fri Oct 19 07:22:09 2012 +0300
+++ b/edgui.cpp	Fri Oct 19 09:46:05 2012 +0300
@@ -491,10 +491,16 @@
     timelineView = new QTimelineView();
     connect(timelineView, SIGNAL(timelineChanged()), this, SLOT(actionTimelineChanged()));
 
+    QScrollArea *scrollArea = new QScrollArea();
+    scrollArea->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Maximum);
+    scrollArea->setWidget(timelineView);
+    scrollArea->setWidgetResizable(true);
+
+
     demoView = new SWDemoView(this);
 
     verticalSplitter->addLayout(horizSplitter);
-    verticalSplitter->addWidget(timelineView);
+    verticalSplitter->addWidget(scrollArea);
     verticalSplitter->addWidget(timelineAudioTrack);
     verticalSplitter->addWidget(timelineScrollBar);
 
--- a/edmain.cpp	Fri Oct 19 07:22:09 2012 +0300
+++ b/edmain.cpp	Fri Oct 19 09:46:05 2012 +0300
@@ -210,13 +210,14 @@
     createNewFile();
     DMTimelineTrack *tr = NULL;
     dmTimelineAddTrack(currTimeline->tl, &tr, "Penis");
+    dmTimelineAddTrack(currTimeline->tl, &tr, "Cyrbe");
+    dmTimelineAddTrack(currTimeline->tl, &tr, "Pasci");
+    dmTimelineAddTrack(currTimeline->tl, &tr, "Lol");
 
     timelineView->setTimeline(currTimeline);
 
     settingsRestore();
 
-//    view->setViewport(new QGLWidget(QGLFormat(QGL::SampleBuffers)));
-
     initEffectsAndResources();
     statusMsg("Application started.");
 }
--- a/edtimeline.cpp	Fri Oct 19 07:22:09 2012 +0300
+++ b/edtimeline.cpp	Fri Oct 19 09:46:05 2012 +0300
@@ -124,20 +124,23 @@
     QFrame *infoLayoutContainer = new QFrame(this);
     infoLayoutContainer->setFrameStyle(QFrame::StyledPanel | QFrame::Plain);
     infoLayoutContainer->setLineWidth(2);
-//    infoLayoutContainer->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Ignored);
-//    infoLayoutContainer->resize(250, 60);
+    infoLayoutContainer->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Minimum);
+    infoLayoutContainer->setFixedWidth(200);
 
     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; }");
+    infoName = new QLineEdit();
+    infoName->setFrame(false);
+    infoName->setMaxLength(DT_MAX_NAME_LENGTH);
+    infoName->setStyleSheet("QLineEdit { background-color: black; color: white; padding: 2px; }");
+    connect(infoName, SIGNAL(textEdited(const QString&)), this, SLOT(slotTrackNameChanged(const QString&)));
     infoLayout->addWidget(infoName);
 
 
     enabledCheck = new QCheckBox("Enabled");
     infoLayout->addWidget(enabledCheck);
-    connect(enabledCheck, SIGNAL(toggled(bool)), this, SLOT(slotTrackChanged(bool)));
+    connect(enabledCheck, SIGNAL(toggled(bool)), this, SLOT(slotTrackEnabledChanged(bool)));
     
     infoData = new QLabel();
     infoData->setStyleSheet("QLabel { padding: 2px; }");
@@ -146,31 +149,47 @@
     mainLayout->addWidget(infoLayoutContainer);
 //    mainLayout->addLayout(infoLayout);
     mainLayout->addWidget(track);
+}
 
+
+void QTimelineTrackView::update()
+{
+    if (track != NULL && track->track)
+    {
+        infoName->setText(QString(track->track->name));
+        enabledCheck->setChecked(track->track->enabled);
+        infoData->setText(QString("<b>%1</b> events").arg(track->track->nevents));
+    }
+    else
+    {
+        infoName->setText("");
+        infoData->setText("-");
+        enabledCheck->setChecked(false);
+    }
+
+    QWidget::update();
 }
 
 
 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::slotTrackChanged(bool value)
+void QTimelineTrackView::slotTrackEnabledChanged(bool value)
 {
     track->track->enabled = value;
-    emit trackChanged(value);
+    emit trackChanged();
+}
+
+
+void QTimelineTrackView::slotTrackNameChanged(const QString & text)
+{
+    QByteArray ba = text.toUtf8();
+    track->track->name = dm_strdup(ba.constData());
+    emit trackChanged();
 }
 
 
@@ -188,6 +207,8 @@
 
     delete layout;
     layout = new QVBoxLayout(this);
+    layout->setMargin(0);
+    
     tracks.clear();
 
     if (tl != NULL && tl->tl != NULL)
@@ -198,7 +219,7 @@
             vtr->setTrack(tl->tl->tracks[track]);
             tracks.append(vtr);
             layout->addWidget(vtr);
-            connect(vtr, SIGNAL(trackChanged(bool)), this, SLOT(slotTimelineChanged()));
+            connect(vtr, SIGNAL(trackChanged()), this, SLOT(slotTimelineChanged()));
         }
     }
     update();
@@ -214,6 +235,7 @@
     }
 }
 
+
 void QTimelineView::setTime(const int mtime)
 {
     if (tl != NULL && tl->tl != NULL)
@@ -228,7 +250,6 @@
 }
 
 
-
 void QTimelineView::setOffset(const int moffs)
 {
     if (tl != NULL && tl->tl != NULL)
--- a/edtimeline.h	Fri Oct 19 07:22:09 2012 +0300
+++ b/edtimeline.h	Fri Oct 19 09:46:05 2012 +0300
@@ -5,6 +5,7 @@
 #include <QCheckBox>
 #include <QVBoxLayout>
 #include <QLabel>
+#include <QLineEdit>
 #include "edtlobj.h"
 #include "dmengine.h"
 
@@ -50,7 +51,8 @@
     Q_OBJECT
 
 private:
-    QLabel *infoName, *infoData;
+    QLineEdit *infoName;
+    QLabel *infoData;
     QCheckBox *enabledCheck;
 
 public:
@@ -58,12 +60,14 @@
 
     QTimelineTrackView(QWidget *parent = 0);
     void setTrack(DMTimelineTrack *mtrack);
+    void update();
 
 private slots:
-    void slotTrackChanged(bool);
+    void slotTrackEnabledChanged(bool);
+    void slotTrackNameChanged(const QString & text);
 
 signals:
-    void trackChanged(bool);
+    void trackChanged();
 };
 
 
@@ -73,6 +77,7 @@
 
 private:
     QVBoxLayout *layout;
+
     TimelineObject *tl;
     QList<QTimelineTrackView *> tracks;
 
--- a/edview.cpp	Fri Oct 19 07:22:09 2012 +0300
+++ b/edview.cpp	Fri Oct 19 09:46:05 2012 +0300
@@ -21,6 +21,8 @@
 //        render_fbo = new QGLFramebufferObject(1024, 1024);
 //        texture_fbo = render_fbo;
     }
+
+    setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
 }
 
 
@@ -29,6 +31,18 @@
 }
 
 
+QSize GLDemoView::minimumSizeHint() const
+{
+    return QSize(320, 240);
+}
+
+
+QSize GLDemoView::sizeHint() const
+{
+    return QSize(640, 480);
+}
+
+
 void GLDemoView::setEngineData(DMEngineData *mengine)
 {
     engine = mengine;
--- a/edview.h	Fri Oct 19 07:22:09 2012 +0300
+++ b/edview.h	Fri Oct 19 09:46:05 2012 +0300
@@ -14,6 +14,9 @@
     GLDemoView(QWidget *parent);
     ~GLDemoView();
 
+    QSize minimumSizeHint() const;
+    QSize sizeHint() const;
+
     virtual void setEngineData(DMEngineData *mengine);
     virtual void render(int frameTime);
     void paintEvent(QPaintEvent *);
--- a/edwaveform.cpp	Fri Oct 19 07:22:09 2012 +0300
+++ b/edwaveform.cpp	Fri Oct 19 09:46:05 2012 +0300
@@ -247,8 +247,7 @@
     QFrame *infoLayoutContainer = new QFrame(this);
     infoLayoutContainer->setFrameStyle(QFrame::StyledPanel | QFrame::Plain);
     infoLayoutContainer->setLineWidth(2);
-//    infoLayoutContainer->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Ignored);
-//    infoLayoutContainer->resize(250, 60);
+    infoLayoutContainer->setFixedWidth(200);
 
     QVBoxLayout *infoLayout = new QVBoxLayout(infoLayoutContainer);
     infoLayout->setMargin(0);