00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef QSTYLE_H
00025 #define QSTYLE_H
00026
00027 #include <QtCore/qobject.h>
00028 #include <QtCore/qrect.h>
00029 #include <QtCore/qsize.h>
00030 #include <QtGui/qicon.h>
00031 #include <QtGui/qpixmap.h>
00032 #include <QtGui/qpalette.h>
00033 #include <QtCore/qobject.h>
00034
00035 QT_BEGIN_HEADER
00036
00037 QT_MODULE(Gui)
00038
00039 class QAction;
00040 class QDebug;
00041 class QTab;
00042 class QFontMetrics;
00043 class QStyleHintReturn;
00044 class QStyleOption;
00045 class QStyleOptionComplex;
00046 class QStylePrivate;
00047
00048 class Q_GUI_EXPORT QStyle : public QObject
00049 {
00050 Q_OBJECT
00051 Q_DECLARE_PRIVATE(QStyle)
00052
00053 protected:
00054 QStyle(QStylePrivate &dd);
00055
00056 public:
00057 QStyle();
00058 virtual ~QStyle();
00059
00060 virtual void polish(QWidget *);
00061 virtual void unpolish(QWidget *);
00062
00063 virtual void polish(QApplication *);
00064 virtual void unpolish(QApplication *);
00065
00066 virtual void polish(QPalette &);
00067
00068 virtual QRect itemTextRect(const QFontMetrics &fm, const QRect &r,
00069 int flags, bool enabled,
00070 const QString &text) const;
00071
00072 virtual QRect itemPixmapRect(const QRect &r, int flags, const QPixmap &pixmap) const;
00073
00074 virtual void drawItemText(QPainter *painter, const QRect &rect,
00075 int flags, const QPalette &pal, bool enabled,
00076 const QString &text, QPalette::ColorRole textRole = QPalette::NoRole) const;
00077
00078 virtual void drawItemPixmap(QPainter *painter, const QRect &rect,
00079 int alignment, const QPixmap &pixmap) const;
00080
00081 virtual QPalette standardPalette() const;
00082
00083 enum StateFlag {
00084 State_None = 0x00000000,
00085 #ifdef QT3_SUPPORT
00086 State_Default = State_None,
00087 #endif
00088 State_Enabled = 0x00000001,
00089 State_Raised = 0x00000002,
00090 State_Sunken = 0x00000004,
00091 State_Off = 0x00000008,
00092 State_NoChange = 0x00000010,
00093 State_On = 0x00000020,
00094 State_DownArrow = 0x00000040,
00095 State_Horizontal = 0x00000080,
00096 State_HasFocus = 0x00000100,
00097 State_Top = 0x00000200,
00098 State_Bottom = 0x00000400,
00099 State_FocusAtBorder = 0x00000800,
00100 State_AutoRaise = 0x00001000,
00101 State_MouseOver = 0x00002000,
00102 State_UpArrow = 0x00004000,
00103 State_Selected = 0x00008000,
00104 State_Active = 0x00010000,
00105 State_Open = 0x00040000,
00106 State_Children = 0x00080000,
00107 State_Item = 0x00100000,
00108 State_Sibling = 0x00200000,
00109 State_Editing = 0x00400000,
00110 State_KeyboardFocusChange = 0x00800000,
00111 #ifdef QT_KEYPAD_NAVIGATION
00112 State_HasEditFocus = 0x01000000,
00113 #endif
00114 State_ReadOnly = 0x02000000
00115 };
00116 Q_DECLARE_FLAGS(State, StateFlag)
00117
00118 #ifdef QT3_SUPPORT
00119 typedef State SFlags;
00120 #endif
00121
00122 enum PrimitiveElement {
00123 PE_Q3CheckListController,
00124 PE_Q3CheckListExclusiveIndicator,
00125 PE_Q3CheckListIndicator,
00126 PE_Q3DockWindowSeparator,
00127 PE_Q3Separator,
00128
00129 PE_Frame,
00130 PE_FrameDefaultButton,
00131 PE_FrameDockWidget,
00132 PE_FrameFocusRect,
00133 PE_FrameGroupBox,
00134 PE_FrameLineEdit,
00135 PE_FrameMenu,
00136 PE_FrameStatusBar,
00137 PE_FrameTabWidget,
00138 PE_FrameWindow,
00139 PE_FrameButtonBevel,
00140 PE_FrameButtonTool,
00141 PE_FrameTabBarBase,
00142
00143 PE_PanelButtonCommand,
00144 PE_PanelButtonBevel,
00145 PE_PanelButtonTool,
00146 PE_PanelMenuBar,
00147 PE_PanelToolBar,
00148 PE_PanelLineEdit,
00149
00150 PE_IndicatorArrowDown,
00151 PE_IndicatorArrowLeft,
00152 PE_IndicatorArrowRight,
00153 PE_IndicatorArrowUp,
00154 PE_IndicatorBranch,
00155 PE_IndicatorButtonDropDown,
00156 PE_IndicatorViewItemCheck,
00157 PE_IndicatorCheckBox,
00158 PE_IndicatorDockWidgetResizeHandle,
00159 PE_IndicatorHeaderArrow,
00160 PE_IndicatorMenuCheckMark,
00161 PE_IndicatorProgressChunk,
00162 PE_IndicatorRadioButton,
00163 PE_IndicatorSpinDown,
00164 PE_IndicatorSpinMinus,
00165 PE_IndicatorSpinPlus,
00166 PE_IndicatorSpinUp,
00167 PE_IndicatorToolBarHandle,
00168 PE_IndicatorToolBarSeparator,
00169 PE_PanelTipLabel,
00170 PE_IndicatorTabTear,
00171 PE_PanelScrollAreaCorner,
00172
00173 PE_Widget,
00174
00175
00176 PE_CustomBase = 0xf000000
00177 };
00178
00179 virtual void drawPrimitive(PrimitiveElement pe, const QStyleOption *opt, QPainter *p,
00180 const QWidget *w = 0) const = 0;
00181 enum ControlElement {
00182 CE_PushButton,
00183 CE_PushButtonBevel,
00184 CE_PushButtonLabel,
00185
00186 CE_CheckBox,
00187 CE_CheckBoxLabel,
00188
00189 CE_RadioButton,
00190 CE_RadioButtonLabel,
00191
00192 CE_TabBarTab,
00193 CE_TabBarTabShape,
00194 CE_TabBarTabLabel,
00195
00196 CE_ProgressBar,
00197 CE_ProgressBarGroove,
00198 CE_ProgressBarContents,
00199 CE_ProgressBarLabel,
00200
00201 CE_MenuItem,
00202 CE_MenuScroller,
00203 CE_MenuVMargin,
00204 CE_MenuHMargin,
00205 CE_MenuTearoff,
00206 CE_MenuEmptyArea,
00207
00208 CE_MenuBarItem,
00209 CE_MenuBarEmptyArea,
00210
00211 CE_ToolButtonLabel,
00212
00213 CE_Header,
00214 CE_HeaderSection,
00215 CE_HeaderLabel,
00216
00217 CE_Q3DockWindowEmptyArea,
00218 CE_ToolBoxTab,
00219 CE_SizeGrip,
00220 CE_Splitter,
00221 CE_RubberBand,
00222 CE_DockWidgetTitle,
00223
00224 CE_ScrollBarAddLine,
00225 CE_ScrollBarSubLine,
00226 CE_ScrollBarAddPage,
00227 CE_ScrollBarSubPage,
00228 CE_ScrollBarSlider,
00229 CE_ScrollBarFirst,
00230 CE_ScrollBarLast,
00231
00232 CE_FocusFrame,
00233 CE_ComboBoxLabel,
00234
00235 CE_ToolBar,
00236
00237
00238 CE_CustomBase = 0xf0000000
00239 };
00240
00241 virtual void drawControl(ControlElement element, const QStyleOption *opt, QPainter *p,
00242 const QWidget *w = 0) const = 0;
00243
00244 enum SubElement {
00245 SE_PushButtonContents,
00246 SE_PushButtonFocusRect,
00247
00248 SE_CheckBoxIndicator,
00249 SE_CheckBoxContents,
00250 SE_CheckBoxFocusRect,
00251 SE_CheckBoxClickRect,
00252
00253 SE_RadioButtonIndicator,
00254 SE_RadioButtonContents,
00255 SE_RadioButtonFocusRect,
00256 SE_RadioButtonClickRect,
00257
00258 SE_ComboBoxFocusRect,
00259
00260 SE_SliderFocusRect,
00261
00262 SE_Q3DockWindowHandleRect,
00263
00264 SE_ProgressBarGroove,
00265 SE_ProgressBarContents,
00266 SE_ProgressBarLabel,
00267
00268
00269 SE_DialogButtonAccept,
00270 SE_DialogButtonReject,
00271 SE_DialogButtonApply,
00272 SE_DialogButtonHelp,
00273 SE_DialogButtonAll,
00274 SE_DialogButtonAbort,
00275 SE_DialogButtonIgnore,
00276 SE_DialogButtonRetry,
00277 SE_DialogButtonCustom,
00278
00279 SE_ToolBoxTabContents,
00280
00281 SE_HeaderLabel,
00282 SE_HeaderArrow,
00283
00284 SE_TabWidgetTabBar,
00285 SE_TabWidgetTabPane,
00286 SE_TabWidgetTabContents,
00287 SE_TabWidgetLeftCorner,
00288 SE_TabWidgetRightCorner,
00289
00290 SE_ViewItemCheckIndicator,
00291
00292 SE_TabBarTearIndicator,
00293
00294 SE_TreeViewDisclosureItem,
00295
00296 SE_LineEditContents,
00297 SE_FrameContents,
00298
00299
00300 SE_CustomBase = 0xf0000000
00301 };
00302
00303 virtual QRect subElementRect(SubElement subElement, const QStyleOption *option,
00304 const QWidget *widget = 0) const = 0;
00305
00306
00307 enum ComplexControl {
00308 CC_SpinBox,
00309 CC_ComboBox,
00310 CC_ScrollBar,
00311 CC_Slider,
00312 CC_ToolButton,
00313 CC_TitleBar,
00314 CC_Q3ListView,
00315 CC_Dial,
00316 CC_GroupBox,
00317
00318
00319 CC_CustomBase = 0xf0000000
00320 };
00321
00322 enum SubControl {
00323 SC_None = 0x00000000,
00324
00325 SC_ScrollBarAddLine = 0x00000001,
00326 SC_ScrollBarSubLine = 0x00000002,
00327 SC_ScrollBarAddPage = 0x00000004,
00328 SC_ScrollBarSubPage = 0x00000008,
00329 SC_ScrollBarFirst = 0x00000010,
00330 SC_ScrollBarLast = 0x00000020,
00331 SC_ScrollBarSlider = 0x00000040,
00332 SC_ScrollBarGroove = 0x00000080,
00333
00334 SC_SpinBoxUp = 0x00000001,
00335 SC_SpinBoxDown = 0x00000002,
00336 SC_SpinBoxFrame = 0x00000004,
00337 SC_SpinBoxEditField = 0x00000008,
00338
00339 SC_ComboBoxFrame = 0x00000001,
00340 SC_ComboBoxEditField = 0x00000002,
00341 SC_ComboBoxArrow = 0x00000004,
00342 SC_ComboBoxListBoxPopup = 0x00000008,
00343
00344 SC_SliderGroove = 0x00000001,
00345 SC_SliderHandle = 0x00000002,
00346 SC_SliderTickmarks = 0x00000004,
00347
00348 SC_ToolButton = 0x00000001,
00349 SC_ToolButtonMenu = 0x00000002,
00350
00351 SC_TitleBarSysMenu = 0x00000001,
00352 SC_TitleBarMinButton = 0x00000002,
00353 SC_TitleBarMaxButton = 0x00000004,
00354 SC_TitleBarCloseButton = 0x00000008,
00355 SC_TitleBarNormalButton = 0x00000010,
00356 SC_TitleBarShadeButton = 0x00000020,
00357 SC_TitleBarUnshadeButton = 0x00000040,
00358 SC_TitleBarContextHelpButton = 0x00000080,
00359 SC_TitleBarLabel = 0x00000100,
00360
00361 SC_Q3ListView = 0x00000001,
00362 SC_Q3ListViewBranch = 0x00000002,
00363 SC_Q3ListViewExpand = 0x00000004,
00364
00365 SC_DialGroove = 0x00000001,
00366 SC_DialHandle = 0x00000002,
00367 SC_DialTickmarks = 0x00000004,
00368
00369 SC_GroupBoxCheckBox = 0x00000001,
00370 SC_GroupBoxLabel = 0x00000002,
00371 SC_GroupBoxContents = 0x00000004,
00372 SC_GroupBoxFrame = 0x00000008,
00373
00374 SC_All = 0xffffffff
00375 };
00376 Q_DECLARE_FLAGS(SubControls, SubControl)
00377
00378 #ifdef QT3_SUPPORT
00379 typedef SubControls SCFlags;
00380 #endif
00381
00382 virtual void drawComplexControl(ComplexControl cc, const QStyleOptionComplex *opt, QPainter *p,
00383 const QWidget *widget = 0) const = 0;
00384 virtual SubControl hitTestComplexControl(ComplexControl cc, const QStyleOptionComplex *opt,
00385 const QPoint &pt, const QWidget *widget = 0) const = 0;
00386 virtual QRect subControlRect(ComplexControl cc, const QStyleOptionComplex *opt,
00387 SubControl sc, const QWidget *widget = 0) const = 0;
00388
00389 enum PixelMetric {
00390 PM_ButtonMargin,
00391 PM_ButtonDefaultIndicator,
00392 PM_MenuButtonIndicator,
00393 PM_ButtonShiftHorizontal,
00394 PM_ButtonShiftVertical,
00395
00396 PM_DefaultFrameWidth,
00397 PM_SpinBoxFrameWidth,
00398 PM_ComboBoxFrameWidth,
00399
00400 PM_MaximumDragDistance,
00401
00402 PM_ScrollBarExtent,
00403 PM_ScrollBarSliderMin,
00404
00405 PM_SliderThickness,
00406 PM_SliderControlThickness,
00407 PM_SliderLength,
00408 PM_SliderTickmarkOffset,
00409 PM_SliderSpaceAvailable,
00410
00411 PM_DockWidgetSeparatorExtent,
00412 PM_DockWidgetHandleExtent,
00413 PM_DockWidgetFrameWidth,
00414
00415 PM_TabBarTabOverlap,
00416 PM_TabBarTabHSpace,
00417 PM_TabBarTabVSpace,
00418 PM_TabBarBaseHeight,
00419 PM_TabBarBaseOverlap,
00420
00421 PM_ProgressBarChunkWidth,
00422
00423 PM_SplitterWidth,
00424 PM_TitleBarHeight,
00425
00426 PM_MenuScrollerHeight,
00427 PM_MenuHMargin,
00428 PM_MenuVMargin,
00429 PM_MenuPanelWidth,
00430 PM_MenuTearoffHeight,
00431 PM_MenuDesktopFrameWidth,
00432
00433 PM_MenuBarPanelWidth,
00434 PM_MenuBarItemSpacing,
00435 PM_MenuBarVMargin,
00436 PM_MenuBarHMargin,
00437
00438 PM_IndicatorWidth,
00439 PM_IndicatorHeight,
00440 PM_ExclusiveIndicatorWidth,
00441 PM_ExclusiveIndicatorHeight,
00442 PM_CheckListButtonSize,
00443 PM_CheckListControllerSize,
00444
00445 PM_DialogButtonsSeparator,
00446 PM_DialogButtonsButtonWidth,
00447 PM_DialogButtonsButtonHeight,
00448
00449 PM_MDIFrameWidth,
00450 PM_MDIMinimizedWidth,
00451 PM_HeaderMargin,
00452 PM_HeaderMarkSize,
00453 PM_HeaderGripMargin,
00454 PM_TabBarTabShiftHorizontal,
00455 PM_TabBarTabShiftVertical,
00456 PM_TabBarScrollButtonWidth,
00457
00458 PM_ToolBarFrameWidth,
00459 PM_ToolBarHandleExtent,
00460 PM_ToolBarItemSpacing,
00461 PM_ToolBarItemMargin,
00462 PM_ToolBarSeparatorExtent,
00463 PM_ToolBarExtensionExtent,
00464
00465 PM_SpinBoxSliderHeight,
00466
00467 PM_DefaultTopLevelMargin,
00468 PM_DefaultChildMargin,
00469 PM_DefaultLayoutSpacing,
00470
00471 PM_ToolBarIconSize,
00472 PM_ListViewIconSize,
00473 PM_IconViewIconSize,
00474 PM_SmallIconSize,
00475 PM_LargeIconSize,
00476
00477 PM_FocusFrameVMargin,
00478 PM_FocusFrameHMargin,
00479
00480 PM_ToolTipLabelFrameWidth,
00481 PM_CheckBoxLabelSpacing,
00482 PM_TabBarIconSize,
00483 PM_SizeGripSize,
00484 PM_DockWidgetTitleMargin,
00485 PM_MessageBoxIconSize,
00486 PM_ButtonIconSize,
00487
00488
00489
00490 PM_CustomBase = 0xf0000000
00491 };
00492
00493 virtual int pixelMetric(PixelMetric metric, const QStyleOption *option = 0,
00494 const QWidget *widget = 0) const = 0;
00495
00496 enum ContentsType {
00497 CT_PushButton,
00498 CT_CheckBox,
00499 CT_RadioButton,
00500 CT_ToolButton,
00501 CT_ComboBox,
00502 CT_Splitter,
00503 CT_Q3DockWindow,
00504 CT_ProgressBar,
00505 CT_MenuItem,
00506 CT_MenuBarItem,
00507 CT_MenuBar,
00508 CT_Menu,
00509 CT_TabBarTab,
00510 CT_Slider,
00511 CT_ScrollBar,
00512 CT_Q3Header,
00513 CT_LineEdit,
00514 CT_SpinBox,
00515 CT_SizeGrip,
00516 CT_TabWidget,
00517 CT_DialogButtons,
00518 CT_HeaderSection,
00519 CT_GroupBox,
00520
00521 CT_CustomBase = 0xf0000000
00522 };
00523
00524 virtual QSize sizeFromContents(ContentsType ct, const QStyleOption *opt,
00525 const QSize &contentsSize, const QWidget *w = 0) const = 0;
00526
00527 enum StyleHint {
00528 SH_EtchDisabledText,
00529 SH_DitherDisabledText,
00530 SH_ScrollBar_MiddleClickAbsolutePosition,
00531 SH_ScrollBar_ScrollWhenPointerLeavesControl,
00532 SH_TabBar_SelectMouseType,
00533 SH_TabBar_Alignment,
00534 SH_Header_ArrowAlignment,
00535 SH_Slider_SnapToValue,
00536 SH_Slider_SloppyKeyEvents,
00537 SH_ProgressDialog_CenterCancelButton,
00538 SH_ProgressDialog_TextLabelAlignment,
00539 SH_PrintDialog_RightAlignButtons,
00540 SH_MainWindow_SpaceBelowMenuBar,
00541 SH_FontDialog_SelectAssociatedText,
00542 SH_Menu_AllowActiveAndDisabled,
00543 SH_Menu_SpaceActivatesItem,
00544 SH_Menu_SubMenuPopupDelay,
00545 SH_ScrollView_FrameOnlyAroundContents,
00546 SH_MenuBar_AltKeyNavigation,
00547 SH_ComboBox_ListMouseTracking,
00548 SH_Menu_MouseTracking,
00549 SH_MenuBar_MouseTracking,
00550 SH_ItemView_ChangeHighlightOnFocus,
00551 SH_Widget_ShareActivation,
00552 SH_Workspace_FillSpaceOnMaximize,
00553 SH_ComboBox_Popup,
00554 SH_TitleBar_NoBorder,
00555 SH_Slider_StopMouseOverSlider,
00556 SH_ScrollBar_StopMouseOverSlider = SH_Slider_StopMouseOverSlider,
00557 SH_BlinkCursorWhenTextSelected,
00558 SH_RichText_FullWidthSelection,
00559 SH_Menu_Scrollable,
00560 SH_GroupBox_TextLabelVerticalAlignment,
00561 SH_GroupBox_TextLabelColor,
00562 SH_Menu_SloppySubMenus,
00563 SH_Table_GridLineColor,
00564 SH_LineEdit_PasswordCharacter,
00565 SH_DialogButtons_DefaultButton,
00566 SH_ToolBox_SelectedPageTitleBold,
00567 SH_TabBar_PreferNoArrows,
00568 SH_ScrollBar_LeftClickAbsolutePosition,
00569 SH_Q3ListViewExpand_SelectMouseType,
00570 SH_UnderlineShortcut,
00571 SH_SpinBox_AnimateButton,
00572 SH_SpinBox_KeyPressAutoRepeatRate,
00573 SH_SpinBox_ClickAutoRepeatRate,
00574 SH_Menu_FillScreenWithScroll,
00575 SH_ToolTipLabel_Opacity,
00576 SH_DrawMenuBarSeparator,
00577 SH_TitleBar_ModifyNotification,
00578 SH_Button_FocusPolicy,
00579 SH_MenuBar_DismissOnSecondClick,
00580 SH_MessageBox_UseBorderForButtonSpacing,
00581 SH_TitleBar_AutoRaise,
00582 SH_ToolButton_PopupDelay,
00583 SH_FocusFrame_Mask,
00584 SH_RubberBand_Mask,
00585 SH_WindowFrame_Mask,
00586 SH_SpinControls_DisableOnBounds,
00587 SH_Dial_BackgroundRole,
00588 SH_ComboBox_LayoutDirection,
00589 SH_ItemView_EllipsisLocation,
00590 SH_ItemView_ShowDecorationSelected,
00591 SH_ItemView_ActivateItemOnSingleClick,
00592 SH_ScrollBar_ContextMenu,
00593 SH_ScrollBar_RollBetweenButtons,
00594 SH_Slider_AbsoluteSetButtons,
00595 SH_Slider_PageSetButtons,
00596 SH_Menu_KeyboardSearch,
00597 SH_TabBar_ElideMode,
00598 SH_DialogButtonLayout,
00599 SH_ComboBox_PopupFrameStyle,
00600 SH_MessageBox_TextInteractionFlags,
00601 SH_DialogButtonBox_ButtonsHaveIcons,
00602 SH_SpellCheckUnderlineStyle,
00603 SH_MessageBox_CenterButtons,
00604 SH_Menu_SelectionWrap,
00605 SH_ItemView_MovementWithoutUpdatingSelection,
00606
00607
00608
00609 #ifdef QT3_SUPPORT
00610 SH_GUIStyle = 0x00000100,
00611 SH_ScrollBar_BackgroundMode,
00612
00613
00614 SH_UnderlineAccelerator = SH_UnderlineShortcut,
00615 #endif
00616 SH_CustomBase = 0xf0000000
00617 };
00618
00619 virtual int styleHint(StyleHint stylehint, const QStyleOption *opt = 0,
00620 const QWidget *widget = 0, QStyleHintReturn* returnData = 0) const = 0;
00621
00622 enum StandardPixmap {
00623 SP_TitleBarMenuButton,
00624 SP_TitleBarMinButton,
00625 SP_TitleBarMaxButton,
00626 SP_TitleBarCloseButton,
00627 SP_TitleBarNormalButton,
00628 SP_TitleBarShadeButton,
00629 SP_TitleBarUnshadeButton,
00630 SP_TitleBarContextHelpButton,
00631 SP_DockWidgetCloseButton,
00632 SP_MessageBoxInformation,
00633 SP_MessageBoxWarning,
00634 SP_MessageBoxCritical,
00635 SP_MessageBoxQuestion,
00636 SP_DesktopIcon,
00637 SP_TrashIcon,
00638 SP_ComputerIcon,
00639 SP_DriveFDIcon,
00640 SP_DriveHDIcon,
00641 SP_DriveCDIcon,
00642 SP_DriveDVDIcon,
00643 SP_DriveNetIcon,
00644 SP_DirOpenIcon,
00645 SP_DirClosedIcon,
00646 SP_DirLinkIcon,
00647 SP_FileIcon,
00648 SP_FileLinkIcon,
00649 SP_ToolBarHorizontalExtensionButton,
00650 SP_ToolBarVerticalExtensionButton,
00651 SP_FileDialogStart,
00652 SP_FileDialogEnd,
00653 SP_FileDialogToParent,
00654 SP_FileDialogNewFolder,
00655 SP_FileDialogDetailedView,
00656 SP_FileDialogInfoView,
00657 SP_FileDialogContentsView,
00658 SP_FileDialogListView,
00659 SP_FileDialogBack,
00660 SP_DirIcon,
00661 SP_DialogOkButton,
00662 SP_DialogCancelButton,
00663 SP_DialogHelpButton,
00664 SP_DialogOpenButton,
00665 SP_DialogSaveButton,
00666 SP_DialogCloseButton,
00667 SP_DialogApplyButton,
00668 SP_DialogResetButton,
00669 SP_DialogDiscardButton,
00670 SP_DialogYesButton,
00671 SP_DialogNoButton,
00672 SP_ArrowUp,
00673 SP_ArrowDown,
00674 SP_ArrowLeft,
00675 SP_ArrowRight,
00676 SP_ArrowBack,
00677 SP_ArrowForward,
00678
00679 SP_CustomBase = 0xf0000000
00680 };
00681
00682 virtual QPixmap standardPixmap(StandardPixmap standardPixmap, const QStyleOption *opt = 0,
00683 const QWidget *widget = 0) const = 0;
00684
00685 QIcon standardIcon(StandardPixmap standardIcon, const QStyleOption *option = 0,
00686 const QWidget *widget = 0) const;
00687
00688 virtual QPixmap generatedIconPixmap(QIcon::Mode iconMode, const QPixmap &pixmap,
00689 const QStyleOption *opt) const = 0;
00690
00691 static QRect visualRect(Qt::LayoutDirection direction, const QRect &boundingRect,
00692 const QRect &logicalRect);
00693 static QPoint visualPos(Qt::LayoutDirection direction, const QRect &boundingRect,
00694 const QPoint &logicalPos);
00695 static int sliderPositionFromValue(int min, int max, int val, int space,
00696 bool upsideDown = false);
00697 static int sliderValueFromPosition(int min, int max, int pos, int space,
00698 bool upsideDown = false);
00699 static Qt::Alignment visualAlignment(Qt::LayoutDirection direction, Qt::Alignment alignment);
00700 static QRect alignedRect(Qt::LayoutDirection direction, Qt::Alignment alignment,
00701 const QSize &size, const QRect &rectangle);
00702
00703 protected Q_SLOTS:
00704 QIcon standardIconImplementation(StandardPixmap standardIcon, const QStyleOption *opt = 0,
00705 const QWidget *widget = 0) const;
00706
00707 private:
00708 Q_DISABLE_COPY(QStyle)
00709 friend class QWidget;
00710 friend class QWidgetPrivate;
00711 friend class QApplication;
00712 };
00713
00714 Q_DECLARE_OPERATORS_FOR_FLAGS(QStyle::State)
00715 Q_DECLARE_OPERATORS_FOR_FLAGS(QStyle::SubControls)
00716
00717 #if !defined(QT_NO_DEBUG_STREAM) && !defined(QT_NO_DEBUG)
00718 Q_GUI_EXPORT QDebug operator<<(QDebug debug, QStyle::State state);
00719 #endif
00720
00721 QT_END_HEADER
00722
00723 #endif // QSTYLE_H