X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FStyle%2FSalomeStyle.h;h=51256a027c192ecc22bae5692b6671cf9c89e488;hb=1e121ed2fda87a3fbf0c4a9b9ff04983bbf8f8da;hp=5ca293fffb5bb1e16c486e3ae083327b81f83be9;hpb=0a95793f74df0a6fa3c1dd563fa72baebe7c6f84;p=modules%2Fgui.git diff --git a/src/Style/SalomeStyle.h b/src/Style/SalomeStyle.h index 5ca293fff..51256a027 100644 --- a/src/Style/SalomeStyle.h +++ b/src/Style/SalomeStyle.h @@ -1,93 +1,93 @@ -#ifndef SALOMESTYLE_H -#define SALOMESTYLE_H - -#define parent_style qwindowsstyle -#define PARENT_STYLE QWindowsStyle - -#define QUOTE(x) #x -#define PARENT_INC(x) QUOTE(x.h) - -//#include PARENT_INC(parent_style) -#include - -#include -#include -#include - -#if defined SALOMESTYLE_EXPORTS -#if defined WIN32 -#define SALOMESTYLE_EXPORT _declspec( dllexport ) -#else -#define SALOMESTYLE_EXPORT -#endif -#else -#if defined WIN32 -#define SALOMESTYLE_EXPORT _declspec( dllimport ) -#else -#define SALOMESTYLE_EXPORT -#endif -#endif - -class QFontMetrics; - -class SALOMESTYLE_EXPORT SalomeStyle : public PARENT_STYLE -{ -public: - SalomeStyle(); - virtual ~SalomeStyle(); - - virtual void polish( QWidget* ); - - virtual bool eventFilter( QObject*, QEvent* ); - - static void mix( const double, QRgb&, const QRgb& ); - static void mix( const double, QPixmap&, const QColor& ); - static void mix( const double, const QColor&, const QColor&, QColor& ); - - static void toGrayscale( QPixmap&, double = 1.0 ); - - virtual void drawPrimitive( PrimitiveElement, QPainter*, const QRect&, - const QColorGroup&, SFlags = Style_Default, - const QStyleOption& = QStyleOption::Default ) const; - - virtual void drawControl( ControlElement, QPainter*, const QWidget*, - const QRect&, const QColorGroup&, SFlags = Style_Default, - const QStyleOption& = QStyleOption::Default ) const; - - virtual QRect subRect( SubRect, const QWidget* ) const; - - virtual void drawComplexControl( ComplexControl, QPainter*, const QWidget*, - const QRect&, const QColorGroup&, SFlags = Style_Default, - SCFlags = SC_All, SCFlags = SC_None, - const QStyleOption& = QStyleOption::Default ) const; - - virtual QPixmap stylePixmap( StylePixmap, const QWidget* = 0, - const QStyleOption& = QStyleOption::Default ) const; - - virtual int pixelMetric( PixelMetric, const QWidget* widget = 0 ) const; - -protected: - typedef enum { LeftToRight, RightToLeft, UpToDown, DownToUp } Direction; - - typedef double (*gradient_func)( double ); - - void drawGradient( QPainter*, const QRect&, const QColor&, - const QColor&, const Direction, gradient_func ) const; - - QString titleText( const QString&, const int, const QFontMetrics& ) const; - -private: - QWidget* myTitleParent; -}; - -class SalomeStylePlugin : public QStylePlugin -{ -public: - SalomeStylePlugin(); - virtual ~SalomeStylePlugin(); - - virtual QStringList keys() const; - virtual QStyle* create( const QString& ); -}; - -#endif +#ifndef SALOMESTYLE_H +#define SALOMESTYLE_H + +#define parent_style qwindowsstyle +#define PARENT_STYLE QWindowsStyle + +#define QUOTE(x) #x +#define PARENT_INC(x) QUOTE(x.h) + +//#include PARENT_INC(parent_style) +#include + +#include +#include +#include + +#if defined SALOMESTYLE_EXPORTS +#if defined WIN32 +#define SALOMESTYLE_EXPORT _declspec( dllexport ) +#else +#define SALOMESTYLE_EXPORT +#endif +#else +#if defined WIN32 +#define SALOMESTYLE_EXPORT _declspec( dllimport ) +#else +#define SALOMESTYLE_EXPORT +#endif +#endif + +class QFontMetrics; + +class SALOMESTYLE_EXPORT SalomeStyle : public PARENT_STYLE +{ +public: + SalomeStyle(); + virtual ~SalomeStyle(); + + virtual void polish( QWidget* ); + + virtual bool eventFilter( QObject*, QEvent* ); + + static void mix( const double, QRgb&, const QRgb& ); + static void mix( const double, QPixmap&, const QColor& ); + static void mix( const double, const QColor&, const QColor&, QColor& ); + + static void toGrayscale( QPixmap&, double = 1.0 ); + + virtual void drawPrimitive( PrimitiveElement, QPainter*, const QRect&, + const QColorGroup&, SFlags = Style_Default, + const QStyleOption& = QStyleOption::Default ) const; + + virtual void drawControl( ControlElement, QPainter*, const QWidget*, + const QRect&, const QColorGroup&, SFlags = Style_Default, + const QStyleOption& = QStyleOption::Default ) const; + + virtual QRect subRect( SubRect, const QWidget* ) const; + + virtual void drawComplexControl( ComplexControl, QPainter*, const QWidget*, + const QRect&, const QColorGroup&, SFlags = Style_Default, + SCFlags = SC_All, SCFlags = SC_None, + const QStyleOption& = QStyleOption::Default ) const; + + virtual QPixmap stylePixmap( StylePixmap, const QWidget* = 0, + const QStyleOption& = QStyleOption::Default ) const; + + virtual int pixelMetric( PixelMetric, const QWidget* widget = 0 ) const; + +protected: + typedef enum { LeftToRight, RightToLeft, UpToDown, DownToUp } Direction; + + typedef double (*gradient_func)( double ); + + void drawGradient( QPainter*, const QRect&, const QColor&, + const QColor&, const Direction, gradient_func ) const; + + QString titleText( const QString&, const int, const QFontMetrics& ) const; + +private: + QWidget* myTitleParent; +}; + +class SalomeStylePlugin : public QStylePlugin +{ +public: + SalomeStylePlugin(); + virtual ~SalomeStylePlugin(); + + virtual QStringList keys() const; + virtual QStyle* create( const QString& ); +}; + +#endif