// qstyle.sip generated by MetaSIP on Sat Dec  8 09:51:35 2012
//
// This file is part of the QtGui Python extension module.
//
// Copyright (c) 2012 Riverbank Computing Limited <info@riverbankcomputing.com>
// 
// This file is part of PyQt.
// 
// This file may be used under the terms of the GNU General Public
// License versions 2.0 or 3.0 as published by the Free Software
// Foundation and appearing in the files LICENSE.GPL2 and LICENSE.GPL3
// included in the packaging of this file.  Alternatively you may (at
// your option) use any later version of the GNU General Public
// License if such license has been publicly approved by Riverbank
// Computing Limited (or its successors, if any) and the KDE Free Qt
// Foundation. In addition, as a special exception, Riverbank gives you
// certain additional rights. These rights are described in the Riverbank
// GPL Exception version 1.1, which can be found in the file
// GPL_EXCEPTION.txt in this package.
// 
// If you are unsure which license is appropriate for your use, please
// contact the sales department at sales@riverbankcomputing.com.
// 
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.


%ModuleCode
#include <qstyle.h>
%End

class QStyle : QObject
{
%TypeHeaderCode
#include <qstyle.h>
%End

public:
    QStyle();
    virtual ~QStyle();
    virtual void polish(QWidget *);
    virtual void unpolish(QWidget *);
    virtual void polish(QApplication *);
    virtual void unpolish(QApplication *);
    virtual void polish(QPalette & /In,Out/);
    virtual QRect itemTextRect(const QFontMetrics &fm, const QRect &r, int flags, bool enabled, const QString &text) const;
    virtual QRect itemPixmapRect(const QRect &r, int flags, const QPixmap &pixmap) const;
    virtual void drawItemText(QPainter *painter, const QRect &rectangle, int alignment, const QPalette &palette, bool enabled, const QString &text, QPalette::ColorRole textRole = QPalette::NoRole) const;
    virtual void drawItemPixmap(QPainter *painter, const QRect &rect, int alignment, const QPixmap &pixmap) const;
    virtual QPalette standardPalette() const;

    enum StateFlag
    {
        State_None,
        State_Enabled,
        State_Raised,
        State_Sunken,
        State_Off,
        State_NoChange,
        State_On,
        State_DownArrow,
        State_Horizontal,
        State_HasFocus,
        State_Top,
        State_Bottom,
        State_FocusAtBorder,
        State_AutoRaise,
        State_MouseOver,
        State_UpArrow,
        State_Selected,
        State_Active,
        State_Open,
        State_Children,
        State_Item,
        State_Sibling,
        State_Editing,
        State_KeyboardFocusChange,
        State_ReadOnly,
%If (Qt_4_3_0 -)
        State_Window,
%End
%If (Qt_4_3_0 -)
        State_Small,
%End
%If (Qt_4_3_0 -)
        State_Mini,
%End
    };

    typedef QFlags<QStyle::StateFlag> State;

    enum PrimitiveElement
    {
%If (- Qt_5_0_0)
        PE_Q3CheckListController,
%End
%If (- Qt_5_0_0)
        PE_Q3CheckListExclusiveIndicator,
%End
%If (- Qt_5_0_0)
        PE_Q3CheckListIndicator,
%End
%If (- Qt_5_0_0)
        PE_Q3DockWindowSeparator,
%End
%If (- Qt_5_0_0)
        PE_Q3Separator,
%End
        PE_Frame,
        PE_FrameDefaultButton,
        PE_FrameDockWidget,
        PE_FrameFocusRect,
        PE_FrameGroupBox,
        PE_FrameLineEdit,
        PE_FrameMenu,
        PE_FrameStatusBar,
        PE_FrameTabWidget,
        PE_FrameWindow,
        PE_FrameButtonBevel,
        PE_FrameButtonTool,
        PE_FrameTabBarBase,
        PE_PanelButtonCommand,
        PE_PanelButtonBevel,
        PE_PanelButtonTool,
        PE_PanelMenuBar,
        PE_PanelToolBar,
        PE_PanelLineEdit,
        PE_IndicatorArrowDown,
        PE_IndicatorArrowLeft,
        PE_IndicatorArrowRight,
        PE_IndicatorArrowUp,
        PE_IndicatorBranch,
        PE_IndicatorButtonDropDown,
        PE_IndicatorViewItemCheck,
        PE_IndicatorCheckBox,
        PE_IndicatorDockWidgetResizeHandle,
        PE_IndicatorHeaderArrow,
        PE_IndicatorMenuCheckMark,
        PE_IndicatorProgressChunk,
        PE_IndicatorRadioButton,
        PE_IndicatorSpinDown,
        PE_IndicatorSpinMinus,
        PE_IndicatorSpinPlus,
        PE_IndicatorSpinUp,
        PE_IndicatorToolBarHandle,
        PE_IndicatorToolBarSeparator,
        PE_PanelTipLabel,
        PE_IndicatorTabTear,
%If (Qt_4_2_0 -)
        PE_PanelScrollAreaCorner,
%End
%If (Qt_4_2_0 -)
        PE_Widget,
%End
%If (Qt_4_3_0 -)
        PE_IndicatorColumnViewArrow,
%End
%If (Qt_4_4_0 -)
        PE_FrameStatusBarItem,
%End
%If (Qt_4_4_0 -)
        PE_IndicatorItemViewItemCheck,
%End
%If (Qt_4_4_0 -)
        PE_IndicatorItemViewItemDrop,
%End
%If (Qt_4_4_0 -)
        PE_PanelItemViewItem,
%End
%If (Qt_4_4_0 -)
        PE_PanelItemViewRow,
%End
%If (Qt_4_4_0 -)
        PE_PanelStatusBar,
%End
%If (Qt_4_5_0 -)
        PE_IndicatorTabClose,
%End
%If (Qt_4_5_0 -)
        PE_PanelMenu,
%End
        PE_CustomBase,
    };

