/[ghosts]/ghosts/gedcomviewer/src/BakeryGateway/ViewIndividualAttributes.cpp
ViewVC logotype

Diff of /ghosts/gedcomviewer/src/BakeryGateway/ViewIndividualAttributes.cpp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.2 by cpcp, Tue Nov 12 21:25:22 2002 UTC revision 1.3 by cpcp, Sun Jan 26 22:11:50 2003 UTC
# Line 23  Line 23 
23  #include "GEDCOMParser/IndividualAttribute.hh"  #include "GEDCOMParser/IndividualAttribute.hh"
24  #include <functional>  #include <functional>
25  #include <algorithm>  #include <algorithm>
26    #include <iostream>
27    
28  BakeryGateway::ViewIndividualAttributes::ViewIndividualAttributes(MMIIndividualAttributes * mmi) :  BakeryGateway::ViewIndividualAttributes::ViewIndividualAttributes(MMIIndividualAttributes * mmi) :
29    _mmi_individual_attributes(mmi)    _mmi_individual_attributes(mmi),
30      during_load(false)
31  {  {
32      _mmi_individual_attributes->getOccupationWidget()->changed.connect(SigC::slot(this, &ViewIndividualAttributes::on_Occupation_changed));  
33      return;
34    }
35    
36    void BakeryGateway::ViewIndividualAttributes::save_to_document(void)
37    {
38      if (! during_load)
39        {
40          std::string const new_occupation = _mmi_individual_attributes->getOccupation();
41          if (new_occupation != getOccupation()->getValue())
42            {
43              getOccupation()->setValue(new_occupation);
44            }
45        }
46      return;
47    }
48    
49    void BakeryGateway::ViewIndividualAttributes::on_Occupation_changed(void)
50    {
51      save_to_document();
52    return;    return;
53  }  }
54    
# Line 35  BakeryGateway::ViewIndividualAttributes: Line 57  BakeryGateway::ViewIndividualAttributes:
57    return;    return;
58  }  }
59    
60  void BakeryGateway::ViewIndividualAttributes::load_from_document(void)  GEDCOMParser::IndividualAttribute * const BakeryGateway::ViewIndividualAttributes::getOccupation(void)
61  {  {
62    _mmi_individual_attributes->setOccupation("");    GEDCOMParser::IndividualAttribute * res = 0;
63    if (_parent_entity != 0)    if (_parent_entity != 0)
64      {      {
65        GEDCOMParser::IndividualAttributes_t attributes = _parent_entity->getIndividualAttributes();        GEDCOMParser::IndividualAttributes_t attributes = _parent_entity->getIndividualAttributes();
66                
67        GEDCOMParser::IndividualAttributes_t::const_iterator iter =        GEDCOMParser::IndividualAttributes_t::const_iterator iter =
68          std::find(attributes.begin(),          std::find(attributes.begin(),
69                       attributes.end(),                    attributes.end(),
70                       GEDCOMParser::IndividualAttribute::e_Occu);                    GEDCOMParser::IndividualAttribute::e_Occu);
71                
72        if (iter != attributes.end())        if (iter != attributes.end())
73          {          {
74            _mmi_individual_attributes->setOccupation((*iter)->getValue());            res = (*iter).getPtr();
75            }
76        }
77      return res;
78    }
79    
80    void BakeryGateway::ViewIndividualAttributes::load_from_document(void)
81    {
82      during_load = true;
83      _mmi_individual_attributes->setOccupation("");
84      std::string occupation = "";
85      if (_parent_entity != 0)
86        {
87          if (getOccupation() != 0)
88            {
89              occupation = getOccupation()->getValue();
90          }          }
91          _mmi_individual_attributes->setOccupation(occupation);
92      }      }
93      during_load = false;
94    return;    return;
95  }  }

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.3

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26