K4Style
#include <k4style.h>

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 |
![]() | |
int | combinedLayoutSpacing (QSizePolicy::ControlTypes controls1, QSizePolicy::ControlTypes controls2, Qt::Orientation orientation, QStyleOption *option, QWidget *widget) const const |
const QStyle * | proxy () const const |
![]() | |
QObject (QObject *parent) | |
bool | blockSignals (bool block) |
const QObjectList & | children () 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< QByteArray > | dynamicPropertyNames () const const |
virtual bool | event (QEvent *e) |
T | 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 ®Exp, 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 QMetaObject * | metaObject () const const |
void | moveToThread (QThread *targetThread) |
QString | objectName () const const |
void | objectNameChanged (const QString &objectName) |
QObject * | parent () 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 | |
T | qFindChild (const QObject *obj, const QString &name) |
QList< T > | qFindChildren (const QObject *obj, const QRegExp ®Exp) |
QList< T > | qFindChildren (const QObject *obj, const QString &name) |
T | qobject_cast (QObject *object) |
T | 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) |
QThread * | thread () 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 () |
![]() | |
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) |
![]() | |
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 |
![]() | |
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 |
QObject * | sender () const const |
int | senderSignalIndex () const const |
virtual void | timerEvent (QTimerEvent *event) |
Static Protected Member Functions | |
template<typename T > | |
static T | extractOption (Option *option) |
Detailed Description
Makes style coding more convenient.
K4Style strives to ease style development by implementing various QStyle methods. These implementations are based on
- 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.
- 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:
- See also
- KStyleFactory for how to implement the style plugin interface.
Member Function Documentation
Returns a w x h QRect center inside the 'in' rectangle.
Definition at line 570 of file k4style.cpp.
Return a size-dimension QRect centered inside the 'in' rectangle.
Definition at line 575 of file k4style.cpp.
|
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
-
element The 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" widget Your 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.
|
static |
Returns the default widget style.
Definition at line 331 of file k4style.cpp.
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.
|
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
-
widgetType the widget context in which this call is happening in primitive the 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.opt Qt option parameters r parameter for the rectangle pal the palette extracted from opt
for convenienceflags state flags extracted from opt
for conveniencep used to draw the primitive widget the widget which is painted on kOpt information passed from K4Style
Definition at line 580 of file k4style.cpp.
|
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
-
element The 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.
|
protected |
Interface for the style to configure various metrics that K4Style has customizable.
Definition at line 842 of file k4style.cpp.
|
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
-
widgetType the widget type context where the metric
property belongs tometric the value of this property is requested opt Qt option parameters w the 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:
Documentation copyright © 1996-2021 The KDE developers.
Generated on Thu Mar 4 2021 22:59:29 by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.