#ifndef GRIFODEBUGDEVICE_H
#define GRIFODEBUGDEVICE_H

#include <QObject>

#include "qgscopedevice.h"

class QToolBar;

class GrifoDebugDevice : public QgScopeDevice
{
    Q_OBJECT

    Q_PROPERTY(bool WoW READ WoW WRITE setWoW)
    Q_PROPERTY(bool fastPowerup READ fastPowerup WRITE setFastPowerup)

    Q_PROPERTY(bool remoteGC READ remoteGC WRITE setRemoteGC)
    Q_PROPERTY(bool softSC READ softSC WRITE setSoftSC)
    Q_PROPERTY(int rawTestPattern READ rawTestPattern WRITE setRawTestPattern)

public:
    GrifoDebugDevice();
    virtual ~GrifoDebugDevice();

    QToolBar* toolBar();


    static GrifoDebugDevice& instance();

    bool WoW() const;
    bool fastPowerup() const;

    bool remoteGC() const;
    bool softSC() const;
    int rawTestPattern() const;

public slots:
    void setWoW(bool wow);
    void setFastPowerup(bool enable);

    void setRemoteGC(bool enable);
    void setSoftSC(bool enable);
    void setRawTestPattern(int patternId);

private:
    class Implementation;
    Implementation& p_;

};

#endif // GRIFODEBUGDEVICE_H
