diff --git a/src/Combinear.css b/src/Combinear.css index 395840d..3af1c42 100644 --- a/src/Combinear.css +++ b/src/Combinear.css @@ -251,6 +251,15 @@ QSlider::handle:horizontal:disabled } VolumeRenderingWindow#volumeWin{ - border:1px solid #cdcdcd; + border:1px solid #5a5a5a; border-top:1px solid #333333; +} + +MPRResliceWindow#MPRWin{ + border:1px solid #5a5a5a; + border-top:1px solid #333333; +} + +QSplitter::handle { + background: #5a5a5a; } \ No newline at end of file diff --git a/src/src/UI/Widget/ToolBar/DefaultToolBar.cpp b/src/src/UI/Widget/ToolBar/DefaultToolBar.cpp index 2a4afde..a81afd0 100644 --- a/src/src/UI/Widget/ToolBar/DefaultToolBar.cpp +++ b/src/src/UI/Widget/ToolBar/DefaultToolBar.cpp @@ -421,6 +421,8 @@ void DefaultToolBar::initMPRButton(){ mBtnMPR->setToolTip(QString("MPR")); QMenu *m = new QMenu(this); auto group = new QActionGroup(this); + auto actionMPR= m->addAction(tr("3D MPR")); + m->addSeparator(); auto actionCoronal = m->addAction(tr("Coronal")); auto actionSagittal =m->addAction(tr("Sagittal")); auto actionAxial = m->addAction(tr("Axial")); @@ -428,9 +430,12 @@ void DefaultToolBar::initMPRButton(){ actionSagittal->setCheckable(true); actionAxial->setCheckable(true); + connect(actionMPR, &QAction::triggered,[=](){ + emit requestMPR(); + }); connect(group, &QActionGroup::triggered, this, [=](QAction* action) { for (int i = 0; i < 3; ++i) { - if (m->actions()[i]==action){ + if (m->actions()[i]==action) { emit changeReconPlane(i); return; } diff --git a/src/src/UI/Widget/ToolBar/DefaultToolBar.h b/src/src/UI/Widget/ToolBar/DefaultToolBar.h index 466e647..9159e2a 100644 --- a/src/src/UI/Widget/ToolBar/DefaultToolBar.h +++ b/src/src/UI/Widget/ToolBar/DefaultToolBar.h @@ -42,6 +42,7 @@ signals: void transform(TransFormType type); void showMeta(); void volumeRendering(); + void requestMPR(); void referenceLineStateChange(bool isShow); private: QAction *addButton(QToolButton *button, const char *objectName); diff --git a/src/src/UI/Window/QDicomViewer.cpp b/src/src/UI/Window/QDicomViewer.cpp index d46ceb7..24e7e3c 100644 --- a/src/src/UI/Window/QDicomViewer.cpp +++ b/src/src/UI/Window/QDicomViewer.cpp @@ -14,6 +14,7 @@ #include "UI/Manager/ImageViewManager.h" #include "UI/Widget/Component/gridpopwidget.h" #include "UI/Window/VolumeRenderingWindow.h" +#include "UI/Window/MPRResliceWindow.h" #include "UI/Widget/cine/pqVCRToolbar.h" @@ -176,6 +177,14 @@ void QDicomViewer::initViewOperation() { } }); // MPR + connect(ui->toolBar, &DefaultToolBar::requestMPR,[=](){ + auto mprWin = new MPRResliceWindow(this); + connect(mprWin,&QDialog::finished,[=](){ + mprWin->deleteLater(); + }); + mprWin->show(); + mprWin->loadData(ui->viewContainer->getViewManager()->getCurrentView()->getSeriesInstance()); + }); connect(ui->toolBar, &DefaultToolBar::changeReconPlane, ui->viewContainer->getViewManager(), &ImageViewManager::changeReconPlane); connect(ui->toolBar, &DefaultToolBar::volumeRendering,[=](){