void DialogTransformVolume::RespondTextScale( int n ) { if ( isVisible() ) { bool bOK; double dvalue = m_textScale[n]->text().toDouble(&bOK); if ( bOK && dvalue > 0 ) { LayerMRI* layer = ( LayerMRI* )MainWindow::GetMainWindow()->GetActiveLayer( "MRI" ); if ( layer ) { double scale[3]; layer->GetScale( scale ); scale[n] = dvalue; layer->SetScale( scale ); MainWindow::GetMainWindow()->RequestRedraw(); m_scrollScale[n]->blockSignals(true); if ( dvalue >= 1 ) { m_scrollScale[n]->setValue( 50 + (int)( (dvalue-1.0)*50 ) ); } else { m_scrollScale[n]->setValue( 50 - (int)( (1.0-dvalue)*100 ) ); } m_scrollScale[n]->blockSignals(false); UpdateUI( 0 ); } } } }
void DialogTransformVolume::RespondScrollScale( int n ) { LayerMRI* layer = ( LayerMRI* )MainWindow::GetMainWindow()->GetActiveLayer( "MRI" ); if ( layer ) { double scale[3]; layer->GetScale( scale ); int npos = m_scrollScale[n]->value(); if ( npos >= 50 ) { scale[n] = ( npos - 50 ) / 50.0 + 1.0; } else { scale[n] = ( npos - 50 ) / 100.0 + 1.0; } layer->SetScale( scale ); MainWindow::GetMainWindow()->RequestRedraw(); ChangeLineEditNumber( m_textScale[n], scale[n] ); UpdateUI( 0 ); } }