securitydialogs/SecUi/SecUiTestQt/greenoddviewitem.cpp
author hgs
Wed, 20 Oct 2010 14:51:23 +0300
changeset 66 67b3e3c1fc87
permissions -rw-r--r--
201041
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
66
hgs
parents:
diff changeset
     1
#include "greenoddviewitem.h"
hgs
parents:
diff changeset
     2
hgs
parents:
diff changeset
     3
#include "QPainter"
hgs
parents:
diff changeset
     4
#include "QStyleOptionGraphicsItem"
hgs
parents:
diff changeset
     5
#include "QWidget"
hgs
parents:
diff changeset
     6
#include "QDebug"
hgs
parents:
diff changeset
     7
hgs
parents:
diff changeset
     8
GreenOddViewItem::GreenOddViewItem(QGraphicsItem* parent) : 
hgs
parents:
diff changeset
     9
    HbListViewItem(parent)
hgs
parents:
diff changeset
    10
{
hgs
parents:
diff changeset
    11
}
hgs
parents:
diff changeset
    12
hgs
parents:
diff changeset
    13
GreenOddViewItem::~GreenOddViewItem()
hgs
parents:
diff changeset
    14
{
hgs
parents:
diff changeset
    15
}
hgs
parents:
diff changeset
    16
hgs
parents:
diff changeset
    17
hgs
parents:
diff changeset
    18
HbAbstractViewItem*  GreenOddViewItem::createItem()
hgs
parents:
diff changeset
    19
{
hgs
parents:
diff changeset
    20
    return new GreenOddViewItem(*this);
hgs
parents:
diff changeset
    21
}
hgs
parents:
diff changeset
    22
hgs
parents:
diff changeset
    23
bool GreenOddViewItem::canSetModelIndex(const QModelIndex &index) const
hgs
parents:
diff changeset
    24
{
hgs
parents:
diff changeset
    25
    int itemType(index.data(Hb::ItemTypeRole).toInt()); 
hgs
parents:
diff changeset
    26
    if (itemType == Hb::StandardItem) {
hgs
parents:
diff changeset
    27
        QVariant displayRole = index.data(Qt::DisplayRole);
hgs
parents:
diff changeset
    28
        QString firstValue;
hgs
parents:
diff changeset
    29
        QStringList stringList;
hgs
parents:
diff changeset
    30
        if (displayRole.isValid()) {
hgs
parents:
diff changeset
    31
            if (displayRole.canConvert<QString>()) {
hgs
parents:
diff changeset
    32
                firstValue = displayRole.toString();
hgs
parents:
diff changeset
    33
            } else if (     displayRole.canConvert<QStringList>()
hgs
parents:
diff changeset
    34
                        &&  displayRole.toStringList().count()) {
hgs
parents:
diff changeset
    35
                firstValue = displayRole.toStringList().at(0);
hgs
parents:
diff changeset
    36
            }
hgs
parents:
diff changeset
    37
        }
hgs
parents:
diff changeset
    38
hgs
parents:
diff changeset
    39
        //qDebug() << "GreenOddViewItem::canSetModelIndex: value" << firstValue;
hgs
parents:
diff changeset
    40
        int value = firstValue.toInt();
hgs
parents:
diff changeset
    41
        //int value = index.row();
hgs
parents:
diff changeset
    42
        if (    value > 0
hgs
parents:
diff changeset
    43
            &&  value % 2) {
hgs
parents:
diff changeset
    44
            return true;
hgs
parents:
diff changeset
    45
        }
hgs
parents:
diff changeset
    46
    }
hgs
parents:
diff changeset
    47
    return false;
hgs
parents:
diff changeset
    48
}
hgs
parents:
diff changeset
    49
hgs
parents:
diff changeset
    50
void GreenOddViewItem::paint(   QPainter *painter,
hgs
parents:
diff changeset
    51
                                const QStyleOptionGraphicsItem *option,
hgs
parents:
diff changeset
    52
                                QWidget *widget)
hgs
parents:
diff changeset
    53
{
hgs
parents:
diff changeset
    54
    HbAbstractViewItem::paint( painter, option, widget );
hgs
parents:
diff changeset
    55
    if (painter){
hgs
parents:
diff changeset
    56
        QRectF drawRect = boundingRect();
hgs
parents:
diff changeset
    57
        drawRect.adjust(1,1,-1,-1);
hgs
parents:
diff changeset
    58
        //QColor brown(141,92,7);
hgs
parents:
diff changeset
    59
        //QColor brown(106,57,10);
hgs
parents:
diff changeset
    60
        QColor brown(87,45,11);
hgs
parents:
diff changeset
    61
        painter->fillRect( drawRect, Qt::darkGreen);
hgs
parents:
diff changeset
    62
    }
hgs
parents:
diff changeset
    63
}
hgs
parents:
diff changeset
    64
hgs
parents:
diff changeset
    65
int GreenOddViewItem::type() const
hgs
parents:
diff changeset
    66
{
hgs
parents:
diff changeset
    67
    return GreenOddViewItem::Type;
hgs
parents:
diff changeset
    68
}
hgs
parents:
diff changeset
    69
hgs
parents:
diff changeset
    70
hgs
parents:
diff changeset
    71