Event type selectable in new window

Main window shows event name instead of decimal value
master
Yohann Dedy 2017-02-12 21:34:36 +01:00
parent b1a9b35369
commit c5dabe49ee
4 changed files with 38 additions and 1 deletions

View File

@ -16,8 +16,15 @@ eventWindow::eventWindow(QWidget *parent) :
_eventsTable->setRowCount(32);
_eventsTable->setColumnCount(4);
_eventsTable->setEditTriggers(QAbstractItemView::NoEditTriggers);
_eventsTable->setSelectionMode(QAbstractItemView::SingleSelection);
_eventsTable->horizontalHeader()->setHidden(true);
_eventsTable->horizontalHeader()->setDefaultSectionSize(200);
_eventsTable->verticalHeader()->setHidden(true);
_eventsTable->verticalHeader()->setDefaultSectionSize(20);
for(int r=0; r<32; r++){
for(int c=0; c<4; c++){
QString nom = _eventsList.at(32*c+r);
@ -27,11 +34,25 @@ eventWindow::eventWindow(QWidget *parent) :
mainLayout->addWidget(_eventsTable);
mainWidget->setFixedSize(826,666);
mainWidget->setLayout(mainLayout);
this->setCentralWidget(mainWidget);
//connect(_eventsTable,SIGNAL(cellDoubleClicked(int,int)),this,SLOT(updatePreset(int, int)));
connect(_eventsTable,SIGNAL(cellDoubleClicked(int,int)),parent,SLOT(updateEventCell(int,int)));
}
eventWindow::~eventWindow()
{
}
void eventWindow::updatePreset(int r, int c)
{
int presetNum = c*32 + r;
//emit this->updateMainWindow(_eventsList.at(presetNum));
qDebug() << "Event #" << presetNum;
qDebug() << "Event name" << _eventsList.at(presetNum);
}

View File

@ -18,6 +18,7 @@ public:
signals:
public slots:
void updatePreset(int row, int col);
};
#endif // EVENTWINDOW_H

View File

@ -79,6 +79,7 @@ mainWindow::mainWindow(QWidget *parent) :
_presetSettingsTable->setRowCount(16);
_presetSettingsTable->setColumnCount(4);
_presetSettingsTable->setEditTriggers(QAbstractItemView::NoEditTriggers);
_presetSettingsTable->setSelectionMode(QAbstractItemView::SingleSelection);
_presetSettingsTable->setHorizontalHeaderLabels(settingsList);
tableLayout->addWidget(_presetsList);
@ -193,11 +194,24 @@ void mainWindow::updateTable()
for(int i=0; i<3; i++){
for(int j=0; j<16; j++){
QString value = QString::number(_preset[_presetsList->currentRow()][i][j]);
if(i==1) value = _eventWindow->_eventsList.at(_preset[_presetsList->currentRow()][i][j]);
_presetSettingsTable->setItem(j,i,new QTableWidgetItem(value));
}
}
}
void mainWindow::updateEventCell(int r, int c)
{
int eventNum;
QString eventName;
eventNum = 32*c + r;
eventName = _eventWindow->_eventsList.at(eventNum);
_preset[_presetsList->currentRow()][1][_presetSettingsTable->currentRow()] = eventNum;
_presetSettingsTable->setItem(_presetSettingsTable->currentRow(),1,new QTableWidgetItem(eventName));
_eventWindow->close();
}
void mainWindow::openMidiPorts(){
_midiIn->closePort();
_midiOut->closePort();

View File

@ -64,6 +64,7 @@ public slots:
void updateDeviceConfig();
void updatePreset(QMidiMessage* message);
void updateTable();
void updateEventCell(int row, int col);
private slots:
void openMidiPorts();