diff -r fd30d51f876b -r a949c2543c15 clock/clockui/clockviews/src/clockhomecityitem.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/clock/clockui/clockviews/src/clockhomecityitem.cpp Fri May 14 15:51:09 2010 +0300 @@ -0,0 +1,124 @@ +/* +* 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: +* Definition file for class ClockHomeCityItem. +* +*/ + +// System Includes. +#include +#include +#include +#include +#include +#include + +// User Includes. +#include "clockhomecityitem.h" + +/*! + \class ClockHomeCityItem + + This class creates all the primitives for ClockHomeCityItem item. + */ + +/*! + Constructor. + + \param parent Pointer to QGraphicsItem. + */ +ClockHomeCityItem::ClockHomeCityItem(QGraphicsItem *parent) : +HbWidget(parent) +{ + // Path for widgetml and css files. + HbStyleLoader::registerFilePath(":/style/clockhomecityitem.css"); + HbStyleLoader::registerFilePath(":/style/clockhomecityitem.widgetml"); + + // Set the frame to the homecity widget. + HbFrameItem *frame = new HbFrameItem(); + frame->frameDrawer().setFrameType(HbFrameDrawer::NinePieces); + frame->frameDrawer().setFrameGraphicsName("qtg_fr_groupbox"); + setBackgroundItem(frame->graphicsItem(), -2); + +} + +/*! + Destructor. + */ +ClockHomeCityItem::~ClockHomeCityItem() +{ + HbStyleLoader::unregisterFilePath(":/style/clockhomecityitem.css"); + HbStyleLoader::unregisterFilePath(":/style/clockhomecityitem.widgetml"); +} + +/*! + Sets the data for HomeCity items. + To set textitem data use Qt::DisplayRole + To set iconitem data use Qt::DecorationRole + \param itemData contains the data for all the primitives. + */ +void ClockHomeCityItem::setHomeCityItemData(const QVariantMap &itemData) +{ + if (!itemData.isEmpty()) { + QMapIterator iter(itemData); + while (iter.hasNext()) { + iter.next(); + int value = iter.key().toInt(); + switch(value) { + case Date: + if (!mDateText) { + mDateText = new HbTextItem(this); + HbStyle::setItemName(mDateText, "dateText"); + } + mDateText->setText(iter.value().toString()); + break; + case City: + if (!mCityText) { + mCityText = new HbTextItem(this); + HbStyle::setItemName(mCityText, "cityText"); + mCityText->setTextWrapping(Hb::TextNoWrap); + } + mCityText->setText(iter.value().toString()); + break; + case Time: + if (!mTimeText) { + mTimeText = new HbTextItem(this); + HbStyle::setItemName(mTimeText, "timeText"); + mTimeText->setTextWrapping(Hb::TextNoWrap); + } + mTimeText->setText(iter.value().toString()); + break; + case DayNightIndicator: + if (!mDayNightIcon) { + mDayNightIcon = new HbIconItem(this); + HbStyle::setItemName(mDayNightIcon, "dayNightIcon"); + } + mDayNightIcon->setIconName(iter.value().toString()); + break; + case Dst: + if (!mDstIcon) { + mDstIcon = new HbIconItem(this); + HbStyle::setItemName(mDstIcon, "dstIcon"); + } + mDstIcon->setIconName(iter.value().toString()); + break; + default: + break; + } + } + repolish(); + } +} + +// End of file --Don't remove this.