Blame style/animations/adwaitaanimations.h

Packit 8e9c33
#ifndef adwaitaanimations_h
Packit 8e9c33
#define adwaitaanimations_h
Packit 8e9c33
Packit 8e9c33
/*************************************************************************
Packit 8e9c33
 * Copyright (C) 2014 by Hugo Pereira Da Costa <hugo.pereira@free.fr>    *
Packit 8e9c33
 *                                                                       *
Packit 8e9c33
 * This program is free software; you can redistribute it and/or modify  *
Packit 8e9c33
 * it under the terms of the GNU General Public License as published by  *
Packit 8e9c33
 * the Free Software Foundation; either version 2 of the License, or     *
Packit 8e9c33
 * (at your option) any later version.                                   *
Packit 8e9c33
 *                                                                       *
Packit 8e9c33
 * This program is distributed in the hope that it will be useful,       *
Packit 8e9c33
 * but WITHOUT ANY WARRANTY; without even the implied warranty of        *
Packit 8e9c33
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
Packit 8e9c33
 * GNU General Public License for more details.                          *
Packit 8e9c33
 *                                                                       *
Packit 8e9c33
 * You should have received a copy of the GNU General Public License     *
Packit 8e9c33
 * along with this program; if not, write to the                         *
Packit 8e9c33
 * Free Software Foundation, Inc.,                                       *
Packit 8e9c33
 * 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA .        *
Packit 8e9c33
 *************************************************************************/
