author | leseb <leseb> | 2002-07-02 21:23:40 (UTC) |
---|---|---|
committer | leseb <leseb> | 2002-07-02 21:23:40 (UTC) |
commit | d83f58a1a4a314a3ef8b25dd78432488922a9e31 (patch) (unidiff) | |
tree | 353b815ff13bb34594fa8db4d15233ed6b8c27e4 | |
parent | 2481ac4013794f95c53580f99b4b761142e4ee8f (diff) | |
download | opie-d83f58a1a4a314a3ef8b25dd78432488922a9e31.zip opie-d83f58a1a4a314a3ef8b25dd78432488922a9e31.tar.gz opie-d83f58a1a4a314a3ef8b25dd78432488922a9e31.tar.bz2 |
Fix QToolButton drawing
-rw-r--r-- | noncore/styles/theme/othemestyle.cpp | 8 | ||||
-rw-r--r-- | noncore/styles/theme/othemestyle.h | 6 |
2 files changed, 14 insertions, 0 deletions
diff --git a/noncore/styles/theme/othemestyle.cpp b/noncore/styles/theme/othemestyle.cpp index 61127b8..d97b026 100644 --- a/noncore/styles/theme/othemestyle.cpp +++ b/noncore/styles/theme/othemestyle.cpp | |||
@@ -216,192 +216,200 @@ void OThemeStyle::drawBaseButton( QPainter *p, int x, int y, int w, int h, | |||
216 | } | 216 | } |
217 | p->setPen( oldPen ); | 217 | p->setPen( oldPen ); |
218 | } | 218 | } |
219 | 219 | ||
220 | void OThemeStyle::drawButton( QPainter *p, int x, int y, int w, int h, | 220 | void OThemeStyle::drawButton( QPainter *p, int x, int y, int w, int h, |
221 | const QColorGroup &g, bool sunken, | 221 | const QColorGroup &g, bool sunken, |
222 | const QBrush *fill ) | 222 | const QBrush *fill ) |
223 | { | 223 | { |
224 | drawBaseButton( p, x, y, w, h, g, sunken, roundButton(), sunken ? | 224 | drawBaseButton( p, x, y, w, h, g, sunken, roundButton(), sunken ? |
225 | PushButtonDown : PushButton, fill ); | 225 | PushButtonDown : PushButton, fill ); |
226 | } | 226 | } |
227 | 227 | ||
228 | void OThemeStyle::drawPushButton( QPushButton* btn, QPainter *p ) | 228 | void OThemeStyle::drawPushButton( QPushButton* btn, QPainter *p ) |
229 | { | 229 | { |
230 | bool sunken = btn->isOn() || btn->isDown(); | 230 | bool sunken = btn->isOn() || btn->isDown(); |
231 | int diw = buttonDefaultIndicatorWidth(); | 231 | int diw = buttonDefaultIndicatorWidth(); |
232 | drawBaseButton( p, diw, diw, btn->width() - 2 * diw, btn->height() - 2 * diw, | 232 | drawBaseButton( p, diw, diw, btn->width() - 2 * diw, btn->height() - 2 * diw, |
233 | *colorGroup( btn->colorGroup(), sunken ? PushButtonDown : | 233 | *colorGroup( btn->colorGroup(), sunken ? PushButtonDown : |
234 | PushButton ), sunken, roundButton(), | 234 | PushButton ), sunken, roundButton(), |
235 | sunken ? PushButtonDown : PushButton, NULL ); | 235 | sunken ? PushButtonDown : PushButton, NULL ); |
236 | // TODO if diw, draw fancy default button indicator | 236 | // TODO if diw, draw fancy default button indicator |
237 | } | 237 | } |
238 | 238 | ||
239 | void OThemeStyle::drawBaseMask( QPainter *p, int x, int y, int w, int h, | 239 | void OThemeStyle::drawBaseMask( QPainter *p, int x, int y, int w, int h, |
240 | bool round ) | 240 | bool round ) |
241 | { | 241 | { |
242 | // round edge fills | 242 | // round edge fills |
243 | static const QCOORD btm_left_fill[] = { | 243 | static const QCOORD btm_left_fill[] = { |
244 | 0, 0, 1, 0, 2, 0, 3, 0, 4, 0, 0, 1, 1, 1, 2, 1, 3, 1, 4, 1, | 244 | 0, 0, 1, 0, 2, 0, 3, 0, 4, 0, 0, 1, 1, 1, 2, 1, 3, 1, 4, 1, |
245 | 1, 2, 2, 2, 3, 2, 4, 2, 2, 3, 3, 3, 4, 3, 3, 4, 4, 4 | 245 | 1, 2, 2, 2, 3, 2, 4, 2, 2, 3, 3, 3, 4, 3, 3, 4, 4, 4 |
246 | }; | 246 | }; |
247 | 247 | ||
248 | static const QCOORD btm_right_fill[] = { | 248 | static const QCOORD btm_right_fill[] = { |
249 | 0, 0, 1, 0, 2, 0, 3, 0, 4, 0, 0, 1, 1, 1, 2, 1, 3, 1, 4, | 249 | 0, 0, 1, 0, 2, 0, 3, 0, 4, 0, 0, 1, 1, 1, 2, 1, 3, 1, 4, |
250 | 1, 0, 2, 1, 2, 2, 2, 3, 2, 0, 3, 1, 3, 2, 3, 0, 4, 1, 4 | 250 | 1, 0, 2, 1, 2, 2, 2, 3, 2, 0, 3, 1, 3, 2, 3, 0, 4, 1, 4 |
251 | }; | 251 | }; |
252 | 252 | ||
253 | static const QCOORD top_left_fill[] = { | 253 | static const QCOORD top_left_fill[] = { |
254 | 3, 0, 4, 0, 2, 1, 3, 1, 4, 1, 1, 2, 2, 2, 3, 2, 4, 2, 0, 3, | 254 | 3, 0, 4, 0, 2, 1, 3, 1, 4, 1, 1, 2, 2, 2, 3, 2, 4, 2, 0, 3, |
255 | 1, 3, 2, 3, 3, 3, 4, 3, 0, 4, 1, 4, 2, 4, 3, 4, 4, 4 | 255 | 1, 3, 2, 3, 3, 3, 4, 3, 0, 4, 1, 4, 2, 4, 3, 4, 4, 4 |
256 | }; | 256 | }; |
257 | 257 | ||
258 | static const QCOORD top_right_fill[] = { | 258 | static const QCOORD top_right_fill[] = { |
259 | 0, 0, 1, 0, 0, 1, 1, 1, 2, 1, 0, 2, 1, 2, 2, 2, 3, 2, 0, | 259 | 0, 0, 1, 0, 0, 1, 1, 1, 2, 1, 0, 2, 1, 2, 2, 2, 3, 2, 0, |
260 | 3, 1, 3, 2, 3, 3, 3, 4, 3, 0, 4, 1, 4, 2, 4, 3, 4, 4, 4 | 260 | 3, 1, 3, 2, 3, 3, 3, 4, 3, 0, 4, 1, 4, 2, 4, 3, 4, 4, 4 |
261 | }; | 261 | }; |
262 | 262 | ||
263 | QBrush fillBrush( color1, SolidPattern ); | 263 | QBrush fillBrush( color1, SolidPattern ); |
264 | p->setPen( color1 ); | 264 | p->setPen( color1 ); |
265 | if ( round && w > 19 && h > 19 ) { | 265 | if ( round && w > 19 && h > 19 ) { |
266 | int x2 = x + w - 1; | 266 | int x2 = x + w - 1; |
267 | int y2 = y + h - 1; | 267 | int y2 = y + h - 1; |
268 | QPointArray a( QCOORDARRLEN( top_left_fill ), top_left_fill ); | 268 | QPointArray a( QCOORDARRLEN( top_left_fill ), top_left_fill ); |
269 | a.translate( 1, 1 ); | 269 | a.translate( 1, 1 ); |
270 | p->drawPoints( a ); | 270 | p->drawPoints( a ); |
271 | a.setPoints( QCOORDARRLEN( btm_left_fill ), btm_left_fill ); | 271 | a.setPoints( QCOORDARRLEN( btm_left_fill ), btm_left_fill ); |
272 | a.translate( 1, h - 6 ); | 272 | a.translate( 1, h - 6 ); |
273 | p->drawPoints( a ); | 273 | p->drawPoints( a ); |
274 | a.setPoints( QCOORDARRLEN( top_right_fill ), top_right_fill ); | 274 | a.setPoints( QCOORDARRLEN( top_right_fill ), top_right_fill ); |
275 | a.translate( w - 6, 1 ); | 275 | a.translate( w - 6, 1 ); |
276 | p->drawPoints( a ); | 276 | p->drawPoints( a ); |
277 | a.setPoints( QCOORDARRLEN( btm_right_fill ), btm_right_fill ); | 277 | a.setPoints( QCOORDARRLEN( btm_right_fill ), btm_right_fill ); |
278 | a.translate( w - 6, h - 6 ); | 278 | a.translate( w - 6, h - 6 ); |
279 | p->drawPoints( a ); | 279 | p->drawPoints( a ); |
280 | 280 | ||
281 | p->fillRect( x + 6, y, w - 12, h, fillBrush ); | 281 | p->fillRect( x + 6, y, w - 12, h, fillBrush ); |
282 | p->fillRect( x, y + 6, x + 6, h - 12, fillBrush ); | 282 | p->fillRect( x, y + 6, x + 6, h - 12, fillBrush ); |
283 | p->fillRect( x2 - 6, y + 6, x2, h - 12, fillBrush ); | 283 | p->fillRect( x2 - 6, y + 6, x2, h - 12, fillBrush ); |
284 | p->drawLine( x + 6, y, x2 - 6, y ); | 284 | p->drawLine( x + 6, y, x2 - 6, y ); |
285 | p->drawLine( x + 6, y2, x2 - 6, y2 ); | 285 | p->drawLine( x + 6, y2, x2 - 6, y2 ); |
286 | p->drawLine( x, y + 6, x, y2 - 6 ); | 286 | p->drawLine( x, y + 6, x, y2 - 6 ); |
287 | p->drawLine( x2, y + 6, x2, y2 - 6 ); | 287 | p->drawLine( x2, y + 6, x2, y2 - 6 ); |
288 | 288 | ||
289 | } | 289 | } |
290 | else | 290 | else |
291 | p->fillRect( x, y, w, h, fillBrush ); | 291 | p->fillRect( x, y, w, h, fillBrush ); |
292 | } | 292 | } |
293 | 293 | ||
294 | void OThemeStyle::drawButtonMask( QPainter *p, int x, int y, int w, int h ) | 294 | void OThemeStyle::drawButtonMask( QPainter *p, int x, int y, int w, int h ) |
295 | { | 295 | { |
296 | drawBaseMask( p, x, y, w, h, roundButton() ); | 296 | drawBaseMask( p, x, y, w, h, roundButton() ); |
297 | } | 297 | } |
298 | 298 | ||
299 | void OThemeStyle::drawComboButtonMask( QPainter *p, int x, int y, int w, int h ) | 299 | void OThemeStyle::drawComboButtonMask( QPainter *p, int x, int y, int w, int h ) |
300 | { | 300 | { |
301 | drawBaseMask( p, x, y, w, h, roundComboBox() ); | 301 | drawBaseMask( p, x, y, w, h, roundComboBox() ); |
302 | } | 302 | } |
303 | 303 | ||
304 | void OThemeStyle::drawBevelButton( QPainter *p, int x, int y, int w, int h, | 304 | void OThemeStyle::drawBevelButton( QPainter *p, int x, int y, int w, int h, |
305 | const QColorGroup &g, bool sunken, | 305 | const QColorGroup &g, bool sunken, |
306 | const QBrush * ) | 306 | const QBrush * ) |
307 | { | 307 | { |
308 | WidgetType type = sunken ? BevelDown : Bevel; | 308 | WidgetType type = sunken ? BevelDown : Bevel; |
309 | drawBaseButton( p, x, y, w, h, *colorGroup( g, type ), sunken, false, type ); | 309 | drawBaseButton( p, x, y, w, h, *colorGroup( g, type ), sunken, false, type ); |
310 | } | 310 | } |
311 | 311 | ||
312 | void OThemeStyle::drawToolButton( QPainter *p, int x, int y, int w, int h, | ||
313 | const QColorGroup &g, bool sunken, | ||
314 | const QBrush * ) | ||
315 | { | ||
316 | WidgetType type = sunken ? ToolButtonDown : ToolButton; | ||
317 | drawBaseButton( p, x, y, w, h, *colorGroup( g, type ), sunken, false, type ); | ||
318 | } | ||
319 | |||
312 | #if 0 | 320 | #if 0 |
313 | void OThemeStyle::drawKToolBarButton( QPainter *p, int x, int y, int w, int h, | 321 | void OThemeStyle::drawKToolBarButton( QPainter *p, int x, int y, int w, int h, |
314 | const QColorGroup &g, bool sunken, | 322 | const QColorGroup &g, bool sunken, |
315 | bool raised, bool enabled, bool popup, | 323 | bool raised, bool enabled, bool popup, |
316 | KToolButtonType type, const QString &btext, | 324 | KToolButtonType type, const QString &btext, |
317 | const QPixmap *pixmap, QFont *font, | 325 | const QPixmap *pixmap, QFont *font, |
318 | QWidget * ) | 326 | QWidget * ) |
319 | { | 327 | { |
320 | QFont tmp_font( QString::fromLatin1( "Helvetica" ), 10 ); | 328 | QFont tmp_font( QString::fromLatin1( "Helvetica" ), 10 ); |
321 | if ( font ) | 329 | if ( font ) |
322 | tmp_font = *font; | 330 | tmp_font = *font; |
323 | QFontMetrics fm( tmp_font ); | 331 | QFontMetrics fm( tmp_font ); |
324 | WidgetType widget = sunken ? ToolButtonDown : ToolButton; | 332 | WidgetType widget = sunken ? ToolButtonDown : ToolButton; |
325 | 333 | ||
326 | drawBaseButton( p, x, y, w, h, *colorGroup( g, widget ), sunken, false, | 334 | drawBaseButton( p, x, y, w, h, *colorGroup( g, widget ), sunken, false, |
327 | widget ); | 335 | widget ); |
328 | int dx, dy; | 336 | int dx, dy; |
329 | if ( type == Icon ) { // icon only | 337 | if ( type == Icon ) { // icon only |
330 | if ( pixmap ) { | 338 | if ( pixmap ) { |
331 | dx = ( w - pixmap->width() ) / 2; | 339 | dx = ( w - pixmap->width() ) / 2; |
332 | dy = ( h - pixmap->height() ) / 2; | 340 | dy = ( h - pixmap->height() ) / 2; |
333 | if ( sunken ) { | 341 | if ( sunken ) { |
334 | ++dx; | 342 | ++dx; |
335 | ++dy; | 343 | ++dy; |
336 | } | 344 | } |
337 | p->drawPixmap( x + dx, y + dy, *pixmap ); | 345 | p->drawPixmap( x + dx, y + dy, *pixmap ); |
338 | } | 346 | } |
339 | } | 347 | } |
340 | else if ( type == IconTextRight ) { // icon and text (if any) | 348 | else if ( type == IconTextRight ) { // icon and text (if any) |
341 | if ( pixmap ) { | 349 | if ( pixmap ) { |
342 | dx = 4; | 350 | dx = 4; |
343 | dy = ( h - pixmap->height() ) / 2; | 351 | dy = ( h - pixmap->height() ) / 2; |
344 | if ( sunken ) { | 352 | if ( sunken ) { |
345 | ++dx; | 353 | ++dx; |
346 | ++dy; | 354 | ++dy; |
347 | } | 355 | } |
348 | p->drawPixmap( x + dx, y + dy, *pixmap ); | 356 | p->drawPixmap( x + dx, y + dy, *pixmap ); |
349 | } | 357 | } |
350 | if ( !btext.isNull() ) { | 358 | if ( !btext.isNull() ) { |
351 | int tf = AlignVCenter | AlignLeft; | 359 | int tf = AlignVCenter | AlignLeft; |
352 | if ( pixmap ) | 360 | if ( pixmap ) |
353 | dx = 4 + pixmap->width() + 2; | 361 | dx = 4 + pixmap->width() + 2; |
354 | else | 362 | else |
355 | dx = 4; | 363 | dx = 4; |
356 | dy = 0; | 364 | dy = 0; |
357 | if ( sunken ) { | 365 | if ( sunken ) { |
358 | ++dx; | 366 | ++dx; |
359 | ++dy; | 367 | ++dy; |
360 | } | 368 | } |
361 | if ( font ) | 369 | if ( font ) |
362 | p->setFont( *font ); | 370 | p->setFont( *font ); |
363 | if ( raised ) | 371 | if ( raised ) |
364 | p->setPen( KGlobalSettings::toolBarHighlightColor() ); | 372 | p->setPen( KGlobalSettings::toolBarHighlightColor() ); |
365 | p->drawText( x + dx, y + dy, w - dx, h, tf, btext ); | 373 | p->drawText( x + dx, y + dy, w - dx, h, tf, btext ); |
366 | } | 374 | } |
367 | } | 375 | } |
368 | else if ( type == Text ) { // only text, even if there is a icon | 376 | else if ( type == Text ) { // only text, even if there is a icon |
369 | if ( !btext.isNull() ) { | 377 | if ( !btext.isNull() ) { |
370 | int tf = AlignTop | AlignLeft; | 378 | int tf = AlignTop | AlignLeft; |
371 | if ( !enabled ) | 379 | if ( !enabled ) |
372 | p->setPen( g.dark() ); | 380 | p->setPen( g.dark() ); |
373 | dx = ( w - fm.width( btext ) ) / 2; | 381 | dx = ( w - fm.width( btext ) ) / 2; |
374 | dy = ( h - fm.lineSpacing() ) / 2; | 382 | dy = ( h - fm.lineSpacing() ) / 2; |
375 | if ( sunken ) { | 383 | if ( sunken ) { |
376 | ++dx; | 384 | ++dx; |
377 | ++dy; | 385 | ++dy; |
378 | } | 386 | } |
379 | if ( font ) | 387 | if ( font ) |
380 | p->setFont( *font ); | 388 | p->setFont( *font ); |
381 | if ( raised ) | 389 | if ( raised ) |
382 | p->setPen( KGlobalSettings::toolBarHighlightColor() ); | 390 | p->setPen( KGlobalSettings::toolBarHighlightColor() ); |
383 | p->drawText( x + dx, y + dy, fm.width( btext ), fm.lineSpacing(), tf, btext ); | 391 | p->drawText( x + dx, y + dy, fm.width( btext ), fm.lineSpacing(), tf, btext ); |
384 | } | 392 | } |
385 | } | 393 | } |
386 | else if ( type == IconTextBottom ) { | 394 | else if ( type == IconTextBottom ) { |
387 | if ( pixmap ) { | 395 | if ( pixmap ) { |
388 | dx = ( w - pixmap->width() ) / 2; | 396 | dx = ( w - pixmap->width() ) / 2; |
389 | dy = ( h - fm.lineSpacing() - pixmap->height() ) / 2; | 397 | dy = ( h - fm.lineSpacing() - pixmap->height() ) / 2; |
390 | if ( sunken ) { | 398 | if ( sunken ) { |
391 | ++dx; | 399 | ++dx; |
392 | ++dy; | 400 | ++dy; |
393 | } | 401 | } |
394 | p->drawPixmap( x + dx, y + dy, *pixmap ); | 402 | p->drawPixmap( x + dx, y + dy, *pixmap ); |
395 | } | 403 | } |
396 | if ( !btext.isNull() ) { | 404 | if ( !btext.isNull() ) { |
397 | int tf = AlignBottom | AlignHCenter; | 405 | int tf = AlignBottom | AlignHCenter; |
398 | dx = ( w - fm.width( btext ) ) / 2; | 406 | dx = ( w - fm.width( btext ) ) / 2; |
399 | dy = h - fm.lineSpacing() - 4; | 407 | dy = h - fm.lineSpacing() - 4; |
400 | if ( sunken ) { | 408 | if ( sunken ) { |
401 | ++dx; | 409 | ++dx; |
402 | ++dy; | 410 | ++dy; |
403 | } | 411 | } |
404 | if ( font ) | 412 | if ( font ) |
405 | p->setFont( *font ); | 413 | p->setFont( *font ); |
406 | if ( raised ) | 414 | if ( raised ) |
407 | p->setPen( KGlobalSettings::toolBarHighlightColor() ); | 415 | p->setPen( KGlobalSettings::toolBarHighlightColor() ); |
diff --git a/noncore/styles/theme/othemestyle.h b/noncore/styles/theme/othemestyle.h index 02bec78..52445c4 100644 --- a/noncore/styles/theme/othemestyle.h +++ b/noncore/styles/theme/othemestyle.h | |||
@@ -16,192 +16,198 @@ | |||
16 | Boston, MA 02111-1307, USA. | 16 | Boston, MA 02111-1307, USA. |
17 | */ | 17 | */ |
18 | #ifndef __KTHEMESTYLE_H | 18 | #ifndef __KTHEMESTYLE_H |
19 | #define __KTHEMESTYLE_H | 19 | #define __KTHEMESTYLE_H |
20 | 20 | ||
21 | #include "othemebase.h" | 21 | #include "othemebase.h" |
22 | #include <qwindowdefs.h> | 22 | #include <qwindowdefs.h> |
23 | #include <qobject.h> | 23 | #include <qobject.h> |
24 | #include <qbutton.h> | 24 | #include <qbutton.h> |
25 | #include <qpushbutton.h> | 25 | #include <qpushbutton.h> |
26 | #include <qscrollbar.h> | 26 | #include <qscrollbar.h> |
27 | #include <qstring.h> | 27 | #include <qstring.h> |
28 | 28 | ||
29 | 29 | ||
30 | /** | 30 | /** |
31 | * KDE themed styles. | 31 | * KDE themed styles. |
32 | * | 32 | * |
33 | * It provides methods for | 33 | * It provides methods for |
34 | * drawing most widgets with user-specified borders, highlights, pixmaps, | 34 | * drawing most widgets with user-specified borders, highlights, pixmaps, |
35 | * etc. It also handles various other settings such as scrollbar types, | 35 | * etc. It also handles various other settings such as scrollbar types, |
36 | * rounded buttons, and shading types. For a full list of parameters this | 36 | * rounded buttons, and shading types. For a full list of parameters this |
37 | * class handles refer to the KDE theme configuration documentation. | 37 | * class handles refer to the KDE theme configuration documentation. |
38 | * | 38 | * |
39 | */ | 39 | */ |
40 | 40 | ||
41 | class OThemeStyle: public OThemeBase | 41 | class OThemeStyle: public OThemeBase |
42 | { | 42 | { |
43 | Q_OBJECT | 43 | Q_OBJECT |
44 | public: | 44 | public: |
45 | /** | 45 | /** |
46 | * Construct a new @ref OThemeStyle object. | 46 | * Construct a new @ref OThemeStyle object. |
47 | * | 47 | * |
48 | * @param configFile A KConfig file to use as the theme configuration. | 48 | * @param configFile A KConfig file to use as the theme configuration. |
49 | * Defaults to ~/.kderc. | 49 | * Defaults to ~/.kderc. |
50 | */ | 50 | */ |
51 | OThemeStyle( const QString &configFile = QString::null ); | 51 | OThemeStyle( const QString &configFile = QString::null ); |
52 | ~OThemeStyle(); | 52 | ~OThemeStyle(); |
53 | virtual void polish( QWidget* ); | 53 | virtual void polish( QWidget* ); |
54 | virtual void unPolish( QWidget* ); | 54 | virtual void unPolish( QWidget* ); |
55 | /** | 55 | /** |
56 | * By default this just sets the background brushes to the pixmapped | 56 | * By default this just sets the background brushes to the pixmapped |
57 | * background. | 57 | * background. |
58 | */ | 58 | */ |
59 | virtual void polish( QApplication *app ); | 59 | virtual void polish( QApplication *app ); |
60 | virtual void unPolish( QApplication* ); | 60 | virtual void unPolish( QApplication* ); |
61 | 61 | ||
62 | /// @internal | 62 | /// @internal |
63 | // to make it possible for derived classes to overload this function | 63 | // to make it possible for derived classes to overload this function |
64 | virtual void polish( QPalette& pal ); | 64 | virtual void polish( QPalette& pal ); |
65 | 65 | ||
66 | /** | 66 | /** |
67 | * This is a convenience method for drawing widgets with | 67 | * This is a convenience method for drawing widgets with |
68 | * borders, highlights, pixmaps, colors, etc... | 68 | * borders, highlights, pixmaps, colors, etc... |
69 | * You specify the widget type and it will draw it according to the | 69 | * You specify the widget type and it will draw it according to the |
70 | * config file settings. | 70 | * config file settings. |
71 | * | 71 | * |
72 | * @param p The QPainter to draw on. | 72 | * @param p The QPainter to draw on. |
73 | * @param g The color group to use. | 73 | * @param g The color group to use. |
74 | * @param rounded @p true if the widget is rounded, @p false if rectangular. | 74 | * @param rounded @p true if the widget is rounded, @p false if rectangular. |
75 | * @param type The widget type to paint. | 75 | * @param type The widget type to paint. |
76 | * @param fill An optional fill brush. Currently ignored (the config file | 76 | * @param fill An optional fill brush. Currently ignored (the config file |
77 | * is used instead). | 77 | * is used instead). |
78 | */ | 78 | */ |
79 | virtual void drawBaseButton( QPainter *p, int x, int y, int w, int h, | 79 | virtual void drawBaseButton( QPainter *p, int x, int y, int w, int h, |
80 | const QColorGroup &g, bool sunken = FALSE, | 80 | const QColorGroup &g, bool sunken = FALSE, |
81 | bool rounded = FALSE, WidgetType type = Bevel, | 81 | bool rounded = FALSE, WidgetType type = Bevel, |
82 | const QBrush *fill = 0 ); | 82 | const QBrush *fill = 0 ); |
83 | /** | 83 | /** |
84 | * Draw a mask with for widgets that may be rounded. | 84 | * Draw a mask with for widgets that may be rounded. |
85 | * | 85 | * |
86 | *Currently used | 86 | *Currently used |
87 | * by pushbuttons and comboboxes. | 87 | * by pushbuttons and comboboxes. |
88 | * | 88 | * |
89 | * @param p The QPainter to draw on. | 89 | * @param p The QPainter to draw on. |
90 | * @param rounded @p true if the widget is rounded, @p false if rectangular. | 90 | * @param rounded @p true if the widget is rounded, @p false if rectangular. |
91 | */ | 91 | */ |
92 | virtual void drawBaseMask( QPainter *p, int x, int y, int w, int h, | 92 | virtual void drawBaseMask( QPainter *p, int x, int y, int w, int h, |
93 | bool rounded ); | 93 | bool rounded ); |
94 | /** | 94 | /** |
95 | * Draw a pushbutton. | 95 | * Draw a pushbutton. |
96 | * | 96 | * |
97 | * This calls @ref drawBaseButton() with @p PushButton as the | 97 | * This calls @ref drawBaseButton() with @p PushButton as the |
98 | * widget type. | 98 | * widget type. |
99 | */ | 99 | */ |
100 | virtual void drawButton( QPainter *p, int x, int y, int w, int h, | 100 | virtual void drawButton( QPainter *p, int x, int y, int w, int h, |
101 | const QColorGroup &g, bool sunken = FALSE, | 101 | const QColorGroup &g, bool sunken = FALSE, |
102 | const QBrush *fill = 0 ); | 102 | const QBrush *fill = 0 ); |
103 | /** | 103 | /** |
104 | * Draw a bevel button. | 104 | * Draw a bevel button. |
105 | * | 105 | * |
106 | * This calls @ref drawBaseButton() with Bevel as the | 106 | * This calls @ref drawBaseButton() with Bevel as the |
107 | * widget type. | 107 | * widget type. |
108 | */ | 108 | */ |
109 | virtual void drawBevelButton( QPainter *p, int x, int y, int w, int h, | 109 | virtual void drawBevelButton( QPainter *p, int x, int y, int w, int h, |
110 | const QColorGroup &g, bool sunken = FALSE, | 110 | const QColorGroup &g, bool sunken = FALSE, |
111 | const QBrush *fill = 0 ); | 111 | const QBrush *fill = 0 ); |
112 | /** | ||
113 | * Draw a toolbar button. | ||
114 | */ | ||
115 | virtual void drawToolButton ( QPainter *p, int x, int y, int w, int h, | ||
116 | const QColorGroup &g, bool sunken = FALSE, | ||
117 | const QBrush *fill = 0 ); | ||
112 | #if 0 | 118 | #if 0 |
113 | /** | 119 | /** |
114 | * Draw a toolbar button. | 120 | * Draw a toolbar button. |
115 | */ | 121 | */ |
116 | virtual void drawKToolBarButton( QPainter *p, int x, int y, int w, int h, | 122 | virtual void drawKToolBarButton( QPainter *p, int x, int y, int w, int h, |
117 | const QColorGroup &g, bool sunken = false, | 123 | const QColorGroup &g, bool sunken = false, |
118 | bool raised = true, bool enabled = true, | 124 | bool raised = true, bool enabled = true, |
119 | bool popup = false, KToolButtonType type = Icon, | 125 | bool popup = false, KToolButtonType type = Icon, |
120 | const QString &btext = QString::null, | 126 | const QString &btext = QString::null, |
121 | const QPixmap *icon = NULL, | 127 | const QPixmap *icon = NULL, |
122 | QFont *font = NULL, QWidget *btn = NULL ); | 128 | QFont *font = NULL, QWidget *btn = NULL ); |
123 | /** | 129 | /** |
124 | * Draw the handle used in toolbars. | 130 | * Draw the handle used in toolbars. |
125 | */ | 131 | */ |
126 | void drawKBarHandle( QPainter *p, int x, int y, int w, int h, | 132 | void drawKBarHandle( QPainter *p, int x, int y, int w, int h, |
127 | const QColorGroup &g, | 133 | const QColorGroup &g, |
128 | KToolBarPos type, QBrush *fill = NULL ); | 134 | KToolBarPos type, QBrush *fill = NULL ); |
129 | 135 | ||
130 | /** | 136 | /** |
131 | * Draw a toolbar. | 137 | * Draw a toolbar. |
132 | */ | 138 | */ |
133 | void drawKToolBar( QPainter *p, int x, int y, int w, int h, | 139 | void drawKToolBar( QPainter *p, int x, int y, int w, int h, |
134 | const QColorGroup &g, KToolBarPos type, | 140 | const QColorGroup &g, KToolBarPos type, |
135 | QBrush *fill = NULL ); | 141 | QBrush *fill = NULL ); |
136 | #endif | 142 | #endif |
137 | /** | 143 | /** |
138 | * Return the space available in a pushbutton, taking configurable | 144 | * Return the space available in a pushbutton, taking configurable |
139 | * borders and highlights into account. | 145 | * borders and highlights into account. |
140 | */ | 146 | */ |
141 | virtual QRect buttonRect( int x, int y, int w, int h ); | 147 | virtual QRect buttonRect( int x, int y, int w, int h ); |
142 | /** | 148 | /** |
143 | * Draw an arrow in the style specified by the config file. | 149 | * Draw an arrow in the style specified by the config file. |
144 | */ | 150 | */ |
145 | virtual void drawArrow( QPainter *p, Qt::ArrowType type, bool down, | 151 | virtual void drawArrow( QPainter *p, Qt::ArrowType type, bool down, |
146 | int x, int y, int w, int h, const QColorGroup &g, | 152 | int x, int y, int w, int h, const QColorGroup &g, |
147 | bool enabled = true, const QBrush *fill = 0 ); | 153 | bool enabled = true, const QBrush *fill = 0 ); |
148 | /** | 154 | /** |
149 | * Return the size of the exclusive indicator pixmap if one is specified | 155 | * Return the size of the exclusive indicator pixmap if one is specified |
150 | * in the config file, otherwise it uses the base style's size. | 156 | * in the config file, otherwise it uses the base style's size. |
151 | */ | 157 | */ |
152 | virtual QSize exclusiveIndicatorSize() const; | 158 | virtual QSize exclusiveIndicatorSize() const; |
153 | /** | 159 | /** |
154 | * Draw an exclusive indicator widget. | 160 | * Draw an exclusive indicator widget. |
155 | * | 161 | * |
156 | * If a pixmap is specified in the | 162 | * If a pixmap is specified in the |
157 | * config file that is used, otherwise the base style's widget is drawn. | 163 | * config file that is used, otherwise the base style's widget is drawn. |
158 | */ | 164 | */ |
159 | virtual void drawExclusiveIndicator( QPainter* p, int x, int y, int w, | 165 | virtual void drawExclusiveIndicator( QPainter* p, int x, int y, int w, |
160 | int h, const QColorGroup &g, bool on, | 166 | int h, const QColorGroup &g, bool on, |
161 | bool down = FALSE, | 167 | bool down = FALSE, |
162 | bool enabled = TRUE ); | 168 | bool enabled = TRUE ); |
163 | /** | 169 | /** |
164 | * Set the mask of an exclusive indicator widget. | 170 | * Set the mask of an exclusive indicator widget. |
165 | * | 171 | * |
166 | * If a pixmap is specified | 172 | * If a pixmap is specified |
167 | * it is masked according to it's transparent pixels, otherwise the | 173 | * it is masked according to it's transparent pixels, otherwise the |
168 | * base style's mask is used. | 174 | * base style's mask is used. |
169 | */ | 175 | */ |
170 | virtual void drawExclusiveIndicatorMask( QPainter *p, int x, int y, int w, | 176 | virtual void drawExclusiveIndicatorMask( QPainter *p, int x, int y, int w, |
171 | int h, bool on ); | 177 | int h, bool on ); |
172 | /** | 178 | /** |
173 | * Set the mask of an indicator widget. | 179 | * Set the mask of an indicator widget. |
174 | * | 180 | * |
175 | * If a pixmap is specified | 181 | * If a pixmap is specified |
176 | * it is masked according to it's transparent pixels, otherwise the | 182 | * it is masked according to it's transparent pixels, otherwise the |
177 | * base style's mask is used. | 183 | * base style's mask is used. |
178 | */ | 184 | */ |
179 | virtual void drawIndicatorMask( QPainter *p, int x, int y, int w, int h, | 185 | virtual void drawIndicatorMask( QPainter *p, int x, int y, int w, int h, |
180 | int state ); | 186 | int state ); |
181 | /** | 187 | /** |
182 | * Set the mask for pushbuttons. | 188 | * Set the mask for pushbuttons. |
183 | */ | 189 | */ |
184 | virtual void drawButtonMask( QPainter *p, int x, int y, int w, int h ); | 190 | virtual void drawButtonMask( QPainter *p, int x, int y, int w, int h ); |
185 | /** | 191 | /** |
186 | * Set the mask for combo boxes. | 192 | * Set the mask for combo boxes. |
187 | */ | 193 | */ |
188 | virtual void drawComboButtonMask( QPainter *p, int x, int y, int w, int h ); | 194 | virtual void drawComboButtonMask( QPainter *p, int x, int y, int w, int h ); |
189 | /** | 195 | /** |
190 | * Return the size of the indicator pixmap if one is specified | 196 | * Return the size of the indicator pixmap if one is specified |
191 | * in the config file, otherwise it uses the base style's size. | 197 | * in the config file, otherwise it uses the base style's size. |
192 | */ | 198 | */ |
193 | virtual QSize indicatorSize() const; | 199 | virtual QSize indicatorSize() const; |
194 | /** | 200 | /** |
195 | * Draw an indicator widget. | 201 | * Draw an indicator widget. |
196 | * | 202 | * |
197 | * If a pixmap is specified in the | 203 | * If a pixmap is specified in the |
198 | * config file that is used, otherwise the base style's widget is drawn. | 204 | * config file that is used, otherwise the base style's widget is drawn. |
199 | */ | 205 | */ |
200 | virtual void drawIndicator( QPainter* p, int x, int y, int w, int h, | 206 | virtual void drawIndicator( QPainter* p, int x, int y, int w, int h, |
201 | const QColorGroup &g, int state, | 207 | const QColorGroup &g, int state, |
202 | bool down = FALSE, bool enabled = TRUE ); | 208 | bool down = FALSE, bool enabled = TRUE ); |
203 | /** | 209 | /** |
204 | * Draw a combobox. | 210 | * Draw a combobox. |
205 | */ | 211 | */ |
206 | virtual void drawComboButton( QPainter *p, int x, int y, int w, int h, | 212 | virtual void drawComboButton( QPainter *p, int x, int y, int w, int h, |
207 | const QColorGroup &g, bool sunken = FALSE, | 213 | const QColorGroup &g, bool sunken = FALSE, |