Ejemplo n.º 1
0
void MapParamDlg::ChooseChannel(int item)
{
	MutexWrap params_access(m_params_map_mutex);

	int param_num = m_table_list.GetItemData(item);

	CParam* param = NULL;
	if (!m_MapParamDefault.Lookup(param_num, param))
		CRUSH("Параметр отсутствует");
	CHECK(param != NULL);
	NewCorrespondenceDlg dlg(param, false);
	if (dlg.DoModal() == IDCANCEL)
		return;

	if (param->bParamActive)
	{
		m_MapParam[param_num] = param;
		param->Init();
	}
	else
	{
		param->StartTimeOut();
		m_MapParam.RemoveKey(param_num);
	}
	SetupLine(item, param);
}
Ejemplo n.º 2
0
void StartTimeOut(CParamMap& map_param)
{
	CParam* param;
	int num;
	POSITION pos = map_param.GetStartPosition();
	while (pos != NULL)
	{
		map_param.GetNextAssoc(pos, num, param);
		if (param == NULL)
			continue;
		if (param->bParamActive)
		{
			param->StartTimeOut();
			param->m_prev_calc_status = FORMULA_CALC_STATUS_TIMEOUT;
		}
	}
}