treeeditor.cpp
author insilmaril
Fri, 02 Oct 2009 09:40:57 +0000
changeset 801 16a8ef1d82b2
parent 800 959bd133cd1a
child 802 f076fdec767d
permissions -rw-r--r--
using QSortFilterProxy now to enable filtering in TreeEditor
     1 #include "treeeditor.h"
     2 
     3 #include <QAction>
     4 #include <QRegExp>
     5 
     6 #include <iostream>
     7 using namespace std;
     8 
     9 #include "vymmodel.h"
    10 
    11 #include "mysortfilterproxymodel.h"
    12 
    13 ///////////////////////////////////////////////////////////////////////
    14 ///////////////////////////////////////////////////////////////////////
    15 TreeEditor::TreeEditor(VymModel *m)
    16 {
    17 	model=m;
    18 
    19 /*
    20 */
    21 //	MySortFilterProxyModel *proxyModel = new MySortFilterProxyModel(this);	// FIXME-1 trying to use proxy...
    22 	proxyModel = new QSortFilterProxyModel (this);
    23 
    24 //	proxyModel->setDynamicSortFilter (false);
    25 	setModel(proxyModel);
    26 	proxyModel->setSourceModel(model);
    27 //	setModel(model);
    28 
    29 	QAction *a;
    30 	// Shortcuts for navigating with cursor:
    31     a = new QAction(tr( "Select upper object","Tree Editor" ), this);
    32 	a->setStatusTip ( tr( "Select upper object" ));
    33 	a->setShortcut (Qt::Key_Up );
    34 	a->setShortcutContext (Qt::WidgetShortcut);
    35 	addAction (a);
    36     connect( a, SIGNAL( triggered() ), this, SLOT( cursorUp() ) );
    37 
    38     a = new QAction( tr( "Select lower object","Tree Editor" ),this);
    39 	a->setStatusTip (tr( "Select lower object" ));
    40 	a->setShortcut ( Qt::Key_Down );
    41 	a->setShortcutContext (Qt::WidgetShortcut);
    42 	addAction (a);
    43     connect( a, SIGNAL( triggered() ), this, SLOT( cursorDown() ) );
    44 }
    45 
    46 TreeEditor::~TreeEditor()
    47 {
    48 	//cout <<"Destructor TreeEditor for "<<model->getMapName().toStdString()<<endl;
    49 }
    50 
    51 QSortFilterProxyModel* TreeEditor::getProxyModel()
    52 {
    53 	return proxyModel;
    54 }
    55 
    56 void TreeEditor::setSortFilter(QString s)
    57 {
    58 	cout << "TE::setting sortFilter to "<<s.toStdString()<<endl;
    59 	proxyModel->setFilterRegExp(QRegExp(s, Qt::CaseInsensitive));
    60 	proxyModel->setFilterKeyColumn(0);
    61 	proxyModel->setDynamicSortFilter (true);
    62 }
    63 
    64 void TreeEditor::cursorUp()
    65 {
    66 	model->select (indexAbove (model->getSelectedIndex() ));
    67 }
    68 
    69 void TreeEditor::cursorDown()
    70 {
    71 	model->select (indexBelow (model->getSelectedIndex() ));
    72 }
    73