6#include <QtWidgets/QProxyStyle>
7#include <QtWidgets/QStyleOption>
10#include <imtstyle/IColorPaletteProvider.h>
17class CImtStyle:
public QProxyStyle
21 typedef QProxyStyle BaseClass;
29 static CImtStyle* GetInstance();
31 StyleType GetStyleType()
const;
32 void SetStyleType(StyleType styleType);
33 QByteArray GetActiveDesignSchemaId()
const;
34 void SetActiveDesignSchema(
const IColorPaletteProvider::ColorSchema& schema);
37 virtual void polish(QWidget* widgetPtr)
override;
38 virtual void drawPrimitive(QStyle::PrimitiveElement pe,
const QStyleOption *opt, QPainter *p,
const QWidget *widget =
nullptr)
const override;
39 virtual void drawControl(ControlElement element,
const QStyleOption *option, QPainter *painter,
const QWidget *widget =
nullptr)
const override;
40 virtual QRect subElementRect(SubElement subElement,
const QStyleOption *option,
const QWidget *widget =
nullptr)
const override;
41 virtual QSize sizeFromContents(QStyle::ContentsType type,
const QStyleOption *option,
const QSize &contentsSize,
const QWidget *widget =
nullptr)
const override;
44 class DesignSchemaSetterBlocker
47 explicit DesignSchemaSetterBlocker(CImtStyle& parent);
48 ~DesignSchemaSetterBlocker();
55 virtual void DrawImagingToolsToolButton(
56 const QStyleOptionToolButton* optionPtr,
58 const QWidget* widget =
nullptr)
const;
61 void EnsureStyleSheetApplied(
bool force =
false)
const;
70 IColorPaletteProvider::ColorSchema m_activeColorSchema;
72 StyleType m_styleType;
74 mutable bool m_wasStyleSheetInitialized;
78 Q_DISABLE_COPY(CImtStyle);
80 static CImtStyle* m_instancePtr;