/*
* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of "Eclipse Public License v1.0"
* which accompanies this distribution, and is available
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
*
* Initial Contributors:
* Nokia Corporation - initial contribution.
*
* Contributors:
*
* Description:
*
*/
#include "figurewidget.h"
#include <QRect>
#include <QPainter>
#include <QPainterPath>
#include <QPolygon>
figurewidget::figurewidget(QGraphicsItem *parent)
: HbWidget(parent), mFailed(false)
{
mTriangle = new HbPushButton("Triangle");
mSqure = new HbPushButton("Squre");
mCircle = new HbPushButton("Circle");
mRed = new HbPushButton("Red");
mGreen = new HbPushButton("Green");
mBlue = new HbPushButton("Blue");
mSave = new HbPushButton("Add");
mDelete = new HbPushButton("Delete");
mUpdate = new HbPushButton("Update");
mGridLayout = new QGraphicsGridLayout();
mGridLayout->addItem(mRed, 3, 0, 1, 1);
mGridLayout->addItem(mGreen, 3, 1, 1, 1);
mGridLayout->addItem(mBlue, 3, 2, 1, 1);
mGridLayout->addItem(mSave, 4, 0, 1, 1);
mGridLayout->addItem(mUpdate, 4, 1, 1, 1);
mGridLayout->addItem(mDelete, 4, 2, 1, 1);
mGridLayout->setRowStretchFactor(0, 1);
mGridLayout->setRowStretchFactor(1, 1);
setLayout(mGridLayout);
connect(mRed, SIGNAL(released()), this, SLOT(red()));
connect(mGreen, SIGNAL(released()), this, SLOT(green()));
connect(mBlue, SIGNAL(released()), this, SLOT(blue()));
connect(mTriangle, SIGNAL(released()), this, SIGNAL(totriangle()));
connect(mSqure, SIGNAL(released()), this, SIGNAL(tosqure()));
connect(mCircle, SIGNAL(released()), this, SIGNAL(tocircle()));
connect(mSave, SIGNAL(released()), this, SIGNAL(save()));
connect(mUpdate, SIGNAL(released()), this, SIGNAL(updateAct()));
connect(mDelete, SIGNAL(released()), this, SIGNAL(del()));
connect(mRed, SIGNAL(released()), this, SLOT(clearFailedFlag()));
connect(mGreen, SIGNAL(released()), this, SLOT(clearFailedFlag()));
connect(mBlue, SIGNAL(released()), this, SLOT(clearFailedFlag()));
connect(mSqure, SIGNAL(released()), this, SLOT(clearFailedFlag()));
connect(mTriangle, SIGNAL(released()), this, SLOT(clearFailedFlag()));
}
figurewidget::~figurewidget()
{
}
void figurewidget::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
{
HbWidget::paint(painter, option, widget);
if ( mFailed ) {
painter->setPen(Qt::gray);
QFont font;
font.setPointSize(38);
font.setBold(true);
painter->setFont(font);
painter->drawText(10, 120, "*FAIL*");
}
}
void figurewidget::red()
{
mColor = "red";
update();
}
void figurewidget::green()
{
mColor = "green";
update();
}
void figurewidget::blue()
{
mColor = "blue";
update();
}
void figurewidget::setcolor(const QString &color)
{
mColor = color;
}
QString figurewidget::color()
{
return mColor;
}
void figurewidget::clearFailedFlag()
{
mFailed = false;
update();
}
void figurewidget::setFailedFlag()
{
mFailed = true;
update();
}