K4Style

#include <k4style.h>

Inheritance diagram for K4Style:

Classes

struct  CheckBox
 
class  ColorMode
 
struct  ColorOption
 
struct  ComboBox
 
struct  DockWidget
 
struct  DoubleButtonOption
 
struct  Generic
 
struct  GroupBox
 
struct  Header
 
struct  IconOption
 
struct  LineEdit
 
struct  Menu
 
struct  MenuBar
 
struct  MenuBarItem
 
struct  MenuItem
 
struct  Option
 
struct  OptionBase
 
struct  ProgressBar
 
struct  PushButton
 
struct  RadioButton
 
struct  ScrollBar
 
struct  Slider
 
struct  SpinBox
 
struct  Splitter
 
struct  StatusBar
 
struct  TabBar
 
struct  TabWidget
 
struct  TextOption
 
struct  TitleButtonOption
 
struct  ToolBar
 
struct  ToolBoxTab
 
struct  ToolButton
 
struct  Tree
 
struct  Window
 

Public Member Functions

QStyle Methods

These are methods reimplemented from QStyle.

Usually it's not necessary to reimplement them yourself.

Some of them are there for binary compatibility reasons only; all they do is to call the implementation from QCommonStyle.

void drawControl (ControlElement elem, const QStyleOption *opt, QPainter *p, const QWidget *w) const override
 
void drawPrimitive (PrimitiveElement elem, const QStyleOption *opt, QPainter *p, const QWidget *w) const override
 
int pixelMetric (PixelMetric metric, const QStyleOption *opt=nullptr, const QWidget *w=nullptr) const override
 
QRect subElementRect (SubElement subRect, const QStyleOption *opt, const QWidget *w) const override
 
QSize sizeFromContents (ContentsType type, const QStyleOption *opt, const QSize &contentsSize, const QWidget *w) const override
 
int styleHint (StyleHint hint, const QStyleOption *opt, const QWidget *w, QStyleHintReturn *returnData) const override
 
QRect subControlRect (ComplexControl control, const QStyleOptionComplex *opt, SubControl subControl, const QWidget *w) const override
 
SubControl hitTestComplexControl (ComplexControl cc, const QStyleOptionComplex *opt, const QPoint &pt, const QWidget *w) const override
 
void drawComplexControl (ComplexControl cc, const QStyleOptionComplex *opt, QPainter *p, const QWidget *w) const override
 
void polish (QWidget *) override
 
void unpolish (QWidget *) override
 
void polish (QApplication *) override
 
void unpolish (QApplication *) override
 
void polish (QPalette &) override
 
QRect itemTextRect (const QFontMetrics &fm, const QRect &r, int flags, bool enabled, const QString &text) const override
 
QRect itemPixmapRect (const QRect &r, int flags, const QPixmap &pixmap) const override
 
void drawItemText (QPainter *painter, const QRect &rect, int flags, const QPalette &pal, bool enabled, const QString &text, QPalette::ColorRole textRole=QPalette::NoRole) const override
 
void drawItemPixmap (QPainter *painter, const QRect &rect, int alignment, const QPixmap &pixmap) const override
 
QPalette standardPalette () const override
 
QPixmap standardPixmap (StandardPixmap standardPixmap, const QStyleOption *opt, const QWidget *widget=nullptr) const override
 
QPixmap generatedIconPixmap (QIcon::Mode iconMode, const QPixmap &pixmap, const QStyleOption *opt) const override
 
bool eventFilter (QObject *, QEvent *) override
 
int layoutSpacing (QSizePolicy::ControlType control1, QSizePolicy::ControlType control2, Qt::Orientation orientation, const QStyleOption *option=nullptr, const QWidget *widget=nullptr) const override
 
QIcon standardIcon (StandardPixmap standardIcon, const QStyleOption *option=nullptr, const QWidget *widget=nullptr) const override
 
- Public Member Functions inherited from QStyle
int combinedLayoutSpacing (QSizePolicy::ControlTypes controls1, QSizePolicy::ControlTypes controls2, Qt::Orientation orientation, QStyleOption *option, QWidget *widget) const const
 
const QStyleproxy () const const
 
- Public Member Functions inherited from QObject
 QObject (QObject *parent)
 
bool blockSignals (bool block)
 
const QObjectListchildren () const const
 
QMetaObject::Connection connect (const QObject *sender, const char *signal, const char *method, Qt::ConnectionType type) const const
 
void deleteLater ()
 
void destroyed (QObject *obj)
 
bool disconnect (const char *signal, const QObject *receiver, const char *method) const const
 
bool disconnect (const QObject *receiver, const char *method) const const
 
void dumpObjectInfo ()
 
void dumpObjectInfo () const const
 
void dumpObjectTree ()
 
void dumpObjectTree () const const
 
QList< QByteArraydynamicPropertyNames () const const
 
virtual bool event (QEvent *e)
 
findChild (const QString &name, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QString &name, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QRegExp &regExp, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QRegularExpression &re, Qt::FindChildOptions options) const const
 
bool inherits (const char *className) const const
 
void installEventFilter (QObject *filterObj)
 
bool isWidgetType () const const
 
bool isWindowType () const const
 
void killTimer (int id)
 
virtual const QMetaObjectmetaObject () const const
 
