+ double r[ 2 ];
+ double w, s;
+
+ this->m_Data->GetScalarRange( r );
+ if( this->sender( ) == this->m_UI->WindowSlider )
+ {
+ s = double( v ) / double( this->m_UI->WindowSlider->maximum( ) );
+ w = ( ( r[ 1 ] - r[ 0 ] ) * s ) + r[ 0 ];
+ }
+ else
+ {
+ w = double( v );
+ s = ( w - r[ 0 ] ) / ( r[ 1 ] - r[ 0 ] );
+
+ } // fi
+ s *= this->m_UI->WindowSlider->maximum( );
+
+ bool b = this->m_UI->WindowSlider->blockSignals( true );
+ this->m_UI->WindowSlider->setValue( s );
+ this->m_UI->WindowSlider->blockSignals( b );
+ b = this->m_UI->WindowBox->blockSignals( true );
+ this->m_UI->WindowBox->setValue( w );
+ this->m_UI->WindowBox->blockSignals( b );
+
+ double wl[ 2 ];
+ this->m_Data->GetWindowLevel( wl );
+ wl[ 0 ] = w;
+ this->m_Data->SetWindowLevel( wl );