source: vendor/trolltech/current/src/kernel/qstyle.cpp

Last change on this file was 2, checked in by dmik, 20 years ago

Imported xplatform parts of the official release 3.3.1 from Trolltech

  • Property svn:keywords set to Id
File size: 66.3 KB
Line 
1/****************************************************************************
2** $Id: qstyle.cpp 2 2005-11-16 15:49:26Z dmik $
3**
4** Implementation of QStyle class
5**
6** Created : 981231
7**
8** Copyright (C) 1998-2002 Trolltech AS. All rights reserved.
9**
10** This file is part of the kernel module of the Qt GUI Toolkit.
11**
12** This file may be distributed under the terms of the Q Public License
13** as defined by Trolltech AS of Norway and appearing in the file
14** LICENSE.QPL included in the packaging of this file.
15**
16** This file may be distributed and/or modified under the terms of the
17** GNU General Public License version 2 as published by the Free Software
18** Foundation and appearing in the file LICENSE.GPL included in the
19** packaging of this file.
20**
21** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition
22** licenses may use this file in accordance with the Qt Commercial License
23** Agreement provided with the Software.
24**
25** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
26** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
27**
28** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
29** information about Qt Commercial License Agreements.
30** See http://www.trolltech.com/qpl/ for QPL licensing information.
31** See http://www.trolltech.com/gpl/ for GPL licensing information.
32**
33** Contact info@trolltech.com if any conditions of this licensing are
34** not clear to you.
35**
36**********************************************************************/
37
38#include "qstyle.h"
39#ifndef QT_NO_STYLE
40#include "qapplication.h"
41#include "qpainter.h"
42#include "qbitmap.h"
43#include "qpixmapcache.h"
44
45#include <limits.h>
46
47
48class QStylePrivate
49{
50public:
51 QStylePrivate()
52 {
53 }
54};
55
56/*!
57 \class QStyleOption qstyle.h
58 \brief The QStyleOption class specifies optional parameters for QStyle functions.
59 \ingroup appearance
60
61 Some QStyle functions take an optional argument specifying extra
62 information that is required for a paritical primitive or control.
63 So that the QStyle class can be extended, QStyleOption is used to
64 provide a variable-argument for these options.
65
66 The QStyleOption class has constructors for each type of optional
67 argument, and this set of constructors may be extended in future
68 Qt releases. There are also corresponding access functions that
69 return the optional arguments: these too may be extended.
70
71 For each constructor, you should refer to the documentation of the
72 QStyle functions to see the meaning of the arguments.
73
74 When calling QStyle functions from your own widgets, you must only
75 pass the default QStyleOption or the argument that QStyle is
76 documented to accept. For example, if the function expects
77 QStyleOption(QMenuItem *, int), passing QStyleOption(QMenuItem *)
78 leaves the optional integer argument uninitialized.
79
80 When subclassing QStyle, you must similarly only expect the
81 default or documented arguments. The other arguments will have
82 uninitialized values.
83
84 If you make your own QStyle subclasses and your own widgets, you
85 can make a subclass of QStyleOption to pass additional arguments
86 to your QStyle subclass. You will need to cast the "const
87 QStyleOption&" argument to your subclass, so be sure your style
88 has been called from your widget.
89*/
90
91/*!
92 \enum QStyleOption::StyleOptionDefault
93
94 This enum value can be passed as the optional argument to any
95 QStyle function.
96
97 \value Default
98*/
99
100/*!
101 \fn QStyleOption::QStyleOption(StyleOptionDefault)
102
103 The default option. This can always be passed as the optional
104 argument to QStyle functions.
105*/
106
107/*!
108 \fn QStyleOption::QStyleOption(int)
109
110 Pass one integer, \a in1. For example, headerSection.
111*/
112
113/*!
114 \fn QStyleOption::QStyleOption(int, int)
115
116 Pass two integers, \a in1 and \a in2. For example, linewidth and
117 midlinewidth.
118*/
119
120/*!
121 \fn QStyleOption::QStyleOption(int, int, int, int)
122
123 Pass four integers, \a in1, \a in2, \a in3 and \a in4.
124*/
125
126/*!
127 \fn QStyleOption::QStyleOption(QMenuItem*)
128
129 Pass a menu item, \a m.
130*/
131
132/*!
133 \fn QStyleOption::QStyleOption(QMenuItem*, int)
134
135 Pass a menu item and an integer, \a m and \a in1.
136*/
137
138/*!
139 \fn QStyleOption::QStyleOption(QMenuItem*, int, int)
140
141 Pass a menu item and two integers, \a m, \a in1 and \a in2.
142*/
143
144/*!
145 \fn QStyleOption::QStyleOption(const QColor&)
146
147 Pass a color, \a c.
148*/
149
150/*!
151 \fn QStyleOption::QStyleOption(QTab*)
152
153 Pass a QTab, \a t.
154*/
155
156/*!
157 \fn QStyleOption::QStyleOption(QListViewItem*)
158
159 Pass a QListViewItem, \a i.
160*/
161
162/*!
163 \fn QStyleOption::QStyleOption(Qt::ArrowType)
164
165 Pass an Qt::ArrowType, \a a.
166*/
167
168/*!
169 \fn QStyleOption::QStyleOption(QCheckListItem* i)
170
171 Pass a QCheckListItem, \a i.
172*/
173
174/*!
175 \fn QStyleOption::QStyleOption( const QRect &r )
176
177 Pass a QRect, \a r.
178*/
179
180/*!
181 \fn QStyleOption::QStyleOption( QWidget *w )
182
183 Pass a QWidget, \a w.
184*/
185
186/*!
187 \fn bool QStyleOption::isDefault() const
188
189 Returns TRUE if the option was constructed with the default
190 constructor; otherwise returns FALSE.
191*/
192
193/*!
194 \fn int QStyleOption::day() const
195
196 Returns the index of the day in the month if the appropriate
197 constructor was called; otherwise the return value is undefined.
198*/
199
200/*!
201 \fn int QStyleOption::lineWidth() const
202
203 Returns the line width if the appropriate constructor was called;
204 otherwise the return value is undefined.
205*/
206
207/*!
208 \fn int QStyleOption::midLineWidth() const
209
210 Returns the mid-line width if the appropriate constructor was
211 called; otherwise the return value is undefined.
212*/
213
214/*!
215 \fn int QStyleOption::frameShape() const
216
217 Returns a QFrame::Shape value if the appropriate constructor was
218 called; otherwise the return value is undefined.
219*/
220
221/*!
222 \fn int QStyleOption::frameShadow() const
223
224 Returns a QFrame::Shadow value if the appropriate constructor was
225 called; otherwise the return value is undefined.
226*/
227
228/*!
229 \fn QMenuItem* QStyleOption::menuItem() const
230
231 Returns a menu item if the appropriate constructor was called;
232 otherwise the return value is undefined.
233*/
234
235/*!
236 \fn int QStyleOption::maxIconWidth() const
237
238 Returns the maximum width of the menu item check area if the
239 appropriate constructor was called; otherwise the return value is
240 undefined.
241*/
242
243/*!
244 \fn int QStyleOption::tabWidth() const
245
246 Returns the tab indent width if the appropriate constructor was
247 called; otherwise the return value is undefined.
248*/
249
250/*!
251 \fn int QStyleOption::headerSection() const
252
253 Returns the header section if the appropriate constructor was
254 called; otherwise the return value is undefined.
255*/
256
257/*!
258 \fn const QColor& QStyleOption::color() const
259
260 Returns a color if the appropriate constructor was called;
261 otherwise the return value is undefined.
262*/
263
264/*!
265 \fn QTab* QStyleOption::tab() const
266
267 Returns a QTabBar tab if the appropriate constructor was called;
268 otherwise the return value is undefined.
269*/
270
271/*!
272 \fn QListViewItem* QStyleOption::listViewItem() const
273
274 Returns a QListView item if the appropriate constructor was
275 called; otherwise the return value is undefined.
276*/
277
278/*!
279 \fn Qt::ArrowType QStyleOption::arrowType() const
280
281 Returns an arrow type if the appropriate constructor was called;
282 otherwise the return value is undefined.
283*/
284
285/*!
286 \fn QCheckListItem* QStyleOption::checkListItem() const
287
288 Returns a check list item if the appropriate constructor was
289 called; otherwise the return value is undefined.
290*/
291
292/*!
293 \fn QRect QStyleOption::rect() const
294
295 Returns a rectangle if the appropriate constructor was called;
296 otherwise the return value is undefined.
297*/
298
299/*!
300 \fn QWidget* QStyleOption::widget() const
301
302 Returns a pointer to a widget if the appropriate constructor was called;
303 otherwise the return value is undefined.
304*/
305
306/*!
307 \class QStyle qstyle.h
308 \brief The QStyle class specifies the look and feel of a GUI.
309 \ingroup appearance
310
311 A large number of GUI elements are common to many widgets. The
312 QStyle class allows the look of these elements to be modified
313 across all widgets that use the QStyle functions. It also
314 provides two feel options: Motif and Windows.
315
316 Although it is not possible to fully enumerate the look of
317 graphical elements and the feel of widgets in a GUI, QStyle
318 provides a considerable amount of control and customisability.
319
320 In Qt 1.x the look and feel option for widgets was specified by a
321 single value: the GUIStyle. Starting with Qt 2.0, this notion was
322 expanded to allow the look to be specified by virtual drawing
323 functions.
324
325 Derived classes may reimplement some or all of the drawing
326 functions to modify the look of all widgets that use those
327 functions.
328
329 Languages written from right to left (such as Arabic and Hebrew)
330 usually also mirror the whole layout of widgets. If you design a
331 style, you should take special care when drawing asymmetric
332 elements to make sure that they also look correct in a mirrored
333 layout. You can start your application with \c -reverse to check
334 the mirrored layout. Also notice, that for a reversed layout, the
335 light usually comes from top right instead of top left.
336
337 The actual reverse layout is performed automatically when
338 possible. However, for the sake of flexibility, the translation
339 cannot be performed everywhere. The documentation for each
340 function in the QStyle API states whether the function
341 expects/returns logical or screen coordinates. Using logical
342 coordinates (in ComplexControls, for example) provides great
343 flexibility in controlling the look of a widget. Use visualRect()
344 when necessary to translate logical coordinates into screen
345 coordinates for drawing.
346
347 In Qt versions prior to 3.0, if you wanted a low level route into
348 changing the appearance of a widget, you would reimplement
349 polish(). With the new 3.0 style engine the recommended approach
350 is to reimplement the draw functions, for example drawItem(),
351 drawPrimitive(), drawControl(), drawControlMask(),
352 drawComplexControl() and drawComplexControlMask(). Each of these
353 functions is called with a range of parameters that provide
354 information that you can use to determine how to draw them, e.g.
355 style flags, rectangle, color group, etc.
356
357 For information on changing elements of an existing style or
358 creating your own style see the \link customstyles.html Style
359 overview\endlink.
360
361 Styles can also be created as \link plugins-howto.html
362 plugins\endlink.
363*/
364
365/*!
366 \enum Qt::GUIStyle
367
368 \obsolete
369
370 \value WindowsStyle
371 \value MotifStyle
372 \value MacStyle
373 \value Win3Style
374 \value PMStyle
375*/
376
377/*!
378 \enum Qt::UIEffect
379
380 \value UI_General
381 \value UI_AnimateMenu
382 \value UI_FadeMenu
383 \value UI_AnimateCombo
384 \value UI_AnimateTooltip
385 \value UI_FadeTooltip
386 \value UI_AnimateToolBox Reserved
387*/
388
389/*!
390 Constructs a QStyle.
391*/
392QStyle::QStyle()
393{
394 d = new QStylePrivate;
395}
396
397/*!
398 Destroys the style and frees all allocated resources.
399*/
400QStyle::~QStyle()
401{
402 delete d;
403 d = 0;
404}
405
406/*
407 \fn GUIStyle QStyle::guiStyle() const
408 \obsolete
409
410 Returns an indicator to the additional "feel" component of a
411 style. Current supported values are Qt::WindowsStyle and Qt::MotifStyle.
412*/
413
414
415
416/*!
417 Initializes the appearance of a widget.
418
419 This function is called for every widget at some point after it
420 has been fully created but just \e before it is shown the very
421 first time.
422
423 Reasonable actions in this function might be to call
424 QWidget::setBackgroundMode() for the widget. An example of highly
425 unreasonable use would be setting the geometry! Reimplementing
426 this function gives you a back-door through which you can change
427 the appearance of a widget. With Qt 3.0's style engine you will
428 rarely need to write your own polish(); instead reimplement
429 drawItem(), drawPrimitive(), etc.
430
431 The QWidget::inherits() function may provide enough information to
432 allow class-specific customizations. But be careful not to
433 hard-code things too much because new QStyle subclasses are
434 expected to work reasonably with all current and \e future
435 widgets.
436
437 \sa unPolish()
438*/
439void QStyle::polish( QWidget*)
440{
441}
442
443/*!
444 Undoes the initialization of a widget's appearance.
445
446 This function is the counterpart to polish. It is called for every
447 polished widget when the style is dynamically changed. The former
448 style has to unpolish its settings before the new style can polish
449 them again.
450
451 \sa polish()
452*/
453void QStyle::unPolish( QWidget*)
454{
455}
456
457
458/*!
459 \overload
460
461 Late initialization of the QApplication object.
462
463 \sa unPolish()
464*/
465void QStyle::polish( QApplication*)
466{
467}
468
469/*!
470 \overload
471
472 Undoes the application polish.
473
474 \sa polish()
475*/
476void QStyle::unPolish( QApplication*)
477{
478}
479
480/*!
481 \overload
482
483 The style may have certain requirements for color palettes. In
484 this function it has the chance to change the palette according to
485 these requirements.
486
487 \sa QPalette, QApplication::setPalette()
488*/
489void QStyle::polish( QPalette&)
490{
491}
492
493/*!
494 Polishes the popup menu according to the GUI style. This usually
495 means setting the mouse tracking
496 (\l{QPopupMenu::setMouseTracking()}) and whether the menu is
497 checkable by default (\l{QPopupMenu::setCheckable()}).
498*/
499void QStyle::polishPopupMenu( QPopupMenu *)
500{
501}
502
503/*!
504 Returns the appropriate area (see below) within rectangle \a r in
505 which to draw the \a text or \a pixmap using painter \a p. If \a
506 len is -1 (the default) all the \a text is drawn; otherwise only
507 the first \a len characters of \a text are drawn. The text is
508 aligned in accordance with the alignment \a flags (see
509 \l{Qt::AlignmentFlags}). The \a enabled bool indicates whether or
510 not the item is enabled.
511
512 If \a r is larger than the area needed to render the \a text the
513 rectangle that is returned will be offset within \a r in
514 accordance with the alignment \a flags. For example if \a flags is
515 \c AlignCenter the returned rectangle will be centered within \a
516 r. If \a r is smaller than the area needed the rectangle that is
517 returned will be \e larger than \a r (the smallest rectangle large
518 enough to render the \a text or \a pixmap).
519
520 By default, if both the text and the pixmap are not null, the
521 pixmap is drawn and the text is ignored.
522*/
523QRect QStyle::itemRect( QPainter *p, const QRect &r,
524 int flags, bool enabled, const QPixmap *pixmap,
525 const QString& text, int len ) const
526{
527 QRect result;
528 int x = r.x();
529 int y = r.y();
530 int w = r.width();
531 int h = r.height();
532 GUIStyle gs = (GUIStyle)styleHint( SH_GUIStyle );
533
534 if ( pixmap ) {
535 if ( (flags & Qt::AlignVCenter) == Qt::AlignVCenter )
536 y += h/2 - pixmap->height()/2;
537 else if ( (flags & Qt::AlignBottom) == Qt::AlignBottom)
538 y += h - pixmap->height();
539 if ( (flags & Qt::AlignRight) == Qt::AlignRight )
540 x += w - pixmap->width();
541 else if ( (flags & Qt::AlignHCenter) == Qt::AlignHCenter )
542 x += w/2 - pixmap->width()/2;
543 else if ( (flags & Qt::AlignLeft) != Qt::AlignLeft && QApplication::reverseLayout() )
544 x += w - pixmap->width();
545 result = QRect(x, y, pixmap->width(), pixmap->height());
546 } else if ( !text.isNull() && p ) {
547 result = p->boundingRect( x, y, w, h, flags, text, len );
548 if ( gs == Qt::WindowsStyle && !enabled ) {
549 result.setWidth(result.width()+1);
550 result.setHeight(result.height()+1);
551 }
552 } else {
553 result = QRect(x, y, w, h);
554 }
555
556 return result;
557}
558
559
560/*!
561 Draws the \a text or \a pixmap in rectangle \a r using painter \a
562 p and color group \a g. The pen color is specified with \a
563 penColor. The \a enabled bool indicates whether or not the item is
564 enabled; when reimplementing this bool should influence how the
565 item is drawn. If \a len is -1 (the default) all the \a text is
566 drawn; otherwise only the first \a len characters of \a text are
567 drawn. The text is aligned and wrapped according to the alignment
568 \a flags (see \l{Qt::AlignmentFlags}).
569
570 By default, if both the text and the pixmap are not null, the
571 pixmap is drawn and the text is ignored.
572*/
573void QStyle::drawItem( QPainter *p, const QRect &r,
574 int flags, const QColorGroup &g, bool enabled,
575 const QPixmap *pixmap, const QString& text, int len,
576 const QColor* penColor ) const
577{
578 int x = r.x();
579 int y = r.y();
580 int w = r.width();
581 int h = r.height();
582 GUIStyle gs = (GUIStyle)styleHint( SH_GUIStyle );
583
584 p->setPen( penColor?*penColor:g.foreground() );
585 if ( pixmap ) {
586 QPixmap pm( *pixmap );
587 bool clip = (flags & Qt::DontClip) == 0;
588 if ( clip ) {
589 if ( pm.width() < w && pm.height() < h ) {
590 clip = FALSE;
591 } else {
592 p->save();
593 QRegion cr = QRect(x, y, w, h);
594 if (p->hasClipping())
595 cr &= p->clipRegion(QPainter::CoordPainter);
596 p->setClipRegion(cr);
597 }
598 }
599 if ( (flags & Qt::AlignVCenter) == Qt::AlignVCenter )
600 y += h/2 - pm.height()/2;
601 else if ( (flags & Qt::AlignBottom) == Qt::AlignBottom)
602 y += h - pm.height();
603 if ( (flags & Qt::AlignRight) == Qt::AlignRight )
604 x += w - pm.width();
605 else if ( (flags & Qt::AlignHCenter) == Qt::AlignHCenter )
606 x += w/2 - pm.width()/2;
607 else if ( ((flags & Qt::AlignLeft) != Qt::AlignLeft) && QApplication::reverseLayout() ) // AlignAuto && rightToLeft
608 x += w - pm.width();
609
610 if ( !enabled ) {
611 if ( pm.mask() ) { // pixmap with a mask
612 if ( !pm.selfMask() ) { // mask is not pixmap itself
613 QPixmap pmm( *pm.mask() );
614 pmm.setMask( *((QBitmap *)&pmm) );
615 pm = pmm;
616 }
617 } else if ( pm.depth() == 1 ) { // monochrome pixmap, no mask
618 pm.setMask( *((QBitmap *)&pm) );
619#ifndef QT_NO_IMAGE_HEURISTIC_MASK
620 } else { // color pixmap, no mask
621 QString k;
622 k.sprintf( "$qt-drawitem-%x", pm.serialNumber() );
623 QPixmap *mask = QPixmapCache::find(k);
624 bool del=FALSE;
625 if ( !mask ) {
626 mask = new QPixmap( pm.createHeuristicMask() );
627 mask->setMask( *((QBitmap*)mask) );
628 del = !QPixmapCache::insert( k, mask );
629 }
630 pm = *mask;
631 if (del) delete mask;
632#endif
633 }
634 if ( gs == Qt::WindowsStyle ) {
635 p->setPen( g.light() );
636 p->drawPixmap( x+1, y+1, pm );
637 p->setPen( g.text() );
638 }
639 }
640 p->drawPixmap( x, y, pm );
641 if ( clip )
642 p->restore();
643 } else if ( !text.isNull() ) {
644 if ( gs == Qt::WindowsStyle && !enabled ) {
645 p->setPen( g.light() );
646 p->drawText( x+1, y+1, w, h, flags, text, len );
647 p->setPen( g.text() );
648 }
649 p->drawText( x, y, w, h, flags, text, len );
650 }
651}
652
653/*!
654 \enum QStyle::PrimitiveElement
655
656 This enum represents the PrimitiveElements of a style. A
657 PrimitiveElement is a common GUI element, such as a checkbox
658 indicator or pushbutton bevel.
659
660 \value PE_ButtonCommand button used to initiate an action, for
661 example, a QPushButton.
662 \value PE_ButtonDefault this button is the default button, e.g.
663 in a dialog.
664 \value PE_ButtonBevel generic button bevel.
665 \value PE_ButtonTool tool button, for example, a QToolButton.
666 \value PE_ButtonDropDown drop down button, for example, a tool
667 button that displays a popup menu, for example, QPopupMenu.
668
669
670 \value PE_FocusRect generic focus indicator.
671
672
673 \value PE_ArrowUp up arrow.
674 \value PE_ArrowDown down arrow.
675 \value PE_ArrowRight right arrow.
676 \value PE_ArrowLeft left arrow.
677
678
679 \value PE_SpinWidgetUp up symbol for a spin widget, for example a
680 QSpinBox.
681 \value PE_SpinWidgetDown down symbol for a spin widget.
682 \value PE_SpinWidgetPlus increase symbol for a spin widget.
683 \value PE_SpinWidgetMinus decrease symbol for a spin widget.
684
685
686 \value PE_Indicator on/off indicator, for example, a QCheckBox.
687 \value PE_IndicatorMask bitmap mask for an indicator.
688 \value PE_ExclusiveIndicator exclusive on/off indicator, for
689 example, a QRadioButton.
690 \value PE_ExclusiveIndicatorMask bitmap mask for an exclusive indicator.
691
692
693 \value PE_DockWindowHandle tear off handle for dock windows and
694 toolbars, for example \l{QDockWindow}s and \l{QToolBar}s.
695 \value PE_DockWindowSeparator item separator for dock window and
696 toolbar contents.
697 \value PE_DockWindowResizeHandle resize handle for dock windows.
698
699 \value PE_Splitter splitter handle; see also QSplitter.
700
701
702 \value PE_Panel generic panel frame; see also QFrame.
703 \value PE_PanelPopup panel frame for popup windows/menus; see also
704 QPopupMenu.
705 \value PE_PanelMenuBar panel frame for menu bars.
706 \value PE_PanelDockWindow panel frame for dock windows and toolbars.
707 \value PE_PanelTabWidget panel frame for tab widgets.
708 \value PE_PanelLineEdit panel frame for line edits.
709 \value PE_PanelGroupBox panel frame for group boxes.
710
711 \value PE_TabBarBase area below tabs in a tab widget, for example,
712 QTab.
713
714
715 \value PE_HeaderSection section of a list or table header; see also
716 QHeader.
717 \value PE_HeaderArrow arrow used to indicate sorting on a list or table
718 header
719 \value PE_StatusBarSection section of a status bar; see also
720 QStatusBar.
721
722
723 \value PE_GroupBoxFrame frame around a group box; see also
724 QGroupBox.
725 \value PE_WindowFrame frame around a MDI window or a docking window
726
727
728 \value PE_Separator generic separator.
729
730
731 \value PE_SizeGrip window resize handle; see also QSizeGrip.
732
733
734 \value PE_CheckMark generic check mark; see also QCheckBox.
735
736
737 \value PE_ScrollBarAddLine scrollbar line increase indicator
738 (i.e. scroll down); see also QScrollBar.
739 \value PE_ScrollBarSubLine scrollbar line decrease indicator (i.e. scroll up).
740 \value PE_ScrollBarAddPage scolllbar page increase indicator (i.e. page down).
741 \value PE_ScrollBarSubPage scrollbar page decrease indicator (i.e. page up).
742 \value PE_ScrollBarSlider scrollbar slider
743 \value PE_ScrollBarFirst scrollbar first line indicator (i.e. home).
744 \value PE_ScrollBarLast scrollbar last line indicator (i.e. end).
745
746
747 \value PE_ProgressBarChunk section of a progress bar indicator; see
748 also QProgressBar.
749
750 \value PE_CheckListController controller part of a listview item
751 \value PE_CheckListIndicator checkbox part of a listview item
752 \value PE_CheckListExclusiveIndicator radiobutton part of a listview item
753 \value PE_RubberBand rubber band used in such things as iconview
754
755 \value PE_CustomBase base value for custom PrimitiveElements.
756 All values above this are reserved for custom use. Custom
757 values must be greater than this value.
758
759 \sa drawPrimitive()
760*/
761/*! \enum QStyle::SFlags
762 \internal
763*/
764/*! \enum QStyle::SCFlags
765 \internal
766*/
767
768/*!
769 \enum QStyle::StyleFlags
770
771 This enum represents flags for drawing PrimitiveElements. Not all
772 primitives use all of these flags. Note that these flags may mean
773 different things to different primitives. For an explanation of
774 the relationship between primitives and their flags, as well as
775 the different meanings of the flags, see the \link
776 customstyles.html Style overview\endlink.
777
778 \value Style_Default
779 \value Style_Enabled
780 \value Style_Raised
781 \value Style_Sunken
782 \value Style_Off
783 \value Style_NoChange
784 \value Style_On
785 \value Style_Down
786 \value Style_Horizontal
787 \value Style_HasFocus
788 \value Style_Top
789 \value Style_Bottom
790 \value Style_FocusAtBorder
791 \value Style_AutoRaise
792 \value Style_MouseOver
793 \value Style_Up
794 \value Style_Selected
795 \value Style_HasFocus
796 \value Style_Active
797 \value Style_ButtonDefault
798
799 \sa drawPrimitive()
800*/
801
802/*!
803 \fn void QStyle::drawPrimitive( PrimitiveElement pe, QPainter *p, const QRect &r, const QColorGroup &cg, SFlags flags, const QStyleOption& opt) const
804
805 Draws the style PrimitiveElement \a pe using the painter \a p in
806 the area \a r. Colors are used from the color group \a cg.
807
808 The rect \a r should be in screen coordinates.
809
810 The \a flags argument is used to control how the PrimitiveElement
811 is drawn. Multiple flags can be OR'ed together.
812
813 For example, a pressed button would be drawn with the flags \c
814 Style_Enabled and \c Style_Down.
815
816 The \a opt argument can be used to control how various
817 PrimitiveElements are drawn. Note that \a opt may be the default
818 value even for PrimitiveElements that make use of extra options.
819 When \a opt is non-default, it is used as follows:
820
821 \table
822 \header \i PrimitiveElement \i Options \i Notes
823 \row \i \l PE_FocusRect
824 \i \l QStyleOption ( const \l QColor & bg )
825 \list
826 \i opt.\link QStyleOption::color() color\endlink()
827 \endlist
828 \i \e bg is the background color on which the focus rect is being drawn.
829 \row \i12 \l PE_Panel
830 \i12 \l QStyleOption ( int linewidth, int midlinewidth )
831 \list
832 \i opt.\link QStyleOption::lineWidth() lineWidth\endlink()
833 \i opt.\link QStyleOption::midLineWidth() midLineWidth\endlink()
834 \endlist
835 \i \e linewidth is the line width for drawing the panel.
836 \row \i \e midlinewidth is the mid-line width for drawing the panel.
837 \row \i12 \l PE_PanelPopup
838 \i12 \l QStyleOption ( int linewidth, int midlinewidth )
839 \list
840 \i opt.\link QStyleOption::lineWidth() lineWidth\endlink()
841 \i opt.\link QStyleOption::midLineWidth() midLineWidth\endlink()
842 \endlist
843 \i \e linewidth is the line width for drawing the panel.
844 \row \i \e midlinewidth is the mid-line width for drawing the panel.
845 \row \i12 \l PE_PanelMenuBar
846 \i12 \l QStyleOption ( int linewidth, int midlinewidth )
847 \list
848 \i opt.\link QStyleOption::lineWidth() lineWidth\endlink()
849 \i opt.\link QStyleOption::midLineWidth() midLineWidth\endlink()
850 \endlist
851 \i \e linewidth is the line width for drawing the panel.
852 \row \i \e midlinewidth is the mid-line width for drawing the panel.
853 \row \i12 \l PE_PanelDockWindow
854 \i12 \l QStyleOption ( int linewidth, int midlinewidth )
855 \list
856 \i opt.\link QStyleOption::lineWidth() lineWidth\endlink()
857 \i opt.\link QStyleOption::midLineWidth() midLineWidth\endlink()
858 \endlist
859 \i \e linewidth is the line width for drawing the panel.
860 \row \i \e midlinewidth is the mid-line width for drawing the panel.
861 \row \i14 \l PE_GroupBoxFrame
862 \i14 \l QStyleOption ( int linewidth, int midlinewidth, int shape, int shadow )
863 \list
864 \i opt.\link QStyleOption::lineWidth() lineWidth\endlink()
865 \i opt.\link QStyleOption::midLineWidth() midLineWidth\endlink()
866 \i opt.\link QStyleOption::frameShape() frameShape\endlink()
867 \i opt.\link QStyleOption::frameShadow() frameShadow\endlink()
868 \endlist
869 \i \e linewidth is the line width for the group box.
870 \row \i \e midlinewidth is the mid-line width for the group box.
871 \row \i \e shape is the \link QFrame::frameShape frame shape \endlink
872 for the group box.
873 \row \i \e shadow is the \link QFrame::frameShadow frame shadow \endlink
874 for the group box.
875 \endtable
876
877
878 For all other \link QStyle::PrimitiveElement
879 PrimitiveElements\endlink, \a opt is unused.
880
881 \sa StyleFlags
882*/
883
884/*!
885 \enum QStyle::ControlElement
886
887 This enum represents a ControlElement. A ControlElement is part of
888 a widget that performs some action or displays information to the
889 user.
890
891 \value CE_PushButton the bevel and default indicator of a QPushButton.
892 \value CE_PushButtonLabel the label (iconset with text or pixmap)
893 of a QPushButton.
894
895 \value CE_CheckBox the indicator of a QCheckBox.
896 \value CE_CheckBoxLabel the label (text or pixmap) of a QCheckBox.
897
898 \value CE_RadioButton the indicator of a QRadioButton.
899 \value CE_RadioButtonLabel the label (text or pixmap) of a QRadioButton.
900
901 \value CE_TabBarTab the tab within a QTabBar (a QTab).
902 \value CE_TabBarLabel the label within a QTab.
903
904 \value CE_ProgressBarGroove the groove where the progress
905 indicator is drawn in a QProgressBar.
906 \value CE_ProgressBarContents the progress indicator of a QProgressBar.
907 \value CE_ProgressBarLabel the text label of a QProgressBar.
908
909 \value CE_PopupMenuItem a menu item in a QPopupMenu.
910 \value CE_PopupMenuScroller scrolling areas in a popumenu when the
911 style supports scrolling.
912 \value CE_PopupMenuHorizontalExtra extra frame area set aside with PM_PopupMenuFrameHorizontalExtra
913 \value CE_PopupMenuVerticalExtra extra frame area set aside with PM_PopupMenuFrameVerticalExtra
914
915 \value CE_MenuBarItem a menu item in a QMenuBar.
916
917 \value CE_ToolButtonLabel a tool button's label.
918
919 \value CE_MenuBarEmptyArea the empty area of a QMenuBar.
920 \value CE_DockWindowEmptyArea the empty area of a QDockWindow.
921
922 \value CE_ToolBoxTab the toolbox's tab area
923 \value CE_HeaderLabel the header's label
924
925 \value CE_CustomBase base value for custom ControlElements. All values above
926 this are reserved for custom use. Therefore, custom values must be
927 greater than this value.
928
929 \sa drawControl()
930*/
931
932/*!
933 \fn void QStyle::drawControl( ControlElement element, QPainter *p, const QWidget *widget, const QRect &r, const QColorGroup &cg, SFlags how, const QStyleOption& opt) const
934
935 Draws the ControlElement \a element using the painter \a p in the
936 area \a r. Colors are used from the color group \a cg.
937
938 The rect \a r should be in screen coordinates.
939
940 The \a how argument is used to control how the ControlElement is
941 drawn. Multiple flags can be OR'ed together. See the table below
942 for an explanation of which flags are used with the various
943 ControlElements.
944
945 The \a widget argument is a pointer to a QWidget or one of its
946 subclasses. The widget can be cast to the appropriate type based
947 on the value of \a element. The \a opt argument can be used to
948 pass extra information required when drawing the ControlElement.
949 Note that \a opt may be the default value even for ControlElements
950 that can make use of the extra options. See the table below for
951 the appropriate \a widget and \a opt usage:
952
953 \table
954 \header \i ControlElement<br>\& Widget Cast
955 \i Style Flags
956 \i Notes
957 \i Options
958 \i Notes
959
960 \row \i16 \l{CE_PushButton}(const \l QPushButton *)
961
962 and
963
964 \l{CE_PushButtonLabel}(const \l QPushButton *)
965 \i \l Style_Enabled \i Set if the button is enabled.
966 \i16 Unused.
967 \i16 &nbsp;
968 \row \i \l Style_HasFocus \i Set if the button has input focus.
969 \row \i \l Style_Raised \i Set if the button is not down, not on and not flat.
970 \row \i \l Style_On \i Set if the button is a toggle button and toggled on.
971 \row \i \l Style_Down \i Set if the button is down (i.e., the mouse button or
972 space bar is pressed on the button).
973 \row \i \l Style_ButtonDefault \i Set if the button is a default button.
974
975 \row \i16 \l{CE_CheckBox}(const \l QCheckBox *)
976
977 and
978
979 \l{CE_CheckBoxLabel}(const \l QCheckBox *)
980
981 \i \l Style_Enabled \i Set if the checkbox is enabled.
982 \i16 Unused.
983 \i16 &nbsp;
984 \row \i \l Style_HasFocus \i Set if the checkbox has input focus.
985 \row \i \l Style_On \i Set if the checkbox is checked.
986 \row \i \l Style_Off \i Set if the checkbox is not checked.
987 \row \i \l Style_NoChange \i Set if the checkbox is in the NoChange state.
988 \row \i \l Style_Down \i Set if the checkbox is down (i.e., the mouse button or
989 space bar is pressed on the button).
990
991 \row \i15 \l{CE_RadioButton}(const QRadioButton *)
992
993 and
994
995 \l{CE_RadioButtonLabel}(const QRadioButton *)
996 \i \l Style_Enabled \i Set if the radiobutton is enabled.
997 \i15 Unused.
998 \i15 &nbsp;
999 \row \i \l Style_HasFocus \i Set if the radiobutton has input focus.
1000 \row \i \l Style_On \i Set if the radiobutton is checked.
1001 \row \i \l Style_Off \i Set if the radiobutton is not checked.
1002 \row \i \l Style_Down \i Set if the radiobutton is down (i.e., the mouse
1003 button or space bar is pressed on the radiobutton).
1004
1005 \row \i12 \l{CE_TabBarTab}(const \l QTabBar *)
1006
1007 and
1008
1009 \l{CE_TabBarLabel}(const \l QTabBar *)
1010
1011 \i \l Style_Enabled \i Set if the tabbar and tab is enabled.
1012 \i12 \l QStyleOption ( \l QTab *t )
1013 \list
1014 \i opt.\link QStyleOption::tab() tab\endlink()
1015 \endlist
1016 \i12 \e t is the QTab being drawn.
1017 \row \i \l Style_Selected \i Set if the tab is the current tab.
1018
1019 \row \i12 \l{CE_ProgressBarGroove}(const QProgressBar *)
1020
1021 and
1022
1023 \l{CE_ProgressBarContents}(const QProgressBar *)
1024
1025 and
1026
1027 \l{CE_ProgressBarLabel}(const QProgressBar *)
1028
1029 \i \l Style_Enabled \i Set if the progressbar is enabled.
1030 \i12 Unused.
1031 \i12 &nbsp;
1032 \row \i \l Style_HasFocus \i Set if the progressbar has input focus.
1033
1034 \row \i13 \l{CE_PopupMenuItem}(const \l QPopupMenu *)
1035 \i \l Style_Enabled \i Set if the menuitem is enabled.
1036 \i13 \l QStyleOption ( QMenuItem *mi, int tabwidth, int maxpmwidth )
1037 \list
1038 \i opt.\link QStyleOption::menuItem() menuItem\endlink()
1039 \i opt.\link QStyleOption::tabWidth() tabWidth\endlink()
1040 \i opt.\link QStyleOption::maxIconWidth() maxIconWidth\endlink()
1041 \endlist
1042 \i \e mi is the menu item being drawn. QMenuItem is currently an
1043 internal class.
1044 \row \i \l Style_Active \i Set if the menuitem is the current item.
1045 \i \e tabwidth is the width of the tab column where key accelerators
1046 are drawn.
1047 \row \i \l Style_Down \i Set if the menuitem is down (i.e., the mouse button
1048 or space bar is pressed).
1049 \i \e maxpmwidth is the maximum width of the check column where
1050 checkmarks and iconsets are drawn.
1051
1052 \row \i14 \l{CE_MenuBarItem}(const \l QMenuBar *)
1053 \i \l Style_Enabled \i Set if the menuitem is enabled
1054 \i14 \l QStyleOption ( QMenuItem *mi )
1055 \list
1056 \i opt.\link QStyleOption::menuItem() menuItem\endlink()
1057 \endlist
1058 \i14 \e mi is the menu item being drawn.
1059 \row \i \l Style_Active \i Set if the menuitem is the current item.
1060 \row \i \l Style_Down \i Set if the menuitem is down (i.e., a mouse button or
1061 the space bar is pressed).
1062 \row \i \l Style_HasFocus \i Set if the menubar has input focus.
1063
1064 \row \i17 \l{CE_ToolButtonLabel}(const \l QToolButton *)
1065 \i \l Style_Enabled \i Set if the toolbutton is enabled.
1066 \i17 \l QStyleOption ( \l ArrowType t )
1067 \list
1068 \i opt.\link QStyleOption::arrowType() arrowType\endlink()
1069 \endlist
1070 \i17 When the tool button only contains an arrow, \e t is the
1071 arrow's type.
1072 \row \i \l Style_HasFocus \i Set if the toolbutton has input focus.
1073 \row \i \l Style_Down \i Set if the toolbutton is down (i.e., a
1074 mouse button or the space is pressed).
1075 \row \i \l Style_On \i Set if the toolbutton is a toggle button
1076 and is toggled on.
1077 \row \i \l Style_AutoRaise \i Set if the toolbutton has auto-raise enabled.
1078 \row \i \l Style_MouseOver \i Set if the mouse pointer is over the toolbutton.
1079 \row \i \l Style_Raised \i Set if the button is not down, not on and doesn't
1080 contain the mouse when auto-raise is enabled.
1081 \endtable
1082
1083 \sa ControlElement, StyleFlags
1084*/
1085
1086/*!
1087 \fn void QStyle::drawControlMask( ControlElement element, QPainter *p, const QWidget *widget, const QRect &r, const QStyleOption& opt) const
1088
1089 Draw a bitmask for the ControlElement \a element using the painter
1090 \a p in the area \a r. See drawControl() for an explanation of the
1091 use of the \a widget and \a opt arguments.
1092
1093 The rect \a r should be in screen coordinates.
1094
1095 \sa drawControl(), ControlElement
1096*/
1097
1098/*!
1099 \enum QStyle::SubRect
1100
1101 This enum represents a sub-area of a widget. Style implementations
1102 would use these areas to draw the different parts of a widget.
1103
1104 \value SR_PushButtonContents area containing the label (iconset
1105 with text or pixmap).
1106 \value SR_PushButtonFocusRect area for the focus rect (usually
1107 larger than the contents rect).
1108
1109 \value SR_CheckBoxIndicator area for the state indicator (e.g. check mark).
1110 \value SR_CheckBoxContents area for the label (text or pixmap).
1111 \value SR_CheckBoxFocusRect area for the focus indicator.
1112
1113
1114 \value SR_RadioButtonIndicator area for the state indicator.
1115 \value SR_RadioButtonContents area for the label.
1116 \value SR_RadioButtonFocusRect area for the focus indicator.
1117
1118
1119 \value SR_ComboBoxFocusRect area for the focus indicator.
1120
1121
1122 \value SR_SliderFocusRect area for the focus indicator.
1123
1124
1125 \value SR_DockWindowHandleRect area for the tear-off handle.
1126
1127
1128 \value SR_ProgressBarGroove area for the groove.
1129 \value SR_ProgressBarContents area for the progress indicator.
1130 \value SR_ProgressBarLabel area for the text label.
1131
1132
1133 \value SR_ToolButtonContents area for the tool button's label.
1134
1135 \value SR_DialogButtonAccept area for a dialog's accept button.
1136 \value SR_DialogButtonReject area for a dialog's reject button.
1137 \value SR_DialogButtonApply area for a dialog's apply button.
1138 \value SR_DialogButtonHelp area for a dialog's help button.
1139 \value SR_DialogButtonAll area for a dialog's all button.
1140 \value SR_DialogButtonRetry area for a dialog's retry button.
1141 \value SR_DialogButtonAbort area for a dialog's abort button.
1142 \value SR_DialogButtonIgnore area for a dialog's ignore button.
1143 \value SR_DialogButtonCustom area for a dialog's custom widget area (in button row).
1144
1145 \value SR_ToolBoxTabContents area for a toolbox tab's icon and label
1146
1147 \value SR_CustomBase base value for custom ControlElements. All values above
1148 this are reserved for custom use. Therefore, custom values must be
1149 greater than this value.
1150
1151 \sa subRect()
1152*/
1153
1154/*!
1155 \fn QRect QStyle::subRect( SubRect subrect, const QWidget *widget ) const;
1156
1157 Returns the sub-area \a subrect for the \a widget in logical
1158 coordinates.
1159
1160 The \a widget argument is a pointer to a QWidget or one of its
1161 subclasses. The widget can be cast to the appropriate type based
1162 on the value of \a subrect. See the table below for the
1163 appropriate \a widget casts:
1164
1165 \table
1166 \header \i SubRect \i Widget Cast
1167 \row \i \l SR_PushButtonContents \i (const \l QPushButton *)
1168 \row \i \l SR_PushButtonFocusRect \i (const \l QPushButton *)
1169 \row \i \l SR_CheckBoxIndicator \i (const \l QCheckBox *)
1170 \row \i \l SR_CheckBoxContents \i (const \l QCheckBox *)
1171 \row \i \l SR_CheckBoxFocusRect \i (const \l QCheckBox *)
1172 \row \i \l SR_RadioButtonIndicator \i (const \l QRadioButton *)
1173 \row \i \l SR_RadioButtonContents \i (const \l QRadioButton *)
1174 \row \i \l SR_RadioButtonFocusRect \i (const \l QRadioButton *)
1175 \row \i \l SR_ComboBoxFocusRect \i (const \l QComboBox *)
1176 \row \i \l SR_DockWindowHandleRect \i (const \l QWidget *)
1177 \row \i \l SR_ProgressBarGroove \i (const \l QProgressBar *)
1178 \row \i \l SR_ProgressBarContents \i (const \l QProgressBar *)
1179 \row \i \l SR_ProgressBarLabel \i (const \l QProgressBar *)
1180 \endtable
1181
1182 The tear-off handle (SR_DockWindowHandleRect) for QDockWindow
1183 is a private class. Use QWidget::parentWidget() to access the
1184 QDockWindow:
1185
1186 \code
1187 if ( !widget->parentWidget() )
1188 return;
1189 const QDockWindow *dw = (const QDockWindow *) widget->parentWidget();
1190 \endcode
1191
1192 \sa SubRect
1193*/
1194
1195/*!
1196 \enum QStyle::ComplexControl
1197
1198 This enum represents a ComplexControl. ComplexControls have
1199 different behaviour depending upon where the user clicks on them
1200 or which keys are pressed.
1201
1202 \value CC_SpinWidget
1203 \value CC_ComboBox
1204 \value CC_ScrollBar
1205 \value CC_Slider
1206 \value CC_ToolButton
1207 \value CC_TitleBar
1208 \value CC_ListView
1209
1210
1211 \value CC_CustomBase base value for custom ControlElements. All
1212 values above this are reserved for custom use. Therefore,
1213 custom values must be greater than this value.
1214
1215 \sa SubControl drawComplexControl()
1216*/
1217
1218/*!
1219 \enum QStyle::SubControl
1220
1221 This enum represents a SubControl within a ComplexControl.
1222
1223 \value SC_None special value that matches no other SubControl.
1224
1225
1226 \value SC_ScrollBarAddLine scrollbar add line (i.e. down/right
1227 arrow); see also QScrollbar.
1228 \value SC_ScrollBarSubLine scrollbar sub line (i.e. up/left arrow).
1229 \value SC_ScrollBarAddPage scrollbar add page (i.e. page down).
1230 \value SC_ScrollBarSubPage scrollbar sub page (i.e. page up).
1231 \value SC_ScrollBarFirst scrollbar first line (i.e. home).
1232 \value SC_ScrollBarLast scrollbar last line (i.e. end).
1233 \value SC_ScrollBarSlider scrollbar slider handle.
1234 \value SC_ScrollBarGroove special subcontrol which contains the
1235 area in which the slider handle may move.
1236
1237
1238 \value SC_SpinWidgetUp spinwidget up/increase; see also QSpinBox.
1239 \value SC_SpinWidgetDown spinwidget down/decrease.
1240 \value SC_SpinWidgetFrame spinwidget frame.
1241 \value SC_SpinWidgetEditField spinwidget edit field.
1242 \value SC_SpinWidgetButtonField spinwidget button field.
1243
1244
1245 \value SC_ComboBoxEditField combobox edit field; see also QComboBox.
1246 \value SC_ComboBoxArrow combobox arrow
1247 \value SC_ComboBoxFrame combobox frame
1248 \value SC_ComboBoxListBoxPopup combobox list box
1249
1250 \value SC_SliderGroove special subcontrol which contains the area
1251 in which the slider handle may move.
1252 \value SC_SliderHandle slider handle.
1253 \value SC_SliderTickmarks slider tickmarks.
1254
1255
1256 \value SC_ToolButton tool button; see also QToolbutton.
1257 \value SC_ToolButtonMenu subcontrol for opening a popup menu in a
1258 tool button; see also QPopupMenu.
1259
1260
1261 \value SC_TitleBarSysMenu system menu button (i.e. restore, close, etc.).
1262 \value SC_TitleBarMinButton minimize button.
1263 \value SC_TitleBarMaxButton maximize button.
1264 \value SC_TitleBarCloseButton close button.
1265 \value SC_TitleBarLabel window title label.
1266 \value SC_TitleBarNormalButton normal (restore) button.
1267 \value SC_TitleBarShadeButton shade button.
1268 \value SC_TitleBarUnshadeButton unshade button.
1269
1270
1271 \value SC_ListView the list view area.
1272 \value SC_ListViewBranch (internal)
1273 \value SC_ListViewExpand expand item (i.e. show/hide child items).
1274
1275
1276 \value SC_All special value that matches all SubControls.
1277
1278
1279 \sa ComplexControl
1280*/
1281
1282/*!
1283 \fn void QStyle::drawComplexControl( ComplexControl control, QPainter *p, const QWidget *widget, const QRect &r, const QColorGroup &cg, SFlags how, SCFlags sub, SCFlags subActive, const QStyleOption& opt ) const
1284
1285 Draws the ComplexControl \a control using the painter \a p in the
1286 area \a r. Colors are used from the color group \a cg. The \a sub
1287 argument specifies which SubControls to draw. Multiple SubControls
1288 can be OR'ed together. The \a subActive argument specifies which
1289 SubControl is active.
1290
1291 The rect \a r should be in logical coordinates. Reimplementations
1292 of this function should use visualRect() to change the logical
1293 coordinates into screen coordinates when using drawPrimitive() and
1294 drawControl().
1295
1296 The \a how argument is used to control how the ComplexControl is
1297 drawn. Multiple flags can OR'ed together. See the table below for
1298 an explanation of which flags are used with the various
1299 ComplexControls.
1300
1301 The \a widget argument is a pointer to a QWidget or one of its
1302 subclasses. The widget can be cast to the appropriate type based
1303 on the value of \a control. The \a opt argument can be used to
1304 pass extra information required when drawing the ComplexControl.
1305 Note that \a opt may be the default value even for ComplexControls
1306 that can make use of the extra options. See the table below for
1307 the appropriate \a widget and \a opt usage:
1308
1309 \table
1310 \header \i ComplexControl<br>\& Widget Cast
1311 \i Style Flags
1312 \i Notes
1313 \i Options
1314 \i Notes
1315
1316 \row \i12 \l{CC_SpinWidget}(const QSpinWidget *)
1317 \i \l Style_Enabled \i Set if the spinwidget is enabled.
1318 \i12 Unused.
1319 \i12 &nbsp;
1320 \row \i \l Style_HasFocus \i Set if the spinwidget has input focus.
1321
1322 \row \i12 \l{CC_ComboBox}(const \l QComboBox *)
1323 \i \l Style_Enabled \i Set if the combobox is enabled.
1324 \i12 Unused.
1325 \i12 &nbsp;
1326 \row \i \l Style_HasFocus \i Set if the combobox has input focus.
1327
1328 \row \i12 \l{CC_ScrollBar}(const \l QScrollBar *)
1329 \i \l Style_Enabled \i Set if the scrollbar is enabled.
1330 \i12 Unused.
1331 \i12 &nbsp;
1332 \row \i \l Style_HasFocus \i Set if the scrollbar has input focus.
1333
1334 \row \i12 \l{CC_Slider}(const \l QSlider *)
1335 \i \l Style_Enabled \i Set if the slider is enabled.
1336 \i12 Unused.
1337 \i12 &nbsp;
1338
1339 \row \i \l Style_HasFocus \i Set if the slider has input focus.
1340
1341 \row \i16 \l{CC_ToolButton}(const \l QToolButton *)
1342 \i \l Style_Enabled \i Set if the toolbutton is enabled.
1343 \i16 \l QStyleOption ( \l ArrowType t )
1344 \list
1345 \i opt.\link QStyleOption::arrowType() arrowType\endlink()
1346 \endlist
1347 \i16 When the tool button only contains an arrow, \e t is the
1348 arrow's type.
1349 \row \i \l Style_HasFocus \i Set if the toolbutton has input focus.
1350 \row \i \l Style_Down \i Set if the toolbutton is down (ie. mouse
1351 button or space pressed).
1352 \row \i \l Style_On \i Set if the toolbutton is a toggle button
1353 and is toggled on.
1354 \row \i \l Style_AutoRaise \i Set if the toolbutton has auto-raise enabled.
1355 \row \i \l Style_Raised \i Set if the button is not down, not on and doesn't
1356 contain the mouse when auto-raise is enabled.
1357
1358 \row \i \l{CC_TitleBar}(const \l QWidget *)
1359 \i \l Style_Enabled \i Set if the titlebar is enabled.
1360 \i Unused.
1361 \i &nbsp;
1362
1363 \row \i \l{CC_ListView}(const \l QListView *)
1364 \i \l Style_Enabled \i Set if the titlebar is enabled.
1365 \i \l QStyleOption ( \l QListViewItem *item )
1366 \list
1367 \i opt.\link QStyleOption::listViewItem() listViewItem\endlink()
1368 \endlist
1369 \i \e item is the item that needs branches drawn
1370 \endtable
1371
1372 \sa ComplexControl, SubControl
1373*/
1374
1375/*!
1376 \fn void QStyle::drawComplexControlMask( ComplexControl control, QPainter *p, const QWidget *widget, const QRect &r, const QStyleOption& opt) const
1377
1378 Draw a bitmask for the ComplexControl \a control using the painter
1379 \a p in the area \a r. See drawComplexControl() for an explanation
1380 of the use of the \a widget and \a opt arguments.
1381
1382 The rect \a r should be in logical coordinates. Reimplementations
1383 of this function should use visualRect() to change the logical
1384 corrdinates into screen coordinates when using drawPrimitive() and
1385 drawControl().
1386
1387 \sa drawComplexControl() ComplexControl
1388*/
1389
1390/*!
1391 \fn QRect QStyle::querySubControlMetrics( ComplexControl control, const QWidget *widget, SubControl subcontrol, const QStyleOption& opt = QStyleOption::Default ) const;
1392
1393 Returns the rect for the SubControl \a subcontrol for \a widget in
1394 logical coordinates.
1395
1396 The \a widget argument is a pointer to a QWidget or one of its
1397 subclasses. The widget can be cast to the appropriate type based
1398 on the value of \a control. The \a opt argument can be used to
1399 pass extra information required when drawing the ComplexControl.
1400 Note that \a opt may be the default value even for ComplexControls
1401 that can make use of the extra options. See drawComplexControl()
1402 for an explanation of the \a widget and \a opt arguments.
1403
1404 \sa drawComplexControl(), ComplexControl, SubControl
1405*/
1406
1407/*!
1408 \fn SubControl QStyle::querySubControl( ComplexControl control, const QWidget *widget, const QPoint &pos, const QStyleOption& opt = QStyleOption::Default ) const;
1409
1410 Returns the SubControl for \a widget at the point \a pos. The \a
1411 widget argument is a pointer to a QWidget or one of its
1412 subclasses. The widget can be cast to the appropriate type based
1413 on the value of \a control. The \a opt argument can be used to
1414 pass extra information required when drawing the ComplexControl.
1415 Note that \a opt may be the default value even for ComplexControls
1416 that can make use of the extra options. See drawComplexControl()
1417 for an explanation of the \a widget and \a opt arguments.
1418
1419 Note that \a pos is passed in screen coordinates. When using
1420 querySubControlMetrics() to check for hits and misses, use
1421 visualRect() to change the logical coordinates into screen
1422 coordinates.
1423
1424 \sa drawComplexControl(), ComplexControl, SubControl, querySubControlMetrics()
1425*/
1426
1427/*!
1428 \enum QStyle::PixelMetric
1429
1430 This enum represents a PixelMetric. A PixelMetric is a style
1431 dependent size represented as a single pixel value.
1432
1433 \value PM_ButtonMargin amount of whitespace between pushbutton
1434 labels and the frame.
1435 \value PM_ButtonDefaultIndicator width of the default-button indicator frame.
1436 \value PM_MenuButtonIndicator width of the menu button indicator
1437 proportional to the widget height.
1438 \value PM_ButtonShiftHorizontal horizontal contents shift of a
1439 button when the button is down.
1440 \value PM_ButtonShiftVertical vertical contents shift of a button when the
1441 button is down.
1442
1443 \value PM_DefaultFrameWidth default frame width, usually 2.
1444 \value PM_SpinBoxFrameWidth frame width of a spin box.
1445 \value PM_MDIFrameWidth frame width of an MDI window.
1446 \value PM_MDIMinimizedWidth width of a minimized MSI window.
1447
1448 \value PM_MaximumDragDistance Some feels require the scrollbar or
1449 other sliders to jump back to the original position when the
1450 mouse pointer is too far away while dragging. A value of -1
1451 disables this behavior.
1452
1453 \value PM_ScrollBarExtent width of a vertical scrollbar and the
1454 height of a horizontal scrollbar.
1455 \value PM_ScrollBarSliderMin the minimum height of a vertical
1456 scrollbar's slider and the minimum width of a horiztonal
1457 scrollbar slider.
1458
1459 \value PM_SliderThickness total slider thickness.
1460 \value PM_SliderControlThickness thickness of the slider handle.
1461 \value PM_SliderLength length of the slider.
1462 \value PM_SliderTickmarkOffset the offset between the tickmarks
1463 and the slider.
1464 \value PM_SliderSpaceAvailable the available space for the slider to move.
1465
1466 \value PM_DockWindowSeparatorExtent width of a separator in a
1467 horiztonal dock window and the height of a separator in a
1468 vertical dock window.
1469 \value PM_DockWindowHandleExtent width of the handle in a
1470 horizontal dock window and the height of the handle in a
1471 vertical dock window.
1472 \value PM_DockWindowFrameWidth frame width of a dock window.
1473
1474 \value PM_MenuBarFrameWidth frame width of a menubar.
1475
1476 \value PM_MenuBarItemSpacing spacing between menubar items.
1477 \value PM_ToolBarItemSpacing spacing between toolbar items.
1478
1479 \value PM_TabBarTabOverlap number of pixels the tabs should overlap.
1480 \value PM_TabBarTabHSpace extra space added to the tab width.
1481 \value PM_TabBarTabVSpace extra space added to the tab height.
1482 \value PM_TabBarBaseHeight height of the area between the tab bar
1483 and the tab pages.
1484 \value PM_TabBarBaseOverlap number of pixels the tab bar overlaps
1485 the tab bar base.
1486 \value PM_TabBarScrollButtonWidth
1487 \value PM_TabBarTabShiftHorizontal horizontal pixel shift when a
1488 tab is selected.
1489 \value PM_TabBarTabShiftVertical vertical pixel shift when a
1490 tab is selected.
1491
1492 \value PM_ProgressBarChunkWidth width of a chunk in a progress bar indicator.
1493
1494 \value PM_SplitterWidth width of a splitter.
1495
1496 \value PM_TitleBarHeight height of the title bar.
1497 \value PM_PopupMenuFrameHorizontalExtra additional border, e.g. for panels
1498 \value PM_PopupMenuFrameVerticalExtra additional border, e.g. for panels
1499
1500 \value PM_IndicatorWidth width of a check box indicator.
1501 \value PM_IndicatorHeight height of a checkbox indicator.
1502 \value PM_ExclusiveIndicatorWidth width of a radio button indicator.
1503 \value PM_ExclusiveIndicatorHeight height of a radio button indicator.
1504
1505 \value PM_PopupMenuScrollerHeight height of the scroller area in a popupmenu.
1506 \value PM_PopupMenuScrollerHeight height of the scroller area in a popupmenu.
1507 \value PM_CheckListButtonSize area (width/height) of the
1508 checkbox/radiobutton in a QCheckListItem
1509 \value PM_CheckListControllerSize area (width/height) of the
1510 controller in a QCheckListItem
1511
1512 \value PM_DialogButtonsSeparator distance between buttons in a dialog buttons widget.
1513 \value PM_DialogButtonsButtonWidth minimum width of a button in a dialog buttons widget.
1514 \value PM_DialogButtonsButtonHeight minimum height of a button in a dialog buttons widget.
1515
1516 \value PM_HeaderMarkSize
1517 \value PM_HeaderGripMargin
1518 \value PM_HeaderMargin
1519
1520 \value PM_CustomBase base value for custom ControlElements. All
1521 values above this are reserved for custom use. Therefore,
1522 custom values must be greater than this value.
1523
1524
1525 \sa pixelMetric()
1526*/
1527
1528/*!
1529 \fn int QStyle::pixelMetric( PixelMetric metric, const QWidget *widget = 0 ) const;
1530
1531 Returns the pixel metric for \a metric. The \a widget argument is
1532 a pointer to a QWidget or one of its subclasses. The widget can be
1533 cast to the appropriate type based on the value of \a metric. Note
1534 that \a widget may be zero even for PixelMetrics that can make use
1535 of \a widget. See the table below for the appropriate \a widget
1536 casts:
1537
1538 \table
1539 \header \i PixelMetric \i Widget Cast
1540 \row \i \l PM_SliderControlThickness \i (const \l QSlider *)
1541 \row \i \l PM_SliderLength \i (const \l QSlider *)
1542 \row \i \l PM_SliderTickmarkOffset \i (const \l QSlider *)
1543 \row \i \l PM_SliderSpaceAvailable \i (const \l QSlider *)
1544 \row \i \l PM_TabBarTabOverlap \i (const \l QTabBar *)
1545 \row \i \l PM_TabBarTabHSpace \i (const \l QTabBar *)
1546 \row \i \l PM_TabBarTabVSpace \i (const \l QTabBar *)
1547 \row \i \l PM_TabBarBaseHeight \i (const \l QTabBar *)
1548 \row \i \l PM_TabBarBaseOverlap \i (const \l QTabBar *)
1549 \endtable
1550*/
1551
1552/*!
1553 \enum QStyle::ContentsType
1554
1555 This enum represents a ContentsType. It is used to calculate sizes
1556 for the contents of various widgets.
1557
1558 \value CT_PushButton
1559 \value CT_CheckBox
1560 \value CT_RadioButton
1561 \value CT_ToolButton
1562 \value CT_ComboBox
1563 \value CT_Splitter
1564 \value CT_DockWindow
1565 \value CT_ProgressBar
1566 \value CT_PopupMenuItem
1567 \value CT_TabBarTab
1568 \value CT_Slider
1569 \value CT_Header
1570 \value CT_LineEdit
1571 \value CT_MenuBar
1572 \value CT_SpinBox
1573 \value CT_SizeGrip
1574 \value CT_TabWidget
1575 \value CT_DialogButtons
1576
1577 \value CT_CustomBase base value for custom ControlElements. All
1578 values above this are reserved for custom use. Custom values
1579 must be greater than this value.
1580
1581 \sa sizeFromContents()
1582*/
1583
1584/*!
1585 \fn QSize QStyle::sizeFromContents( ContentsType contents, const QWidget *widget, const QSize &contentsSize, const QStyleOption& opt = QStyleOption::Default ) const;
1586
1587 Returns the size of \a widget based on the contents size \a
1588 contentsSize.
1589
1590 The \a widget argument is a pointer to a QWidget or one of its
1591 subclasses. The widget can be cast to the appropriate type based
1592 on the value of \a contents. The \a opt argument can be used to
1593 pass extra information required when calculating the size. Note
1594 that \a opt may be the default value even for ContentsTypes that
1595 can make use of the extra options. See the table below for the
1596 appropriate \a widget and \a opt usage:
1597
1598 \table
1599 \header \i ContentsType \i Widget Cast \i Options \i Notes
1600 \row \i \l CT_PushButton \i (const \l QPushButton *) \i Unused. \i &nbsp;
1601 \row \i \l CT_CheckBox \i (const \l QCheckBox *) \i Unused. \i &nbsp;
1602 \row \i \l CT_RadioButton \i (const \l QRadioButton *) \i Unused. \i &nbsp;
1603 \row \i \l CT_ToolButton \i (const \l QToolButton *) \i Unused. \i &nbsp;
1604 \row \i \l CT_ComboBox \i (const \l QComboBox *) \i Unused. \i &nbsp;
1605 \row \i \l CT_Splitter \i (const \l QSplitter *) \i Unused. \i &nbsp;
1606 \row \i \l CT_DockWindow \i (const \l QDockWindow *) \i Unused. \i &nbsp;
1607 \row \i \l CT_ProgressBar \i (const \l QProgressBar *) \i Unused. \i &nbsp;
1608 \row \i \l CT_PopupMenuItem \i (const QPopupMenu *)
1609 \i \l QStyleOption ( QMenuItem *mi )
1610 \list
1611 \i opt.\link QStyleOption::menuItem() menuItem\endlink()
1612 \endlist
1613 \i \e mi is the menu item to use when calculating the size.
1614 QMenuItem is currently an internal class.
1615 \endtable
1616*/
1617
1618/*!
1619 \enum QStyle::StyleHint
1620
1621 This enum represents a StyleHint. A StyleHint is a general look
1622 and/or feel hint.
1623
1624 \value SH_EtchDisabledText disabled text is "etched" like Windows.
1625
1626 \value SH_GUIStyle the GUI style to use.
1627
1628 \value SH_ScrollBar_BackgroundMode the background mode for a
1629 QScrollBar. Possible values are any of those in the \link
1630 Qt::BackgroundMode BackgroundMode\endlink enum.
1631
1632 \value SH_ScrollBar_MiddleClickAbsolutePosition a boolean value.
1633 If TRUE, middle clicking on a scrollbar causes the slider to
1634 jump to that position. If FALSE, the middle clicking is
1635 ignored.
1636
1637 \value SH_ScrollBar_LeftClickAbsolutePosition a boolean value.
1638 If TRUE, left clicking on a scrollbar causes the slider to
1639 jump to that position. If FALSE, the left clicking will
1640 behave as appropriate for each control.
1641
1642 \value SH_ScrollBar_ScrollWhenPointerLeavesControl a boolean
1643 value. If TRUE, when clicking a scrollbar SubControl, holding
1644 the mouse button down and moving the pointer outside the
1645 SubControl, the scrollbar continues to scroll. If FALSE, the
1646 scollbar stops scrolling when the pointer leaves the
1647 SubControl.
1648
1649 \value SH_TabBar_Alignment the alignment for tabs in a
1650 QTabWidget. Possible values are \c Qt::AlignLeft, \c
1651 Qt::AlignCenter and \c Qt::AlignRight.
1652
1653 \value SH_Header_ArrowAlignment the placement of the sorting
1654 indicator may appear in list or table headers. Possible values
1655 are \c Qt::Left or \c Qt::Right.
1656
1657 \value SH_Slider_SnapToValue sliders snap to values while moving,
1658 like Windows
1659
1660 \value SH_Slider_SloppyKeyEvents key presses handled in a sloppy
1661 manner, i.e. left on a vertical slider subtracts a line.
1662
1663 \value SH_ProgressDialog_CenterCancelButton center button on
1664 progress dialogs, like Motif, otherwise right aligned.
1665
1666 \value SH_ProgressDialog_TextLabelAlignment Qt::AlignmentFlags --
1667 text label alignment in progress dialogs; Center on windows,
1668 Auto|VCenter otherwise.
1669
1670 \value SH_PrintDialog_RightAlignButtons right align buttons in
1671 the print dialog, like Windows.
1672
1673 \value SH_MainWindow_SpaceBelowMenuBar 1 or 2 pixel space between
1674 the menubar and the dockarea, like Windows.
1675
1676 \value SH_FontDialog_SelectAssociatedText select the text in the
1677 line edit, or when selecting an item from the listbox, or when
1678 the line edit receives focus, like Windows.
1679
1680 \value SH_PopupMenu_AllowActiveAndDisabled allows disabled menu
1681 items to be active.
1682
1683 \value SH_PopupMenu_SpaceActivatesItem pressing Space activates
1684 the item, like Motif.
1685
1686 \value SH_PopupMenu_SubMenuPopupDelay the number of milliseconds
1687 to wait before opening a submenu; 256 on windows, 96 on Motif.
1688
1689 \value SH_PopupMenu_Scrollable whether popupmenu's must support
1690 scrolling.
1691
1692 \value SH_PopupMenu_SloppySubMenus whether popupmenu's must support
1693 sloppy submenu; as implemented on Mac OS.
1694
1695 \value SH_ScrollView_FrameOnlyAroundContents whether scrollviews
1696 draw their frame only around contents (like Motif), or around
1697 contents, scrollbars and corner widgets (like Windows).
1698
1699 \value SH_MenuBar_AltKeyNavigation menubars items are navigable
1700 by pressing Alt, followed by using the arrow keys to select
1701 the desired item.
1702
1703 \value SH_ComboBox_ListMouseTracking mouse tracking in combobox
1704 dropdown lists.
1705
1706 \value SH_PopupMenu_MouseTracking mouse tracking in popup menus.
1707
1708 \value SH_MenuBar_MouseTracking mouse tracking in menubars.
1709
1710 \value SH_ItemView_ChangeHighlightOnFocus gray out selected items
1711 when losing focus.
1712
1713 \value SH_Widget_ShareActivation turn on sharing activation with
1714 floating modeless dialogs.
1715
1716 \value SH_TabBar_SelectMouseType which type of mouse event should
1717 cause a tab to be selected.
1718
1719 \value SH_ListViewExpand_SelectMouseType which type of mouse event should
1720 cause a listview expansion to be selected.
1721
1722 \value SH_TabBar_PreferNoArrows whether a tabbar should suggest a size
1723 to prevent scoll arrows.
1724
1725 \value SH_ComboBox_Popup allows popups as a combobox dropdown
1726 menu.
1727
1728 \value SH_Workspace_FillSpaceOnMaximize the workspace should
1729 maximize the client area.
1730
1731 \value SH_TitleBar_NoBorder the titlebar has no border
1732
1733 \value SH_ScrollBar_StopMouseOverSlider stops autorepeat when
1734 slider reaches mouse
1735
1736 \value SH_BlinkCursorWhenTextSelected whether cursor should blink
1737 when text is selected
1738
1739 \value SH_RichText_FullWidthSelection whether richtext selections
1740 should extend the full width of the document.
1741
1742 \value SH_GroupBox_TextLabelVerticalAlignment how to vertically align a
1743 groupbox's text label.
1744
1745 \value SH_GroupBox_TextLabelColor how to paint a groupbox's text label.
1746
1747 \value SH_DialogButtons_DefaultButton which buttons gets the
1748 default status in a dialog's button widget.
1749
1750 \value SH_CustomBase base value for custom ControlElements. All
1751 values above this are reserved for custom use. Therefore,
1752 custom values must be greater than this value.
1753
1754 \value SH_ToolButton_Uses3D indicates whether QToolButtons should
1755 use a 3D frame when the mouse is over them
1756
1757 \value SH_ToolBox_SelectedPageTitleBold Boldness of the selected
1758 page title in a QToolBox.
1759
1760 \value SH_LineEdit_PasswordCharacter The QChar Unicode character
1761 to be used for passwords.
1762
1763 \value SH_Table_GridLineColor
1764
1765 \value SH_UnderlineAccelerator whether accelerators are underlined
1766
1767 \sa styleHint()
1768*/
1769
1770/*!
1771 \fn int QStyle::styleHint( StyleHint stylehint, const QWidget *widget = 0, const QStyleOption &opt = QStyleOption::Default, QStyleHintReturn *returnData = 0 ) const;
1772
1773 Returns the style hint \a stylehint for \a widget. Currently, \a
1774 widget, \a opt, and \a returnData are unused; they're included to
1775 allow for future enhancements.
1776
1777 For an explanation of the return value see \l StyleHint.
1778*/
1779
1780/*!
1781 \enum QStyle::StylePixmap
1782
1783 This enum represents a StylePixmap. A StylePixmap is a pixmap that
1784 can follow some existing GUI style or guideline.
1785
1786
1787 \value SP_TitleBarMinButton minimize button on titlebars. For
1788 example, in a QWorkspace.
1789 \value SP_TitleBarMaxButton maximize button on titlebars.
1790 \value SP_TitleBarCloseButton close button on titlebars.
1791 \value SP_TitleBarNormalButton normal (restore) button on titlebars.
1792 \value SP_TitleBarShadeButton shade button on titlebars.
1793 \value SP_TitleBarUnshadeButton unshade button on titlebars.
1794 \value SP_MessageBoxInformation the 'information' icon.
1795 \value SP_MessageBoxWarning the 'warning' icon.
1796 \value SP_MessageBoxCritical the 'critical' icon.
1797 \value SP_MessageBoxQuestion the 'question' icon.
1798
1799
1800 \value SP_DockWindowCloseButton close button on dock windows;
1801 see also QDockWindow.
1802
1803
1804 \value SP_CustomBase base value for custom ControlElements. All
1805 values above this are reserved for custom use. Therefore,
1806 custom values must be greater than this value.
1807
1808 \sa stylePixmap()
1809*/
1810
1811/*!
1812 \fn QPixmap QStyle::stylePixmap( StylePixmap stylepixmap, const QWidget *widget = 0, const QStyleOption& opt = QStyleOption::Default ) const;
1813
1814 Returns a pixmap for \a stylepixmap.
1815
1816 The \a opt argument can be used to pass extra information required
1817 when drawing the ControlElement. Note that \a opt may be the
1818 default value even for StylePixmaps that can make use of the extra
1819 options. Currently, the \a opt argument is unused.
1820
1821 The \a widget argument is a pointer to a QWidget or one of its
1822 subclasses. The widget can be cast to the appropriate type based
1823 on the value of \a stylepixmap. See the table below for the
1824 appropriate \a widget casts:
1825
1826 \table
1827 \header \i StylePixmap \i Widget Cast
1828 \row \i \l SP_TitleBarMinButton \i (const \l QWidget *)
1829 \row \i \l SP_TitleBarMaxButton \i (const \l QWidget *)
1830 \row \i \l SP_TitleBarCloseButton \i (const \l QWidget *)
1831 \row \i \l SP_TitleBarNormalButton \i (const \l QWidget *)
1832 \row \i \l SP_TitleBarShadeButton \i (const \l QWidget *)
1833 \row \i \l SP_TitleBarUnshadeButton \i (const \l QWidget *)
1834 \row \i \l SP_DockWindowCloseButton \i (const \l QDockWindow *)
1835 \endtable
1836
1837 \sa StylePixmap
1838*/
1839
1840/*!
1841 \fn QRect QStyle::visualRect( const QRect &logical, const QWidget *w );
1842
1843 Returns the rect \a logical in screen coordinates. The bounding
1844 rect for widget \a w is used to perform the translation. This
1845 function is provided to aid style implementors in supporting
1846 right-to-left mode.
1847
1848 \sa QApplication::reverseLayout()
1849*/
1850QRect QStyle::visualRect( const QRect &logical, const QWidget *w )
1851{
1852 QRect boundingRect = w->rect();
1853 QRect r = logical;
1854 if ( QApplication::reverseLayout() )
1855 r.moveBy( 2*(boundingRect.right() - logical.right()) +
1856 logical.width() - boundingRect.width(), 0 );
1857 return r;
1858}
1859
1860/*!
1861 \overload QRect QStyle::visualRect( const QRect &logical, const QRect &bounding );
1862
1863 Returns the rect \a logical in screen coordinates. The rect \a
1864 bounding is used to perform the translation. This function is
1865 provided to aid style implementors in supporting right-to-left
1866 mode.
1867
1868 \sa QApplication::reverseLayout()
1869*/
1870QRect QStyle::visualRect( const QRect &logical, const QRect &boundingRect )
1871{
1872 QRect r = logical;
1873 if ( QApplication::reverseLayout() )
1874 r.moveBy( 2*(boundingRect.right() - logical.right()) +
1875 logical.width() - boundingRect.width(), 0 );
1876 return r;
1877}
1878
1879/*!
1880 \fn int QStyle::defaultFrameWidth() const
1881 \obsolete
1882*/
1883
1884/*!
1885 \fn void QStyle::tabbarMetrics( const QWidget *, int &, int &, int & ) const
1886 \obsolete
1887*/
1888
1889/*!
1890 \fn QSize QStyle::scrollBarExtent() const
1891 \obsolete
1892*/
1893
1894#endif // QT_NO_STYLE
Note: See TracBrowser for help on using the repository browser.