calendarui/agendaeventviewer/src/agendaeventvieweritem.cpp
changeset 77 b0711afde476
parent 58 ef813d54df51
--- a/calendarui/agendaeventviewer/src/agendaeventvieweritem.cpp	Thu Sep 02 20:25:23 2010 +0300
+++ b/calendarui/agendaeventviewer/src/agendaeventvieweritem.cpp	Fri Sep 17 08:29:05 2010 +0300
@@ -45,13 +45,15 @@
  */
 AgendaEventViewerItem::AgendaEventViewerItem(QGraphicsItem *parent) :
 	HbWidget(parent), mPrimaryText(NULL), mSecondaryText(NULL),
-	        mPrimaryIcon(NULL), mSecondaryIcon(NULL),mPrimaryRightIcon(NULL),
-	        mPrimaryLeftIcon(NULL)
+	mPrimaryLeftIcon(NULL),mPrimaryRightIcon(NULL),
+	mSecondaryLeftIcon(NULL),mSecondaryRightIcon(NULL)
 {
     OstTraceFunctionEntry0( AGENDAEVENTVIEWERITEM_AGENDAEVENTVIEWERITEM_ENTRY );
 
 	// Path for widgetml and css files.
-	HbStyleLoader::registerFilePath(":/");
+	HbStyleLoader::registerFilePath(":/agendaeventvieweritem.css");
+	HbStyleLoader::registerFilePath(":/agendaeventvieweritem.widgetml");
+	HbStyleLoader::registerFilePath(":/agendaeventvieweritem_color.css");
 
 	OstTraceFunctionExit0( AGENDAEVENTVIEWERITEM_AGENDAEVENTVIEWERITEM_EXIT );
 }
@@ -62,7 +64,9 @@
 AgendaEventViewerItem::~AgendaEventViewerItem()
 {
 	OstTraceFunctionEntry0( DUP1_AGENDAEVENTVIEWERITEM_AGENDAEVENTVIEWERITEM_ENTRY );
-	HbStyleLoader::unregisterFilePath(":/");
+	HbStyleLoader::unregisterFilePath(":/agendaeventvieweritem.css");
+	HbStyleLoader::unregisterFilePath(":/agendaeventvieweritem.widgetml");
+	HbStyleLoader::unregisterFilePath(":/agendaeventvieweritem_color.css");
 
 	OstTraceFunctionExit0( DUP1_AGENDAEVENTVIEWERITEM_AGENDAEVENTVIEWERITEM_EXIT );
 }
