// This is the SIP interface definition for QStyle and QStyleOption. // // Copyright (c) 2007 // Riverbank Computing Limited // // This file is part of PyQt. // // This copy of PyQt is free software; you can redistribute it and/or modify it // under the terms of the GNU General Public License as published by the Free // Software Foundation; either version 2, or (at your option) any later // version. // // PyQt is supplied in the hope that it will be useful, but WITHOUT ANY // WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS // FOR A PARTICULAR PURPOSE. See the GNU General Public License for more // details. // // You should have received a copy of the GNU General Public License along with // PyQt; see the file LICENSE. If not, write to the Free Software Foundation, // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. %ExportedDoc QStyle (Qt v2+) virtual void getButtonShift int &x int &y This takes no parameters and returns a tuple of the x and y values. (Qt v2) virtual void scrollBarMetrics const QScrollBar *b int &sliderMin int &sliderMax int &sliderLength int &buttonDim Thus takes only the b parameter and returns a tuple of the sliderMin, sliderMax, sliderLength and buttonDim values. (Qt v2) virtual void tabbarMetrics const QTabBar *t int &hframe int &vframe int &overlap This takes only the t parameter and returns a tuple of the hframe, vframe and overlap values. (Qt v2) QStyleOption (Qt v3+) QStyleOption is fully implemented. %End %If (Qt_3_0_0 -) class QStyleOption { %TypeHeaderCode #include %End public: enum StyleOptionDefault { Default }; QStyleOption(StyleOptionDefault /Constrained/ = Default); %If (Qt_3_2_0 -) QStyleOption(int); %End QStyleOption(int,int); QStyleOption(int,int,int,int); QStyleOption(QMenuItem *); QStyleOption(QMenuItem *,int); QStyleOption(QMenuItem *,int,int); QStyleOption(const QColor &); QStyleOption(QTab *); QStyleOption(QListViewItem *); %If (Qt_3_1_0 -) QStyleOption(QCheckListItem *); %End QStyleOption(Qt::ArrowType /Constrained/); %If (Qt_3_1_0 -) QStyleOption(const QRect &); QStyleOption(QWidget *); %End bool isDefault() const; %If (Qt_3_3_0 -) int day() const; %End int lineWidth() const; int midLineWidth() const; int frameShape() const; int frameShadow() const; %If (Qt_3_2_0 -) int headerSection() const; %End QMenuItem* menuItem() const; int maxIconWidth() const; int tabWidth() const; const QColor& color() const; QTab *tab() const; %If (Qt_3_1_0 -) QCheckListItem *checkListItem() const; %End QListViewItem *listViewItem() const; Qt::ArrowType arrowType() const; %If (Qt_3_1_0 -) QRect rect() const; QWidget *widget() const; %End }; %End %If (Qt_3_0_0 -) // Not yet defined in Qt v3Beta5. class QStyleHintReturn; %End %If (Qt_2_00 -) class QStyle : QObject { %TypeHeaderCode #include %End public: %If (Qt_3_0_0 -) QStyle(); %End %If (- Qt_3_0_0) GUIStyle guiStyle() const; %End virtual void polish(QWidget *); virtual void unPolish(QWidget *); virtual void polish(QApplication *); virtual void unPolish(QApplication *); virtual void polish(QPalette &); %If (Qt_3_0_0 -) virtual void polishPopupMenu(QPopupMenu *) = 0; %End %If (- Qt_3_0_0) virtual QRect itemRect(QPainter *,int,int,int,int,int,bool, const QPixmap *,const QString &,int = -1); virtual void drawItem(QPainter *,int,int,int,int,int, const QColorGroup &,bool,const QPixmap *, const QString &,int = -1,const QColor * = 0); %End %If (Qt_3_0_0 -) virtual QRect itemRect(QPainter *,const QRect &,int,bool, const QPixmap *,const QString &,int = -1) const; virtual void drawItem(QPainter *,const QRect &,int,const QColorGroup &, bool,const QPixmap *,const QString &,int = -1, const QColor * = 0) const; %End %If (- Qt_3_0_0) virtual void drawSeparator(QPainter *,int,int,int,int, const QColorGroup &,bool = 1,int = 1, int = 0); virtual void drawRect(QPainter *,int,int,int,int,const QColor &, int = 1,const QBrush * = 0); virtual void drawRectStrong(QPainter *,int,int,int,int, const QColorGroup &,bool = 0,int = 1, int = 0,const QBrush * = 0); virtual void drawButton(QPainter *,int,int,int,int,const QColorGroup &, bool = 0,const QBrush * = 0) = 0; virtual QRect buttonRect(int,int,int,int); virtual void drawButtonMask(QPainter *,int,int,int,int); virtual void drawBevelButton(QPainter *,int,int,int,int, const QColorGroup &,bool = 0, const QBrush * = 0) = 0; %If (Qt_2_1_0 -) QRect bevelButtonRect(int,int,int,int); %End virtual void drawToolButton(QPainter *,int,int,int,int, const QColorGroup &,bool = 0, const QBrush * = 0); %If (Qt_2_1_0 -) void drawToolButton(QToolButton *,QPainter *); QRect toolButtonRect(int,int,int,int); %End virtual void drawPanel(QPainter *,int,int,int,int,const QColorGroup &, bool = 0,int = 1,const QBrush * = 0); virtual void drawPopupPanel(QPainter *,int,int,int,int, const QColorGroup &,int = 2, const QBrush * = 0); virtual void drawArrow(QPainter *,Qt::ArrowType,bool,int,int,int,int, const QColorGroup &,bool,const QBrush * = 0) = 0; virtual QSize exclusiveIndicatorSize() const = 0; virtual void drawExclusiveIndicator(QPainter *,int,int,int,int, const QColorGroup &,bool,bool = 0, bool = 1) = 0; virtual void drawExclusiveIndicatorMask(QPainter *,int,int,int,int, bool); virtual QSize indicatorSize() const = 0; virtual void drawIndicator(QPainter *,int,int,int,int, const QColorGroup &,int,bool = 0, bool = 1) = 0; virtual void drawIndicatorMask(QPainter *,int,int,int,int,int); virtual void drawFocusRect(QPainter *,const QRect &,const QColorGroup &, const QColor * = 0,bool = 0) = 0; virtual void drawComboButton(QPainter *,int,int,int,int, const QColorGroup &,bool = 0,bool = 0, bool = 1,const QBrush * = 0) = 0; virtual QRect comboButtonRect(int,int,int,int) = 0; virtual QRect comboButtonFocusRect(int,int,int,int) = 0; virtual void drawComboButtonMask(QPainter *,int,int,int,int) = 0; virtual void drawPushButton(QPushButton *,QPainter *) = 0; virtual void drawPushButtonLabel(QPushButton *,QPainter *) = 0; %If (Qt_2_1_0 -) QRect pushButtonContentsRect(QPushButton *); int menuButtonIndicatorWidth(int); %End virtual void getButtonShift(int &,int &) = 0; virtual int defaultFrameWidth() const = 0; virtual void tabbarMetrics(const QTabBar *,int &,int &,int &) = 0; virtual void drawTab(QPainter *,const QTabBar *,QTab *,bool) = 0; virtual void drawTabMask(QPainter *,const QTabBar* ,QTab* ,bool) = 0; enum ScrollControl { AddLine = 0x1, SubLine = 0x2, AddPage = 0x4, SubPage = 0x8, First = 0x10, Last = 0x20, Slider = 0x40, NoScroll = 0x80 }; virtual void scrollBarMetrics(const QScrollBar *,int &,int &,int &, int &) = 0; virtual void drawScrollBarControls(QPainter *,const QScrollBar *,int, uint,uint) = 0; virtual ScrollControl scrollBarPointOver(const QScrollBar *,int, const QPoint &) = 0; virtual int sliderLength() const = 0; virtual void drawSlider(QPainter *,int,int,int,int,const QColorGroup &, Orientation,bool,bool) = 0; virtual void drawSliderMask(QPainter *,int,int,int,int,Orientation, bool,bool) = 0; virtual void drawSliderGroove(QPainter *,int,int,int,int, const QColorGroup &,QCOORD, Orientation) = 0; virtual void drawSliderGrooveMask(QPainter *,int,int,int,int,QCOORD, Orientation) = 0; virtual int maximumSliderDragDistance() const = 0; virtual int splitterWidth() const = 0; virtual void drawSplitter(QPainter *,int,int,int,int, const QColorGroup &,Orientation) = 0; virtual void drawCheckMark(QPainter *,int,int,int,int, const QColorGroup &,bool,bool) = 0; virtual void polishPopupMenu(QPopupMenu *) = 0; virtual int extraPopupMenuItemWidth(bool,int,QMenuItem *, const QFontMetrics &) = 0; virtual int popupSubmenuIndicatorWidth(const QFontMetrics &) = 0; virtual int popupMenuItemHeight(bool,QMenuItem *, const QFontMetrics &) = 0; virtual void drawPopupMenuItem(QPainter *,bool,int,int,QMenuItem *, const QPalette &,bool, bool,int,int,int, int) = 0; %If (Qt_2_2_0 -) virtual void drawMenuBarItem(QPainter *,int,int,int,int,QMenuItem *, QColorGroup &,bool,bool); %End %If (Qt_2_1_0 -) QSize scrollBarExtent(); int buttonDefaultIndicatorWidth() const; %If (Qt_2_2_0 -) int buttonMargin() const; int toolBarHandleExtent() const; int sliderThickness() const; %End int toolBarHandleExtend() const; void drawToolBarHandle(QPainter *,const QRect &,Qt::Orientation,bool, const QColorGroup &,bool = 0); %End %End %If (Qt_3_0_0 -) enum PrimitiveElement { PE_ButtonCommand, PE_ButtonDefault, PE_ButtonBevel, PE_ButtonTool, PE_ButtonDropDown, PE_FocusRect, PE_ArrowUp, PE_ArrowDown, PE_ArrowRight, PE_ArrowLeft, PE_SpinWidgetUp, PE_SpinWidgetDown, PE_SpinWidgetPlus, PE_SpinWidgetMinus, PE_Indicator, PE_IndicatorMask, PE_ExclusiveIndicator, PE_ExclusiveIndicatorMask, PE_DockWindowHandle, PE_DockWindowSeparator, PE_DockWindowResizeHandle, PE_Splitter, PE_Panel, PE_PanelPopup, PE_PanelMenuBar, PE_PanelDockWindow, PE_TabBarBase, PE_HeaderSection, PE_HeaderArrow, PE_StatusBarSection, PE_GroupBoxFrame, PE_Separator, PE_SizeGrip, PE_CheckMark, PE_ScrollBarAddLine, PE_ScrollBarSubLine, PE_ScrollBarAddPage, PE_ScrollBarSubPage, PE_ScrollBarSlider, PE_ScrollBarFirst, PE_ScrollBarLast, PE_ProgressBarChunk, %If (Qt_3_0_1 -) PE_PanelLineEdit, PE_PanelTabWidget, PE_WindowFrame, %End %If (Qt_3_1_0 -) PE_CheckListController, PE_CheckListIndicator, PE_CheckListExclusiveIndicator, PE_PanelGroupBox, %End %If (Qt_3_0_4 - Qt_3_0_5) PE_PopupMenuScroller, %End %If (Qt_3_3_0 -) PE_RubberBand, %End PE_CustomBase }; enum StyleFlags { Style_Default, Style_Enabled, Style_Raised, Style_Sunken, Style_Off, Style_NoChange, Style_On, Style_Down, Style_Horizontal, Style_HasFocus, Style_Top, Style_Bottom, Style_FocusAtBorder, Style_AutoRaise, Style_MouseOver, Style_Up, Style_Selected, Style_Active, Style_ButtonDefault }; typedef uint SFlags; virtual void drawPrimitive(PrimitiveElement,QPainter *,const QRect &, const QColorGroup &,SFlags = Style_Default, const QStyleOption & = QStyleOption()) const = 0; enum ControlElement { CE_PushButton, CE_PushButtonLabel, CE_CheckBox, CE_CheckBoxLabel, CE_RadioButton, CE_RadioButtonLabel, CE_TabBarTab, CE_TabBarLabel, CE_ProgressBarGroove, CE_ProgressBarContents, CE_ProgressBarLabel, CE_PopupMenuItem, CE_MenuBarItem, CE_ToolButtonLabel, %If (Qt_3_1_0 -) CE_MenuBarEmptyArea, %End %If (Qt_3_0_5 -) CE_PopupMenuScroller, %End %If (Qt_3_1_0 -) CE_DockWindowEmptyArea, %End %If (Qt_3_2_0 -) CE_PopupMenuVerticalExtra, CE_PopupMenuHorizontalExtra, CE_ToolBoxTab, CE_HeaderLabel, %End CE_CustomBase }; virtual void drawControl(ControlElement,QPainter *,const QWidget *, const QRect &,const QColorGroup &, SFlags = Style_Default, const QStyleOption & = QStyleOption()) const = 0; virtual void drawControlMask(ControlElement,QPainter *,const QWidget *, const QRect &, const QStyleOption & = QStyleOption()) const = 0; enum SubRect { SR_PushButtonContents, SR_PushButtonFocusRect, SR_CheckBoxIndicator, SR_CheckBoxContents, SR_CheckBoxFocusRect, SR_RadioButtonIndicator, SR_RadioButtonContents, SR_RadioButtonFocusRect, SR_ComboBoxFocusRect, SR_SliderFocusRect, SR_DockWindowHandleRect, SR_ProgressBarGroove, SR_ProgressBarContents, SR_ProgressBarLabel, SR_ToolButtonContents, %If (Qt_3_2_0 -) SR_DialogButtonAccept, SR_DialogButtonReject, SR_DialogButtonApply, SR_DialogButtonHelp, SR_DialogButtonAll, SR_DialogButtonAbort, SR_DialogButtonIgnore, SR_DialogButtonRetry, SR_DialogButtonCustom, SR_ToolBoxTabContents, %End SR_CustomBase }; virtual QRect subRect(SubRect,const QWidget *) const = 0; enum ComplexControl{ CC_SpinWidget, CC_ComboBox, CC_ScrollBar, CC_Slider, CC_ToolButton, CC_TitleBar, CC_ListView, CC_CustomBase }; enum SubControl { SC_None, SC_ScrollBarAddLine, SC_ScrollBarSubLine, SC_ScrollBarAddPage, SC_ScrollBarSubPage, SC_ScrollBarFirst, SC_ScrollBarLast, SC_ScrollBarSlider, SC_ScrollBarGroove, SC_SpinWidgetUp, SC_SpinWidgetDown, SC_SpinWidgetFrame, SC_SpinWidgetEditField, SC_SpinWidgetButtonField, SC_ComboBoxFrame, SC_ComboBoxEditField, SC_ComboBoxArrow, %If (Qt_3_1_0 -) SC_ComboBoxListBoxPopup, %End SC_SliderGroove, SC_SliderHandle, SC_SliderTickmarks, SC_ToolButton, SC_ToolButtonMenu, SC_TitleBarLabel, SC_TitleBarSysMenu, SC_TitleBarMinButton, SC_TitleBarMaxButton, SC_TitleBarCloseButton, SC_TitleBarNormalButton, SC_TitleBarShadeButton, SC_TitleBarUnshadeButton, SC_ListView, SC_ListViewBranch, SC_ListViewExpand, SC_All }; typedef uint SCFlags; virtual void drawComplexControl(ComplexControl,QPainter *, const QWidget *,const QRect &, const QColorGroup &, SFlags = Style_Default, SCFlags = SC_All,SCFlags = SC_None, const QStyleOption & = QStyleOption()) const = 0; virtual void drawComplexControlMask(ComplexControl,QPainter *, const QWidget *,const QRect &, const QStyleOption & = QStyleOption()) const = 0; virtual QRect querySubControlMetrics(ComplexControl, const QWidget *,SubControl, const QStyleOption & = QStyleOption()) const = 0; virtual SubControl querySubControl(ComplexControl,const QWidget *, const QPoint &, const QStyleOption & = QStyleOption()) const = 0; enum PixelMetric { PM_ButtonMargin, PM_ButtonDefaultIndicator, PM_MenuButtonIndicator, PM_ButtonShiftHorizontal, PM_ButtonShiftVertical, PM_DefaultFrameWidth, PM_SpinBoxFrameWidth, PM_MaximumDragDistance, PM_ScrollBarExtent, PM_ScrollBarSliderMin, PM_SliderThickness, PM_SliderControlThickness, PM_SliderLength, PM_SliderTickmarkOffset, PM_SliderSpaceAvailable, PM_DockWindowSeparatorExtent, PM_DockWindowHandleExtent, PM_DockWindowFrameWidth, PM_MenuBarFrameWidth, PM_TabBarTabOverlap, PM_TabBarTabHSpace, PM_TabBarTabVSpace, PM_TabBarBaseHeight, PM_TabBarBaseOverlap, PM_ProgressBarChunkWidth, PM_SplitterWidth, PM_TitleBarHeight, PM_IndicatorWidth, PM_IndicatorHeight, PM_ExclusiveIndicatorWidth, PM_ExclusiveIndicatorHeight, %If (Qt_3_0_4 -) PM_PopupMenuScrollerHeight, %End %If (Qt_3_1_0 -) PM_CheckListButtonSize, %End %If (Qt_3_2_0 -) PM_CheckListControllerSize, PM_PopupMenuFrameHorizontalExtra, PM_PopupMenuFrameVerticalExtra, PM_DialogButtonsSeparator, PM_DialogButtonsButtonWidth, PM_DialogButtonsButtonHeight, PM_MDIFrameWidth, PM_MDIMinimizedWidth, PM_HeaderMargin, PM_HeaderMarkSize, PM_HeaderGripMargin, PM_TabBarTabShiftHorizontal, PM_TabBarTabShiftVertical, %End %If (Qt_3_3_0 -) PM_TabBarScrollButtonWidth, PM_MenuBarItemSpacing, PM_ToolBarItemSpacing, %End PM_CustomBase }; virtual int pixelMetric(PixelMetric,const QWidget * = 0) const = 0; enum ContentsType { CT_PushButton, CT_CheckBox, CT_RadioButton, CT_ToolButton, CT_ComboBox, CT_Splitter, CT_DockWindow, CT_ProgressBar, CT_PopupMenuItem, %If (Qt_3_1_0 -) CT_TabBarTab, CT_Slider, CT_Header, CT_LineEdit, CT_MenuBar, CT_SpinBox, %End %If (Qt_3_2_0 -) CT_SizeGrip, CT_TabWidget, CT_DialogButtons, %End CT_CustomBase }; virtual QSize sizeFromContents(ContentsType,const QWidget *, const QSize &, const QStyleOption & = QStyleOption()) const = 0; enum StyleHint { SH_EtchDisabledText, SH_GUIStyle, SH_ScrollBar_BackgroundMode, 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_PopupMenu_AllowActiveAndDisabled, SH_PopupMenu_SpaceActivatesItem, SH_PopupMenu_SubMenuPopupDelay, SH_ScrollView_FrameOnlyAroundContents, SH_MenuBar_AltKeyNavigation, SH_ComboBox_ListMouseTracking, SH_PopupMenu_MouseTracking, SH_MenuBar_MouseTracking, SH_ItemView_ChangeHighlightOnFocus, SH_Widget_ShareActivation, SH_Workspace_FillSpaceOnMaximize, SH_ComboBox_Popup, %If (Qt_3_0_1 -) SH_TitleBar_NoBorder, SH_ScrollBar_StopMouseOverSlider, %End %If (Qt_3_0_2 -) SH_BlinkCursorWhenTextSelected, SH_RichText_FullWidthSelection, %End %If (Qt_3_0_4 -) SH_PopupMenu_Scrollable, %End %If (Qt_3_1_0 -) SH_GroupBox_TextLabelVerticalAlignment, SH_GroupBox_TextLabelColor, SH_PopupMenu_SloppySubMenus, %End %If (Qt_3_2_0 -) SH_Table_GridLineColor, SH_LineEdit_PasswordCharacter, SH_DialogButtons_DefaultButton, SH_ToolBox_SelectedPageTitleBold, SH_TabBar_PreferNoArrows, SH_ScrollBar_LeftClickAbsolutePosition, SH_ListViewExpand_SelectMouseType, %End %If (Qt_3_3_0 -) SH_UnderlineAccelerator, SH_ToolButton_Uses3D, %End SH_CustomBase }; virtual int styleHint(StyleHint,const QWidget * = 0, const QStyleOption & = QStyleOption(), QStyleHintReturn * = 0) const = 0; enum StylePixmap { SP_TitleBarMinButton, SP_TitleBarMaxButton, SP_TitleBarCloseButton, SP_TitleBarNormalButton, SP_TitleBarShadeButton, SP_TitleBarUnshadeButton, SP_DockWindowCloseButton, SP_MessageBoxInformation, SP_MessageBoxWarning, SP_MessageBoxCritical, %If (Qt_3_2_0 -) SP_MessageBoxQuestion, %End SP_CustomBase }; virtual QPixmap stylePixmap(StylePixmap,const QWidget * = 0, const QStyleOption & = QStyleOption()) const = 0; static QRect visualRect(const QRect &,const QWidget *); static QRect visualRect(const QRect &,const QRect &); %End protected: %If (Qt_2_1_0 - Qt_3_0_0) void setScrollBarExtent(int,int = -1); void setButtonDefaultIndicatorWidth(int); %End private: %If (- Qt_3_0_0) QStyle(); QStyle(GUIStyle); %End %If (Qt_2_1_0 -) QStyle(const QStyle &); %End }; %End