File indexing completed on 2024-04-21 03:42:08

0001 /*
0002     KmPlot - a math. function plotter for the KDE-Desktop
0003 
0004     SPDX-FileCopyrightText: 2005 Fredrik Edemar <f_edemar@linux.se>
0005     SPDX-FileCopyrightText: 2007  David Saxton <david@bluehaze.org>
0006 
0007     This file is part of the KDE Project.
0008     KmPlot is part of the KDE-EDU Project.
0009 
0010     SPDX-License-Identifier: GPL-2.0-or-later
0011 
0012 */
0013 
0014 #ifndef KSLIDERWINDOW_H
0015 #define KSLIDERWINDOW_H
0016 
0017 #include <QDialog>
0018 #include <QGroupBox>
0019 
0020 class SliderWidget;
0021 class QCloseEvent;
0022 
0023 /** @short Slider window for changing a parameter value */
0024 class KSliderWindow : public QDialog
0025 {
0026     Q_OBJECT
0027 public:
0028     explicit KSliderWindow(QWidget *parent);
0029     virtual ~KSliderWindow();
0030 
0031     double value(int slider);
0032 
0033 Q_SIGNALS:
0034     /// emitted when the window has been closed
0035     void windowClosed();
0036     /// emitted when a slider value changes
0037     void valueChanged();
0038 
0039 protected:
0040     void closeEvent(QCloseEvent *) Q_DECL_OVERRIDE;
0041 
0042     SliderWidget *m_sliders[4];
0043 };
0044 
0045 #include "ui_sliderwidget.h"
0046 
0047 class SliderWidget : public QGroupBox, public Ui::SliderWidget
0048 {
0049     Q_OBJECT
0050 public:
0051     SliderWidget(QWidget *parent, int number);
0052     ~SliderWidget();
0053 
0054     double value();
0055 
0056 Q_SIGNALS:
0057     void valueChanged();
0058 
0059 protected Q_SLOTS:
0060     void updateValue();
0061 
0062 protected:
0063     int m_number;
0064 };
0065 
0066 #endif