Warning, file /office/calligra/libs/widgets/KoSliderCombo_p.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 /* This file is part of the KDE project
0002    Copyright (c) 2007 C. Boemann <cbo@boemann.dk>
0003 
0004    This library is free software; you can redistribute it and/or
0005    modify it under the terms of the GNU Library General Public
0006    License as published by the Free Software Foundation; either
0007    version 2 of the License, or (at your option) any later version.
0008 
0009    This library is distributed in the hope that it will be useful,
0010    but WITHOUT ANY WARRANTY; without even the implied warranty of
0011    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
0012    Library General Public License for more details.
0013 
0014    You should have received a copy of the GNU Library General Public License
0015    along with this library; see the file COPYING.LIB.  If not, write to
0016    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
0017  * Boston, MA 02110-1301, USA.
0018 */
0019 #ifndef KoSliderCombo_p_h
0020 #define KoSliderCombo_p_h
0021 
0022 #include "KoSliderCombo.h"
0023 
0024 #include <QTimer>
0025 #include <QApplication>
0026 #include <QSize>
0027 #include <QSlider>
0028 #include <QStyle>
0029 #include <QStylePainter>
0030 #include <QStyleOptionSlider>
0031 #include <QLineEdit>
0032 #include <QValidator>
0033 #include <QHBoxLayout>
0034 #include <QFrame>
0035 #include <QMenu>
0036 #include <QMouseEvent>
0037 #include <QDoubleSpinBox>
0038 #include <QDesktopWidget>
0039 
0040 #include <klocalizedstring.h>
0041 #include <WidgetsDebug.h>
0042 
0043 class KoSliderComboContainer : public QMenu
0044 {
0045 Q_OBJECT
0046 public:
0047     KoSliderComboContainer(KoSliderCombo *parent) : QMenu(parent ), m_parent(parent) {}
0048     ~KoSliderComboContainer() override = default;
0049 protected:
0050     void mousePressEvent(QMouseEvent *e) override;
0051 private:
0052     KoSliderCombo *m_parent;
0053 };
0054 
0055 class Q_DECL_HIDDEN KoSliderCombo::KoSliderComboPrivate {
0056 public:
0057     KoSliderCombo *thePublic;
0058     QValidator *m_validator;
0059     QTimer m_timer;
0060     KoSliderComboContainer *container;
0061     QSlider *slider;
0062     QStyle::StateFlag arrowState;
0063     qreal minimum;
0064     qreal maximum;
0065     int decimals;
0066     bool firstShowOfSlider;
0067 
0068     void showPopup();
0069     void hidePopup();
0070 
0071     void sliderValueChanged(int value);
0072     void sliderReleased();
0073     void lineEditFinished();
0074 };
0075 
0076 #endif