treeeditor.cpp
author insilmaril
Fri, 02 Oct 2009 13:24:55 +0000
changeset 802 f076fdec767d
parent 801 16a8ef1d82b2
child 804 14f2b1b15242
permissions -rw-r--r--
More fixes for using proxy
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@791
    19
//	MySortFilterProxyModel *proxyModel = new MySortFilterProxyModel(this);	// FIXME-1 trying to use proxy...
insilmaril@800
    20
	proxyModel = new QSortFilterProxyModel (this);
insilmaril@788
    21
insilmaril@801
    22
	setModel(proxyModel);
insilmaril@788
    23
	proxyModel->setSourceModel(model);
insilmaril@788
    24
insilmaril@769
    25
	QAction *a;
insilmaril@769
    26
	// Shortcuts for navigating with cursor:
insilmaril@769
    27
    a = new QAction(tr( "Select upper object","Tree Editor" ), this);
insilmaril@769
    28
	a->setStatusTip ( tr( "Select upper object" ));
insilmaril@769
    29
	a->setShortcut (Qt::Key_Up );
insilmaril@769
    30
	a->setShortcutContext (Qt::WidgetShortcut);
insilmaril@769
    31
	addAction (a);
insilmaril@769
    32
    connect( a, SIGNAL( triggered() ), this, SLOT( cursorUp() ) );
insilmaril@769
    33
insilmaril@769
    34
    a = new QAction( tr( "Select lower object","Tree Editor" ),this);
insilmaril@769
    35
	a->setStatusTip (tr( "Select lower object" ));
insilmaril@769
    36
	a->setShortcut ( Qt::Key_Down );
insilmaril@769
    37
	a->setShortcutContext (Qt::WidgetShortcut);
insilmaril@769
    38
	addAction (a);
insilmaril@769
    39
    connect( a, SIGNAL( triggered() ), this, SLOT( cursorDown() ) );
insilmaril@769
    40
}
insilmaril@769
    41
insilmaril@769
    42
TreeEditor::~TreeEditor()
insilmaril@769
    43
{
insilmaril@769
    44
	//cout <<"Destructor TreeEditor for "<<model->getMapName().toStdString()<<endl;
insilmaril@769
    45
}
insilmaril@769
    46
insilmaril@801
    47
QSortFilterProxyModel* TreeEditor::getProxyModel()
insilmaril@801
    48
{
insilmaril@801
    49
	return proxyModel;
insilmaril@801
    50
}
insilmaril@801
    51
insilmaril@800
    52
void TreeEditor::setSortFilter(QString s)
insilmaril@800
    53
{
insilmaril@800
    54
	cout << "TE::setting sortFilter to "<<s.toStdString()<<endl;
insilmaril@800
    55
	proxyModel->setFilterRegExp(QRegExp(s, Qt::CaseInsensitive));
insilmaril@800
    56
	proxyModel->setFilterKeyColumn(0);
insilmaril@800
    57
	proxyModel->setDynamicSortFilter (true);
insilmaril@800
    58
}
insilmaril@800
    59
insilmaril@769
    60
void TreeEditor::cursorUp()
insilmaril@769
    61
{
insilmaril@769
    62
	model->select (indexAbove (model->getSelectedIndex() ));
insilmaril@769
    63
}
insilmaril@769
    64
insilmaril@769
    65
void TreeEditor::cursorDown()
insilmaril@769
    66
{
insilmaril@769
    67
	model->select (indexBelow (model->getSelectedIndex() ));
insilmaril@769
    68
}
insilmaril@769
    69