28#include <QStandardItem>
34#define DEFAULT_FILTER_CONTENT "Click&type to filter"
36#define FILTER_HEIGHT 22
39 QTreeView(parent), hideChildren(hideChildren)
41 filterLineEdit =
new QLineEdit(
this);
44 filterExpansionTimer.setSingleShot(
true);
46 setStyleSheet(
"QTreeView{margin-top: " + QString::number(filterLineEdit->height()) +
"px}");
50FilterableTreeView::resizeEvent(QResizeEvent* event)
53 QTreeView::resizeEvent(event);
66 proxyModel->setSourceModel(model);
67 QTreeView::setModel(proxyModel);
69 connect(filterLineEdit,
70 SIGNAL(textChanged(QString)),
72 SLOT(setFilterFixedString(QString)));
73 connect(filterLineEdit,
74 SIGNAL(textChanged(QString)),
77 Qt::QueuedConnection);
84 if (filterStr.length() == 0)
91 filterExpansionTimer.start(500);
#define DEFAULT_FILTER_CONTENT
FilterableTreeView(QWidget *parent=0, bool hideChildren=true)
void setModel(QAbstractItemModel *model) override
static const QString DefaultFilterStr
void expandFilterSelection(QString filterStr)
armarx::InfixFilterModel * getProxyModel() const
void delayedFilterExpansion()
This proxy model reimplements the filterAcceptsRow function with a new behavior: All elements that fi...
static void ExpandFilterResults(QTreeView *treeView)
Expands the treeview that all items that match the filterstring are expanded and directly visible.