KStatefulBrush

Search for usage in LXR

KStatefulBrush Class Reference

#include <KStatefulBrush>

Public Member Functions

 KStatefulBrush ()
 
 KStatefulBrush (const KStatefulBrush &)
 
 KStatefulBrush (const QBrush &, const QBrush &background, KSharedConfigPtr=KSharedConfigPtr())
 
 KStatefulBrush (const QBrush &, KSharedConfigPtr=KSharedConfigPtr())
 
 KStatefulBrush (KColorScheme::ColorSet, KColorScheme::BackgroundRole, KSharedConfigPtr=KSharedConfigPtr())
 
 KStatefulBrush (KColorScheme::ColorSet, KColorScheme::DecorationRole, KSharedConfigPtr=KSharedConfigPtr())
 
 KStatefulBrush (KColorScheme::ColorSet, KColorScheme::ForegroundRole, KSharedConfigPtr=KSharedConfigPtr())
 
 ~KStatefulBrush ()
 
QBrush brush (const QPalette &) const
 
QBrush brush (QPalette::ColorGroup) const
 
KStatefulBrushoperator= (const KStatefulBrush &)
 

Detailed Description

A container for a "state-aware" brush.

KStatefulBrush provides an easy and safe way to store a color for use in a user interface. It is "safe" both in that it will make it easy to deal with widget states in a correct manner, and that it insulates you against changes in QPalette::ColorGroup.

Basically, a stateful brush is used to cache a particular "color" from the KDE system palette (usually, one which does not live in QPalette). When you are ready to draw using the brush, you use the current state to retrieve the appropriate brush.

Stateful brushes can also be used to apply state effects to arbitrary brushes, for example when working with a application specific user-defined color palette.

Note
As of Qt 4.3, QPalette::ColorGroup is missing a state for disabled widgets in an inactive window. Hopefully Trolltech will fix this bug, at which point KColorScheme and KStatefulBrush will be updated to recognize the new state. Using KStatefulBrush will allow your application to inherit these changes "for free", without even recompiling.

Definition at line 40 of file kstatefulbrush.h.

Constructor & Destructor Documentation

◆ KStatefulBrush() [1/7]

KStatefulBrush::KStatefulBrush ( )
explicit

Construct a "default" stateful brush.

For such an instance, all overloads of KStatefulBrush::brush will return a default brush (i.e. QBrush()).

Definition at line 19 of file kstatefulbrush.cpp.

◆ KStatefulBrush() [2/7]

KStatefulBrush::KStatefulBrush ( KColorScheme::ColorSet set,
KColorScheme::ForegroundRole role,
KSharedConfigPtr config = KSharedConfigPtr() )
explicit

Construct a stateful brush from given color set and foreground role, using the colors from the given KConfig.

If null, the application's color scheme is used (either the system default, or one set by KColorSchemeManager).

Definition at line 26 of file kstatefulbrush.cpp.

◆ KStatefulBrush() [3/7]

KStatefulBrush::KStatefulBrush ( KColorScheme::ColorSet set,
KColorScheme::BackgroundRole role,
KSharedConfigPtr config = KSharedConfigPtr() )
explicit

Construct a stateful brush from given color set and background role, using the colors from the given KConfig (if null, the application's colors are used).

Definition at line 34 of file kstatefulbrush.cpp.

◆ KStatefulBrush() [4/7]

KStatefulBrush::KStatefulBrush ( KColorScheme::ColorSet set,
KColorScheme::DecorationRole role,
KSharedConfigPtr config = KSharedConfigPtr() )
explicit

Construct a stateful brush from given color set and decoration role, using the colors from the given KConfig (if null, the application's colors are used).

Definition at line 43 of file kstatefulbrush.cpp.

◆ KStatefulBrush() [5/7]

KStatefulBrush::KStatefulBrush ( const QBrush & brush,
KSharedConfigPtr config = KSharedConfigPtr() )
explicit

Construct a stateful background brush from a specified QBrush (or QColor, via QBrush's implicit constructor).

The various states are determined from the base QBrush (which fills in the Active state) according to the same rules used to build stateful color schemes from the system color scheme. The state effects from the given KConfig are used (if null, the application's state effects are used).

Definition at line 51 of file kstatefulbrush.cpp.

◆ KStatefulBrush() [6/7]

KStatefulBrush::KStatefulBrush ( const QBrush & brush,
const QBrush & background,
KSharedConfigPtr config = KSharedConfigPtr() )
explicit

Construct a stateful foreground/decoration brush from a specified QBrush (or QColor, via QBrush's implicit constructor).

The various states are determined from the base QBrush (which fills in the Active state) according to the same rules used to build stateful color schemes from the system color scheme. The state effects from the given KConfig are used (if null, the application's state effects are used).

Parameters
backgroundThe background brush (or color) corresponding to the KColorScheme::NormalBackground role and QPalette::Active state for this foreground/decoration color.

Definition at line 62 of file kstatefulbrush.cpp.

◆ KStatefulBrush() [7/7]

KStatefulBrush::KStatefulBrush ( const KStatefulBrush & other)

Construct a copy of another KStatefulBrush.

Definition at line 73 of file kstatefulbrush.cpp.

◆ ~KStatefulBrush()

KStatefulBrush::~KStatefulBrush ( )
default

Destructor.

Member Function Documentation

◆ brush() [1/2]

QBrush KStatefulBrush::brush ( const QPalette & pal) const

Retrieve the brush, using a QPalette reference to determine the correct state.

Use when your painting code has easy access to the QPalette that it is supposed to be using. The state used in this instance is the currentColorGroup of the palette.

Definition at line 98 of file kstatefulbrush.cpp.

◆ brush() [2/2]

QBrush KStatefulBrush::brush ( QPalette::ColorGroup state) const

Retrieve the brush for the specified widget state.

This is used when you know explicitly what state is wanted. Otherwise one of overloads is often more convenient.

Definition at line 89 of file kstatefulbrush.cpp.

◆ operator=()

KStatefulBrush & KStatefulBrush::operator= ( const KStatefulBrush & other)

Standard assignment operator.

Definition at line 81 of file kstatefulbrush.cpp.


The documentation for this class was generated from the following files:
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Tue Mar 26 2024 11:18:32 by doxygen 1.10.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.