#ifndef RADIOPROXYSTYLE_H
#define RADIOPROXYSTYLE_H

#include <QProxyStyle>

#include <QColor>
#include <QMenu>
#include <QPushButton>

class RadioProxystyle : public QProxyStyle
{
    Q_OBJECT
public:
    RadioProxystyle(const QColor &color, QStyle *style = nullptr);


    int pixelMetric(QStyle::PixelMetric metric,
                                  const QStyleOption *option,
                                  const QWidget *widget) const;

    void drawControl(QStyle::ControlElement element,
                     const QStyleOption *option,
                     QPainter *painter,
                     const QWidget *widget) const;

    void drawPrimitive(QStyle::PrimitiveElement element,
                       const QStyleOption *option, QPainter *painter,
                       const QWidget *widget) const;

    QRect subElementRect(SubElement element,
                     const QStyleOption *option,
                     const QWidget *widget) const;

    QSize sizeFromContents(ContentsType ct, const QStyleOption *option,
                                     const QSize &size, const QWidget *widget) const;


private:
    ~RadioProxystyle();

private:
    QColor mColor;
};

#endif // RADIOPROXYSTYLE_H
