calendarui/controller/src/calendocloader.cpp
changeset 18 c198609911f9
child 32 ea672fcb0ea0
child 45 b6db4fd4947b
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/calendarui/controller/src/calendocloader.cpp	Fri Apr 16 14:57:40 2010 +0300
@@ -0,0 +1,111 @@
+/*
+* Copyright (c) 2008-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 CalenDocLoader.
+ *
+*/
+
+
+// User includes
+#include "calendocloader.h"
+#include "calendayview.h"
+#include "calendayviewwidget.h"
+#include "calenmonthview.h"
+#include "calenmonthgrid.h"
+#include "calenpreviewpane.h"
+#include "calencontroller.h"
+#include "calenthicklinesdrawer.h"
+#include "calencommon.h"
+
+// ----------------------------------------------------------------------------
+// CalenDocLoader::CalenDocLoader
+// C++ default Constructor.
+// (other items were commented in a header).
+// ----------------------------------------------------------------------------
+//
+CalenDocLoader::CalenDocLoader(CCalenController &controller) :
+	mController(controller)
+	{
+
+	}
+
+// ----------------------------------------------------------------------------
+// CalenDocLoader::CalenDocLoader
+// C++ default Destructor.
+// ----------------------------------------------------------------------------
+//
+CalenDocLoader::~CalenDocLoader()
+{
+
+}
+// ----------------------------------------------------------------------------
+// CalenDocLoader::createObject
+// @brief From HbDocumentLoader
+// Called whenever the docml file is parsed to create objects.
+// Over-riding it since we need to create custom views and widgets.
+// @param type The object type which is being created. For ex: HbWidget.
+// @param name The name of the created object.
+// @return QObject* Pointer to the created object.
+// ----------------------------------------------------------------------------
+//
+QObject *CalenDocLoader::createObject(const QString &type,
+                                             const QString &name)
+{
+    MCalenServices &services = mController.Services(); 
+	if (name == QString(CALEN_DAYVIEW)) {
+		QObject *calenDayView = new CalenDayView(services);
+		calenDayView->setObjectName(name);
+		return calenDayView;
+	} else if (name == QString(CALEN_DAYVIEW_WIDGET)) {
+	    QObject *calenDayViewWidget = new CalenDayViewWidget(services, this);
+	    calenDayViewWidget->setObjectName(name);
+	    return calenDayViewWidget;
+	} else if (name == QString(CALEN_MONTHVIEW)) { // For Month View
+        QObject *calenMonthView = new CalenMonthView(services);
+        calenMonthView->setObjectName(name);
+        return calenMonthView;
+	} else if (name == QString(CALEN_MONTHGRID)) {
+        QObject *calenMonthGrid = new CalenMonthGrid();
+        calenMonthGrid->setObjectName(name);
+        return calenMonthGrid;
+	} else if(name == QString(CALEN_PREVPREVIEWPANE)) {
+        QObject *prevPreviewPane =
+        new CalenPreviewPane(mController.Services());
+        prevPreviewPane->setObjectName(name);
+        return prevPreviewPane;
+    } else if(name == QString(CALEN_CURRPREVIEWPANE)) {
+        QObject *currPreviewPane =
+        new CalenPreviewPane(mController.Services());
+        currPreviewPane->setObjectName(name);
+        return currPreviewPane;
+    } else if(name == QString(CALEN_NEXTPREVIEWPANE)) {
+        QObject *nextPreviewPane =
+        new CalenPreviewPane(mController.Services());
+        nextPreviewPane->setObjectName(name);
+        return nextPreviewPane;
+    } else if (name == QString(CALEN_DAYNAMES_WIDGET)) {
+	    QObject *calenDayNamesWidget = 
+        new CalenThickLinesDrawer(CalendarNamespace::CalenDayNameWidget);
+	    calenDayNamesWidget->setObjectName(name);
+	    return calenDayNamesWidget;
+	} else if (name == QString(CALEN_WEEKNUMBERS_WIDGET)) {
+	    QObject *calenSWeekNumWidget =
+        new CalenThickLinesDrawer(CalendarNamespace::CalenWeekNumWidget);
+	    calenSWeekNumWidget->setObjectName(name);
+	    return calenSWeekNumWidget;
+    } else {
+		return HbDocumentLoader::createObject(type, name);
+	}
+}
+
+// End of file	--Don't remove this.