    virtual void drawPrimitive(QStyle::PrimitiveElement pe, const QStyleOption *opt, QPainter *p, const QWidget *widget = 0) const = 0;

    enum ControlElement
    {
        CE_PushButton,
        CE_PushButtonBevel,
        CE_PushButtonLabel,
        CE_CheckBox,
        CE_CheckBoxLabel,
        CE_RadioButton,
        CE_RadioButtonLabel,
        CE_TabBarTab,
        CE_TabBarTabShape,
        CE_TabBarTabLabel,
        CE_ProgressBar,
        CE_ProgressBarGroove,
        CE_ProgressBarContents,
        CE_ProgressBarLabel,
        CE_MenuItem,
        CE_MenuScroller,
        CE_MenuVMargin,
        CE_MenuHMargin,
        CE_MenuTearoff,
        CE_MenuEmptyArea,
        CE_MenuBarItem,
        CE_MenuBarEmptyArea,
        CE_ToolButtonLabel,
        CE_Header,
        CE_HeaderSection,
        CE_HeaderLabel,
%If (- Qt_5_0_0)
        CE_Q3DockWindowEmptyArea,
%End
        CE_ToolBoxTab,
        CE_SizeGrip,
        CE_Splitter,
        CE_RubberBand,
        CE_DockWidgetTitle,
        CE_ScrollBarAddLine,
        CE_ScrollBarSubLine,
        CE_ScrollBarAddPage,
        CE_ScrollBarSubPage,
        CE_ScrollBarSlider,
        CE_ScrollBarFirst,
        CE_ScrollBarLast,
        CE_FocusFrame,
        CE_ComboBoxLabel,
        CE_ToolBar,
%If (Qt_4_3_0 -)
        CE_ToolBoxTabShape,
%End
%If (Qt_4_3_0 -)
        CE_ToolBoxTabLabel,
%End
%If (Qt_4_3_0 -)
        CE_HeaderEmptyArea,
%End
%If (Qt_4_3_0 -)
        CE_ColumnViewGrip,
%End
%If (Qt_4_4_0 -)
        CE_ItemViewItem,
%End
%If (Qt_4_5_0 -)
        CE_ShapedFrame,
%End
        CE_CustomBase,
    };

    virtual void drawControl(QStyle::ControlElement element, const QStyleOption *opt, QPainter *p, const QWidget *widget = 0) const = 0;

