wvuing/wvuiave/AppSrc/CAViewCreator.cpp
changeset 0 094583676ce7
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wvuing/wvuiave/AppSrc/CAViewCreator.cpp	Thu Dec 17 08:41:52 2009 +0200
@@ -0,0 +1,120 @@
+/*
+* Copyright (c) 2006 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:  Creator class for views.
+*
+*/
+
+
+// INCLUDES
+#include    "CAViewCreator.h"
+#include    "CCARecordedChatsListView.h"
+#include    "CCARecordedChatsView.h"
+#include    "CAExternalInterface.h"
+#include    "CCAConversationsView.h"
+#include    "CCASettingsView.h"
+#include    "CCASearchView.h"
+#include    "CCARefreshView.h"
+#include    "CCAChatView.h"
+#include 	"CCASingleListView.h"
+#include 	"ccainvitationview.h"
+
+#include    <ChatNG.rsg>
+
+// -----------------------------------------------------------------------------
+// CAViewCreator::CreateMainViewL
+// Create all needed views
+// -----------------------------------------------------------------------------
+//
+void CAViewCreator::CreateMainViewL( CCAAppUi& aAppUi )
+    {
+    CCASingleListView* view4 = new ( ELeave ) CCASingleListView;
+    CleanupStack::PushL( view4 );
+    view4->ConstructL( R_CHATCLIENT_FRIENDSLIST_VIEW, KUidFriendsListView );
+    aAppUi.AddViewL( view4 );      // transfer ownership to CAknViewAppUi
+    CleanupStack::Pop( view4 );
+    TVwsViewId aTempId = view4->ViewId();
+    view4->ActivateViewL( aTempId );
+    aAppUi.SetDefaultViewL( *view4 );
+    }
+
+// -----------------------------------------------------------------------------
+// CAViewCreator::CreateOtherViewsL
+// Create all needed views
+// -----------------------------------------------------------------------------
+//
+void CAViewCreator::CreateOtherViewsL( CCAAppUi& aAppUi )
+    {
+    // Create chat-view
+    CCAChatView* view2 = new ( ELeave ) CCAChatView;
+    CleanupStack::PushL( view2 );
+    // Chat-view has a specialized ConstructL instead of BaseConstructL
+    view2->ConstructL( R_CHATCLIENT_CHAT_VIEW, KUidChatView, aAppUi.MessageHandler() );
+    aAppUi.AddViewL( view2 );      // transfer ownership to CAknViewAppUi
+    CleanupStack::Pop( view2 );
+
+    // Create settings view
+    CCASettingsView* view6 = new ( ELeave ) CCASettingsView;
+    CleanupStack::PushL( view6 );
+    view6->ConstructL( R_CHATCLIENT_SETTINGS_VIEW, KUidSettingsView );
+    aAppUi.AddViewL( view6 );
+    CleanupStack::Pop( view6 );
+
+
+    // Create search view
+    CCASearchView* view7 = new ( ELeave ) CCASearchView;
+    CleanupStack::PushL( view7 );
+    view7->BaseConstructL( R_CHATCLIENT_SEARCH_VIEW, KUidSearchView );
+    aAppUi.AddViewL( view7 );
+    CleanupStack::Pop( view7 );
+
+    // Conversations view
+    CCAConversationsView* view9 = new ( ELeave ) CCAConversationsView;
+    CleanupStack::PushL( view9 );
+    view9->ConstructL( R_CHATCLIENT_P2P_VIEW, KUidConversationsView, aAppUi.MessageHandler() );
+    aAppUi.AddViewL( view9 );
+    CleanupStack::Pop( view9 );
+
+    // Create recorded chats list-view
+    CCARecordedChatsListView* view10 = new ( ELeave ) CCARecordedChatsListView;
+    CleanupStack::PushL( view10 );
+    // Chatlist-view has a specialized ConstructL instead of BaseConstructL
+    view10->ConstructL( R_CHATCLIENT_RECORDEDCHATSLIST_VIEW , KUidRecordedChatListView );
+    aAppUi.AddViewL( view10 );      // transfer ownership to CAknViewAppUi
+    CleanupStack::Pop( view10 );
+
+    // Create recorded chats view
+    CCARecordedChatsView* view11 = new ( ELeave ) CCARecordedChatsView;
+    CleanupStack::PushL( view11 );
+    // Chatlist-view has a specialized ConstructL instead of BaseConstructL
+    view11->ConstructL( R_CHATCLIENT_RECORDEDCHATS_VIEW , KUidRecordedChatView );
+    aAppUi.AddViewL( view11 );      // transfer ownership to CAknViewAppUi
+    CleanupStack::Pop( view11 );
+    view11->SetRecordedChatProvider( view10->RecordedChatArrayProvider() );
+
+    // View for branding refresh functionality
+    CCARefreshView* view12 = new ( ELeave ) CCARefreshView( aAppUi.RefreshWaitFlag() );
+    CleanupStack::PushL( view12 );
+    view12->BaseConstructL( R_CHATCLIENT_REFRESHVIEW, KUidRefreshView );
+    aAppUi.AddViewL( view12 );      // transfer ownership to CAknViewAppUi
+    CleanupStack::Pop( view12 );
+
+    // View for Invitation
+    CCAInvitationView* view14 = new ( ELeave ) CCAInvitationView;
+    CleanupStack::PushL( view14 );
+    view14->ConstructL( R_CHATCLIENT_INVITATIONS_VIEW, KUidInvitationView );
+    aAppUi.AddViewL( view14 );      // transfer ownership to CAknViewAppUi
+    CleanupStack::Pop( view14 );
+    }
+
+// end of file