void moveToThread (QThread *targetThread)
 
QString objectName () const const
 
void objectNameChanged (const QString &objectName)
 
QObjectparent () const const
 
QVariant property (const char *name) const const
 
 Q_CLASSINFO (Name, Value)
 
 Q_DISABLE_COPY (Class)
 
 Q_DISABLE_COPY_MOVE (Class)
 
 Q_DISABLE_MOVE (Class)
 
 Q_EMIT Q_EMIT
 
 Q_ENUM (...)
 
 Q_ENUM_NS (...)
 
 Q_ENUMS (...)
 
 Q_FLAG (...)
 
 Q_FLAG_NS (...)
 
 Q_FLAGS (...)
 
 Q_GADGET Q_GADGET
 
 Q_INTERFACES (...)
 
 Q_INVOKABLE Q_INVOKABLE
 
 Q_NAMESPACE Q_NAMESPACE
 
 Q_NAMESPACE_EXPORT (EXPORT_MACRO)
 
 Q_OBJECT Q_OBJECT
 
 Q_PROPERTY (...)
 
 Q_REVISION Q_REVISION
 
 Q_SET_OBJECT_NAME (Object)
 
 Q_SIGNAL Q_SIGNAL
 
 Q_SIGNALS Q_SIGNALS
 
 Q_SLOT Q_SLOT
 
 Q_SLOTS Q_SLOTS
 
qFindChild (const QObject *obj, const QString &name)
 
QList< T > qFindChildren (const QObject *obj, const QRegExp &regExp)
 
QList< T > qFindChildren (const QObject *obj, const QString &name)
 
qobject_cast (QObject *object)
 
qobject_cast (const QObject *object)
 
 QT_NO_NARROWING_CONVERSIONS_IN_CONNECT QT_NO_NARROWING_CONVERSIONS_IN_CONNECT
 
void removeEventFilter (QObject *obj)
 
void setObjectName (const QString &name)
 
void setParent (QObject *parent)
 
bool setProperty (const char *name, const QVariant &value)
 
bool signalsBlocked () const const
 
int startTimer (int interval, Qt::TimerType timerType)
 
int startTimer (std::chrono::milliseconds time, Qt::TimerType timerType)
 
QThreadthread () const const
 

Static Public Member Functions

static ControlElement customControlElement (const QString &element, const QWidget *widget)
 
static StyleHint customStyleHint (const QString &element, const QWidget *widget)
 
static SubElement customSubElement (const QString &element, const QWidget *widget)
 
static QString defaultStyle ()
 
- Static Public Member Functions inherited from QStyle
QRect alignedRect (Qt::LayoutDirection direction, Qt::Alignment alignment, const QSize &size, const QRect &rectangle)
 
int sliderPositionFromValue (int min, int max, int logicalValue, int span, bool upsideDown)
 
int sliderValueFromPosition (int min, int max, int position, int span, bool upsideDown)
 
Qt::Alignment visualAlignment (Qt::LayoutDirection direction, Qt::Alignment alignment)
 
QPoint visualPos (Qt::LayoutDirection direction, const QRect &boundingRectangle, const QPoint &logicalPosition)
 
QRect visualRect (Qt::LayoutDirection direction, const QRect &boundingRectangle, const QRect &logicalRectangle)
 
- Static Public Member Functions inherited from QObject
QMetaObject::Connection connect (const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, Functor functor)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, const QObject *context, Functor functor, Qt::ConnectionType type)
 
bool disconnect (const QMetaObject::Connection &connection)
 
bool disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *method)
 
bool disconnect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method)
 
bool disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method)
 
QString tr (const char *sourceText, const char *disambiguation, int n)
 
QString trUtf8 (const char *sourceText, const char *disambiguation, int n)
 

Protected Types

enum  MarginOffsets {
  MainMargin, Top, Bot, Left,
  Right, MarginInc
}
 
enum  WidgetType {
  WT_Generic, WT_PushButton, WT_Splitter, WT_CheckBox,
  WT_RadioButton, WT_DockWidget, WT_ProgressBar, WT_MenuBar,
  WT_MenuBarItem, WT_Menu, WT_MenuItem, WT_ScrollBar,
  WT_TabBar, WT_TabWidget, WT_Slider, WT_Tree,
  WT_SpinBox, WT_ComboBox, WT_Header, WT_LineEdit,
  WT_GroupBox, WT_StatusBar, WT_ToolBar, WT_ToolButton,
  WT_ToolBoxTab, WT_Window, WT_Limit = 0xFFFF
}
 

Protected Member Functions

virtual void drawKStylePrimitive (WidgetType widgetType, int primitive, const QStyleOption *opt, const QRect &r, const QPalette &pal, State flags, QPainter *p, const QWidget *widget=nullptr, Option *kOpt=nullptr) const
 
ControlElement newControlElement (const QString &element)
 
StyleHint newStyleHint (const QString &element)
 
SubElement newSubElement (const QString &element)
 
void setWidgetLayoutProp (WidgetType widget, int metric, int value)
 
virtual int widgetLayoutProp (WidgetType widgetType, int metric, const QStyleOption *opt=nullptr, const QWidget *w=nullptr) const
 
Helper Methods

