On Tuesday 03 June 2008 20:29:50 Dave Thorup wrote:
> On Jun 2, 2008, at 10:55 PM, Benjamin Meyer wrote:
> > On Monday 02 June 2008 23:45:53 Dave Thorup wrote:
> >> Call beginInsertRows(...)
> >> Add a new child to my internal data structure.
> >> Call endInsertRows()
> > You only need to do these two, you don't need to emit the
> > dataChanged signals.
> > I highly recommend you give the modeltest a whirl and see what it
> > finds in
> > your model. It is able to catch a lot of common errors especially
> > in tree's.
> > http://labs.trolltech.com/page/Projects/Itemview/Modeltest
> > -Benjamin Meyer
> I actually tried using the ModelTest before I posted and it didn't
> report any errors with my model, at least none that I can see (it's
> supposed to Assert on errors right?). If I just leave it to the
> beginInsertRows(...) and endInsertRows() with no dataChanged signals
> and no layoutChanged signals then I still get the same behavior - the
> 'plus' doesn't appear until I click on the TreeView or it is repainted
> in some other way.
> If the above is the correct way to do it and my model is working
> correctly then it appears that there is a bug in the TreeView.
> Dave Thorup
> Software Engineer
If the modeltests doesn't find any problems then making a small test case
would be a good idea. It might be worth taking a look at hasChildren to make
sure that it is returning the correct value if you reimplement it. Using
layout changed does work because the tree completely re-layouts the items, in
otherwords it is slow and should be avoided when doing simple row insertions.
To unsubscribe - send a mail to [email protected] with
"unsubscribe" in the subject or the body.
List archive and information: http://lists.trolltech.com/qt-interest/