From 0e89cc84178e713df889f65e87c71333fc4d7aac Mon Sep 17 00:00:00 2001 From: MPIBR-kretschmerf Date: Tue, 18 Oct 2016 11:25:09 +0200 Subject: [PATCH] Added About dialog --- AboutDialog.cpp | 18 +++ AboutDialog.h | 23 ++++ AboutDialog.ui | 246 +++++++++++++++++++++++++++++++++++++++++ AudioGameGUI.pro | 121 ++++++++++---------- Mainwindow.cpp | 7 ++ Mainwindow.h | 3 +- application.qrc | 9 ++ logo_scic.png | Bin 0 -> 13626 bytes mainwindow.ui | 117 +++++++++++++------- mpi-brain-research.png | Bin 0 -> 24641 bytes 10 files changed, 442 insertions(+), 102 deletions(-) create mode 100644 AboutDialog.cpp create mode 100644 AboutDialog.h create mode 100644 AboutDialog.ui create mode 100644 application.qrc create mode 100644 logo_scic.png create mode 100644 mpi-brain-research.png diff --git a/AboutDialog.cpp b/AboutDialog.cpp new file mode 100644 index 0000000..a4042e8 --- /dev/null +++ b/AboutDialog.cpp @@ -0,0 +1,18 @@ +#include "AboutDialog.h" +#include "ui_AboutDialog.h" +#include +AboutDialog::AboutDialog(QWidget *parent) : + QDialog(parent), + ui(new Ui::AboutDialog) +{ + ui->setupUi(this); + ui->label_title->setText("AudioGame " + QString(APP_VERSION)); + ui->label_mpiLogo->setPixmap(QPixmap(":/logos/mpi-brain-research.png")); + ui->label_scicLogo->setPixmap(QPixmap(":/logos/logo_scic.png")); + ui->label_audioGameLogo->setPixmap(QPixmap(":/logos/AudioGame.png")); +} + +AboutDialog::~AboutDialog() +{ + delete ui; +} diff --git a/AboutDialog.h b/AboutDialog.h new file mode 100644 index 0000000..5d2516f --- /dev/null +++ b/AboutDialog.h @@ -0,0 +1,23 @@ +/*Simple dialog displaying author and institution*/ +#ifndef ABOUTDIALOG_H +#define ABOUTDIALOG_H + +#include + +namespace Ui { +class AboutDialog; +} + +class AboutDialog : public QDialog +{ + Q_OBJECT + +public: + explicit AboutDialog(QWidget *parent = 0); + ~AboutDialog(); + +private: + Ui::AboutDialog *ui; +}; + +#endif // ABOUTDIALOG_H diff --git a/AboutDialog.ui b/AboutDialog.ui new file mode 100644 index 0000000..115e72b --- /dev/null +++ b/AboutDialog.ui @@ -0,0 +1,246 @@ + + + AboutDialog + + + + 0 + 0 + 639 + 270 + + + + About + + + + + + 0 + + + + + + + + + + + + + 24 + 75 + true + + + + Qt::LeftToRight + + + AudioGame + + + Qt::AutoText + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + Qt::Horizontal + + + + + + + + + + + (c)2016 <a href="mailto:david.unzue@brain.mpg.de">David Unzue</a>, +<a href="mailto:georgi.tushev@brain.mpg.de">Georgi Tushev</a>, +<a href="mailto:friedrich.kretschmer@brain.mpg.de">Friedrich Kretschmer</a> + + + true + + + + + + + <a href="http://brain.mpg.de/services/scientific-services/scientific-computing.html">Scientific computing facility </a> + + + true + + + + + + + <a href ="http://brain.mpg.de/home.html">Max Planck Institute for Brain Research</a> + + + true + + + + + + + Max-von-Laue-Str. 4 + + + + + + + 60438 Frankfurt am Main, Germany + + + + + + + + + + + 0 + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + + + + + + + + 10 + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + Qt::Horizontal + + + QDialogButtonBox::Ok + + + + + + + + + + + + + buttonBox + rejected() + AboutDialog + reject() + + + 316 + 260 + + + 286 + 274 + + + + + buttonBox + accepted() + AboutDialog + accept() + + + 248 + 254 + + + 157 + 274 + + + + + diff --git a/AudioGameGUI.pro b/AudioGameGUI.pro index 8a1e6bd..d248c12 100644 --- a/AudioGameGUI.pro +++ b/AudioGameGUI.pro @@ -1,59 +1,62 @@ -#------------------------------------------------- -# -# Project created by QtCreator 2016-07-26T13:26:15 -# -#------------------------------------------------- - -QT += core gui - -greaterThan(QT_MAJOR_VERSION, 4): QT += widgets -CONFIG += c++11 - -win32 { - RC_FILE = app.rc - QT += axcontainer - TYPELIBS = $$system(dumpcpp -getfile {D323A622-1D13-11D4-8858-444553540000}) - - isEmpty(TYPELIBS) { - message("TDT library not found!") - } else { - TYPELIBS = $$system(dumpcpp {D323A622-1D13-11D4-8858-444553540000}) - HEADERS += rpcoxlib.h - SOURCES += rpcoxlib.cpp - } -} - -TARGET = AudioGameGUI -TEMPLATE = app - -SOURCES += main.cpp\ - NIDAQmxInterface.cpp \ - StateMachineController.cpp \ - Mainwindow.cpp \ - TimerDialog.cpp \ - TDTInterface.cpp \ - trialseq.cpp \ - LogFileWriter.cpp - - -HEADERS += \ - NIDAQmxInterface.h \ - StateMachineController.h \ - TimerDialog.h \ - Mainwindow.h \ - SettingStructures.h \ - TDTInterface.h \ - trialseq.h \ - LogFileWriter.h - -#LIBS += -L"C:\\TDT\\lib64" \ -# -lRPco - -FORMS += mainwindow.ui \ - timerdialog.ui - -DISTFILES += - - -LIBS += -L"C:\\Program Files (x86)\\National Instruments\\Shared\\ExternalCompilerSupport\\C\\lib64\\msvc" \ - -lNIDAQmx +#------------------------------------------------- +# +# Project created by QtCreator 2016-07-26T13:26:15 +# +#------------------------------------------------- + +# NOTE: COMPILES UNDER WINDOWS ONLY BECAUSE OF THE +# ACTIVE-X COM OBJECT TDT REQUIRES!! :-( + +QT += core gui + +greaterThan(QT_MAJOR_VERSION, 4): QT += widgets +CONFIG += c++11 +DEFINES += APP_VERSION=\\\"0.1\\\" +RESOURCES = application.qrc +RC_FILE = app.rc +QT += axcontainer +TYPELIBS = $$system(dumpcpp -getfile {D323A622-1D13-11D4-8858-444553540000}) + +isEmpty(TYPELIBS) { + message("TDT library not found!") +} else { + TYPELIBS = $$system(dumpcpp {D323A622-1D13-11D4-8858-444553540000}) + HEADERS += rpcoxlib.h + SOURCES += rpcoxlib.cpp +} + + +TARGET = AudioGameGUI +TEMPLATE = app + +SOURCES += main.cpp\ + NIDAQmxInterface.cpp \ + StateMachineController.cpp \ + Mainwindow.cpp \ + TimerDialog.cpp \ + TDTInterface.cpp \ + trialseq.cpp \ + LogFileWriter.cpp \ + AboutDialog.cpp + + +HEADERS += \ + NIDAQmxInterface.h \ + StateMachineController.h \ + TimerDialog.h \ + Mainwindow.h \ + SettingStructures.h \ + TDTInterface.h \ + trialseq.h \ + LogFileWriter.h \ + AboutDialog.h + +FORMS += mainwindow.ui \ + timerdialog.ui \ + AboutDialog.ui + +DISTFILES += + + +LIBS += -L"C:\\Program Files (x86)\\National Instruments\\Shared\\ExternalCompilerSupport\\C\\lib64\\msvc" \ + -lNIDAQmx diff --git a/Mainwindow.cpp b/Mainwindow.cpp index 531227b..659a3d8 100644 --- a/Mainwindow.cpp +++ b/Mainwindow.cpp @@ -239,3 +239,10 @@ void MainWindow::updateIti() } } } + +void MainWindow::on_pushButton_about_clicked() +{ + AboutDialog* aboutDialog = new AboutDialog(this); + aboutDialog->setAttribute(Qt::WA_DeleteOnClose); + aboutDialog->show(); +} diff --git a/Mainwindow.h b/Mainwindow.h index b0f55c5..395dc8a 100644 --- a/Mainwindow.h +++ b/Mainwindow.h @@ -11,6 +11,7 @@ #include "StateMachineController.h" #include "SettingStructures.h" #include "trialseq.h" +#include "AboutDialog.h" namespace Ui { class MainWindow; @@ -40,7 +41,7 @@ private slots: void onStateMachineTerminated(); void onStatusMessage(QString statusMessage); - + void on_pushButton_about_clicked(); private: Ui::MainWindow *ui; diff --git a/application.qrc b/application.qrc new file mode 100644 index 0000000..d26186d --- /dev/null +++ b/application.qrc @@ -0,0 +1,9 @@ + + + mpi-brain-research.png + logo_scic.png + AudioGame.ico + AudioGame.png + AudioGame.svg + + diff --git a/logo_scic.png b/logo_scic.png new file mode 100644 index 0000000000000000000000000000000000000000..3b0282ec1b1db17a3d5f8b030994854b0c662471 GIT binary patch literal 13626 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 literal 0 HcmV?d00001 diff --git a/mainwindow.ui b/mainwindow.ui index ff86386..0a79594 100644 --- a/mainwindow.ui +++ b/mainwindow.ui @@ -7,7 +7,7 @@ 0 0 472 - 614 + 643 @@ -16,46 +16,6 @@ - - - 10 - - - - - Run - - - false - - - false - - - false - - - - - - - Pause - - - true - - - - - - - Stop - - - - - - File Export Settings @@ -125,7 +85,7 @@ - + Experiment Settings @@ -394,6 +354,79 @@ + + + + 10 + + + + + Run + + + false + + + false + + + false + + + + + + + Pause + + + true + + + + + + + Stop + + + + + + + + + 0 + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + 25 + 25 + + + + ? + + + + + diff --git a/mpi-brain-research.png b/mpi-brain-research.png new file mode 100644 index 0000000000000000000000000000000000000000..dc3e9c0cba081486dbbc5f103c0d50496a95c98b GIT binary patch literal 24641 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

p5XjEvcQ}qVwP+Wos9pdl{M7Bh%?{tAm81 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