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