These are methods helping with QRect handling, for example.

void drawInsideRect (QPainter *p, const QRect &r) const
 
QRect centerRect (const QRect &in, int w, int h) const
 
QRect centerRect (const QRect &in, const QSize &size) const
 
- Protected Member Functions inherited from QObject
virtual void childEvent (QChildEvent *event)
 
virtual void connectNotify (const QMetaMethod &signal)
 
virtual void customEvent (QEvent *event)
 
virtual void disconnectNotify (const QMetaMethod &signal)
 
bool isSignalConnected (const QMetaMethod &signal) const const
 
int receivers (const char *signal) const const
 
QObjectsender () const const
 
int senderSignalIndex () const const
 
virtual void timerEvent (QTimerEvent *event)
 

Static Protected Member Functions

template<typename T >
static T extractOption (Option *option)
 

Additional Inherited Members

- Public Types inherited from QStyle
enum  ComplexControl
 
enum  ContentsType
 
enum  ControlElement
 
enum  PixelMetric
 
enum  PrimitiveElement
 
enum  RequestSoftwareInputPanel
 
enum  StandardPixmap
 
enum  StateFlag
 
enum  StyleHint
 
enum  SubControl
 
enum  SubElement
 
- Properties inherited from QObject
 objectName
 
- Public Attributes inherited from QStyle
 CC_ComboBox
 
 CC_CustomBase
 
 CC_Dial
 
 CC_GroupBox
 
 CC_MdiControls
 
 CC_ScrollBar
 
 CC_Slider
 
 CC_SpinBox
 
 CC_TitleBar
 
 CC_ToolButton
 
 CE_CheckBox
 
 CE_CheckBoxLabel
 
 CE_ColumnViewGrip
 
 CE_ComboBoxLabel
 
 CE_CustomBase
 
 CE_DockWidgetTitle
 
 CE_FocusFrame
 
 CE_Header
 
 CE_HeaderEmptyArea
 
 CE_HeaderLabel
 
 CE_HeaderSection
 
 CE_ItemViewItem
 
 CE_MenuBarEmptyArea
 
 CE_MenuBarItem
 
 CE_MenuEmptyArea
 
 CE_MenuHMargin
 
 CE_MenuItem
 
 CE_MenuScroller
 
 CE_MenuTearoff
 
 CE_MenuVMargin
 
 CE_ProgressBar
 
 CE_ProgressBarContents
 
 CE_ProgressBarGroove
 
 CE_ProgressBarLabel
 
 CE_PushButton
 
 CE_PushButtonBevel
 
 CE_PushButtonLabel
 
 CE_RadioButton
 
 CE_RadioButtonLabel
 
 CE_RubberBand
 
 CE_ScrollBarAddLine
 
 CE_ScrollBarAddPage
 
 CE_ScrollBarFirst
 
 CE_ScrollBarLast
 
 CE_ScrollBarSlider
 
 CE_ScrollBarSubLine
 
 CE_ScrollBarSubPage
 
 CE_ShapedFrame
 
 CE_SizeGrip
 
 CE_Splitter
 
 CE_TabBarTab
 
 CE_TabBarTabLabel
 
 CE_TabBarTabShape
 
 CE_ToolBar
 
 CE_ToolBoxTab
 
 CE_ToolBoxTabLabel
 
 CE_ToolBoxTabShape
 
 CE_ToolButtonLabel
 
 CT_CheckBox
 
 CT_ComboBox
 
 CT_CustomBase
 
 CT_DialogButtons
 
 CT_GroupBox
 
 CT_HeaderSection
 
 CT_ItemViewItem
 
 CT_LineEdit
 
 CT_MdiControls
 
 CT_Menu
 
 CT_MenuBar
 
 CT_MenuBarItem
 
 CT_MenuItem
 
 CT_ProgressBar
 
 CT_PushButton
 
 CT_RadioButton
 
 CT_ScrollBar
 
 CT_SizeGrip
 
 CT_Slider
 
 CT_SpinBox
 
 CT_Splitter
 
 CT_TabBarTab
 
 CT_TabWidget
 
 CT_ToolButton
 
 PE_CustomBase
 
 PE_Frame
 
 PE_FrameButtonBevel
 
 PE_FrameButtonTool
 
 PE_FrameDefaultButton
 
 PE_FrameDockWidget
 
 PE_FrameFocusRect
 
 PE_FrameGroupBox
 
 PE_FrameLineEdit
 
 PE_FrameMenu
 
 PE_FrameStatusBar
 
 PE_FrameStatusBarItem
 
 PE_FrameTabBarBase
 
 PE_FrameTabWidget
 
 PE_FrameWindow
 
 PE_IndicatorArrowDown
 
 PE_IndicatorArrowLeft
 
 PE_IndicatorArrowRight
 
 PE_IndicatorArrowUp
 
 PE_IndicatorBranch
 
 PE_IndicatorButtonDropDown
 
 PE_IndicatorCheckBox
 
 PE_IndicatorColumnViewArrow
 
 PE_IndicatorDockWidgetResizeHandle
 
 PE_IndicatorHeaderArrow
 
 PE_IndicatorItemViewItemCheck
 
 PE_IndicatorItemViewItemDrop
 
 PE_IndicatorMenuCheckMark
 
 PE_IndicatorProgressChunk
 
 PE_IndicatorRadioButton
 
 PE_IndicatorSpinDown
 
 PE_IndicatorSpinMinus
 
 PE_IndicatorSpinPlus
 
 PE_IndicatorSpinUp
 
 PE_IndicatorTabClose
 
 PE_IndicatorTabTear
 
 PE_IndicatorTabTearLeft
 
 PE_IndicatorTabTearRight
 
 PE_IndicatorToolBarHandle
 
 PE_IndicatorToolBarSeparator
 
 PE_IndicatorViewItemCheck
 
 PE_PanelButtonBevel
 
 PE_PanelButtonCommand
 
 PE_PanelButtonTool
 
 PE_PanelItemViewItem
 
 PE_PanelItemViewRow
 
 PE_PanelLineEdit
 
 PE_PanelMenu
 
 PE_PanelMenuBar
 
 PE_PanelScrollAreaCorner
 
 PE_PanelStatusBar
 
 PE_PanelTipLabel
 
 PE_PanelToolBar
 
 PE_Widget
 
 PM_ButtonDefaultIndicator
 
 PM_ButtonIconSize
 
 PM_ButtonMargin
 
 PM_ButtonShiftHorizontal
 
 PM_ButtonShiftVertical
 
 PM_CheckBoxLabelSpacing
 
 PM_ComboBoxFrameWidth
 
 PM_CustomBase
 
 PM_DefaultChildMargin
 
 PM_DefaultFrameWidth
 
 PM_DefaultLayoutSpacing
 
 PM_DefaultTopLevelMargin
 
 PM_DialogButtonsButtonHeight
 
 PM_DialogButtonsButtonWidth
 
 PM_DialogButtonsSeparator
 
 PM_DockWidgetFrameWidth
 
 PM_DockWidgetHandleExtent
 
 PM_DockWidgetSeparatorExtent
 
 PM_DockWidgetTitleBarButtonMargin
 
 PM_DockWidgetTitleMargin
 
 PM_ExclusiveIndicatorHeight
 
 PM_ExclusiveIndicatorWidth
 
 PM_FocusFrameHMargin
 
 PM_FocusFrameVMargin
 
 PM_HeaderDefaultSectionSizeHorizontal
 
 PM_HeaderDefaultSectionSizeVertical
 
 PM_HeaderGripMargin
 
 PM_HeaderMargin
 
 PM_HeaderMarkSize
 
 PM_IconViewIconSize
 
 PM_IndicatorHeight
 
 PM_IndicatorWidth
 
 PM_LargeIconSize
 
 PM_LayoutBottomMargin
 
 PM_LayoutHorizontalSpacing
 
 PM_LayoutLeftMargin
 
 PM_LayoutRightMargin
 
 PM_LayoutTopMargin
 
 PM_LayoutVerticalSpacing
 
 PM_ListViewIconSize
 
 PM_MaximumDragDistance
 
 PM_MDIFrameWidth
 
 PM_MDIMinimizedWidth
 
 PM_MdiSubWindowFrameWidth
 
 PM_MdiSubWindowMinimizedWidth
 
 PM_MenuBarHMargin
 
 PM_MenuBarItemSpacing
 
 PM_MenuBarPanelWidth
 
 PM_MenuBarVMargin
 
 PM_MenuButtonIndicator
 
 PM_MenuDesktopFrameWidth
 
 PM_MenuHMargin
 
 PM_MenuPanelWidth
 
 PM_MenuScrollerHeight
 
 PM_MenuTearoffHeight
 
 PM_MenuVMargin
 
 PM_MessageBoxIconSize
 
 PM_ProgressBarChunkWidth
 
 PM_RadioButtonLabelSpacing
 
 PM_ScrollBarExtent
 
 PM_ScrollBarSliderMin
 
 PM_ScrollView_ScrollBarOverlap
 
 PM_ScrollView_ScrollBarSpacing
 
 PM_SizeGripSize
 
 PM_SliderControlThickness
 
 PM_SliderLength
 
 PM_SliderSpaceAvailable
 
 PM_SliderThickness
 
 PM_SliderTickmarkOffset
 
 PM_SmallIconSize
 
 PM_SpinBoxFrameWidth
 
 PM_SpinBoxSliderHeight
 
 PM_SplitterWidth
 
 PM_SubMenuOverlap
 
 PM_TabBar_ScrollButtonOverlap
 
 PM_TabBarBaseHeight
 
 PM_TabBarBaseOverlap
 
 PM_TabBarIconSize
 
 PM_TabBarScrollButtonWidth
 
 PM_TabBarTabHSpace
 
 PM_TabBarTabOverlap
 
 PM_TabBarTabShiftHorizontal
 
 PM_TabBarTabShiftVertical
 
 PM_TabBarTabVSpace
 
 PM_TabCloseIndicatorHeight
 
 PM_TabCloseIndicatorWidth
 
 PM_TextCursorWidth
 
 PM_TitleBarButtonIconSize
 
 PM_TitleBarButtonSize
 
 PM_TitleBarHeight
 
 PM_ToolBarExtensionExtent
 
 PM_ToolBarFrameWidth
 
 PM_ToolBarHandleExtent
 
 PM_ToolBarIconSize
 
 PM_ToolBarItemMargin
 
 PM_ToolBarItemSpacing
 
 PM_ToolBarSeparatorExtent
 
 PM_ToolTipLabelFrameWidth
 
 PM_TreeViewIndentation
 
 RSIP_OnMouseClick
 
 RSIP_OnMouseClickAndAlreadyFocused
 
 SC_All
 
 SC_ComboBoxArrow
 
 SC_ComboBoxEditField
 
 SC_ComboBoxFrame
 
 SC_ComboBoxListBoxPopup
 
 SC_CustomBase
 
 SC_DialGroove
 
 SC_DialHandle
 
 SC_DialTickmarks
 
 SC_GroupBoxCheckBox
 
 SC_GroupBoxContents
 
 SC_GroupBoxFrame
 
 SC_GroupBoxLabel
 
 SC_MdiCloseButton
 
 SC_MdiMinButton
 
 SC_MdiNormalButton
 
 SC_None
 
 SC_ScrollBarAddLine
 
 SC_ScrollBarAddPage
 
 SC_ScrollBarFirst
 
 SC_ScrollBarGroove
 
 SC_ScrollBarLast
 
 SC_ScrollBarSlider
 
 SC_ScrollBarSubLine
 
 SC_ScrollBarSubPage
 
 SC_SliderGroove
 
 SC_SliderHandle
 
 SC_SliderTickmarks
 
 SC_SpinBoxDown
 
 SC_SpinBoxEditField
 
 SC_SpinBoxFrame
 
 SC_SpinBoxUp
 
 SC_TitleBarCloseButton
 
 SC_TitleBarContextHelpButton
 
 SC_TitleBarLabel
 
 SC_TitleBarMaxButton
 
 SC_TitleBarMinButton
 
 SC_TitleBarNormalButton
 
 SC_TitleBarShadeButton
 
 SC_TitleBarSysMenu
 
 SC_TitleBarUnshadeButton
 
 SC_ToolButton
 
 SC_ToolButtonMenu
 
 SE_CheckBoxClickRect
 
 SE_CheckBoxContents
 
 SE_CheckBoxFocusRect
 
 SE_CheckBoxIndicator
 
 SE_CheckBoxLayoutItem
 
 SE_ComboBoxFocusRect
 
 SE_ComboBoxLayoutItem
 
 SE_CustomBase
 
 SE_DateTimeEditLayoutItem
 
 SE_DialogButtonBoxLayoutItem
 
 SE_DockWidgetCloseButton
 
 SE_DockWidgetFloatButton
 
 SE_DockWidgetIcon
 
 SE_DockWidgetTitleBarText
 
 SE_FrameContents
 
 SE_FrameLayoutItem
 
 SE_GroupBoxLayoutItem
 
 SE_HeaderArrow
 
 SE_HeaderLabel
 
 SE_ItemViewItemCheckIndicator
 
 SE_ItemViewItemDecoration
 
 SE_ItemViewItemFocusRect
 
 SE_ItemViewItemText
 
 SE_LabelLayoutItem
 
 SE_LineEditContents
 
 SE_ProgressBarContents
 
 SE_ProgressBarGroove
 
 SE_ProgressBarLabel
 
 SE_ProgressBarLayoutItem
 
 SE_PushButtonBevel
 
 SE_PushButtonContents
 
 SE_PushButtonFocusRect
 
 SE_PushButtonLayoutItem
 
 SE_RadioButtonClickRect
 
 SE_RadioButtonContents
 
 SE_RadioButtonFocusRect
 
 SE_RadioButtonIndicator
 
 SE_RadioButtonLayoutItem
 
 SE_ShapedFrameContents
 
 SE_SliderFocusRect
 
 SE_SliderLayoutItem
 
 SE_SpinBoxLayoutItem
 
 SE_TabBarScrollLeftButton
 
 SE_TabBarScrollRightButton
 
 SE_TabBarTabLeftButton
 
 SE_TabBarTabRightButton
 
 SE_TabBarTabText
 
 SE_TabBarTearIndicator
 
 SE_TabBarTearIndicatorLeft
 
 SE_TabBarTearIndicatorRight
 
 SE_TabWidgetLayoutItem
 
 SE_TabWidgetLeftCorner
 
 SE_TabWidgetRightCorner
 
 SE_TabWidgetTabBar
 
 SE_TabWidgetTabContents
 
 SE_TabWidgetTabPane
 
 SE_ToolBarHandle
 
 SE_ToolBoxTabContents
 
 SE_ToolButtonLayoutItem
 
 SE_TreeViewDisclosureItem
 
 SE_ViewItemCheckIndicator
 
 SH_BlinkCursorWhenTextSelected
 
 SH_Button_FocusPolicy
 
 SH_ComboBox_AllowWheelScrolling
 
 SH_ComboBox_LayoutDirection
 
 SH_ComboBox_ListMouseTracking
 
 SH_ComboBox_Popup
 
 SH_ComboBox_PopupFrameStyle
 
 SH_ComboBox_UseNativePopup
 
 SH_CustomBase
 
 SH_Dial_BackgroundRole
 
 SH_DialogButtonBox_ButtonsHaveIcons
 
 SH_DialogButtonLayout
 
 SH_DialogButtons_DefaultButton
 
 SH_DitherDisabledText
 
 SH_DockWidget_ButtonsHaveFrame
 
 SH_DrawMenuBarSeparator
 
 SH_EtchDisabledText
 
 SH_FocusFrame_AboveWidget
 
 SH_FocusFrame_Mask
 
 SH_FontDialog_SelectAssociatedText
 
 SH_FormLayoutFieldGrowthPolicy
 
 SH_FormLayoutFormAlignment
 
 SH_FormLayoutLabelAlignment
 
 SH_FormLayoutWrapPolicy
 
 SH_GroupBox_TextLabelColor
 
 SH_GroupBox_TextLabelVerticalAlignment
 
 SH_Header_ArrowAlignment
 
 SH_ItemView_ActivateItemOnSingleClick
 
 SH_ItemView_ArrowKeysNavigateIntoChildren
 
 SH_ItemView_ChangeHighlightOnFocus
 
 SH_ItemView_DrawDelegateFrame
 
 SH_ItemView_EllipsisLocation
 
 SH_ItemView_MovementWithoutUpdatingSelection
 
 SH_ItemView_PaintAlternatingRowColorsForEmptyArea
 
 SH_ItemView_ScrollMode
 
 SH_ItemView_ShowDecorationSelected
 
 SH_LineEdit_PasswordCharacter
 
 SH_LineEdit_PasswordMaskDelay
 
 SH_ListViewExpand_SelectMouseType
 
 SH_MainWindow_SpaceBelowMenuBar
 
 SH_Menu_AllowActiveAndDisabled
 
 SH_Menu_FadeOutOnHide
 
 SH_Menu_FillScreenWithScroll
 
 SH_Menu_FlashTriggeredItem
 
 SH_Menu_KeyboardSearch
 
 SH_Menu_Mask
 
 SH_Menu_MouseTracking
 
 SH_Menu_Scrollable
 
 SH_Menu_SelectionWrap
 
 SH_Menu_SloppySubMenus
 
 SH_Menu_SpaceActivatesItem
 
 SH_Menu_SubMenuDontStartSloppyOnLeave
 
 SH_Menu_SubMenuPopupDelay
 
 SH_Menu_SubMenuResetWhenReenteringParent
 
 SH_Menu_SubMenuSloppyCloseTimeout
 
 SH_Menu_SubMenuSloppySelectOtherActions
 
 SH_Menu_SubMenuUniDirection
 
 SH_Menu_SubMenuUniDirectionFailCount
 
 SH_Menu_SupportsSections
 
 SH_MenuBar_AltKeyNavigation
 
 SH_MenuBar_MouseTracking
 
 SH_MessageBox_CenterButtons
 
 SH_MessageBox_TextInteractionFlags
 
 SH_MessageBox_UseBorderForButtonSpacing
 
 SH_PrintDialog_RightAlignButtons
 
 SH_ProgressDialog_CenterCancelButton
 
 SH_ProgressDialog_TextLabelAlignment
 
 SH_RequestSoftwareInputPanel
 
 SH_RichText_FullWidthSelection
 
 SH_RubberBand_Mask
 
 SH_ScrollBar_ContextMenu
 
 SH_ScrollBar_LeftClickAbsolutePosition
 
 SH_ScrollBar_MiddleClickAbsolutePosition
 
 SH_ScrollBar_RollBetweenButtons
 
 SH_ScrollBar_ScrollWhenPointerLeavesControl
 
 SH_ScrollBar_StopMouseOverSlider
 
 SH_ScrollBar_Transient
 
 SH_ScrollView_FrameOnlyAroundContents
 
 SH_Slider_AbsoluteSetButtons
 
 SH_Slider_PageSetButtons
 
 SH_Slider_SloppyKeyEvents
 
 SH_Slider_SnapToValue
 
 SH_Slider_StopMouseOverSlider
 
 SH_SpellCheckUnderlineStyle
 
 SH_SpinBox_AnimateButton
 
 SH_SpinBox_ButtonsInsideFrame
 
 SH_SpinBox_ClickAutoRepeatRate
 
 SH_SpinBox_ClickAutoRepeatThreshold
 
 SH_SpinBox_KeyPressAutoRepeatRate
 
 SH_SpinBox_StepModifier
 
 SH_SpinControls_DisableOnBounds
 
 SH_Splitter_OpaqueResize
 
 SH_TabBar_Alignment
 
 SH_TabBar_ChangeCurrentDelay
 
 SH_TabBar_CloseButtonPosition
 
 SH_TabBar_ElideMode
 
 SH_TabBar_PreferNoArrows
 
 SH_TabBar_SelectMouseType
 
 SH_Table_GridLineColor
 
 SH_TabWidget_DefaultTabPosition
 
 SH_TextControl_FocusIndicatorTextCharFormat
 
 SH_TitleBar_AutoRaise
 
 SH_TitleBar_ModifyNotification
 
 SH_TitleBar_NoBorder
 
 SH_TitleBar_ShowToolTipsOnButtons
 
 SH_ToolBar_Movable
 
 SH_ToolBox_SelectedPageTitleBold
 
 SH_ToolButton_PopupDelay
 
 SH_ToolButtonStyle
 
 SH_ToolTip_FallAsleepDelay
 
 SH_ToolTip_Mask
 
 SH_ToolTip_WakeUpDelay
 
 SH_ToolTipLabel_Opacity
 
 SH_UnderlineShortcut
 
 SH_Widget_Animate
 
 SH_Widget_Animation_Duration
 
 SH_Widget_ShareActivation
 
 SH_WindowFrame_Mask
 
 SH_WizardStyle
 
 SH_Workspace_FillSpaceOnMaximize
 
 SP_ArrowBack
 
 SP_ArrowDown
 
 SP_ArrowForward
 
 SP_ArrowLeft
 
 SP_ArrowRight
 
 SP_ArrowUp
 
 SP_BrowserReload
 
 SP_BrowserStop
 
 SP_CommandLink
 
 SP_ComputerIcon
 
 SP_CustomBase
 
 SP_DesktopIcon
 
 SP_DialogAbortButton
 
 SP_DialogApplyButton
 
 SP_DialogCancelButton
 
 SP_DialogCloseButton
 
 SP_DialogDiscardButton
 
 SP_DialogHelpButton
 
 SP_DialogIgnoreButton
 
 SP_DialogNoButton
 
 SP_DialogNoToAllButton
 
 SP_DialogOkButton
 
 SP_DialogOpenButton
 
 SP_DialogResetButton
 
 SP_DialogRetryButton
 
 SP_DialogSaveAllButton
 
 SP_DialogSaveButton
 
 SP_DialogYesButton
 
 SP_DialogYesToAllButton
 
 SP_DirClosedIcon
 
 SP_DirHomeIcon
 
 SP_DirIcon
 
 SP_DirLinkIcon
 
 SP_DirLinkOpenIcon
 
 SP_DirOpenIcon
 
 SP_DockWidgetCloseButton
 
 SP_DriveCDIcon
 
 SP_DriveDVDIcon
 
 SP_DriveFDIcon
 
 SP_DriveHDIcon
 
 SP_DriveNetIcon
 
 SP_FileDialogBack
 
 SP_FileDialogContentsView
 
 SP_FileDialogDetailedView
 
 SP_FileDialogEnd
 
 SP_FileDialogInfoView
 
 SP_FileDialogListView
 
 SP_FileDialogNewFolder
 
 SP_FileDialogStart
 
 SP_FileDialogToParent
 
 SP_FileIcon
 
 SP_FileLinkIcon
 
 SP_LineEditClearButton
 
 SP_MediaPause
 
 SP_MediaPlay
 
 SP_MediaSeekBackward
 
 SP_MediaSeekForward
 
 SP_MediaSkipBackward
 
 SP_MediaSkipForward
 
 SP_MediaStop
 
 SP_MediaVolume
 
 SP_MediaVolumeMuted
 
 SP_MessageBoxCritical
 
 SP_MessageBoxInformation
 
 SP_MessageBoxQuestion
 
 SP_MessageBoxWarning
 
 SP_RestoreDefaultsButton
 
 SP_TitleBarCloseButton
 
 SP_TitleBarContextHelpButton
 
 SP_TitleBarMaxButton
 
 SP_TitleBarMenuButton
 
 SP_TitleBarMinButton
 
 SP_TitleBarNormalButton
 
 SP_TitleBarShadeButton
 
 SP_TitleBarUnshadeButton
 
 SP_ToolBarHorizontalExtensionButton
 
 SP_ToolBarVerticalExtensionButton
 
 SP_TrashIcon
 
 SP_VistaShield
 
