Added setting window as QMainWidow class

master
Yohann Dedy 2016-07-17 12:48:12 +02:00
parent 1038ee2a0a
commit 4bbee5293f
6 changed files with 84 additions and 3 deletions

View File

@ -8,9 +8,11 @@ TEMPLATE = app
SOURCES += \ SOURCES += \
src/main.cpp \ src/main.cpp \
src/mainwindow.cpp src/mainwindow.cpp \
src/settingswindow.cpp
include($$PWD/libs/QMidi/QMidi.pri) include($$PWD/libs/QMidi/QMidi.pri)
HEADERS += \ HEADERS += \
src/mainwindow.h src/mainwindow.h \
src/settingswindow.h

View File

@ -6,5 +6,7 @@ int main(int argc, char *argv[]){
mainWindow w; mainWindow w;
w.show(); w.show();
return app.exec(); return app.exec();
} }

View File

@ -6,6 +6,7 @@
mainWindow::mainWindow(QWidget *parent) : mainWindow::mainWindow(QWidget *parent) :
QMainWindow(parent), QMainWindow(parent),
_settingsWindow(new settingsWindow(this)),
_presetsTable(new QTableWidget), _presetsTable(new QTableWidget),
_presetSettingsTable(new QTableWidget), _presetSettingsTable(new QTableWidget),
_menuBar(new QMenuBar), _menuBar(new QMenuBar),
@ -16,7 +17,6 @@ mainWindow::mainWindow(QWidget *parent) :
//_midiIn->openPort(NULL); //_midiIn->openPort(NULL);
//_midiOut->openPort(NULL); //_midiOut->openPort(NULL);
// Layout // Layout
QWidget *mainWidget = new QWidget(this); QWidget *mainWidget = new QWidget(this);
@ -104,4 +104,7 @@ void mainWindow::onMidiMessageReceive(QMidiMessage *message)
void mainWindow::openSettingsWindow(){ void mainWindow::openSettingsWindow(){
qDebug() << "Open settings window here" ; qDebug() << "Open settings window here" ;
_settingsWindow->setWindowModality(Qt::ApplicationModal);
_settingsWindow->show();
} }

View File

@ -8,6 +8,7 @@
#include <vector> #include <vector>
#include <bitset> #include <bitset>
#include "settingswindow.h"
#include "qmidimessage.h" #include "qmidimessage.h"
#include "qmidiin.h" #include "qmidiin.h"
#include "qmidiout.h" #include "qmidiout.h"
@ -29,6 +30,8 @@ class mainWindow : public QMainWindow
Q_OBJECT Q_OBJECT
public: public:
mainWindow(QWidget *parent = 0); mainWindow(QWidget *parent = 0);
settingsWindow* _settingsWindow;
QTableWidget* _presetsTable; QTableWidget* _presetsTable;
QTableWidget* _presetSettingsTable; QTableWidget* _presetSettingsTable;
QMenuBar* _menuBar; QMenuBar* _menuBar;

40
src/settingswindow.cpp Normal file
View File

@ -0,0 +1,40 @@
#include "settingswindow.h"
#include <QPushButton>
#include <QVBoxLayout>
#include <QDebug>
#include <QLabel>
settingsWindow::settingsWindow(QWidget *parent) :
QMainWindow(parent),
_midiIn(new QMidiIn),
_midiOut(new QMidiOut),
_midiMessage(new QMidiMessage),
_inPortComboBox(new QComboBox(this)),
_outPortComboBox(new QComboBox(this))
{
this->setWindowTitle("Configuration");
QWidget *mainWidget = new QWidget(this);
QVBoxLayout *mainLayout = new QVBoxLayout(mainWidget);
qDebug()<<"inputs"<<_midiIn->getPorts();
qDebug()<<"outputs"<<_midiOut->getPorts();
_inPortComboBox->addItems(_midiIn->getPorts());
_outPortComboBox->addItems(_midiOut->getPorts());
QPushButton *bouton = new QPushButton();
bouton->setText("OK");
mainLayout->addWidget(new QLabel("Midi IN"));
mainLayout->addWidget(_inPortComboBox);
mainLayout->addWidget(new QLabel("Midi OUT"));
mainLayout->addWidget(_outPortComboBox);
mainLayout->addWidget(bouton);
mainWidget->setLayout(mainLayout);
setCentralWidget(mainWidget);
}

31
src/settingswindow.h Normal file
View File

@ -0,0 +1,31 @@
#ifndef SETTINGSWINDOW_H
#define SETTINGSWINDOW_H
#include <QWidget>
#include <QMainWindow>
#include <QComboBox>
#include "qmidimessage.h"
#include "qmidiin.h"
#include "qmidiout.h"
class settingsWindow : public QMainWindow
{
Q_OBJECT
public:
explicit settingsWindow(QWidget *parent = 0);
QMidiMessage* _midiMessage;
QComboBox *_inPortComboBox;
QComboBox *_outPortComboBox;
private:
QMidiIn *_midiIn;
QMidiOut *_midiOut;
signals:
public slots:
};
#endif // SETTINGSWINDOW_H