From 706933914ae44e487a7f4f8adfb70a6572b63b63 Mon Sep 17 00:00:00 2001 From: Michael Carpenter Date: Mon, 27 Jan 2014 17:44:30 -0500 Subject: [PATCH] Change so 3d tables can now be selected and displayed by name, rather than just locationid --- core/src/mainwindow.cpp | 67 ++++++++++++++++++++++++++++------------ core/src/tableview3d.cpp | 15 +++++++++ core/src/tableview3d.h | 1 + 3 files changed, 64 insertions(+), 19 deletions(-) diff --git a/core/src/mainwindow.cpp b/core/src/mainwindow.cpp index 5702348..3941a28 100644 --- a/core/src/mainwindow.cpp +++ b/core/src/mainwindow.cpp @@ -759,28 +759,57 @@ void MainWindow::menu_windows_PacketStatusClicked() } void MainWindow::showTable(QString table) { - Table2DData *data = emsComms->get2DTableData(table); - TableView2D *view = new TableView2D(); - connect(view,SIGNAL(destroyed(QObject*)),this,SLOT(rawDataViewDestroyed(QObject*))); - QString title; - //Table2DMetaData metadata = m_memoryMetaData->get2DMetaData(locid); - //view->setMetaData(metadata); - DataBlock *block = dynamic_cast(data); - if (!view->setData(table,block)) + Table2DData *data2d = emsComms->get2DTableData(table); + Table3DData *data3d = emsComms->get3DTableData(table); + if (data2d) { - return; + TableView2D *view = new TableView2D(); + connect(view,SIGNAL(destroyed(QObject*)),this,SLOT(rawDataViewDestroyed(QObject*))); + QString title; + //Table2DMetaData metadata = m_memoryMetaData->get2DMetaData(locid); + //view->setMetaData(metadata); + DataBlock *block = dynamic_cast(data2d); + if (!view->setData(table,block)) + { + return; + } + //title = metadata.tableTitle; + connect(view,SIGNAL(destroyed(QObject*)),this,SLOT(rawDataViewDestroyed(QObject*))); + + QMdiSubWindow *win = ui.mdiArea->addSubWindow(view); + //win->setWindowTitle("Ram Location 0x" + QString::number(locid,16).toUpper() + " " + title); + win->setWindowTitle("Ram Location " + table); + win->setGeometry(0,0,((view->width() < this->width()-160) ? view->width() : this->width()-160),((view->height() < this->height()-100) ? view->height() : this->height()-100)); + //m_rawDataView[locid] = view; + win->show(); + QApplication::postEvent(win, new QEvent(QEvent::Show)); + QApplication::postEvent(win, new QEvent(QEvent::WindowActivate)); + } + else if (data3d) + { + TableView3D *view = new TableView3D(); + connect(view,SIGNAL(destroyed(QObject*)),this,SLOT(rawDataViewDestroyed(QObject*))); + QString title; + //Table2DMetaData metadata = m_memoryMetaData->get2DMetaData(locid); + //view->setMetaData(metadata); + DataBlock *block = dynamic_cast(data3d); + if (!view->setData(table,block)) + { + return; + } + //title = metadata.tableTitle; + connect(view,SIGNAL(destroyed(QObject*)),this,SLOT(rawDataViewDestroyed(QObject*))); + + QMdiSubWindow *win = ui.mdiArea->addSubWindow(view); + //win->setWindowTitle("Ram Location 0x" + QString::number(locid,16).toUpper() + " " + title); + win->setWindowTitle("Ram Location " + table); + win->setGeometry(0,0,((view->width() < this->width()-160) ? view->width() : this->width()-160),((view->height() < this->height()-100) ? view->height() : this->height()-100)); + //m_rawDataView[locid] = view; + win->show(); + QApplication::postEvent(win, new QEvent(QEvent::Show)); + QApplication::postEvent(win, new QEvent(QEvent::WindowActivate)); } - //title = metadata.tableTitle; - connect(view,SIGNAL(destroyed(QObject*)),this,SLOT(rawDataViewDestroyed(QObject*))); - QMdiSubWindow *win = ui.mdiArea->addSubWindow(view); - //win->setWindowTitle("Ram Location 0x" + QString::number(locid,16).toUpper() + " " + title); - win->setWindowTitle("Ram Location " + table); - win->setGeometry(0,0,((view->width() < this->width()-160) ? view->width() : this->width()-160),((view->height() < this->height()-100) ? view->height() : this->height()-100)); - //m_rawDataView[locid] = view; - win->show(); - QApplication::postEvent(win, new QEvent(QEvent::Show)); - QApplication::postEvent(win, new QEvent(QEvent::WindowActivate)); } void MainWindow::createView(unsigned short locid,DataType type) diff --git a/core/src/tableview3d.cpp b/core/src/tableview3d.cpp index 2972f18..8c2372c 100644 --- a/core/src/tableview3d.cpp +++ b/core/src/tableview3d.cpp @@ -1031,6 +1031,21 @@ void TableView3D::setMetaData(Table3DMetaData metadata) m_metaData = metadata; metaDataValid = true; } +bool TableView3D::setData(QString name,DataBlock *data) +{ + Q_UNUSED(name) + if (tableData == 0) + { + tableData = dynamic_cast(data); + connect(tableData,SIGNAL(update()),this,SLOT(updateTable())); + //connect(tableData,SIGNAL(saveSingleData(unsigned short,QByteArray,unsigned short,unsigned short)),this,SIGNAL(saveSingleData(unsigned short,QByteArray,unsigned short,unsigned short))); + } + else + { + } + //m_locationId = locationid; + return updateTable(); +} bool TableView3D::setData(unsigned short locationid,DataBlock *data) { diff --git a/core/src/tableview3d.h b/core/src/tableview3d.h index 37c720d..6dd0953 100644 --- a/core/src/tableview3d.h +++ b/core/src/tableview3d.h @@ -38,6 +38,7 @@ class TableView3D : public DataView ~TableView3D(); void setMetaData(Table3DMetaData metadata); bool setData(unsigned short locationid,DataBlock *data); + bool setData(QString name,DataBlock *data); void passDatalog(QVariantMap data); private: void reColorTable(int rownum,int colnum);