File indexing completed on 2024-05-05 05:35:32
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 class OXYGEN_CONFIG_EXPORT GenericAnimationConfigBox : public QFrame 0026 { 0027 Q_OBJECT 0028 0029 public: 0030 //* constructor 0031 explicit GenericAnimationConfigBox(QWidget *); 0032 0033 //* destructor 0034 virtual ~GenericAnimationConfigBox(); 0035 0036 //* duration spin box 0037 QSpinBox *durationSpinBox(void) const; 0038 0039 private: 0040 Ui_GenericAnimationConfigBox *ui = nullptr; 0041 }; 0042 0043 //* generic animation config item 0044 class OXYGEN_CONFIG_EXPORT GenericAnimationConfigItem : public AnimationConfigItem 0045 { 0046 Q_OBJECT 0047 0048 public: 0049 //* constructor 0050 explicit GenericAnimationConfigItem(QWidget *parent, const QString &title = QString(), const QString &description = QString()) 0051 : AnimationConfigItem(parent, title, description) 0052 { 0053 } 0054 0055 //* configure 0056 void initializeConfigurationWidget(QWidget *) override; 0057 0058 //* configuration widget 0059 QWidget *configurationWidget(void) const override 0060 { 0061 return _configurationWidget.data(); 0062 } 0063 0064 //* duration 0065 virtual int duration(void) const 0066 { 0067 return _configurationWidget ? _configurationWidget.data()->durationSpinBox()->value() : 0; 0068 } 0069 0070 public Q_SLOTS: 0071 0072 //* duration 0073 virtual void setDuration(int value) 0074 { 0075 if (_configurationWidget) { 0076 _configurationWidget.data()->durationSpinBox()->setValue(value); 0077 } 0078 } 0079 0080 private: 0081 //* configuration widget 0082 QPointer<GenericAnimationConfigBox> _configurationWidget; 0083 }; 0084 } 0085 0086 #endif