summaryrefslogtreecommitdiff
path: root/src/renderdialog.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/renderdialog.cc')
-rw-r--r--src/renderdialog.cc98
1 files changed, 98 insertions, 0 deletions
diff --git a/src/renderdialog.cc b/src/renderdialog.cc
new file mode 100644
index 0000000..9dc1c05
--- /dev/null
+++ b/src/renderdialog.cc
@@ -0,0 +1,98 @@
+/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/***************************************************************************
+ * renderdialog.cc
+ *
+ * Thu Sep 20 17:32:11 CEST 2018
+ * Copyright 2018 Bent Bisballe Nyeng
+ * deva@aasimon.org
+ ****************************************************************************/
+
+/*
+ * This file is part of DrumGizmo.
+ *
+ * DrumGizmo is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * DrumGizmo is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with DrumGizmo; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+ */
+#include "renderdialog.h"
+
+#include <QPushButton>
+#include <QVBoxLayout>
+
+RenderDialog::RenderDialog(QWidget* parent, Project& project)
+ : QDialog(parent)
+ , project(project)
+ , renderer(project)
+{
+ setLayout(new QVBoxLayout());
+
+ auto btn = new QPushButton(this);
+ btn->setText("Click me");
+ connect(btn, SIGNAL(clicked()), this, SLOT(render()));
+ //connect(btn, SIGNAL(clicked()), this, SLOT(close()));
+ layout()->addWidget(btn);
+
+ bar1 = new QProgressBar(this);
+ connect(&renderer, SIGNAL(progressStart(int)),
+ bar1, SLOT(setMaximum(int)));
+ layout()->addWidget(bar1);
+
+ bar2 = new QProgressBar(this);
+ connect(&renderer, SIGNAL(progressRenderStart(int)),
+ bar2, SLOT(setMaximum(int)));
+ connect(&renderer, SIGNAL(progressRenderTask(int)),
+ bar2, SLOT(setValue(int)));
+ layout()->addWidget(bar2);
+
+ tasks = new QListWidget(this);
+// connect(&renderer, SIGNAL(progressTask(QString)),
+// tasks, SLOT(addItem(QString)));
+ layout()->addWidget(tasks);
+
+ connect(&renderer, SIGNAL(progressTask(QString)),
+ this, SLOT(progressTask(QString)));
+ connect(&renderer, SIGNAL(progressRenderFinished(int)),
+ this, SLOT(progressRenderFinished(int)));
+}
+
+void RenderDialog::render()
+{
+ bar1->setValue(1);
+ renderer.render();
+}
+
+void RenderDialog::progressStart(int total)
+{
+}
+
+void RenderDialog::progressTask(QString text)
+{
+ tasks->addItem(text);
+}
+
+void RenderDialog::progressRenderStart(int tasktotal)
+{
+}
+
+void RenderDialog::progressRenderTask(int subtask)
+{
+}
+
+void RenderDialog::progressRenderFinished(int success)
+{
+ bar1->setValue(bar1->value() + 1);
+}
+
+void RenderDialog::progressFinished(int success)
+{
+}