void ValueSelector::paintEvent( QPaintEvent *paint_event ) { Q_CHECK_PTR( paint_event ); if ( paint_event -> erased() ) { painter.begin( this ); painter.setPen( shadow ); painter.drawLine( 0, 3, 0, 91 ); painter.drawLine( 0, 3, 17, 3 ); painter.setPen( highlight ); painter.drawLine( 17, 4, 17, 91 ); painter.drawLine( 1, 91, 17, 91 ); //Draw the triangle QPointArray pa( 3 ); pa.putPoints( 0, 3, 18, 91 - pointFromValue( value() ), 21, 91 - pointFromValue( value() ) - 3, 21, 91 - pointFromValue( value() ) + 3 ); painter.setPen( triangle_color ); painter.setBrush( triangle_color ); painter.drawPolygon( pa ); int h, s, v; QColor tmp_color = current_color; tmp_color.getHsv( &h, &s, &v ); for ( int i = 0; i <= 255; i++ ) { tmp_color.setHsv( h, s, 255 - i ); painter.setPen( tmp_color ); painter.drawLine( 1, pointFromValue( i ) + 4, 16, pointFromValue( i ) + 4 ); } painter.end(); } }
void CSlider::changeValueAndExecuteEvent(int nValue, bool bExeEvent) { CProgressBar::changeValueAndExecuteEvent(nValue, bExeEvent); if( m_pSlider ) { CCPoint tOutPoint; pointFromValue(m_nValue, tOutPoint); m_pSlider->setPosition(tOutPoint); } }