Пример #1
0
bool DrawsWidget::SetSet(wxString sset,
		wxString prefix,
		time_t time,
		PeriodType pt,
		int selected_draw) {

	DrawsSets* ds = m_cfg->GetConfigByPrefix(prefix);
	if (ds == NULL)
		return false;

	DrawSet *set = NULL;

	if (!sset.IsEmpty()) {
		for (DrawSetsHash::iterator i = ds->GetDrawsSets().begin();
				i != ds->GetDrawsSets().end();
				i++)
			if (i->second->GetName() == sset) {
				set = i->second;
				break;
			}
	}
	if (set == NULL)
		if ((set = m_draws_controller->GetSet()) == NULL) {
			SortedSetsArray ssa = ds->GetSortedDrawSetsNames();
			set = ssa[0];
		}

	if (set == NULL)
		return false;

	if (time <= 0)
		time = wxDateTime::Now().GetTicks();

	if (pt == PERIOD_T_OTHER)
		pt = m_draws_controller->GetPeriod();
	if (pt == PERIOD_T_OTHER)
		pt = PERIOD_T_YEAR;

	if (selected_draw < 0 || selected_draw >= (int)set->GetDraws()->size()) {
		if (m_draws_controller->GetSelectedDraw())
			selected_draw = m_draws_controller->GetSelectedDraw()->GetDrawNo();
		else
			selected_draw = 0;
	}

	m_draws_controller->Set(set, pt, time, selected_draw);

	return true;

}