X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FGUI%2FQt%2FSurfaceRenderer%2Fqtsurfacerendererpanel.cxx;fp=lib%2FGUI%2FQt%2FSurfaceRenderer%2Fqtsurfacerendererpanel.cxx;h=0c431b4e68145b193d1f83ee56e03ff96ef815d2;hb=30b7a0a5d40cb89fc765a4e7af305962dcebf75c;hp=b675aa60a52ecda699b47c195e6f0cbc8faf6437;hpb=91dff2fda3bda6f53a57812e82a5d36f4b61322d;p=creaMaracasVisu.git diff --git a/lib/GUI/Qt/SurfaceRenderer/qtsurfacerendererpanel.cxx b/lib/GUI/Qt/SurfaceRenderer/qtsurfacerendererpanel.cxx index b675aa6..0c431b4 100644 --- a/lib/GUI/Qt/SurfaceRenderer/qtsurfacerendererpanel.cxx +++ b/lib/GUI/Qt/SurfaceRenderer/qtsurfacerendererpanel.cxx @@ -18,8 +18,13 @@ QtSurfaceRendererPanel::QtSurfaceRendererPanel(QWidget *parent) : this->ui->pushButtonColorChooser->setIcon(QIcon(Color_xpm)); - this->ui->pushButtonSave->setIcon(QIcon(Save_xpm)); + //this->ui->pushButtonSave->setIcon(QIcon(Save_xpm)); this->ui->pushButtonOpen->setIcon(QIcon(OpenImage_xpm)); + + this->ui->comboBoxSave->addItem(QIcon(Save_xpm), QString("")); + this->ui->comboBoxSave->addItem(QString("Save surface")); + this->ui->comboBoxSave->addItem(QString("Export image stencil")); + _ImageSet = false; } QtSurfaceRendererPanel::~QtSurfaceRendererPanel() @@ -34,6 +39,7 @@ void QtSurfaceRendererPanel::setImageData(vtkImageData* img){ this->ui->horizontalSliderMaxIso->setRange(range[0], range[1]); wxMaracasSurfaceRenderingManager::setImageData(img); + _ImageSet = true; } void QtSurfaceRendererPanel::on_OpacitySlider_valueChanged(int value) @@ -77,8 +83,9 @@ void QtSurfaceRendererPanel::on_pushButtonColorChooser_clicked() void QtSurfaceRendererPanel::on_checkBox_clicked(bool checked) { - this->addRemoveActor(0, checked); - if(!checked){ + if(!this->addRemoveActor(0, checked)){ + this->ui->checkBox->setChecked(false); + }else if(!checked){ this->ui->checkBoxBoundingBox->setCheckState(Qt::Unchecked); this->on_checkBoxBoundingBox_clicked(false); } @@ -106,22 +113,23 @@ void QtSurfaceRendererPanel::on_horizontalSliderMinIso_sliderReleased() } void QtSurfaceRendererPanel::onIsoValueChanged(){ - this->changeIsoValue(0, this->ui->horizontalSliderMinIso->value(), this->ui->horizontalSliderMaxIso->value()); + if(_ImageSet) + this->changeIsoValue(0, this->ui->horizontalSliderMinIso->value(), this->ui->horizontalSliderMaxIso->value()); } -void QtSurfaceRendererPanel::on_pushButtonSave_clicked() +/*void QtSurfaceRendererPanel::on_pushButtonSave_clicked() { QString filename = QFileDialog::getSaveFileName(this, tr("Save Mesh File"), QDir::currentPath(), - tr("Mesh files (*.stl *.ply)") ); + tr("Mesh files (*.stl *.ply *.vtk)") ); if( !filename.isNull() ){ //filename.append(".stl"); this->saveProp3DSTL(0, filename.toStdString().c_str()); } -} +}*/ void QtSurfaceRendererPanel::on_checkBoxBoundingBox_clicked(bool checked) { @@ -136,9 +144,37 @@ void QtSurfaceRendererPanel::on_pushButtonOpen_clicked(bool checked) void QtSurfaceRendererPanel::on_pushButtonOpen_clicked() { - QString filename = QFileDialog::getOpenFileName(this, tr("Load Mesh File"), QDir::currentPath(), tr("Mesh files (*.stl *.ply)")); + QString filename = QFileDialog::getOpenFileName(this, tr("Load Mesh File"), QDir::currentPath(), tr("Mesh files (*.stl *.ply *.vtk)")); if(!filename.isNull()){ this->loadProp3DSTL(filename.toStdString().c_str()); + this->ui->checkBox->setCheckState(Qt::Checked); + } +} + +void QtSurfaceRendererPanel::on_comboBoxSave_activated(int index) +{ + if(index == 1){ + QString filename = QFileDialog::getSaveFileName(this, + tr("Save Mesh File"), + QDir::currentPath(), + tr("Mesh files (*.stl *.ply *.vtk)") ); + + if( !filename.isNull() ){ + //filename.append(".stl"); + this->saveProp3DSTL(0, filename.toStdString().c_str()); + } + }else if(index == 2){ + + QString filename = QFileDialog::getSaveFileName(this, + tr("Save Image File"), + QDir::currentPath(), + tr("Meta Image file (*.mhd)") ); + + if( !filename.isNull() ){ + + this->exportImageStencil(0, filename.toStdString().c_str()); + } } + this->ui->comboBoxSave->setCurrentIndex(0); }