#ifndef QPALETTE_H_
#define QPALETTE_H_
#include "KWQColor.h"
#include "KWQBrush.h"
class QColorGroupPrivate;
class QPalettePrivate;
class QColorGroup {
public:
enum ColorRole {
Foreground,
Shadow,
Light,
Midlight,
Mid,
Dark,
Base,
ButtonText,
Button,
Background,
Text,
Highlight,
HighlightedText,
NColorRoles
};
QColorGroup();
const QBrush &brush(ColorRole) const;
const QColor &color(ColorRole) const;
void setColor(ColorRole, const QColor &);
const QColor &foreground() const;
const QColor &shadow() const;
const QColor &light() const;
const QColor &midlight() const;
const QColor &dark() const;
const QColor &base() const;
const QColor &buttonText() const;
const QColor &button() const;
const QColor &text() const;
const QColor &background() const;
const QColor &highlight() const;
const QColor &highlightedText() const;
bool operator==(const QColorGroup &) const;
private:
QBrush brushes[NColorRoles];
};
class QPalette {
public:
enum ColorGroup {
Active,
Inactive,
Disabled,
NColorGroups
};
const QColor &color(ColorGroup, QColorGroup::ColorRole) const;
void setColor(ColorGroup, QColorGroup::ColorRole, const QColor &);
const QColorGroup &active() const { return m_active; }
const QColorGroup &inactive() const { return m_inactive; }
const QColorGroup &disabled() const { return m_disabled; }
const QColorGroup &normal() const { return m_active; }
bool operator==(const QPalette &) const;
private:
QColorGroup m_active;
QColorGroup m_inactive;
QColorGroup m_disabled;
};
#endif