    enum SubElement
    {
        SE_PushButtonContents,
        SE_PushButtonFocusRect,
        SE_CheckBoxIndicator,
        SE_CheckBoxContents,
        SE_CheckBoxFocusRect,
        SE_CheckBoxClickRect,
        SE_RadioButtonIndicator,
        SE_RadioButtonContents,
        SE_RadioButtonFocusRect,
        SE_RadioButtonClickRect,
        SE_ComboBoxFocusRect,
        SE_SliderFocusRect,
%If (- Qt_5_0_0)
        SE_Q3DockWindowHandleRect,
%End
        SE_ProgressBarGroove,
        SE_ProgressBarContents,
        SE_ProgressBarLabel,
%If (- Qt_5_0_0)
        SE_DialogButtonAccept,
%End
%If (- Qt_5_0_0)
        SE_DialogButtonReject,
%End
%If (- Qt_5_0_0)
        SE_DialogButtonApply,
%End
%If (- Qt_5_0_0)
        SE_DialogButtonHelp,
%End
%If (- Qt_5_0_0)
        SE_DialogButtonAll,
%End
%If (- Qt_5_0_0)
        SE_DialogButtonAbort,
%End
%If (- Qt_5_0_0)
        SE_DialogButtonIgnore,
%End
%If (- Qt_5_0_0)
        SE_DialogButtonRetry,
%End
%If (- Qt_5_0_0)
        SE_DialogButtonCustom,
%End
        SE_ToolBoxTabContents,
        SE_HeaderLabel,
        SE_HeaderArrow,
        SE_TabWidgetTabBar,
        SE_TabWidgetTabPane,
        SE_TabWidgetTabContents,
        SE_TabWidgetLeftCorner,
        SE_TabWidgetRightCorner,
        SE_ViewItemCheckIndicator,
        SE_TabBarTearIndicator,
        SE_TreeViewDisclosureItem,
%If (Qt_4_2_0 -)
        SE_LineEditContents,
%End
%If (Qt_4_2_0 -)
        SE_FrameContents,
%End
%If (Qt_4_3_0 -)
        SE_DockWidgetCloseButton,
%End
%If (Qt_4_3_0 -)
        SE_DockWidgetFloatButton,
%End
%If (Qt_4_3_0 -)
        SE_DockWidgetTitleBarText,
%End
%If (Qt_4_3_0 -)
        SE_DockWidgetIcon,
%End
%If (Qt_4_3_0 -)
        SE_CheckBoxLayoutItem,
%End
%If (Qt_4_3_0 -)
        SE_ComboBoxLayoutItem,
%End
%If (Qt_4_3_0 -)
        SE_DateTimeEditLayoutItem,
%End
%If (Qt_4_3_0 -)
        SE_DialogButtonBoxLayoutItem,
%End
%If (Qt_4_3_0 -)
        SE_LabelLayoutItem,
%End
%If (Qt_4_3_0 -)
        SE_ProgressBarLayoutItem,
%End
%If (Qt_4_3_0 -)
        SE_PushButtonLayoutItem,
%End
%If (Qt_4_3_0 -)
        SE_RadioButtonLayoutItem,
%End
%If (Qt_4_3_0 -)
        SE_SliderLayoutItem,
%End
%If (Qt_4_3_0 -)
        SE_SpinBoxLayoutItem,
%End
%If (Qt_4_3_0 -)
        SE_ToolButtonLayoutItem,
%End
%If (Qt_4_3_0 -)
        SE_FrameLayoutItem,
%End
%If (Qt_4_3_0 -)
        SE_GroupBoxLayoutItem,
%End
%If (Qt_4_3_0 -)
        SE_TabWidgetLayoutItem,
%End
%If (Qt_4_4_0 -)
        SE_ItemViewItemCheckIndicator,
%End
%If (Qt_4_4_0 -)
        SE_ItemViewItemDecoration,
%End
%If (Qt_4_4_0 -)
        SE_ItemViewItemText,
%End
%If (Qt_4_4_0 -)
        SE_ItemViewItemFocusRect,
%End
%If (Qt_4_5_0 -)
        SE_TabBarTabLeftButton,
%End
%If (Qt_4_5_0 -)
        SE_TabBarTabRightButton,
%End
%If (Qt_4_5_0 -)
        SE_TabBarTabText,
%End
%If (Qt_4_5_0 -)
        SE_ShapedFrameContents,
%End
%If (Qt_4_6_0 -)
        SE_ToolBarHandle,
%End
        SE_CustomBase,
    };

    virtual QRect subElementRect(QStyle::SubElement subElement, const QStyleOption *option, const QWidget *widget = 0) const = 0;

    enum ComplexControl
    {
        CC_SpinBox,
        CC_ComboBox,
        CC_ScrollBar,
        CC_Slider,
        CC_ToolButton,
        CC_TitleBar,
%If (- Qt_5_0_0)
        CC_Q3ListView,
%End
        CC_Dial,
        CC_GroupBox,
%If (Qt_4_3_0 -)
        CC_MdiControls,
%End
        CC_CustomBase,
    };

