00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042 #ifndef QSTYLEOPTION_H
00043 #define QSTYLEOPTION_H
00044
00045 #include <QtCore/qvariant.h>
00046 #include <QtGui/qabstractspinbox.h>
00047 #include <QtGui/qicon.h>
00048 #include <QtGui/qmatrix.h>
00049 #include <QtGui/qslider.h>
00050 #include <QtGui/qstyle.h>
00051 #include <QtGui/qtabbar.h>
00052 #include <QtGui/qtabwidget.h>
00053 #include <QtGui/qrubberband.h>
00054 #include <QtGui/qframe.h>
00055 #ifndef QT_NO_ITEMVIEWS
00056 # include <QtCore/qabstractitemmodel.h>
00057 #endif
00058
00059 QT_BEGIN_HEADER
00060
00061 QT_BEGIN_NAMESPACE
00062
00063 QT_MODULE(Gui)
00064
00065 class QDebug;
00066
00067 class Q_GUI_EXPORT QStyleOption
00068 {
00069 public:
00070 enum OptionType {
00071 SO_Default, SO_FocusRect, SO_Button, SO_Tab, SO_MenuItem,
00072 SO_Frame, SO_ProgressBar, SO_ToolBox, SO_Header, SO_Q3DockWindow,
00073 SO_DockWidget, SO_Q3ListViewItem, SO_ViewItem, SO_TabWidgetFrame,
00074 SO_TabBarBase, SO_RubberBand, SO_ToolBar, SO_GraphicsItem,
00075
00076 SO_Complex = 0xf0000, SO_Slider, SO_SpinBox, SO_ToolButton, SO_ComboBox,
00077 SO_Q3ListView, SO_TitleBar, SO_GroupBox, SO_SizeGrip,
00078
00079 SO_CustomBase = 0xf00,
00080 SO_ComplexCustomBase = 0xf000000
00081 };
00082
00083 enum StyleOptionType { Type = SO_Default };
00084 enum StyleOptionVersion { Version = 1 };
00085
00086 int version;
00087 int type;
00088 QStyle::State state;
00089 Qt::LayoutDirection direction;
00090 QRect rect;
00091 QFontMetrics fontMetrics;
00092 QPalette palette;
00093
00094 QStyleOption(int version = QStyleOption::Version, int type = SO_Default);
00095 QStyleOption(const QStyleOption &other);
00096 ~QStyleOption();
00097
00098 void init(const QWidget *w);
00099 inline void initFrom(const QWidget *w) { init(w); }
00100 QStyleOption &operator=(const QStyleOption &other);
00101 };
00102
00103 class Q_GUI_EXPORT QStyleOptionFocusRect : public QStyleOption
00104 {
00105 public:
00106 enum StyleOptionType { Type = SO_FocusRect };
00107 enum StyleOptionVersion { Version = 1 };
00108
00109 QColor backgroundColor;
00110
00111 QStyleOptionFocusRect();
00112 QStyleOptionFocusRect(const QStyleOptionFocusRect &other) : QStyleOption(Version, Type) { *this = other; }
00113
00114 protected:
00115 QStyleOptionFocusRect(int version);
00116 };
00117
00118 class Q_GUI_EXPORT QStyleOptionFrame : public QStyleOption
00119 {
00120 public:
00121 enum StyleOptionType { Type = SO_Frame };
00122 enum StyleOptionVersion { Version = 1 };
00123
00124 int lineWidth;
00125 int midLineWidth;
00126
00127 QStyleOptionFrame();
00128 QStyleOptionFrame(const QStyleOptionFrame &other) : QStyleOption(Version, Type) { *this = other; }
00129
00130 protected:
00131 QStyleOptionFrame(int version);
00132 };
00133
00134 class Q_GUI_EXPORT QStyleOptionFrameV2 : public QStyleOptionFrame
00135 {
00136 public:
00137 enum StyleOptionVersion { Version = 2 };
00138 enum FrameFeature {
00139 None = 0x00,
00140 Flat = 0x01
00141 };
00142 Q_DECLARE_FLAGS(FrameFeatures, FrameFeature)
00143 FrameFeatures features;
00144
00145 QStyleOptionFrameV2();
00146 QStyleOptionFrameV2(const QStyleOptionFrameV2 &other) : QStyleOptionFrame(Version) { *this = other; }
00147 QStyleOptionFrameV2(const QStyleOptionFrame &other);
00148 QStyleOptionFrameV2 &operator=(const QStyleOptionFrame &other);
00149
00150 protected:
00151 QStyleOptionFrameV2(int version);
00152 };
00153
00154 Q_DECLARE_OPERATORS_FOR_FLAGS(QStyleOptionFrameV2::FrameFeatures)
00155
00156
00157 class Q_GUI_EXPORT QStyleOptionFrameV3 : public QStyleOptionFrameV2
00158 {
00159 public:
00160 enum StyleOptionVersion { Version = 3 };
00161 QFrame::Shape frameShape : 4;
00162 uint unused : 28;
00163
00164 QStyleOptionFrameV3();
00165 QStyleOptionFrameV3(const QStyleOptionFrameV3 &other) : QStyleOptionFrameV2(Version) { *this = other; }
00166 QStyleOptionFrameV3(const QStyleOptionFrame &other);
00167 QStyleOptionFrameV3 &operator=(const QStyleOptionFrame &other);
00168
00169 protected:
00170 QStyleOptionFrameV3(int version);
00171 };
00172
00173
00174 #ifndef QT_NO_TABWIDGET
00175 class Q_GUI_EXPORT QStyleOptionTabWidgetFrame : public QStyleOption
00176 {
00177 public:
00178 enum StyleOptionType { Type = SO_TabWidgetFrame };
00179 enum StyleOptionVersion { Version = 1 };
00180
00181 int lineWidth;
00182 int midLineWidth;
00183 QTabBar::Shape shape;
00184 QSize tabBarSize;
00185 QSize rightCornerWidgetSize;
00186 QSize leftCornerWidgetSize;
00187
00188 QStyleOptionTabWidgetFrame();
00189 inline QStyleOptionTabWidgetFrame(const QStyleOptionTabWidgetFrame &other)
00190 : QStyleOption(Version, Type) { *this = other; }
00191
00192 protected:
00193 QStyleOptionTabWidgetFrame(int version);
00194 };
00195
00196 class Q_GUI_EXPORT QStyleOptionTabWidgetFrameV2 : public QStyleOptionTabWidgetFrame
00197 {
00198 public:
00199 enum StyleOptionVersion { Version = 2 };
00200
00201 QRect tabBarRect;
00202 QRect selectedTabRect;
00203
00204 QStyleOptionTabWidgetFrameV2();
00205 QStyleOptionTabWidgetFrameV2(const QStyleOptionTabWidgetFrameV2 &other) :
00206 QStyleOptionTabWidgetFrame(Version) { *this = other; }
00207 QStyleOptionTabWidgetFrameV2(const QStyleOptionTabWidgetFrame &other);
00208 QStyleOptionTabWidgetFrameV2 &operator=(const QStyleOptionTabWidgetFrame &other);
00209
00210 protected:
00211 QStyleOptionTabWidgetFrameV2(int version);
00212 };
00213
00214 #endif
00215
00216
00217 #ifndef QT_NO_TABBAR
00218 class Q_GUI_EXPORT QStyleOptionTabBarBase : public QStyleOption
00219 {
00220 public:
00221 enum StyleOptionType { Type = SO_TabBarBase };
00222 enum StyleOptionVersion { Version = 1 };
00223
00224 QTabBar::Shape shape;
00225 QRect tabBarRect;
00226 QRect selectedTabRect;
00227
00228 QStyleOptionTabBarBase();
00229 QStyleOptionTabBarBase(const QStyleOptionTabBarBase &other) : QStyleOption(Version, Type) { *this = other; }
00230
00231 protected:
00232 QStyleOptionTabBarBase(int version);
00233 };
00234
00235 class Q_GUI_EXPORT QStyleOptionTabBarBaseV2 : public QStyleOptionTabBarBase
00236 {
00237 public:
00238 enum StyleOptionVersion { Version = 2 };
00239 bool documentMode;
00240 QStyleOptionTabBarBaseV2();
00241 QStyleOptionTabBarBaseV2(const QStyleOptionTabBarBaseV2 &other) : QStyleOptionTabBarBase(Version) { *this = other; }
00242 QStyleOptionTabBarBaseV2(const QStyleOptionTabBarBase &other);
00243 QStyleOptionTabBarBaseV2 &operator=(const QStyleOptionTabBarBase &other);
00244
00245 protected:
00246 QStyleOptionTabBarBaseV2(int version);
00247 };
00248
00249 #endif
00250
00251 class Q_GUI_EXPORT QStyleOptionHeader : public QStyleOption
00252 {
00253 public:
00254 enum StyleOptionType { Type = SO_Header };
00255 enum StyleOptionVersion { Version = 1 };
00256
00257 enum SectionPosition { Beginning, Middle, End, OnlyOneSection };
00258 enum SelectedPosition { NotAdjacent, NextIsSelected, PreviousIsSelected,
00259 NextAndPreviousAreSelected };
00260 enum SortIndicator { None, SortUp, SortDown };
00261
00262 int section;
00263 QString text;
00264 Qt::Alignment textAlignment;
00265 QIcon icon;
00266 Qt::Alignment iconAlignment;
00267 SectionPosition position;
00268 SelectedPosition selectedPosition;
00269 SortIndicator sortIndicator;
00270 Qt::Orientation orientation;
00271
00272 QStyleOptionHeader();
00273 QStyleOptionHeader(const QStyleOptionHeader &other) : QStyleOption(Version, Type) { *this = other; }
00274
00275 protected:
00276 QStyleOptionHeader(int version);
00277 };
00278
00279 class Q_GUI_EXPORT QStyleOptionButton : public QStyleOption
00280 {
00281 public:
00282 enum StyleOptionType { Type = SO_Button };
00283 enum StyleOptionVersion { Version = 1 };
00284
00285 enum ButtonFeature { None = 0x00, Flat = 0x01, HasMenu = 0x02, DefaultButton = 0x04,
00286 AutoDefaultButton = 0x08, CommandLinkButton = 0x10 };
00287 Q_DECLARE_FLAGS(ButtonFeatures, ButtonFeature)
00288
00289 ButtonFeatures features;
00290 QString text;
00291 QIcon icon;
00292 QSize iconSize;
00293
00294 QStyleOptionButton();
00295 QStyleOptionButton(const QStyleOptionButton &other) : QStyleOption(Version, Type) { *this = other; }
00296
00297 protected:
00298 QStyleOptionButton(int version);
00299 };
00300
00301 Q_DECLARE_OPERATORS_FOR_FLAGS(QStyleOptionButton::ButtonFeatures)
00302
00303 #ifndef QT_NO_TABBAR
00304 class Q_GUI_EXPORT QStyleOptionTab : public QStyleOption
00305 {
00306 public:
00307 enum StyleOptionType { Type = SO_Tab };
00308 enum StyleOptionVersion { Version = 1 };
00309
00310 enum TabPosition { Beginning, Middle, End, OnlyOneTab };
00311 enum SelectedPosition { NotAdjacent, NextIsSelected, PreviousIsSelected };
00312 enum CornerWidget { NoCornerWidgets = 0x00, LeftCornerWidget = 0x01,
00313 RightCornerWidget = 0x02 };
00314 Q_DECLARE_FLAGS(CornerWidgets, CornerWidget)
00315
00316 QTabBar::Shape shape;
00317 QString text;
00318 QIcon icon;
00319 int row;
00320 TabPosition position;
00321 SelectedPosition selectedPosition;
00322 CornerWidgets cornerWidgets;
00323
00324 QStyleOptionTab();
00325 QStyleOptionTab(const QStyleOptionTab &other) : QStyleOption(Version, Type) { *this = other; }
00326
00327 protected:
00328 QStyleOptionTab(int version);
00329 };
00330
00331 Q_DECLARE_OPERATORS_FOR_FLAGS(QStyleOptionTab::CornerWidgets)
00332
00333 class Q_GUI_EXPORT QStyleOptionTabV2 : public QStyleOptionTab
00334 {
00335 public:
00336 enum StyleOptionVersion { Version = 2 };
00337 QSize iconSize;
00338 QStyleOptionTabV2();
00339 QStyleOptionTabV2(const QStyleOptionTabV2 &other) : QStyleOptionTab(Version) { *this = other; }
00340 QStyleOptionTabV2(const QStyleOptionTab &other);
00341 QStyleOptionTabV2 &operator=(const QStyleOptionTab &other);
00342
00343 protected:
00344 QStyleOptionTabV2(int version);
00345 };
00346
00347 class Q_GUI_EXPORT QStyleOptionTabV3 : public QStyleOptionTabV2
00348 {
00349 public:
00350 enum StyleOptionVersion { Version = 3 };
00351 bool documentMode;
00352 QSize leftButtonSize;
00353 QSize rightButtonSize;
00354 QStyleOptionTabV3();
00355 QStyleOptionTabV3(const QStyleOptionTabV3 &other) : QStyleOptionTabV2(Version) { *this = other; }
00356 QStyleOptionTabV3(const QStyleOptionTabV2 &other) : QStyleOptionTabV2(Version) { *this = other; }
00357 QStyleOptionTabV3(const QStyleOptionTab &other);
00358 QStyleOptionTabV3 &operator=(const QStyleOptionTab &other);
00359
00360 protected:
00361 QStyleOptionTabV3(int version);
00362 };
00363
00364 #endif
00365
00366
00367 #ifndef QT_NO_TOOLBAR
00368
00369 class Q_GUI_EXPORT QStyleOptionToolBar : public QStyleOption
00370 {
00371 public:
00372 enum StyleOptionType { Type = SO_ToolBar };
00373 enum StyleOptionVersion { Version = 1 };
00374 enum ToolBarPosition { Beginning, Middle, End, OnlyOne };
00375 enum ToolBarFeature { None = 0x0, Movable = 0x1 };
00376 Q_DECLARE_FLAGS(ToolBarFeatures, ToolBarFeature)
00377 ToolBarPosition positionOfLine;
00378 ToolBarPosition positionWithinLine;
00379 Qt::ToolBarArea toolBarArea;
00380 ToolBarFeatures features;
00381 int lineWidth;
00382 int midLineWidth;
00383 QStyleOptionToolBar();
00384 QStyleOptionToolBar(const QStyleOptionToolBar &other) : QStyleOption(Version, Type) { *this = other; }
00385
00386 protected:
00387 QStyleOptionToolBar(int version);
00388 };
00389
00390 Q_DECLARE_OPERATORS_FOR_FLAGS(QStyleOptionToolBar::ToolBarFeatures)
00391
00392 #endif
00393
00394
00395
00396 class Q_GUI_EXPORT QStyleOptionProgressBar : public QStyleOption
00397 {
00398 public:
00399 enum StyleOptionType { Type = SO_ProgressBar };
00400 enum StyleOptionVersion { Version = 1 };
00401
00402 int minimum;
00403 int maximum;
00404 int progress;
00405 QString text;
00406 Qt::Alignment textAlignment;
00407 bool textVisible;
00408
00409 QStyleOptionProgressBar();
00410 QStyleOptionProgressBar(const QStyleOptionProgressBar &other) : QStyleOption(Version, Type) { *this = other; }
00411
00412 protected:
00413 QStyleOptionProgressBar(int version);
00414 };
00415
00416
00417 class Q_GUI_EXPORT QStyleOptionProgressBarV2 : public QStyleOptionProgressBar
00418 {
00419 public:
00420 enum StyleOptionType { Type = SO_ProgressBar };
00421 enum StyleOptionVersion { Version = 2 };
00422 Qt::Orientation orientation;
00423 bool invertedAppearance;
00424 bool bottomToTop;
00425
00426 QStyleOptionProgressBarV2();
00427 QStyleOptionProgressBarV2(const QStyleOptionProgressBar &other);
00428 QStyleOptionProgressBarV2(const QStyleOptionProgressBarV2 &other);
00429 QStyleOptionProgressBarV2 &operator=(const QStyleOptionProgressBar &other);
00430
00431 protected:
00432 QStyleOptionProgressBarV2(int version);
00433 };
00434
00435 class Q_GUI_EXPORT QStyleOptionMenuItem : public QStyleOption
00436 {
00437 public:
00438 enum StyleOptionType { Type = SO_MenuItem };
00439 enum StyleOptionVersion { Version = 1 };
00440
00441 enum MenuItemType { Normal, DefaultItem, Separator, SubMenu, Scroller, TearOff, Margin,
00442 EmptyArea };
00443 enum CheckType { NotCheckable, Exclusive, NonExclusive };
00444
00445 MenuItemType menuItemType;
00446 CheckType checkType;
00447 bool checked;
00448 bool menuHasCheckableItems;
00449 QRect menuRect;
00450 QString text;
00451 QIcon icon;
00452 int maxIconWidth;
00453 int tabWidth;
00454 QFont font;
00455
00456 QStyleOptionMenuItem();
00457 QStyleOptionMenuItem(const QStyleOptionMenuItem &other) : QStyleOption(Version, Type) { *this = other; }
00458
00459 protected:
00460 QStyleOptionMenuItem(int version);
00461 };
00462
00463 class Q_GUI_EXPORT QStyleOptionQ3ListViewItem : public QStyleOption
00464 {
00465 public:
00466 enum StyleOptionType { Type = SO_Q3ListViewItem };
00467 enum StyleOptionVersion { Version = 1 };
00468
00469 enum Q3ListViewItemFeature { None = 0x00, Expandable = 0x01, MultiLine = 0x02, Visible = 0x04,
00470 ParentControl = 0x08 };
00471 Q_DECLARE_FLAGS(Q3ListViewItemFeatures, Q3ListViewItemFeature)
00472
00473 Q3ListViewItemFeatures features;
00474 int height;
00475 int totalHeight;
00476 int itemY;
00477 int childCount;
00478
00479 QStyleOptionQ3ListViewItem();
00480 QStyleOptionQ3ListViewItem(const QStyleOptionQ3ListViewItem &other) : QStyleOption(Version, Type) { *this = other; }
00481
00482 protected:
00483 QStyleOptionQ3ListViewItem(int version);
00484 };
00485
00486 Q_DECLARE_OPERATORS_FOR_FLAGS(QStyleOptionQ3ListViewItem::Q3ListViewItemFeatures)
00487
00488 class Q_GUI_EXPORT QStyleOptionQ3DockWindow : public QStyleOption
00489 {
00490 public:
00491 enum StyleOptionType { Type = SO_Q3DockWindow };
00492 enum StyleOptionVersion { Version = 1 };
00493
00494 bool docked;
00495 bool closeEnabled;
00496
00497 QStyleOptionQ3DockWindow();
00498 QStyleOptionQ3DockWindow(const QStyleOptionQ3DockWindow &other) : QStyleOption(Version, Type) { *this = other; }
00499
00500 protected:
00501 QStyleOptionQ3DockWindow(int version);
00502 };
00503
00504 class Q_GUI_EXPORT QStyleOptionDockWidget : public QStyleOption
00505 {
00506 public:
00507 enum StyleOptionType { Type = SO_DockWidget };
00508 enum StyleOptionVersion { Version = 1 };
00509
00510 QString title;
00511 bool closable;
00512 bool movable;
00513 bool floatable;
00514
00515 QStyleOptionDockWidget();
00516 QStyleOptionDockWidget(const QStyleOptionDockWidget &other) : QStyleOption(Version, Type) { *this = other; }
00517
00518 protected:
00519 QStyleOptionDockWidget(int version);
00520 };
00521
00522 class Q_GUI_EXPORT QStyleOptionDockWidgetV2 : public QStyleOptionDockWidget
00523 {
00524 public:
00525 enum StyleOptionVersion { Version = 2 };
00526
00527 bool verticalTitleBar;
00528
00529 QStyleOptionDockWidgetV2();
00530 QStyleOptionDockWidgetV2(const QStyleOptionDockWidgetV2 &other)
00531 : QStyleOptionDockWidget(Version) { *this = other; }
00532 QStyleOptionDockWidgetV2(const QStyleOptionDockWidget &other);
00533 QStyleOptionDockWidgetV2 &operator = (const QStyleOptionDockWidget &other);
00534
00535 protected:
00536 QStyleOptionDockWidgetV2(int version);
00537 };
00538
00539 class Q_GUI_EXPORT QStyleOptionViewItem : public QStyleOption
00540 {
00541 public:
00542 enum StyleOptionType { Type = SO_ViewItem };
00543 enum StyleOptionVersion { Version = 1 };
00544
00545 enum Position { Left, Right, Top, Bottom };
00546
00547 Qt::Alignment displayAlignment;
00548 Qt::Alignment decorationAlignment;
00549 Qt::TextElideMode textElideMode;
00550 Position decorationPosition;
00551 QSize decorationSize;
00552 QFont font;
00553 bool showDecorationSelected;
00554
00555 QStyleOptionViewItem();
00556 QStyleOptionViewItem(const QStyleOptionViewItem &other) : QStyleOption(Version, Type) { *this = other; }
00557
00558 protected:
00559 QStyleOptionViewItem(int version);
00560 };
00561
00562 class Q_GUI_EXPORT QStyleOptionViewItemV2 : public QStyleOptionViewItem
00563 {
00564 public:
00565 enum StyleOptionVersion { Version = 2 };
00566
00567 enum ViewItemFeature {
00568 None = 0x00,
00569 WrapText = 0x01,
00570 Alternate = 0x02,
00571 HasCheckIndicator = 0x04,
00572 HasDisplay = 0x08,
00573 HasDecoration = 0x10
00574 };
00575 Q_DECLARE_FLAGS(ViewItemFeatures, ViewItemFeature)
00576
00577 ViewItemFeatures features;
00578
00579 QStyleOptionViewItemV2();
00580 QStyleOptionViewItemV2(const QStyleOptionViewItemV2 &other) : QStyleOptionViewItem(Version) { *this = other; }
00581 QStyleOptionViewItemV2(const QStyleOptionViewItem &other);
00582 QStyleOptionViewItemV2 &operator=(const QStyleOptionViewItem &other);
00583
00584 protected:
00585 QStyleOptionViewItemV2(int version);
00586 };
00587
00588 Q_DECLARE_OPERATORS_FOR_FLAGS(QStyleOptionViewItemV2::ViewItemFeatures)
00589
00590 class Q_GUI_EXPORT QStyleOptionViewItemV3 : public QStyleOptionViewItemV2
00591 {
00592 public:
00593 enum StyleOptionVersion { Version = 3 };
00594
00595 QLocale locale;
00596 const QWidget *widget;
00597
00598 QStyleOptionViewItemV3();
00599 QStyleOptionViewItemV3(const QStyleOptionViewItemV3 &other)
00600 : QStyleOptionViewItemV2(Version) { *this = other; }
00601 QStyleOptionViewItemV3(const QStyleOptionViewItem &other);
00602 QStyleOptionViewItemV3 &operator = (const QStyleOptionViewItem &other);
00603
00604 protected:
00605 QStyleOptionViewItemV3(int version);
00606 };
00607
00608 #ifndef QT_NO_ITEMVIEWS
00609 class Q_GUI_EXPORT QStyleOptionViewItemV4 : public QStyleOptionViewItemV3
00610 {
00611 public:
00612 enum StyleOptionVersion { Version = 4 };
00613 enum ViewItemPosition { Invalid, Beginning, Middle, End, OnlyOne };
00614
00615 QModelIndex index;
00616 Qt::CheckState checkState;
00617 QIcon icon;
00618 QString text;
00619 ViewItemPosition viewItemPosition;
00620 QBrush backgroundBrush;
00621
00622 QStyleOptionViewItemV4();
00623 QStyleOptionViewItemV4(const QStyleOptionViewItemV4 &other)
00624 : QStyleOptionViewItemV3(Version) { *this = other; }
00625 QStyleOptionViewItemV4(const QStyleOptionViewItem &other);
00626 QStyleOptionViewItemV4 &operator = (const QStyleOptionViewItem &other);
00627
00628 protected:
00629 QStyleOptionViewItemV4(int version);
00630 };
00631 #endif
00632
00633 class Q_GUI_EXPORT QStyleOptionToolBox : public QStyleOption
00634 {
00635 public:
00636 enum StyleOptionType { Type = SO_ToolBox };
00637 enum StyleOptionVersion { Version = 1 };
00638
00639 QString text;
00640 QIcon icon;
00641
00642 QStyleOptionToolBox();
00643 QStyleOptionToolBox(const QStyleOptionToolBox &other) : QStyleOption(Version, Type) { *this = other; }
00644
00645 protected:
00646 QStyleOptionToolBox(int version);
00647 };
00648
00649 class Q_GUI_EXPORT QStyleOptionToolBoxV2 : public QStyleOptionToolBox
00650 {
00651 public:
00652 enum StyleOptionVersion { Version = 2 };
00653 enum TabPosition { Beginning, Middle, End, OnlyOneTab };
00654 enum SelectedPosition { NotAdjacent, NextIsSelected, PreviousIsSelected };
00655
00656 TabPosition position;
00657 SelectedPosition selectedPosition;
00658
00659 QStyleOptionToolBoxV2();
00660 QStyleOptionToolBoxV2(const QStyleOptionToolBoxV2 &other) : QStyleOptionToolBox(Version) { *this = other; }
00661 QStyleOptionToolBoxV2(const QStyleOptionToolBox &other);
00662 QStyleOptionToolBoxV2 &operator=(const QStyleOptionToolBox &other);
00663
00664 protected:
00665 QStyleOptionToolBoxV2(int version);
00666 };
00667
00668 #ifndef QT_NO_RUBBERBAND
00669 class Q_GUI_EXPORT QStyleOptionRubberBand : public QStyleOption
00670 {
00671 public:
00672 enum StyleOptionType { Type = SO_RubberBand };
00673 enum StyleOptionVersion { Version = 1 };
00674
00675 QRubberBand::Shape shape;
00676 bool opaque;
00677
00678 QStyleOptionRubberBand();
00679 QStyleOptionRubberBand(const QStyleOptionRubberBand &other) : QStyleOption(Version, Type) { *this = other; }
00680
00681 protected:
00682 QStyleOptionRubberBand(int version);
00683 };
00684 #endif // QT_NO_RUBBERBAND
00685
00686
00687 class Q_GUI_EXPORT QStyleOptionComplex : public QStyleOption
00688 {
00689 public:
00690 enum StyleOptionType { Type = SO_Complex };
00691 enum StyleOptionVersion { Version = 1 };
00692
00693 QStyle::SubControls subControls;
00694 QStyle::SubControls activeSubControls;
00695
00696 QStyleOptionComplex(int version = QStyleOptionComplex::Version, int type = SO_Complex);
00697 QStyleOptionComplex(const QStyleOptionComplex &other) : QStyleOption(Version, Type) { *this = other; }
00698 };
00699
00700 #ifndef QT_NO_SLIDER
00701 class Q_GUI_EXPORT QStyleOptionSlider : public QStyleOptionComplex
00702 {
00703 public:
00704 enum StyleOptionType { Type = SO_Slider };
00705 enum StyleOptionVersion { Version = 1 };
00706
00707 Qt::Orientation orientation;
00708 int minimum;
00709 int maximum;
00710 QSlider::TickPosition tickPosition;
00711 int tickInterval;
00712 bool upsideDown;
00713 int sliderPosition;
00714 int sliderValue;
00715 int singleStep;
00716 int pageStep;
00717 qreal notchTarget;
00718 bool dialWrapping;
00719
00720 QStyleOptionSlider();
00721 QStyleOptionSlider(const QStyleOptionSlider &other) : QStyleOptionComplex(Version, Type) { *this = other; }
00722
00723 protected:
00724 QStyleOptionSlider(int version);
00725 };
00726 #endif // QT_NO_SLIDER
00727
00728 #ifndef QT_NO_SPINBOX
00729 class Q_GUI_EXPORT QStyleOptionSpinBox : public QStyleOptionComplex
00730 {
00731 public:
00732 enum StyleOptionType { Type = SO_SpinBox };
00733 enum StyleOptionVersion { Version = 1 };
00734
00735 QAbstractSpinBox::ButtonSymbols buttonSymbols;
00736 QAbstractSpinBox::StepEnabled stepEnabled;
00737 bool frame;
00738
00739 QStyleOptionSpinBox();
00740 QStyleOptionSpinBox(const QStyleOptionSpinBox &other) : QStyleOptionComplex(Version, Type) { *this = other; }
00741
00742 protected:
00743 QStyleOptionSpinBox(int version);
00744 };
00745 #endif // QT_NO_SPINBOX
00746
00747 class Q_GUI_EXPORT QStyleOptionQ3ListView : public QStyleOptionComplex
00748 {
00749 public:
00750 enum StyleOptionType { Type = SO_Q3ListView };
00751 enum StyleOptionVersion { Version = 1 };
00752
00753 QList<QStyleOptionQ3ListViewItem> items;
00754 QPalette viewportPalette;
00755 QPalette::ColorRole viewportBGRole;
00756 int sortColumn;
00757 int itemMargin;
00758 int treeStepSize;
00759 bool rootIsDecorated;
00760
00761 QStyleOptionQ3ListView();
00762 QStyleOptionQ3ListView(const QStyleOptionQ3ListView &other) : QStyleOptionComplex(Version, Type) { *this = other; }
00763
00764 protected:
00765 QStyleOptionQ3ListView(int version);
00766 };
00767
00768 class Q_GUI_EXPORT QStyleOptionToolButton : public QStyleOptionComplex
00769 {
00770 public:
00771 enum StyleOptionType { Type = SO_ToolButton };
00772 enum StyleOptionVersion { Version = 1 };
00773
00774 enum ToolButtonFeature { None = 0x00, Arrow = 0x01, Menu = 0x04, MenuButtonPopup = Menu, PopupDelay = 0x08,
00775 HasMenu = 0x10 };
00776 Q_DECLARE_FLAGS(ToolButtonFeatures, ToolButtonFeature)
00777
00778 ToolButtonFeatures features;
00779 QIcon icon;
00780 QSize iconSize;
00781 QString text;
00782 Qt::ArrowType arrowType;
00783 Qt::ToolButtonStyle toolButtonStyle;
00784 QPoint pos;
00785 QFont font;
00786
00787 QStyleOptionToolButton();
00788 QStyleOptionToolButton(const QStyleOptionToolButton &other) : QStyleOptionComplex(Version, Type) { *this = other; }
00789
00790 protected:
00791 QStyleOptionToolButton(int version);
00792 };
00793
00794 Q_DECLARE_OPERATORS_FOR_FLAGS(QStyleOptionToolButton::ToolButtonFeatures)
00795
00796 class Q_GUI_EXPORT QStyleOptionComboBox : public QStyleOptionComplex
00797 {
00798 public:
00799 enum StyleOptionType { Type = SO_ComboBox };
00800 enum StyleOptionVersion { Version = 1 };
00801
00802 bool editable;
00803 QRect popupRect;
00804 bool frame;
00805 QString currentText;
00806 QIcon currentIcon;
00807 QSize iconSize;
00808
00809 QStyleOptionComboBox();
00810 QStyleOptionComboBox(const QStyleOptionComboBox &other) : QStyleOptionComplex(Version, Type) { *this = other; }
00811
00812 protected:
00813 QStyleOptionComboBox(int version);
00814 };
00815
00816 class Q_GUI_EXPORT QStyleOptionTitleBar : public QStyleOptionComplex
00817 {
00818 public:
00819 enum StyleOptionType { Type = SO_TitleBar };
00820 enum StyleOptionVersion { Version = 1 };
00821
00822 QString text;
00823 QIcon icon;
00824 int titleBarState;
00825 Qt::WindowFlags titleBarFlags;
00826
00827 QStyleOptionTitleBar();
00828 QStyleOptionTitleBar(const QStyleOptionTitleBar &other) : QStyleOptionComplex(Version, Type) { *this = other; }
00829
00830 protected:
00831 QStyleOptionTitleBar(int version);
00832 };
00833
00834 class Q_GUI_EXPORT QStyleOptionGroupBox : public QStyleOptionComplex
00835 {
00836 public:
00837 enum StyleOptionType { Type = SO_GroupBox };
00838 enum StyleOptionVersion { Version = 1 };
00839
00840 QStyleOptionFrameV2::FrameFeatures features;
00841 QString text;
00842 Qt::Alignment textAlignment;
00843 QColor textColor;
00844 int lineWidth;
00845 int midLineWidth;
00846
00847 QStyleOptionGroupBox();
00848 QStyleOptionGroupBox(const QStyleOptionGroupBox &other) : QStyleOptionComplex(Version, Type) { *this = other; }
00849 protected:
00850 QStyleOptionGroupBox(int version);
00851 };
00852
00853 class Q_GUI_EXPORT QStyleOptionSizeGrip : public QStyleOptionComplex
00854 {
00855 public:
00856 enum StyleOptionType { Type = SO_SizeGrip };
00857 enum StyleOptionVersion { Version = 1 };
00858
00859 Qt::Corner corner;
00860
00861 QStyleOptionSizeGrip();
00862 QStyleOptionSizeGrip(const QStyleOptionSizeGrip &other) : QStyleOptionComplex(Version, Type) { *this = other; }
00863 protected:
00864 QStyleOptionSizeGrip(int version);
00865 };
00866
00867 class Q_GUI_EXPORT QStyleOptionGraphicsItem : public QStyleOption
00868 {
00869 public:
00870 enum StyleOptionType { Type = SO_GraphicsItem };
00871 enum StyleOptionVersion { Version = 1 };
00872
00873 QRectF exposedRect;
00874 QMatrix matrix;
00875 qreal levelOfDetail;
00876
00877 QStyleOptionGraphicsItem();
00878 QStyleOptionGraphicsItem(const QStyleOptionGraphicsItem &other) : QStyleOption(Version, Type) { *this = other; }
00879 static qreal levelOfDetailFromTransform(const QTransform &worldTransform);
00880 protected:
00881 QStyleOptionGraphicsItem(int version);
00882 };
00883
00884 template <typename T>
00885 T qstyleoption_cast(const QStyleOption *opt)
00886 {
00887 if (opt && opt->version >= static_cast<T>(0)->Version && (opt->type == static_cast<T>(0)->Type
00888 || int(static_cast<T>(0)->Type) == QStyleOption::SO_Default
00889 || (int(static_cast<T>(0)->Type) == QStyleOption::SO_Complex
00890 && opt->type > QStyleOption::SO_Complex)))
00891 return static_cast<T>(opt);
00892 return 0;
00893 }
00894
00895 template <typename T>
00896 T qstyleoption_cast(QStyleOption *opt)
00897 {
00898 if (opt && opt->version >= static_cast<T>(0)->Version && (opt->type == static_cast<T>(0)->Type
00899 || int(static_cast<T>(0)->Type) == QStyleOption::SO_Default
00900 || (int(static_cast<T>(0)->Type) == QStyleOption::SO_Complex
00901 && opt->type > QStyleOption::SO_Complex)))
00902 return static_cast<T>(opt);
00903 return 0;
00904 }
00905
00906
00907 class Q_GUI_EXPORT QStyleHintReturn {
00908 public:
00909 enum HintReturnType {
00910 SH_Default=0xf000, SH_Mask, SH_Variant
00911 };
00912
00913 enum StyleOptionType { Type = SH_Default };
00914 enum StyleOptionVersion { Version = 1 };
00915
00916 QStyleHintReturn(int version = QStyleOption::Version, int type = SH_Default);
00917 ~QStyleHintReturn();
00918
00919 int version;
00920 int type;
00921 };
00922
00923 class Q_GUI_EXPORT QStyleHintReturnMask : public QStyleHintReturn {
00924 public:
00925 enum StyleOptionType { Type = SH_Mask };
00926 enum StyleOptionVersion { Version = 1 };
00927
00928 QStyleHintReturnMask();
00929
00930 QRegion region;
00931 };
00932
00933 class Q_GUI_EXPORT QStyleHintReturnVariant : public QStyleHintReturn {
00934 public:
00935 enum StyleOptionType { Type = SH_Variant };
00936 enum StyleOptionVersion { Version = 1 };
00937
00938 QStyleHintReturnVariant();
00939
00940 QVariant variant;
00941 };
00942
00943 template <typename T>
00944 T qstyleoption_cast(const QStyleHintReturn *hint)
00945 {
00946 if (hint && hint->version <= static_cast<T>(0)->Version &&
00947 (hint->type == static_cast<T>(0)->Type || int(static_cast<T>(0)->Type) == QStyleHintReturn::SH_Default))
00948 return static_cast<T>(hint);
00949 return 0;
00950 }
00951
00952 template <typename T>
00953 T qstyleoption_cast(QStyleHintReturn *hint)
00954 {
00955 if (hint && hint->version <= static_cast<T>(0)->Version &&
00956 (hint->type == static_cast<T>(0)->Type || int(static_cast<T>(0)->Type) == QStyleHintReturn::SH_Default))
00957 return static_cast<T>(hint);
00958 return 0;
00959 }
00960
00961 #if !defined(QT_NO_DEBUG_STREAM)
00962 Q_GUI_EXPORT QDebug operator<<(QDebug debug, const QStyleOption::OptionType &optionType);
00963 Q_GUI_EXPORT QDebug operator<<(QDebug debug, const QStyleOption &option);
00964 #endif
00965
00966 QT_END_NAMESPACE
00967
00968 QT_END_HEADER
00969
00970 #endif // QSTYLEOPTION_H