summaryrefslogtreecommitdiffstats
path: root/tqtinterface/qt4/src/kernel/tqpalette.h
diff options
context:
space:
mode:
Diffstat (limited to 'tqtinterface/qt4/src/kernel/tqpalette.h')
-rw-r--r--tqtinterface/qt4/src/kernel/tqpalette.h295
1 files changed, 295 insertions, 0 deletions
diff --git a/tqtinterface/qt4/src/kernel/tqpalette.h b/tqtinterface/qt4/src/kernel/tqpalette.h
new file mode 100644
index 0000000..19bf08a
--- /dev/null
+++ b/tqtinterface/qt4/src/kernel/tqpalette.h
@@ -0,0 +1,295 @@
+/****************************************************************************
+**
+** Definition of TQColorGroup and TQPalette classes
+**
+** Created : 950323
+**
+** Copyright (C) 2010 Timothy Pearson and (C) 1992-2008 Trolltech ASA.
+**
+** This file is part of the kernel module of the TQt GUI Toolkit.
+**
+** This file may be used under the terms of the GNU General
+** Public License versions 2.0 or 3.0 as published by the Free
+** Software Foundation and appearing in the files LICENSE.GPL2
+** and LICENSE.GPL3 included in the packaging of this file.
+** Alternatively you may (at your option) use any later version
+** of the GNU General Public License if such license has been
+** publicly approved by Trolltech ASA (or its successors, if any)
+** and the KDE Free TQt Foundation.
+**
+** Please review the following information to ensure GNU General
+** Public Licensing requirements will be met:
+** http://trolltech.com/products/qt/licenses/licensing/opensource/.
+** If you are unsure which license is appropriate for your use, please
+** review the following information:
+** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
+** or contact the sales department at sales@trolltech.com.
+**
+** This file may be used under the terms of the Q Public License as
+** defined by Trolltech ASA and appearing in the file LICENSE.TQPL
+** included in the packaging of this file. Licensees holding valid TQt
+** Commercial licenses may use this file in accordance with the TQt
+** Commercial License Agreement provided with the Software.
+**
+** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
+** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
+** herein.
+**
+**********************************************************************/
+
+#ifndef TQPALETTE_H
+#define TQPALETTE_H
+
+#include "tqtglobaldefines.h"
+
+#ifndef TQT_H
+#include "tqwindowdefs.h"
+#include "tqcolor.h"
+#include "tqshared.h"
+#include "tqbrush.h" // TQColor->TQBrush conversion
+#endif // TQT_H
+
+#ifdef USE_QT4
+
+#include <Qt/qpalette.h>
+
+#endif // USE_QT4
+
+#ifndef TQT_NO_PALETTE
+
+#ifdef USE_QT4
+
+class Q_GUI_EXPORT TQPalette : public QPalette, virtual public TQt
+{
+public:
+ TQPalette() : QPalette() {}
+ TQPalette( const QColor &button ) : QPalette( button ) {}
+ TQPalette( const QColor &button, const QColor &background ) : QPalette( button, background ) {}
+ TQPalette( const TQColorGroup &active, const TQColorGroup &disabled, const TQColorGroup &inactive );
+ TQPalette( const QPalette &pa ) : QPalette( pa ) {}
+ TQPalette(const QBrush &windowText, const QBrush &button, const QBrush &light, const QBrush &dark, const QBrush &mid, const QBrush &text, const QBrush &bright_text, const QBrush &base, const QBrush &window) : QPalette( windowText, button, light, dark, mid, text, bright_text, base, window ) {}
+ TQPalette(const QColor &windowText, const QColor &window, const QColor &light, const QColor &dark, const QColor &mid, const QColor &text, const QColor &base) : QPalette( windowText, window, light, dark, mid, text, base ) {}
+
+ TQColorGroup normal() const;
+ inline void setNormal(const TQColorGroup &cg) { tqsetColorGroup(Active, cg); }
+
+ TQColorGroup active() const;
+ TQColorGroup disabled() const;
+ TQColorGroup inactive() const;
+// inline void setActive(const TQColorGroup &cg) { tqsetColorGroup(Active, cg); }
+// inline void setDisabled(const TQColorGroup &cg) { tqsetColorGroup(Disabled, cg); }
+// inline void setInactive(const TQColorGroup &cg) { tqsetColorGroup(Inactive, cg); }
+
+ static ColorRole foregroundRoleFromMode( TQt::BackgroundMode mode );
+ static ColorRole backgroundRoleFromMode( TQt::BackgroundMode mode );
+
+// inline QPalette copy() const { QPalette p = *this; p.detach(); return p; }
+
+ inline void setActive(const TQColorGroup &cg) { tqsetColorGroup(Active, cg); }
+ inline void setDisabled(const TQColorGroup &cg) { tqsetColorGroup(Disabled, cg); }
+ inline void setInactive(const TQColorGroup &cg) { tqsetColorGroup(Inactive, cg); }
+
+private:
+ friend class TQColorGroup;
+ void tqsetColorGroup(ColorGroup, const TQColorGroup &);
+ TQColorGroup createColorGroup(ColorGroup) const;
+
+public:
+ // Interoperability
+ static const TQPalette& convertFromQPaletteh( QPalette& qp );
+};
+
+// Interoperability
+inline static const TQPalette& convertFromQPalette( const QPalette& qp ) {
+ return (*static_cast<const TQPalette*>(&qp));
+}
+
+class Q_GUI_EXPORT TQColorGroup : public TQPalette
+{
+public:
+ inline TQColorGroup() : TQPalette() {}
+ inline TQColorGroup(const QBrush &foreground, const QBrush &button, const QBrush &light,
+ const QBrush &dark, const QBrush &mid, const QBrush &text,
+ const QBrush &bright_text, const QBrush &base, const QBrush &background)
+ : TQPalette(foreground, button, light, dark, mid, text, bright_text, base, background)
+ {}
+ inline TQColorGroup(const QColor &foreground, const QColor &background, const QColor &light,
+ const QColor &dark, const QColor &mid, const QColor &text, const QColor &base)
+ : TQPalette(foreground, background, light, dark, mid, text, base) {}
+ inline TQColorGroup(const TQColorGroup &cg) : TQPalette(cg) {}
+ inline TQColorGroup(const QPalette &pal) : TQPalette(pal) {}
+ bool operator==(const TQColorGroup &other) const;
+ inline bool operator!=(const TQColorGroup &other) const { return !(operator==(other)); }
+// operator QVariant() const;
+
+ inline const TQColor &foreground() const { return TQT_TQCOLOR_OBJECT(color(WindowText)); }
+ inline const TQColor &button() const { return TQT_TQCOLOR_OBJECT(color(Button)); }
+ inline const TQColor &light() const { return TQT_TQCOLOR_OBJECT(color(Light)); }
+ inline const TQColor &dark() const { return TQT_TQCOLOR_OBJECT(color(Dark)); }
+ inline const TQColor &mid() const { return TQT_TQCOLOR_OBJECT(color(Mid)); }
+ inline const TQColor &text() const { return TQT_TQCOLOR_OBJECT(color(Text)); }
+ inline const TQColor &base() const { return TQT_TQCOLOR_OBJECT(color(Base)); }
+ inline const TQColor &background() const { return TQT_TQCOLOR_OBJECT(color(Window)); }
+ inline const TQColor &midlight() const { return TQT_TQCOLOR_OBJECT(color(Midlight)); }
+ inline const TQColor &brightText() const { return TQT_TQCOLOR_OBJECT(color(BrightText)); }
+ inline const TQColor &buttonText() const { return TQT_TQCOLOR_OBJECT(color(ButtonText)); }
+ inline const TQColor &shadow() const { return TQT_TQCOLOR_OBJECT(color(Shadow)); }
+ inline const TQColor &highlight() const { return TQT_TQCOLOR_OBJECT(color(Highlight)); }
+ inline const TQColor &highlightedText() const { return TQT_TQCOLOR_OBJECT(color(HighlightedText)); }
+ inline const TQColor &link() const { return TQT_TQCOLOR_OBJECT(color(Link)); }
+ inline const TQColor &linkVisited() const { return TQT_TQCOLOR_OBJECT(color(LinkVisited)); }
+
+ inline const TQBrush &tqbrush( ColorRole cr ) const { return TQT_TQBRUSH_OBJECT(TQPalette::brush(cr)); }
+};
+
+// #ifndef QT_NO_DATASTREAM
+// QDataStream &operator<<(QDataStream &ds, const TQColorGroup &cg);
+// QDataStream &operator>>(QDataStream &ds, TQColorGroup &cg);
+// #endif
+
+inline TQColorGroup TQPalette::inactive() const { return createColorGroup(Inactive); }
+inline TQColorGroup TQPalette::disabled() const { return createColorGroup(Disabled); }
+inline TQColorGroup TQPalette::active() const { return createColorGroup(Active); }
+inline TQColorGroup TQPalette::normal() const { return createColorGroup(Active); }
+
+#else // USE_QT4
+
+class TQColorGroupPrivate;
+
+class TQ_EXPORT TQColorGroup
+{
+public:
+ TQColorGroup();
+ TQColorGroup( const TQColor &foreground, const TQColor &button,
+ const TQColor &light, const TQColor &dark, const TQColor &mid,
+ const TQColor &text, const TQColor &base );
+ TQColorGroup( const TQBrush &foreground, const TQBrush &button,
+ const TQBrush &light, const TQBrush &dark, const TQBrush &mid,
+ const TQBrush &text, const TQBrush &bright_text,
+ const TQBrush &base, const TQBrush &background);
+ TQColorGroup( const TQColorGroup & );
+
+ ~TQColorGroup();
+
+ TQColorGroup& operator =(const TQColorGroup&);
+
+ // Do not change the order, the serialization format depends on it
+ enum ColorRole { Foreground, Button, Light, Midlight, Dark, Mid,
+ Text, BrightText, ButtonText, Base, Background, Shadow,
+ Highlight, HighlightedText, Link, LinkVisited,
+ NColorRoles };
+
+ const TQColor &color( ColorRole ) const;
+ const TQBrush &brush( ColorRole ) const;
+ void setColor( ColorRole, const TQColor & );
+ void setBrush( ColorRole, const TQBrush & );
+
+ const TQColor &foreground() const { return br[Foreground].color(); }
+ const TQColor &button() const { return br[Button].color(); }
+ const TQColor &light() const { return br[Light].color(); }
+ const TQColor &dark() const { return br[Dark].color(); }
+ const TQColor &mid() const { return br[Mid].color(); }
+ const TQColor &text() const { return br[Text].color(); }
+ const TQColor &base() const { return br[Base].color(); }
+ const TQColor &background() const { return br[Background].color(); }
+
+ const TQColor &midlight() const { return br[Midlight].color(); }
+ const TQColor &brightText() const { return br[BrightText].color(); }
+ const TQColor &buttonText() const { return br[ButtonText].color(); }
+ const TQColor &shadow() const { return br[Shadow].color(); }
+ const TQColor &highlight() const { return br[Highlight].color(); }
+ const TQColor &highlightedText() const{return br[HighlightedText].color(); }
+ const TQColor &link() const { return br[Link].color(); }
+ const TQColor &linkVisited() const { return br[LinkVisited].color(); }
+
+ bool operator==( const TQColorGroup &g ) const;
+ bool operator!=( const TQColorGroup &g ) const
+ { return !(operator==(g)); }
+
+private:
+ TQBrush *br;
+ TQColorGroupPrivate * d;
+
+ friend class TQPalette;
+};
+
+
+class TQ_EXPORT TQPalette
+{
+public:
+ TQPalette();
+ TQPalette( const TQColor &button );
+ TQPalette( const TQColor &button, const TQColor &background );
+ TQPalette( const TQColorGroup &active, const TQColorGroup &disabled,
+ const TQColorGroup &inactive );
+ TQPalette( const TQPalette & );
+ ~TQPalette();
+ TQPalette &operator=( const TQPalette & );
+
+ enum ColorGroup { Disabled, Active, Inactive, NColorGroups, Normal=Active };
+
+ const TQColor &color( ColorGroup, TQColorGroup::ColorRole ) const;
+ const TQBrush &brush( ColorGroup, TQColorGroup::ColorRole ) const;
+ void setColor( ColorGroup, TQColorGroup::ColorRole, const TQColor & );
+ void setBrush( ColorGroup, TQColorGroup::ColorRole, const TQBrush & );
+
+ void setColor( TQColorGroup::ColorRole, const TQColor & );
+ void setBrush( TQColorGroup::ColorRole, const TQBrush & );
+
+ TQPalette copy() const;
+
+ const TQColorGroup &active() const { return data->active; }
+ const TQColorGroup &disabled() const { return data->disabled; }
+ const TQColorGroup &inactive() const { return data->inactive; }
+#ifndef TQT_NO_COMPAT
+ const TQColorGroup &normal() const { return active(); }
+#endif
+
+ void setActive( const TQColorGroup & );
+ void setDisabled( const TQColorGroup & );
+ void setInactive( const TQColorGroup & );
+#ifndef TQT_NO_COMPAT
+ void setNormal( const TQColorGroup & cg ) { setActive(cg); }
+#endif
+
+ bool operator==( const TQPalette &p ) const;
+ bool operator!=( const TQPalette &p ) const
+ { return !(operator==(p)); }
+ bool isCopyOf( const TQPalette & );
+
+ int serialNumber() const { return data->ser_no; }
+
+
+ static TQColorGroup::ColorRole foregroundRoleFromMode( TQt::BackgroundMode mode );
+ static TQColorGroup::ColorRole backgroundRoleFromMode( TQt::BackgroundMode mode);
+
+private:
+ void detach();
+ const TQBrush &directBrush( ColorGroup, TQColorGroup::ColorRole ) const;
+ void directSetBrush( ColorGroup, TQColorGroup::ColorRole, const TQBrush& );
+
+ struct TQPalData : public TQShared {
+ TQColorGroup disabled;
+ TQColorGroup active;
+ int ser_no;
+ TQColorGroup inactive;
+ } *data;
+};
+
+
+/*****************************************************************************
+ TQColorGroup/TQPalette stream functions
+ *****************************************************************************/
+
+#ifndef TQT_NO_DATASTREAM
+TQ_EXPORT TQDataStream &operator<<( TQDataStream &, const TQColorGroup & );
+TQ_EXPORT TQDataStream &operator>>( TQDataStream &, TQColorGroup & );
+
+TQ_EXPORT TQDataStream &operator<<( TQDataStream &, const TQPalette & );
+TQ_EXPORT TQDataStream &operator>>( TQDataStream &, TQPalette & );
+#endif // TQT_NO_DATASTREAM
+
+#endif // TQT_NO_PALETTE
+#endif // USE_QT4
+#endif // TQPALETTE_H