    enum SubControl
    {
        SC_None,
        SC_ScrollBarAddLine,
        SC_ScrollBarSubLine,
        SC_ScrollBarAddPage,
        SC_ScrollBarSubPage,
        SC_ScrollBarFirst,
        SC_ScrollBarLast,
        SC_ScrollBarSlider,
        SC_ScrollBarGroove,
        SC_SpinBoxUp,
        SC_SpinBoxDown,
        SC_SpinBoxFrame,
        SC_SpinBoxEditField,
        SC_ComboBoxFrame,
        SC_ComboBoxEditField,
        SC_ComboBoxArrow,
        SC_ComboBoxListBoxPopup,
        SC_SliderGroove,
        SC_SliderHandle,
        SC_SliderTickmarks,
        SC_ToolButton,
        SC_ToolButtonMenu,
        SC_TitleBarSysMenu,
        SC_TitleBarMinButton,
        SC_TitleBarMaxButton,
        SC_TitleBarCloseButton,
        SC_TitleBarNormalButton,
        SC_TitleBarShadeButton,
        SC_TitleBarUnshadeButton,
        SC_TitleBarContextHelpButton,
        SC_TitleBarLabel,
%If (- Qt_5_0_0)
        SC_Q3ListView,
%End
%If (- Qt_5_0_0)
        SC_Q3ListViewBranch,
%End
%If (- Qt_5_0_0)
        SC_Q3ListViewExpand,
%End
        SC_DialGroove,
        SC_DialHandle,
        SC_DialTickmarks,
        SC_GroupBoxCheckBox,
        SC_GroupBoxLabel,
        SC_GroupBoxContents,
        SC_GroupBoxFrame,
%If (Qt_4_3_0 -)
        SC_MdiMinButton,
%End
%If (Qt_4_3_0 -)
        SC_MdiNormalButton,
%End
%If (Qt_4_3_0 -)
        SC_MdiCloseButton,
%End
%If (Qt_4_6_0 -)
        SC_CustomBase,
%End
        SC_All,
    };

    typedef QFlags<QStyle::SubControl> SubControls;
    virtual void drawComplexControl(QStyle::ComplexControl cc, const QStyleOptionComplex *opt, QPainter *p, const QWidget *widget = 0) const = 0;
    virtual QStyle::SubControl hitTestComplexControl(QStyle::ComplexControl cc, const QStyleOptionComplex *opt, const QPoint &pt, const QWidget *widget = 0) const = 0;
    virtual QRect subControlRect(QStyle::ComplexControl cc, const QStyleOptionComplex *opt, QStyle::SubControl sc, const QWidget *widget = 0) const = 0;

