void GenericSlider::setValue(double val) { //out of limits if((limited)&&((val>max)||(val<min)))return; if(val>currentMax)currentMax=val; if(val<currentMin)currentMin=val; value=val; m_slider->SetValue((int)100*(val-currentMin)/(currentMax-currentMin)); wxString w=wxString::Format(wxT("%.2f"),value); m_value->ChangeValue(wxEmptyString); m_value->ChangeValue(w); if(scroll) // For Security (only propagate the event when a scroll event is issued) { //report to the parent window... a value have changed wxCommandEvent sliderEvent( wxEVT_GENERIC_SLIDER_CHANGE,GetId() ); sliderEvent.ResumePropagation(2); sliderEvent.SetEventObject( parent); // Send it parent->GetEventHandler()->ProcessEvent( sliderEvent ); parent->GetParent()->GetEventHandler()->ProcessEvent( sliderEvent ); scroll=false; } }
void GenericEditor::sliderValueChanged(Slider* slider) { sliderEvent(slider); }