Krita Source Code Documentation
Loading...
Searching...
No Matches
WGColorSelectorDock.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2020 Mathias Wein <lynx.mw+kde@gmail.com>
3 *
4 * SPDX-License-Identifier: GPL-3.0-or-later
5 */
6
7#ifndef WG_COLOR_SELECTOR_DOCKER_H
8#define WG_COLOR_SELECTOR_DOCKER_H
9
10#include "WGConfig.h"
12
13#include <QPointer>
14#include <QDockWidget>
16#include <KisVisualColorModel.h>
17
18#include <KoColor.h>
19
20class KisCanvas2;
27class WGActionManager;
28class WGColorPatches;
32class WGShadeSelector;
33class QBoxLayout;
34class QToolButton;
35class QVariant;
36class QWidgetAction;
37
38class WGColorSelectorDock : public QDockWidget, public KisMainwindowObserver
39{
40 Q_OBJECT
41public:
47
49 const KisVisualColorModel& colorModel() const;
50 KisDisplayColorConverter* displayColorConverter(bool rawPointer = false) const;
52
53 bool selectingBackground() const;
61 void setChannelValues(const QVector4D &values);
62protected:
63 void leaveEvent(QEvent *event) override;
64 void setCanvas(KoCanvasBase *canvas) override;
65 void unsetCanvas() override;
66 void setViewManager(KisViewManager* viewManager) override;
67
69 void updateLayout();
70
71private Q_SLOTS:
74 void slotColorSelected(const KoColor &color);
75 void slotColorSourceToggled(bool selectingBg);
76 void slotColorInteraction(bool active);
77 void slotFGColorUsed(const KoColor&color);
78 void slotSetNewColors();
79 void slotCanvasResourceChanged(int key, const QVariant &value);
80 void slotOpenSettings();
81 void slotShowGamutMaskToolbar(bool show);
82private:
85 // Layouts
86 QBoxLayout *m_mainWidgetLayout {0};
87 QBoxLayout *m_selectorAreaLayout {0};
88 QBoxLayout *m_verticalElementsLayout {0};
89 // Selector Elements
101 QWidgetAction *m_quickSettingAction {0};
103 QToolButton *m_configButton {0};
108 bool m_pendingFgUpdate {false};
109 bool m_pendingBgUpdate {false};
110};
111
112namespace WGConfig {
113 extern const NumericSetting<WGColorSelectorDock::ColorSpaceSource> colorSpaceSource;
114}
115
116#endif // WG_COLOR_SELECTOR_DOCKER_H
float value(const T *src, size_t ch)
The KisMainwindowObserver class is an interface for dock widgets that want to keep track of the main ...
The KisVisualColorModel class allows manipulating a KoColor using various color models.
The KisVisualColorSelector class.
const KoColorSpace * m_customCS
void slotColorSelected(const KoColor &color)
void setViewManager(KisViewManager *viewManager) override
WGQuickSettingsWidget * m_quickSettings
QBoxLayout * m_selectorAreaLayout
KisGamutMaskToolbar * m_gamutToolbar
void slotShowGamutMaskToolbar(bool show)
void slotColorInteraction(bool active)
WGCommonColorSet * m_commonColorSet
WGShadeSelector * m_shadeSelector
KisVisualColorModelSP m_colorModelBG
QWidgetAction * m_quickSettingAction
KisColorSourceToggle * m_toggle
QBoxLayout * m_mainWidgetLayout
void slotColorSourceToggled(bool selectingBg)
WGColorPatches * m_history
void slotFGColorUsed(const KoColor &color)
const KisVisualColorModel & colorModel() const
WGActionManager * m_actionManager
KisSignalCompressor * m_colorChangeCompressor
void leaveEvent(QEvent *event) override
KisVisualColorModelSP m_colorModelFG
void setCanvas(KoCanvasBase *canvas) override
void slotCanvasResourceChanged(int key, const QVariant &value)
KisVisualColorSelector * m_selector
QBoxLayout * m_verticalElementsLayout
KisDisplayColorConverter * displayColorConverter(bool rawPointer=false) const
KisUniqueColorSet * colorHistory() const
void setChannelValues(const QVector4D &values)
Set new channel values; takes effect immediately!
ColorSpaceSource m_CSSource
WGColorPatches * m_commonColors
KisUniqueColorSet * m_colorHistory
WGSelectorDisplayConfigSP m_displayConfig
QPointer< KisCanvas2 > m_canvas
WGColorPreviewToolTip * m_colorTooltip
const NumericSetting< WGColorSelectorDock::ColorSpaceSource > colorSpaceSource