    enum PixelMetric
    {
        PM_ButtonMargin,
        PM_ButtonDefaultIndicator,
        PM_MenuButtonIndicator,
        PM_ButtonShiftHorizontal,
        PM_ButtonShiftVertical,
        PM_DefaultFrameWidth,
        PM_SpinBoxFrameWidth,
        PM_ComboBoxFrameWidth,
        PM_MaximumDragDistance,
        PM_ScrollBarExtent,
        PM_ScrollBarSliderMin,
        PM_SliderThickness,
        PM_SliderControlThickness,
        PM_SliderLength,
        PM_SliderTickmarkOffset,
        PM_SliderSpaceAvailable,
        PM_DockWidgetSeparatorExtent,
        PM_DockWidgetHandleExtent,
        PM_DockWidgetFrameWidth,
        PM_TabBarTabOverlap,
        PM_TabBarTabHSpace,
        PM_TabBarTabVSpace,
        PM_TabBarBaseHeight,
        PM_TabBarBaseOverlap,
        PM_ProgressBarChunkWidth,
        PM_SplitterWidth,
        PM_TitleBarHeight,
        PM_MenuScrollerHeight,
        PM_MenuHMargin,
        PM_MenuVMargin,
        PM_MenuPanelWidth,
        PM_MenuTearoffHeight,
        PM_MenuDesktopFrameWidth,
        PM_MenuBarPanelWidth,
        PM_MenuBarItemSpacing,
        PM_MenuBarVMargin,
        PM_MenuBarHMargin,
        PM_IndicatorWidth,
        PM_IndicatorHeight,
        PM_ExclusiveIndicatorWidth,
        PM_ExclusiveIndicatorHeight,
%If (- Qt_5_0_0)
        PM_CheckListButtonSize,
%End
%If (- Qt_5_0_0)
        PM_CheckListControllerSize,
%End
        PM_DialogButtonsSeparator,
        PM_DialogButtonsButtonWidth,
        PM_DialogButtonsButtonHeight,
%If (Qt_4_3_0 -)
        PM_MdiSubWindowFrameWidth,
%End
        PM_MDIFrameWidth,
%If (Qt_4_3_0 -)
        PM_MdiSubWindowMinimizedWidth,
%End
        PM_MDIMinimizedWidth,
        PM_HeaderMargin,
        PM_HeaderMarkSize,
        PM_HeaderGripMargin,
        PM_TabBarTabShiftHorizontal,
        PM_TabBarTabShiftVertical,
        PM_TabBarScrollButtonWidth,
        PM_ToolBarFrameWidth,
        PM_ToolBarHandleExtent,
        PM_ToolBarItemSpacing,
        PM_ToolBarItemMargin,
        PM_ToolBarSeparatorExtent,
        PM_ToolBarExtensionExtent,
        PM_SpinBoxSliderHeight,
        PM_DefaultTopLevelMargin,
        PM_DefaultChildMargin,
        PM_DefaultLayoutSpacing,
        PM_ToolBarIconSize,
        PM_ListViewIconSize,
        PM_IconViewIconSize,
        PM_SmallIconSize,
        PM_LargeIconSize,
        PM_FocusFrameVMargin,
        PM_FocusFrameHMargin,
        PM_ToolTipLabelFrameWidth,
        PM_CheckBoxLabelSpacing,
        PM_TabBarIconSize,
        PM_SizeGripSize,
        PM_DockWidgetTitleMargin,
%If (Qt_4_2_0 -)
        PM_MessageBoxIconSize,
%End
%If (Qt_4_2_0 -)
        PM_ButtonIconSize,
%End
%If (Qt_4_3_0 -)
        PM_DockWidgetTitleBarButtonMargin,
%End
%If (Qt_4_3_0 -)
        PM_RadioButtonLabelSpacing,
%End
%If (Qt_4_3_0 -)
        PM_LayoutLeftMargin,
%End
%If (Qt_4_3_0 -)
        PM_LayoutTopMargin,
%End
%If (Qt_4_3_0 -)
        PM_LayoutRightMargin,
%End
%If (Qt_4_3_0 -)
        PM_LayoutBottomMargin,
%End
%If (Qt_4_3_0 -)
        PM_LayoutHorizontalSpacing,
%End
%If (Qt_4_3_0 -)
        PM_LayoutVerticalSpacing,
%End
%If (Qt_4_4_0 -)
        PM_TabBar_ScrollButtonOverlap,
%End
%If (Qt_4_4_0 -)
        PM_TextCursorWidth,
%End
%If (Qt_4_5_0 -)
        PM_TabCloseIndicatorWidth,
%End
%If (Qt_4_5_0 -)
        PM_TabCloseIndicatorHeight,
%End
%If (Qt_4_5_0 -)
        PM_ScrollView_ScrollBarSpacing,
%End
%If (Qt_4_5_0 -)
        PM_SubMenuOverlap,
%End
%If (Qt_5_0_0 -)
        PM_ScrollView_ScrollBarOverlap,
%End
        PM_CustomBase,
    };

    virtual int pixelMetric(QStyle::PixelMetric metric, const QStyleOption *option = 0, const QWidget *widget = 0) const = 0;

    enum ContentsType
    {
        CT_PushButton,
        CT_CheckBox,
        CT_RadioButton,
        CT_ToolButton,
        CT_ComboBox,
        CT_Splitter,
%If (- Qt_5_0_0)
        CT_Q3DockWindow,
%End
        CT_ProgressBar,
        CT_MenuItem,
        CT_MenuBarItem,
        CT_MenuBar,
        CT_Menu,
        CT_TabBarTab,
        CT_Slider,
        CT_ScrollBar,
%If (- Qt_5_0_0)
        CT_Q3Header,
%End
        CT_LineEdit,
        CT_SpinBox,
        CT_SizeGrip,
        CT_TabWidget,
        CT_DialogButtons,
        CT_HeaderSection,
        CT_GroupBox,
%If (Qt_4_3_0 -)
        CT_MdiControls,
%End
%If (Qt_4_4_0 -)
        CT_ItemViewItem,
%End
        CT_CustomBase,
    };

    virtual QSize sizeFromContents(QStyle::ContentsType ct, const QStyleOption *opt, const QSize &contentsSize, const QWidget *widget = 0) const = 0;

