File indexing completed on 2024-05-12 05:28:38

0001 //////////////////////////////////////////////////////////////////////////////
0002 // breezestackedwidgetengine.h
0003 // stores event filters and maps widgets to animations
0004 // -------------------
0005 //
0006 // SPDX-FileCopyrightText: 2009 Hugo Pereira Da Costa <hugo.pereira@free.fr>
0007 //
0008 // SPDX-License-Identifier: MIT
0009 //////////////////////////////////////////////////////////////////////////////
0010 
0011 #pragma once
0012 
0013 #include "breezebaseengine.h"
0014 #include "breezedatamap.h"
0015 #include "breezestackedwidgetdata.h"
0016 
0017 namespace Breeze
0018 {
0019 //* used for simple widgets
0020 class StackedWidgetEngine : public BaseEngine
0021 {
0022     Q_OBJECT
0023 
0024 public:
0025     //* constructor
0026     explicit StackedWidgetEngine(QObject *parent)
0027         : BaseEngine(parent)
0028     {
0029     }
0030 
0031     //* register widget
0032     bool registerWidget(QStackedWidget *);
0033 
0034     //* duration
0035     void setEnabled(bool value) override
0036     {
0037         BaseEngine::setEnabled(value);
0038         _data.setEnabled(value);
0039     }
0040 
0041     //* duration
0042     void setDuration(int value) override
0043     {
0044         BaseEngine::setDuration(value);
0045         _data.setDuration(value);
0046     }
0047 
0048 public Q_SLOTS:
0049 
0050     //* remove widget from map
0051     bool unregisterWidget(QObject *object) override
0052     {
0053         return _data.unregisterWidget(object);
0054     }
0055 
0056 private:
0057     //* maps
0058     DataMap<StackedWidgetData> _data;
0059 };
0060 
0061 }