Mercurial > hg > dmlib
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);