File indexing completed on 2024-05-12 09:37:33
0001 #ifndef oxygengenericanimationconfigitem_h 0002 #define oxygengenericanimationconfigitem_h 0003 0004 ////////////////////////////////////////////////////////////////////////////// 0005 // oxygengenericanimationconfigitem.h 0006 // animation configuration item 0007 // ------------------- 0008 // 0009 // SPDX-FileCopyrightText: 2010 Hugo Pereira Da Costa <hugo.pereira@free.fr> 0010 // 0011 // SPDX-License-Identifier: MIT 0012 ////////////////////////////////////////////////////////////////////////////// 0013 0014 #include "oxygen_config_export.h" 0015 #include "oxygenanimationconfigitem.h" 0016 0017 #include <QFrame> 0018 #include <QPointer> 0019 #include <QSpinBox> 0020 0021 class Ui_GenericAnimationConfigBox; 0022 0023 namespace Oxygen 0024 { 0025 0026 class OXYGEN_CONFIG_EXPORT GenericAnimationConfigBox : public QFrame 0027 { 0028 Q_OBJECT 0029 0030 public: 0031 //* constructor 0032 explicit GenericAnimationConfigBox(QWidget *); 0033 0034 //* destructor 0035 virtual ~GenericAnimationConfigBox(); 0036 0037 //* duration spin box 0038 QSpinBox *durationSpinBox(void) const; 0039 0040 private: 0041 Ui_GenericAnimationConfigBox *ui = nullptr; 0042 }; 0043 0044 //* generic animation config item 0045 class OXYGEN_CONFIG_EXPORT GenericAnimationConfigItem : public AnimationConfigItem 0046 { 0047 Q_OBJECT 0048 0049 public: 0050 //* constructor 0051 explicit GenericAnimationConfigItem(QWidget *parent, const QString &title = QString(), const QString &description = QString()) 0052 : AnimationConfigItem(parent, title, description) 0053 { 0054 } 0055 0056 //* configure 0057 void initializeConfigurationWidget(QWidget *) override; 0058 0059 //* configuration widget 0060 QWidget *configurationWidget(void) const override 0061 { 0062 return _configurationWidget.data(); 0063 } 0064 0065 //* duration 0066 virtual int duration(void) const 0067 { 0068 return _configurationWidget ? _configurationWidget.data()->durationSpinBox()->value() : 0; 0069 } 0070 0071 public Q_SLOTS: 0072 0073 //* duration 0074 virtual void setDuration(int value) 0075 { 0076 if (_configurationWidget) { 0077 _configurationWidget.data()->durationSpinBox()->setValue(value); 0078 } 0079 } 0080 0081 private: 0082 //* configuration widget 0083 QPointer<GenericAnimationConfigBox> _configurationWidget; 0084 }; 0085 } 0086 0087 #endif