yade-dev team mailing list archive
-
yade-dev team
-
Mailing list archive
-
Message #05313
Re: qt4 tree view, new attempt
-
To:
yade-dev@xxxxxxxxxxxxxxxxxxx
-
From:
Janek Kozicki <janek_listy@xxxxx>
-
Date:
Tue, 13 Jul 2010 15:27:19 +0200
-
Face:
iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAALVBMVEUBAQEtLS1KSkpRUVFXV1dYWFhjY2Nzc3N3d3eHh4eKioqdnZ24uLjLy8vc3NxVIagyAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH2AIVEzgS1fgQtQAAAjRJREFUOMtt1DFv00AUAOAzFQNbjigSyoQaRaBMhKgLUyKXpVNNeUpk9vyDqFJhQ1kiBuaqAwJCqvPtSLY7RlTn5+5IdnYkkt/AOyfxXVLe5vf53Z1875kd34tOEax8djmj6GyjhB5bxz50GdsVZr9fqRjZwAtKOJw5Wqs2MMZ16ALHsaDncF7xAHix1oEFHAB8f+pRjcO4gfZDykcYzbiucRolOLUJ6kjA0xtVt+A6TySlM0RajIpK6DzwKZ/nOYbF/gclHMo1ZOHYY/+Ha+AWuM+3oMS4eeqYzZ8FiCltgUqI8cd2wwAVpJk+8LWYjBtnJdQpHQqJMd4Oxt4bU9ESiFGc5hkqaH74asAX4iabP5I5gZ+qjgGlJCqZa3h3lxhoeVcSE1qLQC4sqKOK9MGW9E3izFqqHokoztLFEgXg31sbZEKnWi2T74A4NxfVQqlkjKtcAWD+zcArFEES01dR0E/nnV0IgugmDd/2L84sOAouRBBHEc7gtc8teDkRlE0iNQPo2w3Xhh/D4TCIQ4LRLoTvgwjj6RRgavdurxYGMaIuGOyAW/PpNlCcU9/93AHenAWYjPoAwa+G3e3to/MgFNTAEKvKDjzuCzHTnY3qqdXtx24VijzQfZ0yewZ5cwRFQaa+mIYr1uI0I76+3W4xhlvoVRwOA0Fdl64HlJnxP6T8YpX/Lga4Wv4A3ErrU5oTfN7Mu/llXMl8RXEPji/lQkN3H7qXqgC2By47EXeU/7PJ/wPxRKMnuZwIeAAAAABJRU5ErkJggg==
-
In-reply-to:
<20100712171608.1181a22e@atak.bl.pg.gda.pl>
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/ |
Follow ups
References
-
qt4 tree view, new attempt
From: Janek Kozicki, 2010-07-11
-
Re: qt4 tree view, new attempt
From: Janek Kozicki, 2010-07-11
-
Re: qt4 tree view, new attempt
From: Janek Kozicki, 2010-07-11
-
Re: qt4 tree view, new attempt
From: Janek Kozicki, 2010-07-12
-
Re: qt4 tree view, new attempt
From: Václav Šmilauer, 2010-07-12
-
Re: qt4 tree view, new attempt
From: Janek Kozicki, 2010-07-12
-
Re: qt4 tree view, new attempt
From: Václav Šmilauer, 2010-07-12
-
Re: qt4 tree view, new attempt
From: Janek Kozicki, 2010-07-12
-
Re: qt4 tree view, new attempt
From: Janek Kozicki, 2010-07-12