    enum StyleHint
    {
        SH_EtchDisabledText,
        SH_DitherDisabledText,
        SH_ScrollBar_MiddleClickAbsolutePosition,
        SH_ScrollBar_ScrollWhenPointerLeavesControl,
        SH_TabBar_SelectMouseType,
        SH_TabBar_Alignment,
        SH_Header_ArrowAlignment,
        SH_Slider_SnapToValue,
        SH_Slider_SloppyKeyEvents,
        SH_ProgressDialog_CenterCancelButton,
        SH_ProgressDialog_TextLabelAlignment,
        SH_PrintDialog_RightAlignButtons,
        SH_MainWindow_SpaceBelowMenuBar,
        SH_FontDialog_SelectAssociatedText,
        SH_Menu_AllowActiveAndDisabled,
        SH_Menu_SpaceActivatesItem,
        SH_Menu_SubMenuPopupDelay,
        SH_ScrollView_FrameOnlyAroundContents,
        SH_MenuBar_AltKeyNavigation,
        SH_ComboBox_ListMouseTracking,
        SH_Menu_MouseTracking,
        SH_MenuBar_MouseTracking,
        SH_ItemView_ChangeHighlightOnFocus,
        SH_Widget_ShareActivation,
        SH_Workspace_FillSpaceOnMaximize,
        SH_ComboBox_Popup,
        SH_TitleBar_NoBorder,
        SH_ScrollBar_StopMouseOverSlider,
        SH_BlinkCursorWhenTextSelected,
        SH_RichText_FullWidthSelection,
        SH_Menu_Scrollable,
        SH_GroupBox_TextLabelVerticalAlignment,
        SH_GroupBox_TextLabelColor,
        SH_Menu_SloppySubMenus,
        SH_Table_GridLineColor,
        SH_LineEdit_PasswordCharacter,
        SH_DialogButtons_DefaultButton,
        SH_ToolBox_SelectedPageTitleBold,
        SH_TabBar_PreferNoArrows,
        SH_ScrollBar_LeftClickAbsolutePosition,
%If (- Qt_5_0_0)
        SH_Q3ListViewExpand_SelectMouseType,
%End
        SH_UnderlineShortcut,
        SH_SpinBox_AnimateButton,
        SH_SpinBox_KeyPressAutoRepeatRate,
        SH_SpinBox_ClickAutoRepeatRate,
        SH_Menu_FillScreenWithScroll,
        SH_ToolTipLabel_Opacity,
        SH_DrawMenuBarSeparator,
        SH_TitleBar_ModifyNotification,
        SH_Button_FocusPolicy,
%If (- Qt_5_0_0)
        SH_MenuBar_DismissOnSecondClick,
%End
        SH_MessageBox_UseBorderForButtonSpacing,
        SH_TitleBar_AutoRaise,
        SH_ToolButton_PopupDelay,
        SH_FocusFrame_Mask,
        SH_RubberBand_Mask,
        SH_WindowFrame_Mask,
        SH_SpinControls_DisableOnBounds,
        SH_Dial_BackgroundRole,
        SH_ComboBox_LayoutDirection,
        SH_ItemView_EllipsisLocation,
        SH_ItemView_ShowDecorationSelected,
        SH_ItemView_ActivateItemOnSingleClick,
        SH_ScrollBar_ContextMenu,
        SH_ScrollBar_RollBetweenButtons,
%If (Qt_4_2_0 -)
        SH_Slider_StopMouseOverSlider,
%End
%If (Qt_4_2_0 -)
        SH_Slider_AbsoluteSetButtons,
%End
%If (Qt_4_2_0 -)
        SH_Slider_PageSetButtons,
%End
%If (Qt_4_2_0 -)
        SH_Menu_KeyboardSearch,
%End
%If (Qt_4_2_0 -)
        SH_TabBar_ElideMode,
%End
%If (Qt_4_2_0 -)
        SH_DialogButtonLayout,
%End
%If (Qt_4_2_0 -)
        SH_ComboBox_PopupFrameStyle,
%End
%If (Qt_4_2_0 -)
        SH_MessageBox_TextInteractionFlags,
%End
%If (Qt_4_2_0 -)
        SH_DialogButtonBox_ButtonsHaveIcons,
%End
%If (Qt_4_2_0 -)
        SH_SpellCheckUnderlineStyle,
%End
%If (Qt_4_2_0 -)
        SH_MessageBox_CenterButtons,
%End
%If (Qt_4_2_0 -)
        SH_Menu_SelectionWrap,
%End
%If (Qt_4_2_0 -)
        SH_ItemView_MovementWithoutUpdatingSelection,
%End
%If (Qt_4_3_0 -)
        SH_ToolTip_Mask,
%End
%If (Qt_4_3_0 -)
        SH_FocusFrame_AboveWidget,
%End
%If (Qt_4_3_0 -)
        SH_TextControl_FocusIndicatorTextCharFormat,
%End
%If (Qt_4_3_0 -)
        SH_WizardStyle,
%End
%If (Qt_4_3_0 -)
        SH_ItemView_ArrowKeysNavigateIntoChildren,
%End
%If (Qt_4_3_3 -)
        SH_Menu_Mask,
%End
%If (Qt_4_4_0 -)
        SH_Menu_FlashTriggeredItem,
%End
%If (Qt_4_4_0 -)
        SH_Menu_FadeOutOnHide,
%End
%If (Qt_4_4_0 -)
        SH_SpinBox_ClickAutoRepeatThreshold,
%End
%If (Qt_4_4_0 -)
        SH_ItemView_PaintAlternatingRowColorsForEmptyArea,
%End
%If (Qt_4_4_0 -)
        SH_FormLayoutWrapPolicy,
%End
%If (Qt_4_4_0 -)
        SH_TabWidget_DefaultTabPosition,
%End
%If (Qt_4_4_0 -)
        SH_ToolBar_Movable,
%End
%If (Qt_4_4_0 -)
        SH_FormLayoutFieldGrowthPolicy,
%End
%If (Qt_4_4_0 -)
        SH_FormLayoutFormAlignment,
%End
%If (Qt_4_4_0 -)
        SH_FormLayoutLabelAlignment,
%End
%If (Qt_4_5_0 -)
        SH_ItemView_DrawDelegateFrame,
%End
%If (Qt_4_5_0 -)
        SH_TabBar_CloseButtonPosition,
%End
%If (Qt_4_5_0 -)
        SH_DockWidget_ButtonsHaveFrame,
%End
%If (Qt_4_6_0 -)
        SH_ToolButtonStyle,
%End
%If (Qt_4_6_0 -)
        SH_RequestSoftwareInputPanel,
%End
%If (Qt_5_0_0 -)
        SH_ListViewExpand_SelectMouseType,
%End
%If (Qt_5_0_0 -)
        SH_ScrollBar_Transient,
%End
        SH_CustomBase,
    };

