activityfw/testapplications/activitytestfigure/figurewidget.cpp
changeset 117 c63ee96dbe5f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/activityfw/testapplications/activitytestfigure/figurewidget.cpp	Thu Sep 16 12:11:40 2010 +0100
@@ -0,0 +1,126 @@
+/*
+* 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();	
+	}