Krita Source Code Documentation
Loading...
Searching...
No Matches
KoSliderCombo_p.h
Go to the documentation of this file.
1/* This file is part of the KDE project
2 SPDX-FileCopyrightText: 2007 C. Boemann <cbo@boemann.dk>
3
4 SPDX-License-Identifier: LGPL-2.0-or-later
5*/
6#ifndef KoSliderCombo_p_h
7#define KoSliderCombo_p_h
8
9#include "KoSliderCombo.h"
10
11#include <QTimer>
12#include <QApplication>
13#include <QSize>
14#include <QSlider>
15#include <QStyle>
16#include <QStylePainter>
17#include <QStyleOptionSlider>
18#include <QLineEdit>
19#include <QValidator>
20#include <QHBoxLayout>
21#include <QMenu>
22#include <QMouseEvent>
23#include <QDoubleSpinBox>
24
25#include <klocalizedstring.h>
26#include <WidgetsDebug.h>
27
28class KoSliderComboContainer : public QMenu
29{
30public:
31 KoSliderComboContainer(KoSliderCombo *parent) : QMenu(parent ), m_parent(parent) {}
32
33protected:
34 void mousePressEvent(QMouseEvent *e) override;
35private:
37};
38
40{
41 QStyleOptionComboBox opt;
42 opt.initFrom(m_parent);
43 opt.subControls = QStyle::SC_All;
44 opt.activeSubControls = QStyle::SC_ComboBoxArrow;
45 QStyle::SubControl sc = style()->hitTestComplexControl(QStyle::CC_ComboBox, &opt,
46 m_parent->mapFromGlobal(e->globalPos()),
47 m_parent);
48 if (sc == QStyle::SC_ComboBoxArrow)
49 setAttribute(Qt::WA_NoMouseReplay);
50 QMenu::mousePressEvent(e);
51}
52
53class Q_DECL_HIDDEN KoSliderCombo::KoSliderComboPrivate {
54public:
56 QValidator *m_validator;
57 QTimer m_timer;
59 QSlider *slider;
60 QStyle::StateFlag arrowState;
61 qreal minimum;
62 qreal maximum;
65
66 void showPopup();
67 void hidePopup();
68
72};
73
74#endif
float value(const T *src, size_t ch)
void mousePressEvent(QMouseEvent *e) override
KoSliderComboContainer(KoSliderCombo *parent)
KoSliderCombo * m_parent
A widget for qreal values with a popup slider.
KoSliderCombo * thePublic
QStyle::StateFlag arrowState
void lineEditFinished()
QValidator * m_validator
KoSliderComboContainer * container
void sliderReleased()
void hidePopup()
void sliderValueChanged(int value)
void showPopup()