ginebra2/ChromeItem.cpp
author hgs
Tue, 29 Jun 2010 00:46:29 -0400
changeset 3 0954f5dd2cd0
child 16 3c88a81ff781
permissions -rw-r--r--
201026
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
3
hgs
parents:
diff changeset
     1
hgs
parents:
diff changeset
     2
/*
hgs
parents:
diff changeset
     3
* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
hgs
parents:
diff changeset
     4
* All rights reserved.
hgs
parents:
diff changeset
     5
*
hgs
parents:
diff changeset
     6
* This program is free software: you can redistribute it and/or modify
hgs
parents:
diff changeset
     7
* it under the terms of the GNU Lesser General Public License as published by
hgs
parents:
diff changeset
     8
* the Free Software Foundation, version 2.1 of the License.
hgs
parents:
diff changeset
     9
*
hgs
parents:
diff changeset
    10
* This program is distributed in the hope that it will be useful,
hgs
parents:
diff changeset
    11
* but WITHOUT ANY WARRANTY; without even the implied warranty of
hgs
parents:
diff changeset
    12
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
hgs
parents:
diff changeset
    13
* GNU Lesser General Public License for more details.
hgs
parents:
diff changeset
    14
*
hgs
parents:
diff changeset
    15
* You should have received a copy of the GNU Lesser General Public License
hgs
parents:
diff changeset
    16
* along with this program.  If not,
hgs
parents:
diff changeset
    17
* see "http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html/".
hgs
parents:
diff changeset
    18
*
hgs
parents:
diff changeset
    19
* Description:
hgs
parents:
diff changeset
    20
* This is the base class for all chrome items and extends QGraphicsWidget.
hgs
parents:
diff changeset
    21
*
hgs
parents:
diff changeset
    22
*/
hgs
parents:
diff changeset
    23
#include "ChromeItem.h"
hgs
parents:
diff changeset
    24
#include "ChromeEffect.h"
hgs
parents:
diff changeset
    25
#include <QtGui>
hgs
parents:
diff changeset
    26
hgs
parents:
diff changeset
    27
namespace GVA {
hgs
parents:
diff changeset
    28
hgs
parents:
diff changeset
    29
ChromeItem::ChromeItem(ChromeSnippet * snippet, QGraphicsItem* parent)
hgs
parents:
diff changeset
    30
: QGraphicsWidget(parent),
hgs
parents:
diff changeset
    31
  m_snippet(snippet)
hgs
parents:
diff changeset
    32
{
hgs
parents:
diff changeset
    33
}
hgs
parents:
diff changeset
    34
hgs
parents:
diff changeset
    35
ChromeItem::~ChromeItem() {
hgs
parents:
diff changeset
    36
hgs
parents:
diff changeset
    37
}
hgs
parents:
diff changeset
    38
hgs
parents:
diff changeset
    39
void ChromeItem::setSnippet(ChromeSnippet * s) {
hgs
parents:
diff changeset
    40
    m_snippet = s;
hgs
parents:
diff changeset
    41
}
hgs
parents:
diff changeset
    42
hgs
parents:
diff changeset
    43
void ChromeItem::paint(QPainter * painter, const QStyleOptionGraphicsItem * option, QWidget * widget)
hgs
parents:
diff changeset
    44
{
hgs
parents:
diff changeset
    45
    QGraphicsWidget::paint(painter, option, widget);
hgs
parents:
diff changeset
    46
    if(m_snippet && !m_snippet->enabled()) {
hgs
parents:
diff changeset
    47
        painter->save();
hgs
parents:
diff changeset
    48
        painter->setOpacity(ChromeEffect::disabledOpacity);
hgs
parents:
diff changeset
    49
        painter->fillRect(option->exposedRect, ChromeEffect::disabledColor);
hgs
parents:
diff changeset
    50
        painter->restore();
hgs
parents:
diff changeset
    51
    }
hgs
parents:
diff changeset
    52
}
hgs
parents:
diff changeset
    53
hgs
parents:
diff changeset
    54
} // end of namespace GVA