typedef State
 
 State_Active
 
 State_AutoRaise
 
 State_Bottom
 
 State_Children
 
 State_DownArrow
 
 State_Editing
 
 State_Enabled
 
 State_FocusAtBorder
 
 State_HasEditFocus
 
 State_HasFocus
 
 State_Horizontal
 
 State_Item
 
 State_KeyboardFocusChange
 
 State_Mini
 
 State_MouseOver
 
 State_NoChange
 
 State_None
 
 State_Off
 
 State_On
 
 State_Open
 
 State_Raised
 
 State_ReadOnly
 
 State_Selected
 
 State_Sibling
 
 State_Small
 
 State_Sunken
 
 State_Top
 
 State_UpArrow
 
 State_Window
 
typedef SubControls
 
- Public Attributes inherited from QObject
typedef QObjectList
 

Detailed Description

Makes style coding more convenient.

Todo:
and allows to style KDE specific widgets.

K4Style strives to ease style development by implementing various QStyle methods. These implementations are based on

  1. the concept of Layout Properties. These properties can be set using setWidgetLayoutProp(). K4Style uses this information to respect various metrics (like space between primitives or margins around widget contents) or turn specific features on or off.
  2. the concept of K4Style Primitives. These can be implemented by overriding drawKStylePrimitive() and providing drawing methods for specific primitives. Often, the drawing of more complex widgets consists of several primitives.