    virtual int styleHint(QStyle::StyleHint stylehint, const QStyleOption *option = 0, const QWidget *widget = 0, QStyleHintReturn *returnData = 0) const = 0;

    enum StandardPixmap
    {
        SP_TitleBarMenuButton,
        SP_TitleBarMinButton,
        SP_TitleBarMaxButton,
        SP_TitleBarCloseButton,
        SP_TitleBarNormalButton,
        SP_TitleBarShadeButton,
        SP_TitleBarUnshadeButton,
        SP_TitleBarContextHelpButton,
        SP_DockWidgetCloseButton,
        SP_MessageBoxInformation,
        SP_MessageBoxWarning,
        SP_MessageBoxCritical,
        SP_MessageBoxQuestion,
        SP_DesktopIcon,
        SP_TrashIcon,
        SP_ComputerIcon,
        SP_DriveFDIcon,
        SP_DriveHDIcon,
        SP_DriveCDIcon,
        SP_DriveDVDIcon,
        SP_DriveNetIcon,
        SP_DirOpenIcon,
        SP_DirClosedIcon,
        SP_DirLinkIcon,
        SP_FileIcon,
        SP_FileLinkIcon,
        SP_ToolBarHorizontalExtensionButton,
        SP_ToolBarVerticalExtensionButton,
        SP_FileDialogStart,
        SP_FileDialogEnd,
        SP_FileDialogToParent,
        SP_FileDialogNewFolder,
        SP_FileDialogDetailedView,
        SP_FileDialogInfoView,
        SP_FileDialogContentsView,
        SP_FileDialogListView,
        SP_FileDialogBack,
%If (Qt_4_2_0 -)
        SP_DirIcon,
%End
%If (Qt_4_2_0 -)
        SP_DialogOkButton,
%End
%If (Qt_4_2_0 -)
        SP_DialogCancelButton,
%End
%If (Qt_4_2_0 -)
        SP_DialogHelpButton,
%End
%If (Qt_4_2_0 -)
        SP_DialogOpenButton,
%End
%If (Qt_4_2_0 -)
        SP_DialogSaveButton,
%End
%If (Qt_4_2_0 -)
        SP_DialogCloseButton,
%End
%If (Qt_4_2_0 -)
        SP_DialogApplyButton,
%End
%If (Qt_4_2_0 -)
        SP_DialogResetButton,
%End
%If (Qt_4_2_0 -)
        SP_DialogDiscardButton,
%End
%If (Qt_4_2_0 -)
        SP_DialogYesButton,
%End
%If (Qt_4_2_0 -)
        SP_DialogNoButton,
%End
%If (Qt_4_2_0 -)
        SP_ArrowUp,
%End
%If (Qt_4_2_0 -)
        SP_ArrowDown,
%End
%If (Qt_4_2_0 -)
        SP_ArrowLeft,
%End
%If (Qt_4_2_0 -)
        SP_ArrowRight,
%End
%If (Qt_4_2_0 -)
        SP_ArrowBack,
%End
%If (Qt_4_2_0 -)
        SP_ArrowForward,
%End
%If (Qt_4_3_0 -)
        SP_DirHomeIcon,
%End
%If (Qt_4_3_0 -)
        SP_CommandLink,
%End
%If (Qt_4_3_0 -)
        SP_VistaShield,
%End
%If (Qt_4_4_0 -)
        SP_BrowserReload,
%End
%If (Qt_4_4_0 -)
        SP_BrowserStop,
%End
%If (Qt_4_4_0 -)
        SP_MediaPlay,
%End
%If (Qt_4_4_0 -)
        SP_MediaStop,
%End
%If (Qt_4_4_0 -)
        SP_MediaPause,
%End
%If (Qt_4_4_0 -)
        SP_MediaSkipForward,
%End
%If (Qt_4_4_0 -)
        SP_MediaSkipBackward,
%End
%If (Qt_4_4_0 -)
        SP_MediaSeekForward,
%End
%If (Qt_4_4_0 -)
        SP_MediaSeekBackward,
%End
%If (Qt_4_4_0 -)
        SP_MediaVolume,
%End
%If (Qt_4_4_0 -)
        SP_MediaVolumeMuted,
%End
%If (Qt_5_0_0 -)
        SP_DirLinkOpenIcon,
%End
        SP_CustomBase,
    };

