All pastes #2090167 Raw Edit

Quasar

public cpp v1 · immutable
#2090167 ·published 2011-10-14 22:46 UTC
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;}//----------------------------------------------------------------------------------------------------------------------