Krita Source Code Documentation
Loading...
Searching...
No Matches
KisColorSelectorComboBoxPrivate Class Reference
+ Inheritance diagram for KisColorSelectorComboBoxPrivate:

Public Member Functions

 KisColorSelectorComboBoxPrivate (QWidget *parent)
 
void setList (int model)
 

Public Attributes

QRect highlightArea
 
int selectorSize
 
int spacing
 

Protected Member Functions

void mouseMoveEvent (QMouseEvent *e) override
 
void mousePressEvent (QMouseEvent *e) override
 
void paintEvent (QPaintEvent *) override
 

Protected Attributes

KisColorSelectorConfiguration m_lastActiveConfiguration
 

Detailed Description

Definition at line 16 of file kis_color_selector_combo_box.cpp.

Constructor & Destructor Documentation

◆ KisColorSelectorComboBoxPrivate()

KisColorSelectorComboBoxPrivate::KisColorSelectorComboBoxPrivate ( QWidget * parent)
inline

Definition at line 22 of file kis_color_selector_combo_box.cpp.

22 :
23 QWidget(parent, Qt::Popup),
24 spacing(20),
25 selectorSize(100),
26 highlightArea(-1,-1,0,0)
27 {
28 setMouseTracking(true);
29
30 QGridLayout* layout = new QGridLayout(this);
31 layout->setSpacing(spacing);
32
42
43
44
51
52
59
66 setList(0);
67
68 for(int i=0; i<this->layout()->count(); i++) {
69 KisColorSelector* item = dynamic_cast<KisColorSelector*>(this->layout()->itemAt(i)->widget());
70 Q_ASSERT(item);
71 if(item!=0) {
72 item->setMaximumSize(selectorSize, selectorSize);
73 item->setMinimumSize(selectorSize, selectorSize);
74 item->setMouseTracking(true);
75 item->setEnabled(false);
76 item->setColor(KoColor(QColor(255,0,0), item->colorSpace()));
77 item->setDisplayBlip(false);
78 }
79 }
80 }
const KoColorSpace * colorSpace() const
void setDisplayBlip(bool disp)
void setColor(const KoColor &color) override

References KisColorSelectorBase::colorSpace(), KisColorSelectorConfiguration::H, KisColorSelectorConfiguration::hsiS, KisColorSelectorConfiguration::hsiSH, KisColorSelectorConfiguration::hslS, KisColorSelectorConfiguration::hslSH, KisColorSelectorConfiguration::hsvS, KisColorSelectorConfiguration::hsvSH, KisColorSelectorConfiguration::hsyS, KisColorSelectorConfiguration::hsySH, KisColorSelectorConfiguration::I, KisColorSelectorConfiguration::IH, KisColorSelectorConfiguration::L, KisColorSelectorConfiguration::LH, KisColorSelectorConfiguration::Ring, selectorSize, KisColorSelector::setColor(), KisColorSelector::setDisplayBlip(), setList(), KisColorSelectorConfiguration::SI, KisColorSelectorConfiguration::SL, KisColorSelectorConfiguration::Slider, spacing, KisColorSelectorConfiguration::Square, KisColorSelectorConfiguration::SV, KisColorSelectorConfiguration::SV2, KisColorSelectorConfiguration::SY, KisColorSelectorConfiguration::Triangle, KisColorSelectorConfiguration::V, KisColorSelectorConfiguration::VH, KisColorSelectorConfiguration::Wheel, KisColorSelectorConfiguration::Y, and KisColorSelectorConfiguration::YH.

Member Function Documentation

◆ mouseMoveEvent()

void KisColorSelectorComboBoxPrivate::mouseMoveEvent ( QMouseEvent * e)
inlineoverrideprotected

Definition at line 120 of file kis_color_selector_combo_box.cpp.