In the following modules, information about related members is collected:

Author
Maksim Orlovich ([email protected])
Sandro Giessl ([email protected])
See also
KStyleFactory for how to implement the style plugin interface.

Definition at line 85 of file k4style.h.

Member Function Documentation

QRect K4Style::centerRect ( const QRect in,
int  w,
int  h 
) const
protected

Returns a w x h QRect center inside the 'in' rectangle.

Definition at line 570 of file k4style.cpp.

QRect K4Style::centerRect ( const QRect in,
const QSize size 
) const
protected

Return a size-dimension QRect centered inside the 'in' rectangle.

Definition at line 575 of file k4style.cpp.

QStyle::StyleHint K4Style::customStyleHint ( const QString element,
const QWidget widget 
)
static

Runtime element extension This is just convenience and does /not/ require the using widgets style to inherit K4Style (i.e.

calling this while using cleanlooks won't segfault or so but just return 0) Returns a unique id for an element string (e.g. "CE_CapacityBar")

For simplicity, only StyleHints, ControlElements and their SubElements are supported If you don't need extended SubElement functionality, just drop it

Parameters
elementThe style element, represented as string. Naming convention: "appname.(2-char-element-type)_element" where the 2-char-element-type is of {SH, CE, SE} (widgets in kdelibs don't have to pass the appname) examples: "CE_CapacityBar", "amarok.CE_Analyzer"
widgetYour widget ("this") passing this is mandatory, passing NULL will just return 0
Returns
a unique id for the element string or 0, if the element is not supported by the widgets current style

Important notes: 1) If your string lacks the matching "SH_", "CE_" or "SE_" token the element request will be ignored (return is 0) 2) Try to avoid custom elements and use default ones (if possible) to get better style support and keep UI coherency 3) If you cache this value (good idea, this requires a map lookup) don't (!) forget to catch style changes in QWidget::changeEvent()

