Krita Source Code Documentation
Loading...
Searching...
No Matches
KisFilterTree Class Reference

#include <kis_filter_selector_widget.h>

+ Inheritance diagram for KisFilterTree:

Public Slots

void slotScrollerStateChanged (QScroller::State state)
 

Public Member Functions

void activateFilter (QModelIndex idx)
 
 KisFilterTree (QWidget *parent)
 
QSize minimumSizeHint () const override
 
void setFilterModel (QAbstractItemModel *model)
 
void setModel (QAbstractItemModel *model) override
 
QSize sizeHint () const override
 

Protected Member Functions

void hideEvent (QHideEvent *event) override
 
void resizeEvent (QResizeEvent *event) override
 
void showEvent (QShowEvent *event) override
 

Private Slots

void update_scroll_area (const QModelIndex &i)
 

Private Attributes

QAbstractItemModel * m_model {nullptr}
 

Detailed Description

Definition at line 62 of file kis_filter_selector_widget.h.

Constructor & Destructor Documentation

◆ KisFilterTree()

KisFilterTree::KisFilterTree ( QWidget * parent)
inline

Definition at line 68 of file kis_filter_selector_widget.h.

68 : QTreeView(parent) {
69 QScroller *scroller = KisKineticScroller::createPreconfiguredScroller(this);
70 if (scroller) {
71 connect(scroller, SIGNAL(stateChanged(QScroller::State)),
72 this, SLOT(slotScrollerStateChanged(QScroller::State)));
73 }
74
75 connect(this, SIGNAL(expanded(QModelIndex)), this, SLOT(update_scroll_area(QModelIndex)));
76 connect(this, SIGNAL(collapsed(QModelIndex)), this, SLOT(update_scroll_area(QModelIndex)));
77 }
connect(this, SIGNAL(optionsChanged()), this, SLOT(saveOptions()))
void slotScrollerStateChanged(QScroller::State state)
void update_scroll_area(const QModelIndex &i)
KRITAWIDGETUTILS_EXPORT QScroller * createPreconfiguredScroller(QAbstractScrollArea *target)

References connect(), KisKineticScroller::createPreconfiguredScroller(), slotScrollerStateChanged(), and update_scroll_area().

Member Function Documentation

◆ activateFilter()

void KisFilterTree::activateFilter ( QModelIndex idx)

Definition at line 347 of file kis_filter_selector_widget.cc.

348{
350 selectionModel()->select(idx, QItemSelectionModel::SelectCurrent);
351 expand(idx);
352 scrollTo(idx);
353 Q_EMIT activated(idx);
354}
void expand(ExpansionStrategy &expansionStrategy, KoUpdater *progressUpdater)
QAbstractItemModel * m_model
void setModel(QAbstractItemModel *model) override

References expand(), m_model, and setModel().

◆ hideEvent()

void KisFilterTree::hideEvent ( QHideEvent * event)
inlineoverrideprotected

Definition at line 120 of file kis_filter_selector_widget.h.

121 {
122 setModel(0);
123 QTreeView::hideEvent(event);
124 }

References setModel().

◆ minimumSizeHint()

QSize KisFilterTree::minimumSizeHint ( ) const
inlineoverride

Definition at line 82 of file kis_filter_selector_widget.h.

83 {
84 return QSize(200, QTreeView::sizeHint().height());
85 }

◆ resizeEvent()

void KisFilterTree::resizeEvent ( QResizeEvent * event)
inlineoverrideprotected

Definition at line 102 of file kis_filter_selector_widget.h.

103 {
104 if (event->size().width() > 10) {
106
107 }
108 else {
109 setModel(0);
110 }
111 QTreeView::resizeEvent(event);
112 }

References m_model, and setModel().

◆ setFilterModel()

void KisFilterTree::setFilterModel ( QAbstractItemModel * model)

Definition at line 341 of file kis_filter_selector_widget.cc.

342{
343 m_model = model;
344
345}

References m_model.

◆ setModel()

void KisFilterTree::setModel ( QAbstractItemModel * model)
inlineoverride

Definition at line 92 of file kis_filter_selector_widget.h.

93 {
94 QTreeView::setModel(model);
95 if (header()->visualIndex(0) != -1) {
96 header()->setSectionResizeMode(0, QHeaderView::ResizeToContents);
97 }
98 }

◆ showEvent()

void KisFilterTree::showEvent ( QShowEvent * event)
inlineoverrideprotected

Definition at line 114 of file kis_filter_selector_widget.h.

115 {
117 QTreeView::showEvent(event);
118 }

References m_model, and setModel().

◆ sizeHint()

QSize KisFilterTree::sizeHint ( ) const
inlineoverride

Definition at line 87 of file kis_filter_selector_widget.h.

88 {
89 return QSize(header()->width(), QTreeView::sizeHint().height());
90 }

◆ slotScrollerStateChanged

void KisFilterTree::slotScrollerStateChanged ( QScroller::State state)
inlineslot

Definition at line 133 of file kis_filter_selector_widget.h.

133{ KisKineticScroller::updateCursor(this, state); }
KRITAWIDGETUTILS_EXPORT void updateCursor(QWidget *source, QScroller::State state)

References KisKineticScroller::updateCursor().

◆ update_scroll_area

void KisFilterTree::update_scroll_area ( const QModelIndex & i)
inlineprivateslot

Definition at line 127 of file kis_filter_selector_widget.h.

128 {
129 resizeColumnToContents(i.column());
130 }

Member Data Documentation

◆ m_model

QAbstractItemModel* KisFilterTree::m_model {nullptr}
private

Definition at line 137 of file kis_filter_selector_widget.h.

137{nullptr};

The documentation for this class was generated from the following files: