File indexing completed on 2024-05-05 05:35:32

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