• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • krita API Reference
  • KDE Home
  • Contact Us
 

KritaWidgets

  • sources
  • kfour-appscomplete
  • krita
  • libs
  • widgets
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 <[email protected]>
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 <QFrame>
22 #include <QMenu>
23 #include <QMouseEvent>
24 #include <QDoubleSpinBox>
25 #include <QDesktopWidget>
26 
27 #include <klocalizedstring.h>
28 #include <WidgetsDebug.h>
29 
30 class KoSliderComboContainer : public QMenu
31 {
32 public:
33  KoSliderComboContainer(KoSliderCombo *parent) : QMenu(parent ), m_parent(parent) {}
34 
35 protected:
36  void mousePressEvent(QMouseEvent *e) override;
37 private:
38  KoSliderCombo *m_parent;
39 };
40 
41 void KoSliderComboContainer::mousePressEvent(QMouseEvent *e)
42 {
43  QStyleOptionComboBox opt;
44  opt.init(m_parent);
45  opt.subControls = QStyle::SC_All;
46  opt.activeSubControls = QStyle::SC_ComboBoxArrow;
47  QStyle::SubControl sc = style()->hitTestComplexControl(QStyle::CC_ComboBox, &opt,
48  m_parent->mapFromGlobal(e->globalPos()),
49  m_parent);
50  if (sc == QStyle::SC_ComboBoxArrow)
51  setAttribute(Qt::WA_NoMouseReplay);
52  QMenu::mousePressEvent(e);
53 }
54 
55 class Q_DECL_HIDDEN KoSliderCombo::KoSliderComboPrivate {
56 public:
57  KoSliderCombo *thePublic;
58  QValidator *m_validator;
59  QTimer m_timer;
60  KoSliderComboContainer *container;
61  QSlider *slider;
62  QStyle::StateFlag arrowState;
63  qreal minimum;
64  qreal maximum;
65  int decimals;
66  bool firstShowOfSlider;
67 
68  void showPopup();
69  void hidePopup();
70 
71  void sliderValueChanged(int value);
72  void sliderReleased();
73  void lineEditFinished();
74 };
75 
76 #endif
KoSliderComboPrivate
QTimer
KoSliderComboContainer::mousePressEvent
void mousePressEvent(QMouseEvent *e) override
Definition: KoSliderCombo_p.h:41
KoSliderCombo::m_timer
QTimer m_timer
Definition: KoSliderCombo_p.h:59
KoSliderCombo::decimals
int decimals
Definition: KoSliderCombo_p.h:65
KoSliderComboContainer::KoSliderComboContainer
KoSliderComboContainer(KoSliderCombo *parent)
Definition: KoSliderCombo_p.h:33
QWidget::mapFromGlobal
QPoint mapFromGlobal(const QPoint &pos) const
QMenu
QWidget::setAttribute
void setAttribute(Qt::WidgetAttribute attribute, bool on)
KoSliderComboContainer
Definition: KoSliderCombo_p.h:30
QMouseEvent
QWidget::style
QStyle * style() const
KoSliderCombo::container
KoSliderComboContainer * container
Definition: KoSliderCombo_p.h:60
KoSliderCombo::slider
QSlider * slider
Definition: KoSliderCombo_p.h:61
KoSliderCombo::firstShowOfSlider
bool firstShowOfSlider
Definition: KoSliderCombo_p.h:66
QSlider
QStyle::hitTestComplexControl
virtual SubControl hitTestComplexControl(ComplexControl control, const QStyleOptionComplex *option, const QPoint &position, const QWidget *widget) const=0
KoSliderCombo::thePublic
KoSliderCombo * thePublic
Definition: KoSliderCombo_p.h:57
KoSliderCombo.h
QValidator
KoSliderCombo::maximum
qreal maximum
Definition: KoSliderCombo_p.h:64
WidgetsDebug.h
QMouseEvent::globalPos
const QPoint & globalPos() const
QStyleOption::init
void init(const QWidget *widget)
KoSliderCombo
A widget for qreal values with a popup slider.
Definition: KoSliderCombo.h:28
KoSliderCombo::minimum
qreal minimum
Definition: KoSliderCombo_p.h:63
KoSliderCombo::m_validator
QValidator * m_validator
Definition: KoSliderCombo_p.h:58
QMenu::mousePressEvent
virtual void mousePressEvent(QMouseEvent *e)
QObject::parent
QObject * parent() const
QStyleOptionComboBox
KoSliderCombo::arrowState
QStyle::StateFlag arrowState
Definition: KoSliderCombo_p.h:62
This file is part of the KDE documentation.
Documentation copyright © 1996-2021 The KDE developers.
Generated on Tue Jan 19 2021 23:44:00 by doxygen 1.8.16 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

KritaWidgets

Skip menu "KritaWidgets"
  • Main Page
  • Namespace List
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Related Pages

krita API Reference

Skip menu "krita API Reference"
  • libs
  •   KritaBasicFlakes
  •   brush
  •   KritaUndo2
  •   KritaFlake
  •   image
  •   KritaPlugin
  •   Krita
  •   KritaPigment
  •   KritaResources
  •   KritaStore
  •   ui
  •   KritaWidgets
  •   KritaWidgetUtils
  • plugins
  •   Assitants
  •   Extensions
  •   Filters
  •   Generators
  •   Formats
  •           src
  •   PaintOps
  •     libpaintop

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal