2018-04-15 15:21:12 +03:00
/*
* Copyright 2017 - 2018 Michail Vourlakos < mvourlakos @ gmail . com >
*
* This file is part of Latte - Dock
*
* Latte - Dock is free software ; you can redistribute it and / or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation ; either version 2 of
* the License , or ( at your option ) any later version .
*
* Latte - Dock is distributed in the hope that it will be useful ,
* but WITHOUT ANY WARRANTY ; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the
* GNU General Public License for more details .
*
* You should have received a copy of the GNU General Public License
* along with this program . If not , see < http : //www.gnu.org/licenses/>.
*/
2017-07-18 12:58:29 +03:00
# ifndef COLORCMBBOXDELEGATE_H
# define COLORCMBBOXDELEGATE_H
2018-12-02 02:05:52 +02:00
// Qt
2017-07-18 12:58:29 +03:00
# include <QItemDelegate>
class QModelIndex ;
class QWidget ;
class QVariant ;
2018-07-03 22:15:45 +03:00
class ColorCmbBoxDelegate : public QItemDelegate
{
2017-07-18 12:58:29 +03:00
Q_OBJECT
public :
2017-07-18 17:28:31 +03:00
ColorCmbBoxDelegate ( QObject * parent = 0 , QString iconsPath = QString ( ) , QStringList colors = QStringList ( ) ) ;
2017-07-18 12:58:29 +03:00
QWidget * createEditor ( QWidget * parent , const QStyleOptionViewItem & option , const QModelIndex & index ) const ;
void setEditorData ( QWidget * editor , const QModelIndex & index ) const ;
void setModelData ( QWidget * editor , QAbstractItemModel * model , const QModelIndex & index ) const ;
void updateEditorGeometry ( QWidget * editor , const QStyleOptionViewItem & option , const QModelIndex & index ) const ;
void paint ( QPainter * painter , const QStyleOptionViewItem & option , const QModelIndex & index ) const ;
private :
2018-02-17 01:15:45 +02:00
QObject * m_parent { nullptr } ;
2017-07-18 17:28:31 +03:00
QStringList Colors ;
2017-07-18 12:58:29 +03:00
QString m_iconsPath ;
} ;
# endif