121 {
122 if(rect().contains(e->pos())) {
123 for(int i=0; i<layout()->count(); i++) {
124
125 KisColorSelector* item = dynamic_cast<KisColorSelector*>(layout()->itemAt(i)->widget());
126 Q_ASSERT(item);
127
128
129 if(layout()->itemAt(i)->widget()->isVisible()==true && item->geometry().adjusted(-spacing/2, -spacing/2, spacing/2, spacing/2).contains(e->pos())) {
130 QRect oldArea=highlightArea;
131 highlightArea=item->geometry().adjusted(-spacing/2, -spacing/2, spacing/2, spacing/2);
134 update(oldArea);
135 }
136 }
137 }
138 else {
139 highlightArea.setRect(-1,-1,0,0);
140 }
141 }
KisColorSelectorConfiguration m_lastActiveConfiguration
KisColorSelectorConfiguration configuration() const
bool update(QSpinBox *spinBox)

References KisColorSelector::configuration(), highlightArea, m_lastActiveConfiguration, and spacing.

◆ mousePressEvent()

void KisColorSelectorComboBoxPrivate::mousePressEvent ( QMouseEvent * e)
inlineoverrideprotected

Definition at line 143 of file kis_color_selector_combo_box.cpp.

144 {
145 if(rect().contains(e->pos())) {
146 KisColorSelectorComboBox* parent = dynamic_cast<KisColorSelectorComboBox*>(this->parent());
147 Q_ASSERT(parent);
148 parent->setConfiguration(m_lastActiveConfiguration);
149 //setList(parent->m_model);
150 }
151 //dbgKrita<<"mousepress";
152 hide();
153 e->accept();
154 }
ChildIterator< value_type, is_const > parent(const ChildIterator< value_type, is_const > &it)
Definition KisForest.h:327

References m_lastActiveConfiguration.

◆ paintEvent()

void KisColorSelectorComboBoxPrivate::paintEvent ( QPaintEvent * )
inlineoverrideprotected

Definition at line 113 of file kis_color_selector_combo_box.cpp.

114 {
115 QPainter painter(this);
116 painter.fillRect(0,0,width(), height(), QColor(128,128,128));
117 painter.fillRect(highlightArea, palette().highlight());
118 }
rgba palette[MAX_PALETTE]
Definition palette.c:35

References highlightArea, and palette.

◆ setList()

void KisColorSelectorComboBoxPrivate::setList ( int model)
inline

Definition at line 83 of file kis_color_selector_combo_box.cpp.

83 {
84 for(int i=1; i<layout()->count(); i++) {
85 layout()->itemAt(i)->widget()->hide();
86 }
87
88 if (model==0){
89 for(int i=1; i<9; i++) {
90 layout()->itemAt(i)->widget()->show();
91 }
92 }
93
94 if (model==1){
95 for(int i=9; i<15; i++) {
96 layout()->itemAt(i)->widget()->show();
97 }
98 }
99
100 if (model==2){
101 for(int i=15; i<21; i++) {
102 layout()->itemAt(i)->widget()->show();
103 }
104 }
105
106 if (model==3){
107 for(int i=21; i<layout()->count(); i++) {
108 layout()->itemAt(i)->widget()->show();
109 }
110 }
111 }

Member Data Documentation

◆ highlightArea

QRect KisColorSelectorComboBoxPrivate::highlightArea

Definition at line 20 of file kis_color_selector_combo_box.cpp.

◆ m_lastActiveConfiguration

KisColorSelectorConfiguration KisColorSelectorComboBoxPrivate::m_lastActiveConfiguration
protected

Definition at line 155 of file kis_color_selector_combo_box.cpp.

◆ selectorSize

int KisColorSelectorComboBoxPrivate::selectorSize

Definition at line 19 of file kis_color_selector_combo_box.cpp.

◆ spacing

int KisColorSelectorComboBoxPrivate::spacing

Definition at line 18 of file kis_color_selector_combo_box.cpp.


The documentation for this class was generated from the following file: