bool CGUIDialogSlider::OnMessage(CGUIMessage& message) { switch ( message.GetMessage() ) { case GUI_MSG_CLICKED: if (message.GetSenderId() == CONTROL_SLIDER) { CGUISliderControl *slider = (CGUISliderControl *)GetControl(CONTROL_SLIDER); if (slider && m_callback) { m_callback->OnSliderChange(m_callbackData, slider); SET_CONTROL_LABEL(CONTROL_LABEL, slider->GetDescription()); } } break; } return CGUIDialog::OnMessage(message); }
void CGUIDialogSlider::SetSlider(const CStdString &label, float value, float min, float delta, float max, ISliderCallback *callback, void *callbackData) { SET_CONTROL_LABEL(CONTROL_HEADING, label); CGUISliderControl *slider = (CGUISliderControl *)GetControl(CONTROL_SLIDER); m_callback = callback; m_callbackData = callbackData; if (slider) { slider->SetType(SPIN_CONTROL_TYPE_FLOAT); slider->SetFloatRange(min, max); slider->SetFloatInterval(delta); slider->SetFloatValue(value); if (m_callback) { m_callback->OnSliderChange(m_callbackData, slider); SET_CONTROL_LABEL(CONTROL_LABEL, slider->GetDescription()); } } }