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
17
class
KRITAUI_EXPORT
KisLayerFilterWidget
:
public
QWidget
18
{
19
Q_OBJECT
20
private
:
21
class
KisColorLabelMouseDragFilter
*
buttonEventFilter
;
22
class
QLineEdit *
textFilter
;
23
class
KisColorLabelFilterGroup
*
buttonGroup
;
24
class
QPushButton *
resetButton
;
25
26
public
:
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
49
Q_SIGNALS:
50
void
filteringOptionsChanged
();
51
52
};
53
54
class
KRITAUI_EXPORT
KisLayerFilterWidgetToolButton
:
public
QToolButton
55
{
56
Q_OBJECT
57
public
:
58
explicit
KisLayerFilterWidgetToolButton
(QWidget *parent =
nullptr
);
59
KisLayerFilterWidgetToolButton
(
const
KisLayerFilterWidgetToolButton
& rhs);
60
~KisLayerFilterWidgetToolButton
(){}
61
62
void
setSelectedColors(
QList<int>
colors);
63
void
setTextFilter(
bool
isTextFiltering);
64
65
66
private
:
67
void
paintEvent(QPaintEvent *paintEvent)
override
;
68
69
private
:
70
bool
m_textFilter
;
71
QList<int>
m_selectedColors
;
72
};
73
74
class
KRITAUI_EXPORT
MouseClickIgnore
:
public
QObject {
75
Q_OBJECT
76
public
:
77
MouseClickIgnore
(QObject *parent =
nullptr
);
78
bool
eventFilter(QObject *obj, QEvent *event)
override
;
79
};
80
81
#endif
// KISLAYERFILTERWIDGET_H
KisColorLabelFilterGroup
Definition
kis_color_label_button.h:48
KisColorLabelMouseDragFilter
Definition
kis_color_label_button.h:77
KisLayerFilterWidgetToolButton
Definition
kis_layer_filter_widget.h:55
KisLayerFilterWidgetToolButton::m_selectedColors
QList< int > m_selectedColors
Definition
kis_layer_filter_widget.h:71
KisLayerFilterWidgetToolButton::~KisLayerFilterWidgetToolButton
~KisLayerFilterWidgetToolButton()
Definition
kis_layer_filter_widget.h:60
KisLayerFilterWidgetToolButton::m_textFilter
bool m_textFilter
Definition
kis_layer_filter_widget.h:70
KisLayerFilterWidget
Definition
kis_layer_filter_widget.h:18
KisLayerFilterWidget::resetButton
class QPushButton * resetButton
Definition
kis_layer_filter_widget.h:24
KisLayerFilterWidget::textFilter
class QLineEdit * textFilter
Definition
kis_layer_filter_widget.h:22
KisLayerFilterWidget::buttonEventFilter
class KisColorLabelMouseDragFilter * buttonEventFilter
Definition
kis_layer_filter_widget.h:21
KisLayerFilterWidget::buttonGroup
class KisColorLabelFilterGroup * buttonGroup
Definition
kis_layer_filter_widget.h:23
KisLayerFilterWidget::filteringOptionsChanged
void filteringOptionsChanged()
KisSharedPtr< KisNode >
MouseClickIgnore
Definition
kis_layer_filter_widget.h:74
QList
Definition
KisQStringListFwd.h:16
kis_types.h
libs
ui
widgets
kis_layer_filter_widget.h
Generated at
2025-11-04 02:30:02+01:00
from
Krita
branch
master
, commit
c9dde2e79561a8aea4a7e8d9ac99c98a7bac9e52