diff -r 96402b172173 -r a8a98a94899a vymview.cpp --- a/vymview.cpp Wed Oct 29 17:42:34 2008 +0000 +++ b/vymview.cpp Tue Nov 04 12:09:10 2008 +0000 @@ -12,18 +12,24 @@ treeview->setMinimumWidth (350); treeview->setColumnWidth (0,350); - // ItemSelectionModel selModel=treeview->selectionModel(); + model->setSelectionModel (selModel); connect ( selModel, SIGNAL (selectionChanged(const QItemSelection &, const QItemSelection &)), this,SLOT (changeSelection(const QItemSelection &,const QItemSelection &))); - model->setSelectionModel (selModel); // Create good old MapEditor MapEditor* me=model->getMapEditor(); if (!me) me=new MapEditor (model); + connect ( + selModel, SIGNAL (selectionChanged(const QItemSelection &, const QItemSelection &)), + me,SLOT (updateSelection(const QItemSelection &,const QItemSelection &))); - me->setSelectionModel (selModel); + // VymModel may want to update selection, e.g. during animation + connect ( + model, SIGNAL (selectionChanged(const QItemSelection &, const QItemSelection &)), + me,SLOT (updateSelection(const QItemSelection &,const QItemSelection &))); + //me->viewport()->setFocus(); //FIXME me->setAntiAlias (actionViewToggleAntiAlias->isOn()); @@ -41,8 +47,10 @@ QItemSelectionModel* VymView::selectionModel() { - if (treeview) return selModel; - else std::cout <<"hey, no treeview so far???\n"; + if (treeview) + return selModel; + else + std::cout <<"VymView::selectionModel: hey, no treeview so far???\n"; return NULL; }