File indexing completed on 2024-05-19 05:35:24

0001 #ifndef oxygensliderdemowidget_h
0002 #define oxygensliderdemowidget_h
0003 
0004 //////////////////////////////////////////////////////////////////////////////
0005 // oxygensliderdemowidget.h
0006 // oxygen sliders demo widget
0007 // -------------------
0008 //
0009 // SPDX-FileCopyrightText: 2010 Hugo Pereira Da Costa <hugo.pereira@free.fr>
0010 //
0011 // SPDX-License-Identifier: MIT
0012 //////////////////////////////////////////////////////////////////////////////
0013 
0014 #include <QCheckBox>
0015 #include <QProgressBar>
0016 #include <QWidget>
0017 
0018 #include "oxygendemowidget.h"
0019 #include "ui_oxygensliderdemowidget.h"
0020 
0021 namespace Oxygen
0022 {
0023 class ProgressBar : public QObject
0024 {
0025     Q_OBJECT
0026 
0027 public:
0028     //* constructor
0029     ProgressBar(QObject *, QProgressBar *, QCheckBox *);
0030 
0031     //* set value
0032     void setValue(int);
0033 
0034 public Q_SLOTS:
0035 
0036     //* toggle invertex appearance
0037     void toggleInvertedAppearance(bool value)
0038     {
0039         _progressBar->setInvertedAppearance(value);
0040     }
0041 
0042 private Q_SLOTS:
0043 
0044     //* toggle bussy state
0045     void toggleBusy(bool);
0046 
0047 private:
0048     //* progressBar
0049     QProgressBar *_progressBar;
0050 
0051     //* checkbox
0052     QCheckBox *_checkBox;
0053 
0054     //* saved value
0055     int _value;
0056 };
0057 
0058 class SliderDemoWidget : public DemoWidget
0059 {
0060     Q_OBJECT
0061 
0062 public:
0063     //* constructor
0064     explicit SliderDemoWidget(QWidget * = nullptr);
0065 
0066 public Q_SLOTS:
0067 
0068     //* benchmark
0069     void benchmark(void);
0070 
0071 private Q_SLOTS:
0072 
0073     void updateSliders(int);
0074 
0075     void updateTickPosition(int);
0076 
0077 private:
0078     bool _locked = false;
0079 
0080     Ui_SliderDemoWidget ui;
0081 
0082     //* progressbars
0083     ProgressBar *_horizontalProgressBar;
0084     ProgressBar *_verticalProgressBar;
0085 };
0086 }
0087 
0088 #endif