Krita Source Code Documentation
Loading...
Searching...
No Matches
kis_layer_filter_widget.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2020 Eoin O 'Neill <eoinoneill1991@gmail.com>
3 * SPDX-FileCopyrightText: 2020 Emmet O 'Neill <emmetoneill.pdx@gmail.com>
4 *
5 * SPDX-License-Identifier: GPL-2.0-or-later
6 */
7#ifndef KISLAYERFILTERWIDGET_H
8#define KISLAYERFILTERWIDGET_H
9
10#include <QWidget>
11#include <QToolButton>
12#include "kis_types.h"
13
14#include "kritaui_export.h"
15
16
17class KRITAUI_EXPORT KisLayerFilterWidget : public QWidget
18{
19 Q_OBJECT
20private:
22 class QLineEdit *textFilter;
24 class QPushButton *resetButton;
25
26public:
27 KisLayerFilterWidget(QWidget *parent = nullptr);
28
29 static void scanUsedColorLabels(KisNodeSP node, QSet<int> &colorLabels);
30 void updateColorLabels(KisNodeSP root);
31
32 bool isCurrentlyFiltering() const;
33 bool hasTextFilter() const;
34 QSet<int> getActiveColors() const;
35 QString getTextFilter() const;
36
37 int getDesiredMinimumWidth() const;
38 int getDesiredMinimumHeight() const;
39
40 void reset();
41
42 QSize sizeHint() const override;
43
44 /* Show Event has to be overridden to
45 * correct for parent QMenu to properly
46 * resize. */
47 void showEvent(QShowEvent *show) override;
48
49Q_SIGNALS:
51
52};
53
54class KRITAUI_EXPORT KisLayerFilterWidgetToolButton : public QToolButton
55{
56 Q_OBJECT
57public:
58 explicit KisLayerFilterWidgetToolButton(QWidget *parent = nullptr);
61
62 void setSelectedColors(QList<int> colors);
63 void setTextFilter(bool isTextFiltering);
64
65
66private:
67 void paintEvent(QPaintEvent *paintEvent) override;
68
69private:
72};
73
74class KRITAUI_EXPORT MouseClickIgnore : public QObject {
75 Q_OBJECT
76public:
77 MouseClickIgnore(QObject *parent = nullptr);
78 bool eventFilter(QObject *obj, QEvent *event) override;
79};
80
81#endif // KISLAYERFILTERWIDGET_H
class QPushButton * resetButton
class KisColorLabelMouseDragFilter * buttonEventFilter
class KisColorLabelFilterGroup * buttonGroup
void filteringOptionsChanged()