--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wvuing/wvuiave/AppSrc/CCAChatView.h Thu Dec 17 08:41:52 2009 +0200
@@ -0,0 +1,259 @@
+/*
+* 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: This is view class for chat group view
+*
+*/
+
+
+
+#ifndef CCACHATVIEW_H
+#define CCACHATVIEW_H
+
+// INCLUDES
+#include "CCAView.h"
+#include "MCARecipientObserver.h"
+#include "mcagroupobserverpc.h"
+#include "PublicEngineDefinitions.h"
+#include "MCATabObserver.h"
+
+// FORWARD DECLARATIONS
+class CCAChatViewContainer;
+class CCAMessageExtensionsHandler;
+class CAsyncCallBack;
+class CFindItemMenu;
+class CItemFinder;
+class CEikButtonGroupContainer;
+class MCAGroupPC;
+
+// CLASS DECLARATION
+
+/**
+ * This is class for chat group view
+ * @since 3.2
+ */
+class CCAChatView : public CCAView,
+ public MCARecipientObserver,
+ public MCAGroupObserverPC,
+ public MCATabObserver
+ {
+
+ public: // Constructors and destructor
+
+ /**
+ * C++ default constructor
+ */
+ CCAChatView();
+
+ /**
+ * Symbian OS default constructor.
+ * @param aAvkonViewResourceId Id for resource used
+ * to construct this view
+ * @param aViewId View id
+ * @param aMessageHandler -reference to Message Extension Handler
+ */
+ void ConstructL( TInt aAvkonViewResourceId, TUid aViewId,
+ CCAMessageExtensionsHandler& aMessageHandler );
+
+ /**
+ * Destructor.
+ */
+ virtual ~CCAChatView();
+
+ protected: // Functions from base classes
+
+ /**
+ * From MEikMenuObserver, Called by framework before
+ * constructing menupane
+ * @param aResourceId Resource to be constructed
+ * @param aMenuPane Pointer to menupane being constructed
+ */
+ void DynInitMenuPaneL( TInt aResourceId, CEikMenuPane* aMenuPane );
+
+ /**
+ * From CAknView
+ * @param aCommand Command that was received
+ */
+ void HandleCommandL( TInt aCommand );
+
+ /**
+ * Handles foreground event
+ * @param aForeground ETrue if foreground else EFalse
+ * @see CAknView
+ */
+ void HandleForegroundEventL( TBool aForeground );
+
+ private: // From CAknView
+
+ /**
+ * From CAknView, Gets called from framework when activating this view
+ * @param aPrevViewId Previous view id
+ * @param aCustomMessageId Custom message's id
+ * @param aCustomMessage Custom message
+ */
+ void DoActivateL( const TVwsViewId& aPrevViewId, TUid aCustomMessageId,
+ const TDesC8& aCustomMessage );
+
+ /**
+ * From AknView. Deactivates
+ */
+ void DoDeactivate();
+
+ private: // functions from MCARecipientObserver
+
+ /**
+ * Shows recipient list in chat and I-box view
+ * @param aResourceId The resource id where to build list
+ * @return result of query 0 if canceled else 1
+ */
+ TInt ShowRecipientsListL( TInt aResourceId );
+
+ /**
+ * Shows customized menu
+ */
+ void ShowPopUpMenuL();
+
+ private: // From MCAGroupObserverPC
+
+
+ /**
+ * @see MCAGroupObserverPC
+ */
+
+ void HandleChatEvent( const TDesC& aWvid = KNullDesC,
+ const TDesC& aContactId = KNullDesC );
+
+ /**
+ * Actual handler for chat events
+ */
+ void DoHandleChatEventL( const TDesC& aWvid = KNullDesC,
+ const TDesC& aContactId = KNullDesC );
+
+
+
+ /**
+ * @see MCAGroupObserverPC
+ */
+ void HandleMessageError( TInt aError, const TDesC& aNick = KNullDesC );
+
+ /**
+ * Leavable version of error handler
+ * @see HandleMessageError
+ */
+ void DoHandleMessageErrorL( TInt aError, const TDesC& aNick = KNullDesC );
+
+
+ private: // From MCATabObserver
+
+ /**
+ * @see MCATabObserver
+ */
+ void SwitchTabL( const TDesC& aWvId, const TInt aTabIndex );
+
+ private: // new methods
+
+ /**
+ * Displays list of joined members
+ */
+ void DisplayJoinedMembersL();
+
+ /**
+ * Updates selected item type
+ */
+ void UpdateItemTypeL();
+
+ /**
+ * Callback function for launching the invite query
+ * Called by CAsyncCallBack
+ * @param aInstance Instance of this class
+ * @return Need for recall
+ */
+ static TInt LaunchInvite( TAny *aInstance );
+
+ /**
+ * The actual implementation
+ * @param aShowQuery If ETrue, ask the user
+ */
+ void DoLaunchInviteL( TBool aShowQuery );
+
+ public: // new methods
+
+ /**
+ * Whether menu has been poped up
+ */
+ TBool GetIfMenuPopup();
+ private: // Data
+
+ // Pointer to callback
+ CAsyncCallBack* iAsyncCallBack;
+
+ // Previous view's id
+ TVwsViewId iPrevViewId;
+
+ // Owns. Container
+ CCAChatViewContainer* iContainer;
+
+ // Owns. Array of recipients
+ CDesCArray* iRecipients;
+
+ // Owns. Popup-menu for add to friends and reply
+ CEikMenuBar* iAddAndReplyMenu;
+
+ // Owns. Popup-menu for find item UI
+ CEikMenuBar* iFindContextMenu;
+
+ //Array of joined members. Owns
+ CDesCArrayFlat* iJoinedMembers;
+
+ //Group id. Owns
+ HBufC* iGroupId;
+
+ //recipient. Owns
+ HBufC* iRecipient;
+
+ //Sender. Owns
+ HBufC* iSender;
+
+ //Sender without the "wv:" prefix
+ TPtrC iCleanSender;
+
+ //Does not own. Extension handler for messages
+ CCAMessageExtensionsHandler* iMessageHandler;
+
+ // not owned. Hides CBA buttons when needed
+ CEikButtonGroupContainer* iCba;
+
+ //Doesnt Own, Ptr to Group PC interface
+ MCAGroupPC* iGroupPC;
+
+ // owns. menu pane for find item functionality
+ CFindItemMenu* iFindMenu;
+
+ // owns.
+ CItemFinder* iItemFinder;
+
+ //TabId for this group
+ TInt iTabId;
+
+ //doesn't own, pointer to grouputils
+ CCAGroupUtils* iGroupUtils;
+
+ // A indicator for object process
+ TBool iObjectOpenedSaved;
+
+ CEikMenuPane *iMenuPane;
+ };
+
+#endif //CCACHATVIEW_H
+
+// End of File