Definition at line 358 of file k4style.cpp.

QString K4Style::defaultStyle ( )
static

Returns the default widget style.

Definition at line 331 of file k4style.cpp.

void K4Style::drawInsideRect ( QPainter p,
const QRect r 
) const
protected

Draws inside the rectangle using a thinkness 0 pen.

This is what drawRect in Qt3 used to do.

Definition at line 565 of file k4style.cpp.

void K4Style::drawKStylePrimitive ( WidgetType  widgetType,
int  primitive,
const QStyleOption opt,
const QRect r,
const QPalette pal,
State  flags,
QPainter p,
const QWidget widget = nullptr,
K4Style::Option kOpt = nullptr 
) const
protectedvirtual

Draws primitives which are used inside K4Style.

K4Style implements various elements of QStyle::ComplexControl and QStyle::ControlElement for convenience. Usually complex drawing is split into smaller pieces, which can be text, icons, or other K4Style primitives. These are painted by this method.

Common Qt option parameters are unpacked for convenience, and information from K4Style are passed as a KStyleOption.

Note
This method is not meant to be accessible from outside K4Style.
You should make sure to use the r parameter for the rectangle, since the QStyleOption is generally unaltered from the original request, even if layout indicates a different painting rectangle.
Parameters
widgetTypethe widget context in which this call is happening in
primitivethe primitive which should be called. Primitives from the Generic struct are not directly coupled to the widgetType , other primitives are usually defined in the struct corresponding to the widget type.
optQt option parameters
rparameter for the rectangle
palthe palette extracted from opt for convenience
flagsstate flags extracted from opt for convenience
pused to draw the primitive
widgetthe widget which is painted on
kOptinformation passed from K4Style

