Krita Source Code Documentation
Loading...
Searching...
No Matches
kis_paintop_list_widget.cpp
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2004 Boudewijn Rempt (boud@valdyas.org)
3 * SPDX-FileCopyrightText: 2010 Lukáš Tvrdý <lukast.dev@gmail.com>
4 * SPDX-FileCopyrightText: 2011 Silvio Heinrich <plassy@web.de>
5 *
6 * SPDX-License-Identifier: GPL-2.0-or-later
7 */
8
10
11#include <klocalizedstring.h>
12#include <kis_debug.h>
17
18KisPaintOpListWidget::KisPaintOpListWidget(QWidget* parent, const char* name):
20 m_model(new KisSortedPaintOpListModel(this))
21{
22 setObjectName(name);
23 connect(this, SIGNAL(clicked(QModelIndex)), this, SLOT(slotOpActivated(QModelIndex)));
24
26 setItemDelegate(new KisCategorizedItemDelegate(this));
27}
28
32
37
38QString KisPaintOpListWidget::itemAt(int idx) const
39{
40 KisPaintOpInfo info;
41
42 if(m_model->entryAt(info, m_model->index(idx, 0)))
43 return info.id;
44
45 return "";
46}
47
49{
50 return itemAt(currentIndex().row());
51}
52
54{
55 setCurrentIndex(m_model->indexOf(KisPaintOpInfo(op->id())));
56
57}
58
59void KisPaintOpListWidget::setCurrent(const QString& paintOpId)
60{
61 setCurrentIndex(m_model->indexOf(KisPaintOpInfo(paintOpId)));
62}
63
64void KisPaintOpListWidget::slotOpActivated(const QModelIndex& index)
65{
66 Q_EMIT activated(itemAt(index.row()));
67}
68
connect(this, SIGNAL(optionsChanged()), this, SLOT(saveOptions()))
void setModel(QAbstractItemModel *model) override
virtual QString id() const =0
void setCurrent(const KisPaintOpFactory *op)
void activated(const QString &)
void slotOpActivated(const QModelIndex &index)
KisPaintOpListWidget(QWidget *parent=0, const char *name=0)
KisSortedPaintOpListModel * m_model
QString itemAt(int idx) const
void setPaintOpList(const QList< KisPaintOpFactory * > &list)
bool entryAt(Entry_Type &entry, QModelIndex index) const
QModelIndex indexOf(const Entry_Type &entry) const
void fill(const QList< KisPaintOpFactory * > &list)