18 #include <boost/serialization/access.hpp>
19 #include <boost/serialization/nvp.hpp>
20 #include <boost/archive/xml_iarchive.hpp>
21 #include <boost/archive/xml_oarchive.hpp>
29 virtual void write(boost::archive::xml_oarchive& ar,
int version)
const = 0;
30 virtual void read(boost::archive::xml_iarchive& ar,
int version) = 0;
45 virtual void addGuiSetting(
const std::string& type,
DtGuiSetting* setting);
46 virtual void removeGuiSetting(
const std::string& type);
49 virtual void save(
const std::string&
filename);
52 virtual std::string toStringBuffer();
55 virtual bool fromStringBuffer(
const std::string&);
58 virtual void load(
const std::string& filename);
62 friend class boost::serialization::access;
67 template<
class Archive>
68 void serialize(Archive & ar,
const unsigned int version)
70 if (Archive::is_loading::value)
72 GuiSettings::iterator iter = myGuiSettings.begin();
74 while (iter != myGuiSettings.end())
76 (*iter).second->read(*(boost::archive::xml_iarchive*)&ar,version);
82 GuiSettings::const_iterator iter = myGuiSettings.begin();
84 while (iter != myGuiSettings.end())
86 (*iter).second->write(*(boost::archive::xml_oarchive*)&ar,version);
95 typedef std::pair<std::string, DtGuiSetting*>
GuiSetting;