Janek Kozicki said: (by the date of Mon, 12 Jul 2010 17:16:08 +0200) > Janek Kozicki said: (by the date of Mon, 12 Jul 2010 15:49:06 +0200) > > Václav Šmilauer said: (by the date of Mon, 12 Jul 2010 15:09:53 +0200) > > > > > > - it's not possible to "skip" serialization of some variables to > > > > speed it up. You provide something and all of its internals are > > > > serialized. > > > Too bad...
Well, guy, now it works. Only the "top" of the data is serialized. Things that are possible to "dive in" are marked with [+], when you click it, a re-serialization "on-demand" is performed. And only this 'unfold_path' is re-serialized again. Everything else is skipped. This is done by `void populate()` member function. This means that QT tree holds only a partial (& fragmented) copy of original. This works currently only in one direction - generating a QT tree. If you wanted to save edited content, right now this fragmented copy would try to replace the original (which crashes). But by applying analogous modifications to *_iarchive_*, as I have just made in *_oarchive_*, it is possible to "save" data from QT tree only from the modified path. This will avoid destruction of original data, but replacing the data where m_user_modified==true. A fairly simple modification. In fact, I think that if you are interested in this approach, you should do this modification, this will let you easily understand how it works. Copy the main logic from boost_basic_tree_oarchive.hpp save_override() to boost_basic_tree_iarchive.hpp and fix in few other places, like, where m_user_modified is set. Also, all that allows you to "seek" some element in whole data, just by giving it a std::string path. dreams come true? Now I have to stop working on this, I must get back to clumps + triaxial test & moment law, hopefully. best regards -- Janek Kozicki http://janek.kozicki.pl/ | _______________________________________________ Mailing list: https://launchpad.net/~yade-dev Post to : [email protected] Unsubscribe : https://launchpad.net/~yade-dev More help : https://help.launchpad.net/ListHelp