@@ -79,101 +83,156 @@
 {
 	OstTraceFunctionEntry0( AGENDAEVENTVIEWERITEM_SETEVENTVIEWERITEMDATA_ENTRY );
 	if (!itemData.isEmpty()) {
-		QString firstItemData(QString::null);
-		QString secondItemData(QString::null);
-		QString thirdItemData(QString::null);
-        if (itemData.count() == 2) {
-            firstItemData = itemData.at(0);
-            secondItemData = itemData.at(1);
-        }
-        else if (itemData.count() == 3) {
-			firstItemData = itemData.at(0);
-			secondItemData = itemData.at(1);
-			thirdItemData = itemData.at(2);
-		} else {
-			firstItemData = itemData.at(0);
-		}
 
 		if (role == Qt::DisplayRole) {
-			if (!firstItemData.isEmpty()) {
+			for (int index=0; index < itemData.count(); index++)
+				setTextItemData(index, itemData.at(index));
+			
+		} else {
+			if (role == Qt::DecorationRole) {
+			for (int index=0; index < itemData.count(); index++)
+				setIconItemData(index, itemData.at(index));
+			
+		}
+	}
+	repolish();
+	OstTraceFunctionExit0( AGENDAEVENTVIEWERITEM_SETEVENTVIEWERITEMDATA_EXIT );
+	}
+}
+
+/*!
+ Sets the text data for EventViewer items
+ 
+ \param index item index
+ \param itenmData To set the given value to item
+ */
+void AgendaEventViewerItem::setTextItemData(int index, const QString &itemData)
+{
+	OstTraceFunctionEntry0( AGENDAEVENTVIEWERITEM_SETTEXTITEMDATA_ENTRY );
+	switch(index) {
+		case 0: {
+			if (!itemData.isEmpty()) {
 				if (!mPrimaryText) {
 					mPrimaryText = new HbTextItem(this);
 					HbStyle::setItemName(mPrimaryText, "primaryTextItem");
 					mPrimaryText->setElideMode(Qt::ElideNone);
 				}
-				mPrimaryText->setText(firstItemData);
+				mPrimaryText->setText(itemData);
 			} else {
 				if (mPrimaryText) {
 					delete mPrimaryText;
 					mPrimaryText = NULL;
 				}
 			}
-
+			break;
+		}
+		case 1: {
 			if (!mSecondaryText) {
 				mSecondaryText = new HbTextItem(this);
 				HbStyle::setItemName(mSecondaryText, "secondaryTextItem");
 				mSecondaryText->setTextWrapping(Hb::TextWordWrap);
 			}
-			
-			if (!secondItemData.isEmpty()) {
-				
-				mSecondaryText->setText(secondItemData);
+	
+			if (!itemData.isEmpty()) {
+	
+				mSecondaryText->setText(itemData);
 			} else {
 				mSecondaryText->setText("");
-				}
-		} else {
-			if (role == Qt::DecorationRole) {
-               if (!firstItemData.isEmpty()) {
-                   if (!mPrimaryLeftIcon) {
-                   mPrimaryLeftIcon = new HbIconItem(this);
-                   }
-                   HbStyle::setItemName(mPrimaryLeftIcon, "primaryLeftIconItem");
-                   mPrimaryLeftIcon->setVisible(true);
-                   mPrimaryLeftIcon->setIconName(firstItemData);
+			}
+			break;
+		}
+	}
+	OstTraceFunctionEntry0( AGENDAEVENTVIEWERITEM_SETTEXTITEMDATA_EXIT );
+}
+
+/*!
+ Sets the icon data for EventViewer items
+ 
+ \param index item index
+ \param itenmData To set the given value to item
+ */
 
-               } else {
-                   if (mPrimaryLeftIcon) {
-                       HbStyle::setItemName(mPrimaryLeftIcon,"");
-                       mPrimaryLeftIcon->setVisible(false); 
-                   }
-                   
-               }
-				if (!secondItemData.isEmpty()) {
-					if (!mPrimaryRightIcon) {
-					mPrimaryRightIcon = new HbIconItem(this);
-					}
-					HbStyle::setItemName(mPrimaryRightIcon, "primaryRightIconItem");
-					mPrimaryRightIcon->setVisible(true);
-					mPrimaryRightIcon->setIconName(secondItemData);
+void AgendaEventViewerItem::setIconItemData(int index, const QString &itemData)
+{
+	OstTraceFunctionEntry0( AGENDAEVENTVIEWERITEM_SETICONITEMDATA_ENTRY );
+	switch (index) {
+		case 0: {
+			if (!itemData.isEmpty()) {
+				if (!mPrimaryLeftIcon) {
+					mPrimaryLeftIcon = new HbIconItem(this);
+				}
+				HbStyle::setItemName(mPrimaryLeftIcon, "primaryLeftIconItem");
+				mPrimaryLeftIcon->setIconName(itemData);
 
-				} else {
-					if (mPrimaryRightIcon) {
-						HbStyle::setItemName(mPrimaryRightIcon,"");
-						mPrimaryRightIcon->setVisible(false); 
-					}
-					
-				}
-				if (!thirdItemData.isEmpty()) {
-					if (!mSecondaryIcon) {
-						mSecondaryIcon = new HbIconItem(this);
-						HbStyle::setItemName(mSecondaryIcon, 
-						                     "secondaryIconItem");
-					}
-					mSecondaryIcon->setIconName(thirdItemData);
-
-				} else {
-					if (mSecondaryIcon) {
-						delete mSecondaryIcon;
-						mSecondaryIcon = NULL;
-					}
-
+			} else {
+				if (mPrimaryLeftIcon) {
+					delete mPrimaryLeftIcon;
+					mPrimaryLeftIcon = NULL;
 				}
 
 			}
+			break;
 		}
+		case 1: {
+			if (!itemData.isEmpty()) {
+				if (!mPrimaryRightIcon) {
+					mPrimaryRightIcon = new HbIconItem(this);
+				}
+				HbStyle::setItemName(mPrimaryRightIcon, "primaryRightIconItem");
+				mPrimaryRightIcon->setVisible(true);
+				mPrimaryRightIcon->setIconName(itemData);
+
+			} else {
+				if (mPrimaryRightIcon) {
+					HbStyle::setItemName(mPrimaryRightIcon, "");
+					mPrimaryRightIcon->setVisible(false);
+				}
+
+			}
+			break;
+		}
+		case 2: {
+			if (!itemData.isEmpty()) {
+				if (!mSecondaryLeftIcon) {
+					mSecondaryLeftIcon = new HbIconItem(this);
+					HbStyle::setItemName(mSecondaryLeftIcon,
+					                     "secondaryLeftIconItem");
+				}
+				mSecondaryLeftIcon->setIconName(itemData);
+
+			} else {
+				if (mSecondaryLeftIcon) {
+					delete mSecondaryLeftIcon;
+					mSecondaryLeftIcon = NULL;
+				}
+
+			}
+			break;
+		}
+		case 3: {
+
+			if (!itemData.isEmpty()) {
+				if (!mSecondaryRightIcon) {
+					mSecondaryRightIcon = new HbIconItem(this);
+					HbStyle::setItemName(mSecondaryRightIcon,
+					                     "secondaryRightIconItem");
+				}
+				mSecondaryRightIcon->setIconName(itemData);
+
+			} else {
+				if (mSecondaryRightIcon) {
+					delete mSecondaryRightIcon;
+					mSecondaryRightIcon = NULL;
+				}
+
+			}
+			break;
+
+		}
+
 	}
-	repolish();
-	OstTraceFunctionExit0( AGENDAEVENTVIEWERITEM_SETEVENTVIEWERITEMDATA_EXIT );
+	OstTraceFunctionEntry0( AGENDAEVENTVIEWERITEM_SETICONITEMDATA_EXIT );
 }
 
 // End of file	--Don't remove this.
+