File indexing completed on 2024-05-12 13:38:21

0001 #ifndef oxygenanimationconfigitem_h
0002 #define oxygenanimationconfigitem_h
0003 
0004 //////////////////////////////////////////////////////////////////////////////
0005 // oxygenanimationconfigitem.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 
0016 #include <QAbstractButton>
0017 #include <QWidget>
0018 
0019 class Ui_AnimationConfigItem;
0020 
0021 namespace Oxygen
0022 {
0023 
0024 class OXYGEN_CONFIG_EXPORT AnimationConfigItem : public QWidget
0025 {
0026     Q_OBJECT
0027 
0028 public:
0029     //* constructor
0030     explicit AnimationConfigItem(QWidget *parent, const QString &title = QString(), const QString &description = QString());
0031 
0032     //* destructor
0033     ~AnimationConfigItem(void) override;
0034 
0035     //* title
0036     void setTitle(const QString &);
0037 
0038     //* title
0039     QString title(void) const;
0040 
0041     //* description
0042     void setDescription(const QString &);
0043 
0044     //* description
0045     const QString &description(void) const
0046     {
0047         return _description;
0048     }
0049 
0050     //* enability
0051     void setEnabled(const bool &);
0052 
0053     //* enability
0054     bool enabled(void) const;
0055 
0056     //* config widget
0057     virtual QWidget *configurationWidget(void) const = 0;
0058 
0059     //* initialize config widget
0060     virtual void initializeConfigurationWidget(QWidget *) = 0;
0061 
0062     //* configuration button
0063     QAbstractButton *configurationButton(void) const;
0064 
0065 Q_SIGNALS:
0066 
0067     //* emmited when changed
0068     void changed(void);
0069 
0070 protected Q_SLOTS:
0071 
0072     //* about info
0073     virtual void about(void);
0074 
0075 protected:
0076     //* set configuration widget
0077     virtual void setConfigurationWidget(QWidget *widget);
0078 
0079 private:
0080     //* description
0081     QString _description;
0082 
0083     //* ui
0084     Ui_AnimationConfigItem *ui;
0085 };
0086 }
0087 
0088 #endif