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
87 KoColor getCurrentColor();
88
89 void chooseAlpha(bool chooseAlpha);
90
91Q_SIGNALS:
102
103public Q_SLOTS:
111 void slotColorUpdated(KoColor newColor);
112
118 void slotSetColorFromPatch(KoColorPatch* patch);
119
124 void setPreviousColor(KoColor c);
125
126 void reject() override;
127
128private Q_SLOTS:
129
130 void slotSelectorModelChanged();
131 void endUpdateWithNewColor();
132
137 void slotFinishUp();
138
143 void slotSetColorFromHex();
144
145 void slotChangePalette(KoColorSetSP set);
146
147protected:
148 void showEvent(QShowEvent *event) override;
149
150private:
151 void focusInEvent(QFocusEvent *) override;
157 void updateAllElements(QObject *source);
158
159private:
160 Ui_WdgDlgInternalColorSelector *m_ui;
161 struct Private; //The private struct
162 const QScopedPointer<Private> m_d; //the private pointer
163};
164
165#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()