rendered paste body//----------------------------------------------------------------------------------------------------------------------// SetupCardioItemsMap - initializes the multi-level data structure used to get to the extremity pulses checkboxesvoid TframeAssessmentCardio::SetupCardioItemsMap(){ cardio_items_data.clear(); // Upper Right Items cardio_items_data["Strong"] ["Right"]["Upper"] = checkUR1->Name.c_str(); cardio_items_data["Faint"] ["Right"]["Upper"] = checkUR2->Name.c_str(); cardio_items_data["Absent"] ["Right"]["Upper"] = checkUR3->Name.c_str(); cardio_items_data["Cold"] ["Right"]["Upper"] = checkUR4->Name.c_str(); cardio_items_data["Discolored"]["Right"]["Upper"] = checkUR5->Name.c_str(); // Lower Right Items cardio_items_data["Strong"] ["Right"]["Lower"] = checkLR1->Name.c_str(); cardio_items_data["Faint"] ["Right"]["Lower"] = checkLR2->Name.c_str(); cardio_items_data["Absent"] ["Right"]["Lower"] = checkLR3->Name.c_str(); cardio_items_data["Cold"] ["Right"]["Lower"] = checkLR4->Name.c_str(); cardio_items_data["Discolored"]["Right"]["Lower"] = checkLR5->Name.c_str(); // Upper Left Items cardio_items_data["Strong"] ["Left"] ["Upper"] = checkUL1->Name.c_str(); cardio_items_data["Faint"] ["Left"] ["Upper"] = checkUL2->Name.c_str(); cardio_items_data["Absent"] ["Left"] ["Upper"] = checkUL3->Name.c_str(); cardio_items_data["Cold"] ["Left"] ["Upper"] = checkUL4->Name.c_str(); cardio_items_data["Discolored"]["Left"] ["Upper"] = checkUL5->Name.c_str(); // Lower Left Items cardio_items_data["Strong"] ["Left"] ["Lower"] = checkLL1->Name.c_str(); cardio_items_data["Faint"] ["Left"] ["Lower"] = checkLL2->Name.c_str(); cardio_items_data["Absent"] ["Left"] ["Lower"] = checkLL3->Name.c_str(); cardio_items_data["Cold"] ["Left"] ["Lower"] = checkLL4->Name.c_str(); cardio_items_data["Discolored"]["Left"] ["Lower"] = checkLL5->Name.c_str();}//----------------------------------------------------------------------------------------------------------------------// CheckBoxForItems - returns a TCheckBox * for a set of three lookup table descriptive item strings// (ex: "Strong", "Right", "Upper") - returns NULL if no such item.TCheckBox *TframeAssessmentCardio::CheckBoxForItems(string ext_pulse_type, string body_side_type, string extremity_type){ if(ext_pulse_type == "" || body_side_type == "" || extremity_type == "") return NULL; string control_name = cardio_items_data[ext_pulse_type][body_side_type][extremity_type]; if(control_name == "") return NULL; TControl *myCheckBox = groupExtPulse->FindChildControl(control_name.c_str()); if(myCheckBox && myCheckBox->InheritsFrom(__classid(TCheckBox))) return dynamic_cast<TCheckBox *>(myCheckBox); return NULL;}//----------------------------------------------------------------------------------------------------------------------// CheckBoxForIDs - returns a TCheckBox * given three lookup IDs by translating them into the corresponding values in// the lookup tables and then calling the routine above. Returns NULL if no such item.TCheckBox *TframeAssessmentCardio::CheckBoxForIDs(string ext_pulse_id, string body_side_id, string extremity_id){ string ext_pulse_descr = lookupTables->ValueOf("ext_pulse_types", ext_pulse_id); string body_side_descr = lookupTables->ValueOf("body_side_types", body_side_id); string extremity_descr = lookupTables->ValueOf("extremity_types", extremity_id); return CheckBoxForItems(ext_pulse_descr, body_side_descr, extremity_descr);}//----------------------------------------------------------------------------------------------------------------------// GetExtremityPulses - Returns a vector of cardio_save_data structures for every checkbox that is checked inside the// Extremity Pulses group box. Unchecked boxes are simply not present in the return vector.vector<TframeAssessmentCardio::cardio_save_data> TframeAssessmentCardio::GetExtremityPulses(){ vector<cardio_save_data> to_return; for(cardio_items_map_t::iterator i_extpulse = cardio_items_data.begin(); i_extpulse != cardio_items_data.end(); ++i_extpulse) { for(map<string, map<string, string> >::iterator i_side = i_extpulse->begin(); i_side != i_extpulse->end(); ++i_side) { for(map<string, string>::iterator i_extrem = i_side->begin(); i_extrem != i_side->end(); ++i_extrem) { TCheckBox *myCheckBox = CheckBoxForItems(i_extpulse->first, i_side->first, i_extrem->first); if(myCheckBox && myCheckBox->Checked) { cardio_save_data new_data; new_data.ext_pulse_id = lookupTables->IdOf("ext_pulse_types", i_extpulse->first); new_data.body_side_id = lookupTables->IdOf("body_side_types", i_side->first); new_data.extremity_id = lookupTables->IdOf("extremity_types", i_extrem->first); to_return.push_back(new_data); } } } } return to_return;}//----------------------------------------------------------------------------------------------------------------------