Ejemplo n.º 1
0
//------------------------------------------------------------------------------
void ForPanel::OnCellRightClick(wxGridEvent& event)
{
   Integer row = event.GetRow();
   Integer col = event.GetCol();

   GetNewValue(row, col);
}     
Ejemplo n.º 2
0
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;
    }
  }
}
Ejemplo n.º 3
0
//------------------------------------------------------------------------------
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);
}