| 1 | /****************************************************************************
 | 
|---|
| 2 | ** $Id: metal.h 2 2005-11-16 15:49:26Z dmik $
 | 
|---|
| 3 | **
 | 
|---|
| 4 | ** Definition of the Metal Style for the themes example
 | 
|---|
| 5 | **
 | 
|---|
| 6 | ** Created : 979899
 | 
|---|
| 7 | **
 | 
|---|
| 8 | ** Copyright (C) 1997 by Trolltech AS.  All rights reserved.
 | 
|---|
| 9 | **
 | 
|---|
| 10 | ** This file is part of an example program for Qt.  This example
 | 
|---|
| 11 | ** program may be used, distributed and modified without limitation.
 | 
|---|
| 12 | **
 | 
|---|
| 13 | *****************************************************************************/
 | 
|---|
| 14 | 
 | 
|---|
| 15 | #ifndef METAL_H
 | 
|---|
| 16 | #define METAL_H
 | 
|---|
| 17 | 
 | 
|---|
| 18 | 
 | 
|---|
| 19 | #include <qpalette.h>
 | 
|---|
| 20 | 
 | 
|---|
| 21 | #ifndef QT_NO_STYLE_WINDOWS
 | 
|---|
| 22 | 
 | 
|---|
| 23 | #include <qwindowsstyle.h>
 | 
|---|
| 24 | 
 | 
|---|
| 25 | 
 | 
|---|
| 26 | class MetalStyle : public QWindowsStyle
 | 
|---|
| 27 | {
 | 
|---|
| 28 | public:
 | 
|---|
| 29 |     MetalStyle();
 | 
|---|
| 30 |     void polish( QApplication*);
 | 
|---|
| 31 |     void unPolish( QApplication*);
 | 
|---|
| 32 |     void polish( QWidget* );
 | 
|---|
| 33 |     void unPolish( QWidget* );
 | 
|---|
| 34 | 
 | 
|---|
| 35 |     void drawPrimitive( PrimitiveElement pe,
 | 
|---|
| 36 |                         QPainter *p,
 | 
|---|
| 37 |                         const QRect &r,
 | 
|---|
| 38 |                         const QColorGroup &cg,
 | 
|---|
| 39 |                         SFlags flags = Style_Default,
 | 
|---|
| 40 |                         const QStyleOption& = QStyleOption::Default) const;
 | 
|---|
| 41 | 
 | 
|---|
| 42 |     void drawControl( ControlElement element,
 | 
|---|
| 43 |                       QPainter *p,
 | 
|---|
| 44 |                       const QWidget *widget,
 | 
|---|
| 45 |                       const QRect &r,
 | 
|---|
| 46 |                       const QColorGroup &cg,
 | 
|---|
| 47 |                       SFlags how = Style_Default,
 | 
|---|
| 48 |                       const QStyleOption& = QStyleOption::Default ) const;
 | 
|---|
| 49 | 
 | 
|---|
| 50 |     void drawComplexControl( ComplexControl cc,
 | 
|---|
| 51 |                              QPainter *p,
 | 
|---|
| 52 |                              const QWidget *widget,
 | 
|---|
| 53 |                              const QRect &r,
 | 
|---|
| 54 |                              const QColorGroup &cg,
 | 
|---|
| 55 |                              SFlags how = Style_Default,
 | 
|---|
| 56 |                              SCFlags sub = SC_All,
 | 
|---|
| 57 |                              SCFlags subActive = SC_None,
 | 
|---|
| 58 |                              const QStyleOption& = QStyleOption::Default ) const;
 | 
|---|
| 59 |     int pixelMetric( PixelMetric, const QWidget * ) const;
 | 
|---|
| 60 | 
 | 
|---|
| 61 | 
 | 
|---|
| 62 | private:
 | 
|---|
| 63 |     void drawMetalFrame(  QPainter *p, int x, int y, int w, int h ) const;
 | 
|---|
| 64 |     void drawMetalGradient( QPainter *p, int x, int y, int w, int h,
 | 
|---|
| 65 |                           bool sunken, bool horz, bool flat=FALSE ) const;
 | 
|---|
| 66 |     void drawMetalButton( QPainter *p, int x, int y, int w, int h,
 | 
|---|
| 67 |                           bool sunken, bool horz, bool flat=FALSE ) const;
 | 
|---|
| 68 |     QPalette oldPalette;
 | 
|---|
| 69 | };
 | 
|---|
| 70 | 
 | 
|---|
| 71 | #endif
 | 
|---|
| 72 | 
 | 
|---|
| 73 | #endif
 | 
|---|