//------------------------------------------------------------------------------ void ForPanel::OnCellRightClick(wxGridEvent& event) { Integer row = event.GetRow(); Integer col = event.GetCol(); GetNewValue(row, col); }
Response Slider::PerformMouseMove (AbstractWindow* context) { if (pressed_) { int new_value = value(); // DO not fire if cursor is out of range, otherwise too many events if (GetNewValue(context->GetGlobalCursorPosition(), &new_value)) { set_value(new_value); fire_slider_moved_event(value()); RequestRedraw(); } return Finish; } else { if (CursorOnSlideIcon(context->local_cursor_position())) { //m_slide_icon.set_highlight(true); RequestRedraw(); return Finish; } else { //m_slide_icon.set_highlight(false); RequestRedraw(); return Finish; } } }
//------------------------------------------------------------------------------ void ForPanel::OnCellLeftClick(wxGridEvent& event) { Integer row = event.GetRow(); Integer col = event.GetCol(); conditionGrid->SelectBlock(row, col, row, col); conditionGrid->SetGridCursor(row, col); if (col == INDEX_SEL_COL || col == START_SEL_COL || col == INCR_SEL_COL || col == END_SEL_COL) GetNewValue(row, col + 1); }
//////////////////////////////////////////////////////////////////////////// // Updates the slider to the new position // void CFloatAnimator::Update(f32 deltaTime) { CValueAnimator::Update(deltaTime); m_Time += deltaTime; bool newValue = false; if (m_State == FAS_NORMAL) { if (m_Time >= m_CurITime) { GetNewValue(m_CurDelay, m_CurDelay, m_MinDelay, m_MaxDelay, m_DelayAM); if (m_CurDelay > FLOATEPSILON) { m_State = FAS_WAITING; m_Time = 0.0f; m_Value = m_OldValue = m_NewValue; } else { // Could be that we have a very low framerate while ((m_Time > m_CurITime) && (m_CurITime > 0.0f)) m_Time -= m_CurITime; newValue = true; m_OldValue = m_NewValue; } } } else // Waiting { if (m_Time >= m_CurDelay) { m_State = FAS_NORMAL; m_Time = 0.0f; newValue= true; } } if (newValue) { GetNewValue(m_OldValue, m_NewValue, m_Min, m_Max, m_AnimMode); GetNewValue(m_ITime, m_CurITime, m_MinITime, m_MaxITime, m_ITimeAM); } if (m_State == FAS_NORMAL) { bool linear = false; if ((m_AnimMode == AM_LOOPUP) || (m_AnimMode == AM_LOOPDOWN)) linear = true; f32 timeScale = 1.0f; if (m_CurITime>0.0001f) timeScale = m_Time / m_CurITime; m_Value = InterpolateFloat(m_OldValue, m_NewValue, timeScale, linear); } else { m_Value = m_OldValue; } m_Value = Clamp(m_Value, m_Min, m_Max); }