示例#1
0
文件: Activity.cpp 项目: msimms/Exert
bool Activity::CheckIntervalWorkout()
{
	if ((m_intervalWorkout.workoutId == INTERVAL_WORKOUT_ID_NOT_SET) ||
		(m_intervalWorkoutState.nextSegmentIndex >= m_intervalWorkout.segments.size()))
	{
		return false;
	}

	if (m_firstIteration)
	{
		m_firstIteration = false;
		return true;
	}

	bool shouldAdvance = false;
	
	try
	{
		const IntervalWorkoutSegment& segment = m_intervalWorkout.segments.at(m_intervalWorkoutState.nextSegmentIndex);

		switch (segment.units)
		{
			case INTERVAL_UNIT_UNSPECIFIED:
				shouldAdvance = CheckUnspecifiedInterval();
				break;
			case INTERVAL_UNIT_SECONDS:
				shouldAdvance = CheckTimeInterval();
				break;
			case INTERVAL_UNIT_METERS:
			case INTERVAL_UNIT_KILOMETERS:
			case INTERVAL_UNIT_FEET:
			case INTERVAL_UNIT_YARDS:
			case INTERVAL_UNIT_MILES:
				shouldAdvance = CheckPositionInterval();
				break;
			case INTERVAL_UNIT_SETS:
				shouldAdvance = CheckSetsInterval();
				break;
			case INTERVAL_UNIT_REPS:
				shouldAdvance = CheckRepsInterval();
				break;
		}

		if (shouldAdvance)
		{
			AdvanceIntervalState();
		}
	}
	catch (...)
	{
	}

	return shouldAdvance;
}
//----------------------------------------------------------------------------
void CConfigDialog::OnSelchangeUnitCombo() {
//----------------------------------------------------------------------------

	CheckTimeInterval();
}
//----------------------------------------------------------------------------
void CConfigDialog::OnChangeValueEdit() {
//----------------------------------------------------------------------------

   CheckTimeInterval();
}