kexi

styleproxy.h
1/* This file is part of the KDE project
2 Copyright (C) 2006 Jaroslaw Staniek <js@iidea.pl>
3
4 This program is free software; you can redistribute it and/or
5 modify it under the terms of the GNU Library General Public
6 License as published by the Free Software Foundation; either
7 version 2 of the License, or (at your option) any later version.
8
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 Library General Public License for more details.
13
14 You should have received a copy of the GNU Library General Public License
15 along with this program; see the file COPYING. If not, write to
16 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17 * Boston, MA 02110-1301, USA.
18*/
19
20#ifndef KEXIUTILS_STYLEPROXY_H
21#define KEXIUTILS_STYLEPROXY_H
22
23#include <tqstyle.h>
24#include <tqstylefactory.h>
25#include <tqpixmap.h>
26
27#include "kexiutils_export.h"
28
29namespace KexiUtils {
30
32
48class KEXIUTILS_EXPORT StyleProxy : public TQStyle
49{
50 public:
54 StyleProxy(TQStyle* parentStyle);
55 virtual ~StyleProxy();
56
57 TQStyle* parentStyle() const;
58 void setParentStyle(TQStyle* style);
59
60 virtual void polish( const TQStyleControlElementData &ceData, ControlElementFlags elementFlags, void *ptr ) { m_style->polish(ceData, elementFlags, ptr); }
61 virtual void unPolish( const TQStyleControlElementData &ceData, ControlElementFlags elementFlags, void *ptr ) { m_style->unPolish(ceData, elementFlags, ptr); }
62
63 virtual void applicationPolish( const TQStyleControlElementData &ceData, ControlElementFlags elementFlags, void *ptr ) { m_style->applicationPolish(ceData, elementFlags, ptr); }
64 virtual void applicationUnPolish( const TQStyleControlElementData &ceData, ControlElementFlags elementFlags, void *ptr ) { m_style->applicationUnPolish(ceData, elementFlags, ptr); }
65
66 virtual void polish( TQPalette &p ) { m_style->polish(p); };
67
68 virtual void polishPopupMenu( const TQStyleControlElementData &ceData, ControlElementFlags elementFlags, void *ptr ) { m_style->polishPopupMenu(ceData, elementFlags, ptr); }
69
70 virtual TQRect itemRect( TQPainter *p, const TQRect &r,
71 int flags, bool enabled, const TQPixmap *pixmap, const TQString &text, int len = -1 ) const
72 {
73 return m_style->itemRect( p, r, flags, enabled, pixmap, text, len );
74 }
75
76 virtual void drawItem( TQPainter *p, const TQRect &r,
77 int flags, const TQColorGroup &g, bool enabled, const TQPixmap *pixmap, const TQString &text,
78 int len = -1, const TQColor *penColor = 0 ) const
79 {
80 m_style->drawItem( p, r, flags, g, enabled, pixmap, text, len, penColor );
81 }
82
83 virtual void drawPrimitive( PrimitiveElement pe,
84 TQPainter *p, const TQStyleControlElementData &ceData, ControlElementFlags elementFlags, const TQRect &r, const TQColorGroup &cg, SFlags flags = Style_Default,
85 const TQStyleOption& option = TQStyleOption::Default ) const
86 {
87 m_style->drawPrimitive( pe, p, ceData, elementFlags, r, cg, flags, option );
88 }
89
90 virtual void drawControl( ControlElement element,
91 TQPainter *p, const TQStyleControlElementData &ceData, ControlElementFlags elementFlags, const TQRect &r, const TQColorGroup &cg,
92 SFlags how = Style_Default, const TQStyleOption& option = TQStyleOption::Default, const TQWidget *widget = 0 ) const
93 {
94 m_style->drawControl( element, p, ceData, elementFlags, r, cg, how, option, widget );
95 }
96
97 virtual void drawControlMask( ControlElement element,
98 TQPainter *p, const TQStyleControlElementData &ceData, ControlElementFlags elementFlags, const TQRect &r,
99 const TQStyleOption& option = TQStyleOption::Default, const TQWidget *widget = 0 ) const
100 {
101 m_style->drawControlMask( element, p, ceData, elementFlags, r, option, widget );
102 }
103
104 virtual TQRect subRect( SubRect r, const TQStyleControlElementData &ceData, const ControlElementFlags elementFlags, const TQWidget *widget = 0 ) const
105 {
106 return m_style->subRect( r, ceData, elementFlags, widget );
107 }
108
109 virtual void drawComplexControl( ComplexControl control,
110 TQPainter *p, const TQStyleControlElementData &ceData, ControlElementFlags elementFlags, const TQRect &r,
111 const TQColorGroup &cg, SFlags how = Style_Default,
112#ifdef TQ_TQDOC
113 SCFlags sub = SC_All,
114#else
115 SCFlags sub = (uint)SC_All,
116#endif
117 SCFlags subActive = SC_None, const TQStyleOption& option = TQStyleOption::Default, const TQWidget *widget = 0 ) const
118 {
119 drawComplexControl( control, p, ceData, elementFlags, r, cg, how, sub, subActive, option, widget );
120 }
121
122 virtual void drawComplexControlMask( ComplexControl control,
123 TQPainter *p, const TQStyleControlElementData &ceData, const ControlElementFlags elementFlags, const TQRect &r,
124 const TQStyleOption& option = TQStyleOption::Default, const TQWidget *widget = 0 ) const
125 {
126 m_style->drawComplexControlMask( control, p, ceData, elementFlags, r, option, widget );
127 }
128
129 virtual TQRect querySubControlMetrics( ComplexControl control,
130 const TQStyleControlElementData &ceData, ControlElementFlags elementFlags, SubControl sc,
131 const TQStyleOption& option = TQStyleOption::Default, const TQWidget *widget = 0 ) const
132 {
133 return m_style->querySubControlMetrics( control, ceData, elementFlags, sc, option, widget );
134 }
135
136 virtual SubControl querySubControl( ComplexControl control,
137 const TQStyleControlElementData &ceData, ControlElementFlags elementFlags, const TQPoint &pos,
138 const TQStyleOption& option = TQStyleOption::Default, const TQWidget *widget = 0 ) const
139 {
140 return m_style->querySubControl( control, ceData, elementFlags, pos, option, widget );
141 }
142
143 virtual int pixelMetric( PixelMetric metric, const TQStyleControlElementData &ceData, ControlElementFlags elementFlags,
144 const TQWidget *widget = 0 ) const
145 {
146 return m_style->pixelMetric( metric, ceData, elementFlags, widget );
147 }
148
149 virtual TQSize sizeFromContents( ContentsType contents,
150 const TQStyleControlElementData &ceData, ControlElementFlags elementFlags, const TQSize &contentsSize,
151 const TQStyleOption& option = TQStyleOption::Default, const TQWidget *widget = 0 ) const
152 {
153 return m_style->sizeFromContents( contents, ceData, elementFlags, contentsSize, option, widget );
154 }
155
156 virtual int styleHint( StyleHint stylehint,
157 const TQStyleControlElementData &ceData, ControlElementFlags elementFlags, const TQStyleOption& option = TQStyleOption::Default,
158 TQStyleHintReturn* returnData = 0, const TQWidget *widget = 0 ) const
159 {
160 return m_style->styleHint( stylehint, ceData, elementFlags, option, returnData, widget );
161 }
162
163 virtual TQPixmap stylePixmap( StylePixmap stylepixmap,
164 const TQStyleControlElementData &ceData, ControlElementFlags elementFlags,
165 const TQStyleOption& option = TQStyleOption::Default, const TQWidget *widget = 0 ) const
166 {
167 return m_style->stylePixmap( stylepixmap, ceData, elementFlags, option, widget );
168 }
169
170 protected:
171 TQStyle *m_style;
172};
173}
174
175#endif
StyleProxy(TQStyle *parentStyle)
General Utils.
Definition identifier.h:27