00001 #ifndef __PALETTEDISPLAYER_HPP__ 00002 #define __PALETTEDISPLAYER_HPP__ 00003 00004 /* 00005 # Copyright (c) 2010 Alexandre LAURENT 00006 # 00007 # Permission is hereby granted, free of charge, to any person obtaining a copy 00008 # of this software and associated documentation files (the "Software"), to deal 00009 # in the Software without restriction, including without limitation the rights 00010 # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 00011 # copies of the Software, and to permit persons to whom the Software is 00012 # furnished to do so, subject to the following conditions: 00013 # 00014 # The above copyright notice and this permission notice shall be included in 00015 # all copies or substantial portions of the Software. 00016 # 00017 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 00018 # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 00019 # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 00020 # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 00021 # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 00022 # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 00023 # THE SOFTWARE. 00024 */ 00025 #include <QWidget> 00026 #include <QVector> 00027 #include <QColor> 00028 00029 class QGroupBox; 00030 class QPaintEvent; 00031 00035 class PaletteDisplayer : public QWidget 00036 { 00037 Q_OBJECT 00038 00039 private: 00040 00041 QGroupBox* pPaletteBox; 00043 QVector<QRgb> palette; 00045 protected: 00046 00050 void paintEvent(QPaintEvent* event); 00051 00052 public: 00053 00059 PaletteDisplayer(QVector<QRgb> palette, QWidget* parent=0); 00060 00064 ~PaletteDisplayer(void); 00065 00070 void setPalette(QVector<QRgb> newPalette) { this->palette = newPalette; this->repaint(); }; 00071 }; 00072 00073 #endif