mapnik/demo/viewer/layerdelegate.cpp

49 lines
1.7 KiB
C++
Raw Normal View History

2007-08-07 15:09:41 +00:00
/* This file is part of Mapnik (c++ mapping toolkit)
2011-10-23 14:09:12 +00:00
*
2021-01-05 14:39:07 +00:00
* Copyright (C) 2021 Artem Pavlenko
2007-08-07 15:09:41 +00:00
*
* Mapnik 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 any later version.
*
* This program 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, write to the Free Software
2016-01-26 09:54:42 +00:00
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
2007-08-07 15:09:41 +00:00
*/
#include <QtGui>
#include "layerdelegate.hpp"
2022-01-26 22:34:08 +00:00
LayerDelegate::LayerDelegate(QObject* parent)
2007-08-07 15:09:41 +00:00
: QAbstractItemDelegate(parent)
2022-01-26 22:34:08 +00:00
{}
2007-08-07 15:09:41 +00:00
2022-01-26 22:34:08 +00:00
void LayerDelegate::paint(QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index) const
2007-08-07 15:09:41 +00:00
{
painter->setRenderHint(QPainter::Antialiasing);
2022-01-26 22:34:08 +00:00
painter->setPen(QPen(QColor(255, 0, 0), 1));
2007-08-07 15:09:41 +00:00
if (option.state & QStyle::State_Selected)
painter->setBrush(QBrush(QColor(0, 0, 255, 64)));
else
painter->setBrush(QBrush(QColor(255, 0, 0, 64)));
2022-01-26 22:34:08 +00:00
painter->drawRoundedRect(option.rect, 4, 4);
2007-08-07 15:09:41 +00:00
if (option.state & QStyle::State_Selected)
painter->setBrush(option.palette.highlightedText());
else
painter->setBrush(QBrush(QColor(255, 120, 0, 127)));
}
2022-01-26 22:34:08 +00:00
QSize LayerDelegate::sizeHint(const QStyleOptionViewItem& /* option */, const QModelIndex& /* index */) const
2007-08-07 15:09:41 +00:00
{
2022-01-26 22:34:08 +00:00
return QSize(120, 24);
2007-08-07 15:09:41 +00:00
}