Salome HOME
SMH: Add again in binary mode
[modules/gui.git] / src / Style / SalomeStyle.h
1 #ifndef SALOMESTYLE_H\r
2 #define SALOMESTYLE_H\r
3 \r
4 #define parent_style qwindowsstyle\r
5 #define PARENT_STYLE QWindowsStyle\r
6 \r
7 #define QUOTE(x) #x\r
8 #define PARENT_INC(x) QUOTE(x.h)\r
9 \r
10 //#include PARENT_INC(parent_style)\r
11 #include <qwindowsstyle.h>\r
12 \r
13 #include <qpixmap.h>\r
14 #include <qdockwindow.h>\r
15 #include <qstyleplugin.h>\r
16 \r
17 #if defined SALOMESTYLE_EXPORTS\r
18 #if defined WIN32\r
19 #define SALOMESTYLE_EXPORT _declspec( dllexport )\r
20 #else\r
21 #define SALOMESTYLE_EXPORT  \r
22 #endif\r
23 #else\r
24 #if defined WIN32\r
25 #define SALOMESTYLE_EXPORT _declspec( dllimport )\r
26 #else\r
27 #define SALOMESTYLE_EXPORT  \r
28 #endif\r
29 #endif\r
30 \r
31 class SALOMESTYLE_EXPORT SalomeStyle : public PARENT_STYLE\r
32 {\r
33 public:\r
34   SalomeStyle();\r
35   virtual ~SalomeStyle();\r
36 \r
37   virtual void polish( QWidget* );\r
38 \r
39   virtual bool eventFilter( QObject*, QEvent* );\r
40 \r
41   static void mix( const double, QRgb&, const QRgb& );\r
42   static void mix( const double, QPixmap&, const QColor& );\r
43   static void mix( const double, const QColor&, const QColor&, QColor& );\r
44 \r
45   static void toGrayscale( QPixmap&, double = 1.0 );\r
46 \r
47   virtual void drawPrimitive( PrimitiveElement, QPainter*, const QRect&,\r
48                                                       const QColorGroup&, SFlags = Style_Default,\r
49                               const QStyleOption& = QStyleOption::Default ) const;\r
50 \r
51   virtual void drawControl( ControlElement, QPainter*, const QWidget*,\r
52                             const QRect&, const QColorGroup&, SFlags = Style_Default,\r
53                             const QStyleOption& = QStyleOption::Default ) const; \r
54 \r
55   virtual QRect subRect( SubRect, const QWidget* ) const;\r
56 \r
57   virtual void drawComplexControl( ComplexControl, QPainter*, const QWidget*,\r
58                                    const QRect&, const QColorGroup&, SFlags = Style_Default,\r
59                                    SCFlags = SC_All, SCFlags = SC_None,\r
60                                    const QStyleOption& = QStyleOption::Default ) const;\r
61 \r
62   virtual QPixmap stylePixmap( StylePixmap, const QWidget* = 0,\r
63                                const QStyleOption& = QStyleOption::Default ) const;\r
64 \r
65   virtual int pixelMetric( PixelMetric, const QWidget* widget = 0 ) const;\r
66 \r
67 protected:\r
68   typedef enum { LeftToRight, RightToLeft, UpToDown, DownToUp } Direction;\r
69 \r
70   typedef double (*gradient_func)( double );\r
71 \r
72   void drawGradient( QPainter*, const QRect&,\r
73                      const QColor&, const QColor&,\r
74                      const Direction, gradient_func ) const;\r
75 \r
76 private:\r
77   QWidget* myTitleParent;\r
78 };\r
79 \r
80 class SalomeStylePlugin : public QStylePlugin\r
81 {\r
82 public:\r
83   SalomeStylePlugin();\r
84   virtual ~SalomeStylePlugin();\r
85 \r
86   virtual QStringList keys() const;\r
87   virtual QStyle* create( const QString& );\r
88 };\r
89 \r
90 #endif\r