#ifndef PQWIDGETACTION_H
#define PQWIDGETACTION_H

#include <QWidgetAction>
#include "classes/pqwidget.h"

class PQWidgetAction;
class PQWidgetAction : public QWidgetAction {
    Q_OBJECT
    PQ_OBJECT_EX(QWidgetAction)

public:
    Q_INVOKABLE explicit PQWidgetAction(QObject *parent = 0);
    virtual ~PQWidgetAction();

    void changed_pslot();
    void hovered_pslot();
    void toggled_pslot(bool checked);
    void triggered_pslot(bool checked);
    void triggered_pslot();

    PQ_ON_SIGNAL_DECL_START {
        PQ_ON_SIGNAL(changed_pslot());
        PQ_ON_SIGNAL(hovered_pslot());
        PQ_ON_SIGNAL(toggled_pslot(bool));
        PQ_ON_SIGNAL(triggered_pslot(bool));
    } PQ_ON_SIGNAL_DECL_END

};

Q_DECLARE_METATYPE(QWidgetAction*)
Q_DECLARE_METATYPE(PQWidgetAction*)

#endif // PQWIDGETACTION_H