Packit 8e9c33
Packit 8e9c33
#include "adwaitabusyindicatorengine.h"
Packit 8e9c33
#include "adwaitadialengine.h"
Packit 8e9c33
#include "adwaitaheaderviewengine.h"
Packit 8e9c33
#include "adwaitascrollbarengine.h"
Packit 8e9c33
#include "adwaitaspinboxengine.h"
Packit 8e9c33
#include "adwaitastackedwidgetengine.h"
Packit 8e9c33
#include "adwaitatabbarengine.h"
Packit 8e9c33
#include "adwaitatoolboxengine.h"
Packit 8e9c33
#include "adwaitawidgetstateengine.h"
Packit 8e9c33
Packit 8e9c33
#include <QObject>
Packit 8e9c33
#include <QList>
Packit 8e9c33
Packit 8e9c33
namespace Adwaita
Packit 8e9c33
{
Packit 8e9c33
Packit 8e9c33
    //* stores engines
Packit 8e9c33
    class Animations: public QObject
Packit 8e9c33
    {
Packit 8e9c33
Packit 8e9c33
        Q_OBJECT
Packit 8e9c33
Packit 8e9c33
        public:
Packit 8e9c33
Packit 8e9c33
        //* constructor
Packit 8e9c33
        explicit Animations( QObject* );
Packit 8e9c33
Packit 8e9c33
        //* destructor
Packit 8e9c33
        virtual ~Animations( void )
Packit 8e9c33
        {}
Packit 8e9c33
Packit 8e9c33
        //* register animations corresponding to given widget, depending on its type.
Packit 8e9c33
        void registerWidget( QWidget* widget ) const;
Packit 8e9c33
Packit 8e9c33
        /** unregister all animations associated to a widget */
Packit 8e9c33
        void unregisterWidget( QWidget* widget ) const;
Packit 8e9c33
Packit 8e9c33
        //* enability engine
Packit 8e9c33
        WidgetStateEngine& widgetEnabilityEngine( void ) const
Packit 8e9c33
        { return *_widgetEnabilityEngine; }
Packit 8e9c33
Packit 8e9c33
        //* abstractButton engine
Packit 8e9c33
        WidgetStateEngine& widgetStateEngine( void ) const
Packit 8e9c33
        { return *_widgetStateEngine; }
Packit 8e9c33
Packit 8e9c33
        //* editable combobox arrow hover engine
Packit 8e9c33
        WidgetStateEngine& comboBoxEngine( void ) const
Packit 8e9c33
        { return *_comboBoxEngine; }
Packit 8e9c33
Packit 8e9c33
        //! Tool buttons arrow hover engine
Packit 8e9c33
        WidgetStateEngine& toolButtonEngine( void ) const
Packit 8e9c33
        { return *_toolButtonEngine; }
Packit 8e9c33
Packit 8e9c33
        //! item view engine
Packit 8e9c33
        WidgetStateEngine& inputWidgetEngine( void ) const
Packit 8e9c33
        { return *_inputWidgetEngine; }
Packit 8e9c33
Packit 8e9c33
        //* busy indicator
Packit 8e9c33
        BusyIndicatorEngine& busyIndicatorEngine( void ) const
Packit 8e9c33
        { return *_busyIndicatorEngine; }
Packit 8e9c33
Packit 8e9c33
        //* header view engine
Packit 8e9c33
        HeaderViewEngine& headerViewEngine( void ) const
Packit 8e9c33
        { return *_headerViewEngine; }
Packit 8e9c33
Packit 8e9c33
        //* scrollbar engine
Packit 8e9c33
        ScrollBarEngine& scrollBarEngine( void ) const
Packit 8e9c33
        { return *_scrollBarEngine; }
Packit 8e9c33
Packit 8e9c33
        //* dial engine
Packit 8e9c33
        DialEngine& dialEngine( void ) const
Packit 8e9c33
        { return *_dialEngine; }
Packit 8e9c33
Packit 8e9c33
        //* spinbox engine
Packit 8e9c33
        SpinBoxEngine& spinBoxEngine( void ) const
Packit 8e9c33
        { return *_spinBoxEngine; }
Packit 8e9c33
Packit 8e9c33
        //* tabbar
Packit 8e9c33
        TabBarEngine& tabBarEngine( void ) const
Packit 8e9c33
        { return *_tabBarEngine; }
Packit 8e9c33
Packit 8e9c33
        //* toolbox
Packit 8e9c33
        ToolBoxEngine& toolBoxEngine( void ) const
Packit 8e9c33
        { return *_toolBoxEngine; }
Packit 8e9c33
Packit 8e9c33
        //* setup engines
Packit 8e9c33
        void setupEngines( void );
Packit 8e9c33
Packit 8e9c33
        protected Q_SLOTS:
Packit 8e9c33
Packit 8e9c33
        //* enregister engine
Packit 8e9c33
        void unregisterEngine( QObject* );
Packit 8e9c33
        private:
Packit 8e9c33
Packit 8e9c33
        //* register new engine
Packit 8e9c33
        void registerEngine( BaseEngine* engine );
Packit 8e9c33
Packit 8e9c33
        //* busy indicator
Packit 8e9c33
        BusyIndicatorEngine* _busyIndicatorEngine;
Packit 8e9c33
Packit 8e9c33
        //* headerview hover effect
Packit 8e9c33
        HeaderViewEngine* _headerViewEngine;
Packit 8e9c33
Packit 8e9c33
        //* widget enability engine
Packit 8e9c33
        WidgetStateEngine* _widgetEnabilityEngine;
Packit 8e9c33
Packit 8e9c33
        //* abstract button engine
Packit 8e9c33
        WidgetStateEngine* _widgetStateEngine;
Packit 8e9c33
Packit 8e9c33
        //* editable combobox arrow hover effect
Packit 8e9c33
        WidgetStateEngine* _comboBoxEngine;
Packit 8e9c33
Packit 8e9c33
        //! mennu toolbutton arrow hover effect
Packit 8e9c33
        WidgetStateEngine* _toolButtonEngine;
Packit 8e9c33
Packit 8e9c33
        //! item view engine
Packit 8e9c33
        WidgetStateEngine* _inputWidgetEngine;
Packit 8e9c33
Packit 8e9c33
        //* scrollbar engine
Packit 8e9c33
        ScrollBarEngine* _scrollBarEngine;
Packit 8e9c33
Packit 8e9c33
        //* dial engine
Packit 8e9c33
        DialEngine* _dialEngine;
Packit 8e9c33
Packit 8e9c33
        //* spinbox engine
Packit 8e9c33
        SpinBoxEngine* _spinBoxEngine;
Packit 8e9c33
Packit 8e9c33
        //* stacked widget engine
Packit 8e9c33
        StackedWidgetEngine* _stackedWidgetEngine;
Packit 8e9c33
Packit 8e9c33
        //* tabbar engine
Packit 8e9c33
        TabBarEngine* _tabBarEngine;
Packit 8e9c33
Packit 8e9c33
        //* toolbar engine
Packit 8e9c33
        ToolBoxEngine* _toolBoxEngine;
Packit 8e9c33
Packit 8e9c33
        //* keep list of existing engines
Packit 8e9c33
        QList< BaseEngine::Pointer > _engines;
Packit 8e9c33
Packit 8e9c33
    };
Packit 8e9c33
Packit 8e9c33
}
Packit 8e9c33
Packit 8e9c33
#endif