2
* Copyright (c) 2009, Benjamin C. Meyer <ben@meyerhome.net>
4
* Redistribution and use in source and binary forms, with or without
5
* modification, are permitted provided that the following conditions
7
* 1. Redistributions of source code must retain the above copyright
8
* notice, this list of conditions and the following disclaimer.
9
* 2. Redistributions in binary form must reproduce the above copyright
10
* notice, this list of conditions and the following disclaimer in the
11
* documentation and/or other materials provided with the distribution.
12
* 3. Neither the name of the Benjamin Meyer nor the names of its contributors
13
* may be used to endorse or promote products derived from this software
14
* without specific prior written permission.
16
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
17
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
20
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
22
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
23
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
24
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
25
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
29
/****************************************************************************
31
** Copyright (c) 2007 Trolltech ASA <info@trolltech.com>
33
** Use, modification and distribution is allowed without limitation,
34
** warranty, liability or support of any kind.
36
****************************************************************************/
38
#ifndef EXPLORERSTYLE_H
39
#define EXPLORERSTYLE_H
41
#include <qwindowsvistastyle.h>
43
class ExplorerStyle : public QWindowsVistaStyle
47
void drawPrimitive(PrimitiveElement element, const QStyleOption *option,
48
QPainter *painter, const QWidget *widget = 0) const;
49
void drawControl(ControlElement element, const QStyleOption *option,
50
QPainter *painter, const QWidget *widget) const;
51
void drawComplexControl(ComplexControl control, const QStyleOptionComplex *option,
52
QPainter *painter, const QWidget *widget) const;
53
QSize sizeFromContents(ContentsType type, const QStyleOption *option,
54
const QSize &size, const QWidget *widget) const;
55
QRect subElementRect(SubElement element, const QStyleOption *option, const QWidget *widget) const;
56
QRect subControlRect(ComplexControl cc, const QStyleOptionComplex *opt,
57
SubControl sc, const QWidget *widget) const;
58
SubControl hitTestComplexControl(ComplexControl control, const QStyleOptionComplex *option,
59
const QPoint &pos, const QWidget *widget = 0) const;
60
QPixmap standardPixmap(StandardPixmap standardPixmap, const QStyleOption *opt,
61
const QWidget *widget = 0) const;
62
int pixelMetric(PixelMetric metric, const QStyleOption *option = 0, const QWidget *widget = 0) const;
63
void polish(QWidget *widget);
64
void unpolish(QWidget *widget);
65
void polish(QPalette pal);
66
void polish(QApplication *app);
67
void unpolish(QApplication *app);
68
QPalette standardPalette();
71
mutable QRect m_currentTopRect; //current toolbar top area size
72
mutable QRect m_currentBottomRect; //current toolbar top area size
75
#endif //EXPLORERSTYLE_H