Krita Source Code Documentation
Loading...
Searching...
No Matches
KisDlgInternalColorSelector.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2016 Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
3 *
4 * SPDX-License-Identifier: GPL-2.0-or-later
5 */
6
7#ifndef KISDLGINTERNALCOLORSELECTOR_H
8#define KISDLGINTERNALCOLORSELECTOR_H
9
10#include "kritawidgets_export.h"
11#include "KoColor.h"
12#include "KoColorSpace.h"
14#include "KoColorSet.h"
15
16#include <QScopedPointer>
17#include <QDialog>
18
20
21class Ui_WdgDlgInternalColorSelector;
22class KoColorPatch;
23
29class KRITAWIDGETS_EXPORT KisDlgInternalColorSelector : public QDialog
30{
31 Q_OBJECT
32
33 static std::function<KisScreenColorSamplerBase *(QWidget *)> s_screenColorSamplerFactory;
34
35public:
36
37 static void setScreenColorSamplerFactory(std::function<KisScreenColorSamplerBase *(QWidget *)> f) {
38 s_screenColorSamplerFactory = f;
39 }
40
41 struct Config
42 {
44 modal(true),
45 visualColorSelector(true),
46 paletteBox(true),
47 screenColorSampler(true),
48 prevNextButtons(true),
49 hexInput(true),
50 useAlpha(false){}
51 bool modal;
58 };
59
60 KisDlgInternalColorSelector(QWidget* parent, KoColor color, Config config, const QString &caption, const KoColorDisplayRendererInterface *displayRenderer = KoDumbColorDisplayRenderer::instance());
62
67 void colorSpaceChanged(const KoColorSpace *cs);
68
74 void lockUsedColorSpace(const KoColorSpace *cs);
75
81 void setDisplayRenderer(const KoColorDisplayRendererInterface *displayRenderer);
82
92 static KoColor getModalColorDialog(const KoColor color, QWidget* parent = 0, QString caption = QString());
93
98 KoColor getCurrentColor();
99
100 void chooseAlpha(bool chooseAlpha);
101
102Q_SIGNALS:
113
114public Q_SLOTS:
122 void slotColorUpdated(KoColor newColor);
123
129 void slotSetColorFromPatch(KoColorPatch* patch);
130
135 void setPreviousColor(KoColor c);
136
137 void reject() override;
138
139private Q_SLOTS:
140
141 void slotSelectorModelChanged();
142 void endUpdateWithNewColor();
143
148 void slotFinishUp();
149
154 void slotSetColorFromHex();
155
156 void slotChangePalette(KoColorSetSP set);
157
158protected:
159 void showEvent(QShowEvent *event) override;
160
161private:
162 void focusInEvent(QFocusEvent *) override;
168 void updateAllElements(QObject *source);
169
170private:
171 Ui_WdgDlgInternalColorSelector *m_ui;
172 struct Private; //The private struct
173 const QScopedPointer<Private> m_d; //the private pointer
174};
175
176#endif // KISDLGINTERNALCOLORSELECTOR_H
KisMagneticGraph::vertex_descriptor source(typename KisMagneticGraph::edge_descriptor e, KisMagneticGraph g)
The KisInternalColorSelector class.
static void setScreenColorSamplerFactory(std::function< KisScreenColorSamplerBase *(QWidget *)> f)
void signalForegroundColorChosen(KoColor color)
signalForegroundColorChosen The most important signal. This will sent out when a color has been chose...
const QScopedPointer< Private > m_d
Ui_WdgDlgInternalColorSelector * m_ui
static KoColorDisplayRendererInterface * instance()