diff -r 7f43b93242aa -r 96402b172173 vymview.cpp --- a/vymview.cpp Mon Oct 06 11:10:20 2008 +0000 +++ b/vymview.cpp Wed Oct 29 17:42:34 2008 +0000 @@ -1,20 +1,29 @@ #include "vymview.h" +#include + #include "mapeditor.h" VymView::VymView(VymModel *model) { // Create TreeView - QTreeView *treeview=new QTreeView; + treeview=new QTreeView; treeview->setModel ((QAbstractItemModel*)model); treeview->setMinimumWidth (350); treeview->setColumnWidth (0,350); + // ItemSelectionModel + selModel=treeview->selectionModel(); + 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); - me->setSelectionModel (treeview->selectionModel() ); + me->setSelectionModel (selModel); //me->viewport()->setFocus(); //FIXME me->setAntiAlias (actionViewToggleAntiAlias->isOn()); @@ -32,8 +41,17 @@ QItemSelectionModel* VymView::selectionModel() { - if (treeview) return treeview->selectionModel(); + if (treeview) return selModel; + else std::cout <<"hey, no treeview so far???\n"; return NULL; } +void VymView::changeSelection (const QItemSelection &newSel, const QItemSelection &delSel) +{ + // FIXME Currently this works only from treeview->ME + treeview->expandAll(); //FIXME only for testing + + ((VymModel*)treeview->model())->select (); +} +