9 #include "TreeViewContent.h"
10 #include "TreeViewHeader.h"
11 #include "AbstractTreeModel.h"
21 m_content =
new TreeViewContent(
this);
22 m_header =
new TreeViewHeader(m_content,
this);
23 connect(m_header, SIGNAL(activated()),
this, SIGNAL(activated()));
24 connect(m_content, SIGNAL(treeSelectionChanged()),
25 this, SIGNAL(selectionChanged()));
28 QVBoxLayout *layout =
new QVBoxLayout;
29 layout->addWidget(m_header);
30 layout->addWidget(m_content);
31 layout->setContentsMargins(0, 0, 0, 0);
32 layout->setSpacing(0);
38 TreeView::~TreeView() {
42 QSize TreeView::sizeHint() {
44 return QSize(parentWidget()->width() / 4, parentWidget()->height() / 2);
50 QFont TreeView::getContentFont()
const {
51 return m_content->font();
55 void TreeView::setModel(AbstractTreeModel *someModel) {
57 m_content->setModel(someModel);
59 connect(someModel, SIGNAL(filterProgressChanged(
int)),
60 m_header, SLOT(updateFilterProgress(
int)));
61 connect(someModel, SIGNAL(filterProgressRangeChanged(
int,
int)),
62 m_header, SLOT(updateFilterProgressRange(
int,
int)));
63 connect(someModel, SIGNAL(rebuildProgressChanged(
int)),
64 m_header, SLOT(updateRebuildProgress(
int)));
65 connect(someModel, SIGNAL(rebuildProgressRangeChanged(
int,
int)),
66 m_header, SLOT(updateRebuildProgressRange(
int,
int)));
67 connect(someModel, SIGNAL(filterCountsChanged(
int,
int)),
68 m_header, SLOT(handleFilterCountsChanged(
int,
int)));
70 connect(someModel, SIGNAL(modelModified()),
71 this, SIGNAL(selectionChanged()));
75 AbstractTreeModel *TreeView::getModel()
const {
76 return m_content->getModel();
80 bool TreeView::isActive()
const {
85 QString TreeView::getTitle()
const {
86 return m_header->getText();
90 void TreeView::setTitle(QString someTitle) {
91 m_header->setText(someTitle);
95 void TreeView::deactivate() {
100 m_header->setActive(
false);
105 void TreeView::activate() {
110 m_header->setActive(
true);
115 void TreeView::handleModelSelectionChanged() {
116 m_content->refresh();
120 void TreeView::nullify() {