yade-dev team mailing list archive
-
yade-dev team
-
Mailing list archive
-
Message #05266
Re: qt4 tree view, new attempt
-
To:
yade-dev@xxxxxxxxxxxxxxxxxxx
-
From:
Janek Kozicki <janek_listy@xxxxx>
-
Date:
Mon, 12 Jul 2010 14:53:39 +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:
<1278937211.1563.46.camel@flux>
Václav Šmilauer said: (by the date of Mon, 12 Jul 2010 14:20:11 +0200)
> > Heh if I continue changing that then probably I should make a branch
> > or something :)
> You can make a branch just by doing
>
> bzr init .
> bzr add *
> bzr commit -m 'initial commit'
> bzr push lp:~yade-dev/qtr-tree
> bzr bind lp:~yade-dev/qt4-tree # make commits online by default
thank you for that info.
> I am starting to doubt (after the initial enthusiasm) the design of
> this. You have to serialize the whole simulation before changing stuff.
> Or is it possible to not nest, and just serialize the part of the tree
> that is open?
- it's not possible to "skip" serialization of some variables to
speed it up. You provide something and all of its internals are
serialized.
- nothing is forcing you to serialize whole Scene. You can serialize
anything you want. For example serialize only O.bodies[10], and you
will see just that and nothing else. In fact from python it could
be exposed as simply as
>>> show(O.bodies[10])
or such.
- it is also possible to build some kind of dictionary while the
serialization takes place, to speed up later access.
- yes: if you serialize whole Scene - you really have it duplicated
in memory. There's no way around this. In fact O.saveTmp() could be
saving into this kind of structure. And display it on the screen on
demand.
Realtime updates of values during calculation might require either
serializing in a loop with some time delay. IIRC it is nost possible
to use references to original values.
A qt window showing all data of a currently selected body is
something that will work nicely.
Another qt window showing all engines. etc.etc. This will work.
But, it is also to replace a FileGenerator and Display options, where
we still have yade serialization - in those places there is no problem
with serializing whole class. It will work just as good.
The only thing to make it more comfortable are:
- save/load_override for Vector3r, Quaternionr and bool (I'd love to
have a checkbox for bool, I don't even know if qt4 allows
checkboxes in qt_tree ;)
- skip displaying some useless rows in a tree (e.g. pointer wrappers,
they don't even have a name)
BTW: all those boost_*.hpp files seem complex. But on the positive
side they are using the standard boost::serialization interface for
adding custom archive types. In fact 4 years have passed, and changes
in there were really minimal and well documented. It will work in the
future.
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