Definition at line 580 of file k4style.cpp.

QStyle::StyleHint K4Style::newStyleHint ( const QString element)
protected

Runtime element extension, allows inheriting styles to add support custom elements merges supporting inherit chains Supposed to be called e.g.

in your constructor.

NOTICE: in order to have this work, your style must provide an "X-KDE-CustomElements" classinfo, i.e. class MyStyle : public K4Style { Q_OBJECT Q_CLASSINFO ("X-KDE-CustomElements", "true")

public: ..... }

Parameters
elementThe style element, represented as string. Suggested naming convention: appname.(2-char-element-type)_element where the 2-char-element-type is of {SH, CE, SE} widgets in kdelibs don't have to pass the appname examples: "CE_CapacityBar", "amarok.CE_Analyzer"

Important notes: 1) If your string lacks the matching "SH_", "CE_" or "SE_" token the element request will be ignored (return is 0) 2) To keep UI coherency, don't support any nonsense in your style, but convince app developers to use standard elements - if available

Definition at line 316 of file k4style.cpp.

void K4Style::setWidgetLayoutProp ( WidgetType  widget,
int  metric,
int  value 
)
protected

Interface for the style to configure various metrics that K4Style has customizable.

Definition at line 842 of file k4style.cpp.

int K4Style::widgetLayoutProp ( WidgetType  widgetType,
int  metric,
const QStyleOption opt = nullptr,
const QWidget w = nullptr 
) const
protectedvirtual

Used to obtain information about K4Style layout properties and metrics.

The default implementation returns values which are set using setWidgetLayoutProp(), so normally it's not necessary to implement it yourself.

Note
This method is not meant to be accessible from outside K4Style.
Parameters
widgetTypethe widget type context where the metric property belongs to
metricthe value of this property is requested
optQt option parameters
wthe actual widget this call is related to

Definition at line 856 of file k4style.cpp.


The documentation for this class was generated from the following files:
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Mon Nov 30 2020 22:59:26 by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.