    virtual QPixmap standardPixmap(QStyle::StandardPixmap standardPixmap, const QStyleOption *option = 0, const QWidget *widget = 0) const = 0;
%If (Qt_5_0_0 -)
    virtual QIcon standardIcon(QStyle::StandardPixmap standardIcon, const QStyleOption *option = 0, const QWidget *widget = 0) const = 0;
%End
%If (- Qt_5_0_0)
    QIcon standardIcon(QStyle::StandardPixmap standardIcon, const QStyleOption *option = 0, const QWidget *widget = 0) const;
%End
    virtual QPixmap generatedIconPixmap(QIcon::Mode iconMode, const QPixmap &pixmap, const QStyleOption *opt) const = 0;
    static QRect visualRect(Qt::LayoutDirection direction, const QRect &boundingRect, const QRect &logicalRect);
    static QPoint visualPos(Qt::LayoutDirection direction, const QRect &boundingRect, const QPoint &logicalPos);
    static int sliderPositionFromValue(int min, int max, int logicalValue, int span, bool upsideDown = false);
    static int sliderValueFromPosition(int min, int max, int position, int span, bool upsideDown = false);
    static Qt::Alignment visualAlignment(Qt::LayoutDirection direction, Qt::Alignment alignment);
    static QRect alignedRect(Qt::LayoutDirection direction, Qt::Alignment alignment, const QSize &size, const QRect &rectangle);
%If (Qt_5_0_0 -)
    virtual int layoutSpacing(QSizePolicy::ControlType control1, QSizePolicy::ControlType control2, Qt::Orientation orientation, const QStyleOption *option = 0, const QWidget *widget = 0) const = 0;
%End
%If (Qt_4_3_0 - Qt_5_0_0)
    int layoutSpacing(QSizePolicy::ControlType control1, QSizePolicy::ControlType control2, Qt::Orientation orientation, const QStyleOption *option = 0, const QWidget *widget = 0) const;
%End
%If (Qt_4_3_0 -)
    int combinedLayoutSpacing(QFlags<QSizePolicy::ControlType> controls1, QFlags<QSizePolicy::ControlType> controls2, Qt::Orientation orientation, QStyleOption *option = 0, QWidget *widget = 0) const;
%End

protected slots:
%If (- Qt_5_0_0)
    QIcon standardIconImplementation(QStyle::StandardPixmap standardIcon, const QStyleOption *option = 0, const QWidget *widget = 0) const;
%End
%If (Qt_4_3_0 - Qt_5_0_0)
    int layoutSpacingImplementation(QSizePolicy::ControlType control1, QSizePolicy::ControlType control2, Qt::Orientation orientation, const QStyleOption *option = 0, const QWidget *widget = 0) const;
%End

public:
%If (Qt_4_6_0 -)

    enum RequestSoftwareInputPanel
    {
        RSIP_OnMouseClickAndAlreadyFocused,
        RSIP_OnMouseClick,
    };

%End
%If (Qt_4_6_0 -)
    const QStyle *proxy() const;
%End

private:
    QStyle(const QStyle &);
};

QFlags<QStyle::StateFlag> operator|(QStyle::StateFlag f1, QFlags<QStyle::StateFlag> f2);
QFlags<QStyle::SubControl> operator|(QStyle::SubControl f1, QFlags<QStyle::SubControl> f2);
