diff -r 2b7283837edb -r 3104fc151679 imstutils/imconversationview/imcvuiapp/inc/cimcvappstatuspanehandler.h --- a/imstutils/imconversationview/imcvuiapp/inc/cimcvappstatuspanehandler.h Thu Aug 19 09:41:53 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,327 +0,0 @@ -/* -* Copyright (c) 2007-2008 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: Handles statuspane, context pane -* -*/ - -#ifndef CIMCVAPPSTATUSPANEHANDLER_H -#define CIMCVAPPSTATUSPANEHANDLER_H - -// INCLUDES -#include -#include // CAknTitlePane -#include // CAknContextPane -#include //CFbsBitmap -#include -#include -#include -#include - -#include "mimcvengineopenchats.h" -#include "cimcvnewmsgfadecontrol.h" - - -// CLASS DECLARATION -class MIMCVTabObserver; -class MIMCVEngineFactory; -/** - * This class handles status, title and contextpane operations - * - * @lib imcvuiapp.exe - * @since 5.0 - */ -class CIMCVAppStatusPaneHandler : public CBase, - public MAknTabObserver, - public MIMCVEngineOpenChatsObserver - - { - public: // Constructors and destructor - - /** - * C++ default constructor. - */ - CIMCVAppStatusPaneHandler(MIMCVEngineFactory& aEngineFactory ); - - /** - * Two-phased constructor. - */ - static CIMCVAppStatusPaneHandler* NewL(MIMCVEngineFactory& aEngineFactory ); - - /** - * Destructor. - */ - virtual ~CIMCVAppStatusPaneHandler(); - - public: // New functions - - /** - * Functione to insert titlepane - */ - - void ClearTitlePaneL( ); - - /** - * Hides navi-pane decorators. - * @param aAllowDuplicates If this is true, duplicate default navi pane - * contents are allowed. Duplicates need to be removed with PopNaviPane - * when not needed anymore. - */ - void ClearNaviPaneL( TBool aAllowDuplicates = EFalse ); - - /** - * SetPicture decorators - * @since 5.0 - * @param aPicture Bitmap file - * @param aMask Bitmap mask file - */ - void SetPicture( const CFbsBitmap* aPicture, const CFbsBitmap* aMask ); - - - /** - * Sets title-pane text. - * @since 5.0 - * @param aTitle Title text - */ - void SetTitleL( const TDesC& aTitle ); - - /** - * Shows navi-pane's tabgroup-decorator according to aResourceId - * and activates a tab which has aType. - * @param aId - user id - * @param noCreate - ETrue - a New decorator is created else EFalse - */ - TInt ShowTabGroupL( const TDesC& aId, - const TBool noCreate = EFalse ); - - - /** - * RefreshTab, refreshes the title pane and tab text - * if the user has edited. - * @param aUserId - user id of the edited contact - */ - void RefreshTabL(const TDesC& aUserId,const TDesC& aDisplayName); - - public: - - /** - * API used to regiter for MIMCVTabObserver Events - */ - void AddObserver(MIMCVTabObserver* aObserver) ; - - /** - * API used to unregiter from MIMCVTabObserver events - */ - void RemoveObserver(MIMCVTabObserver* aObserver ); - - - /** - * SetActiveTabByIndexL - Sets the Tab Active indicated by Index - * @param aIndex - Index of the Conversation Item in Tab - */ - void SetActiveTabByIndexL( const TInt aIndex ); - - - /** - * Refresh title pane text, needed in skin change events. - */ - void RefreshTitlePaneTextL(); - - - /** - * Returns the pointer to CAknTabGroup. - */ - CAknTabGroup* TabGroup() const; - - void PopNaviPane(); - - public: - - - /** - * Returns IMessage indicator - * @return handle to imessage indicator - */ - CIMCVNewMsgFadeControl* IMessageIndicator() const; - - /** - * Initialises instant messaging navipane indicator. - */ - void InitMessageIndicatorL(); - - /** - * Hides fade text - */ - void HideFadeText(); - - /** - * Destroys instant messaging indicators. This method is called when - * view is deactivated. - */ - void DestroyMessageIndicator(); - - /** - * Pushes fade text control to navistack - */ - void PushFadeTextL(); - - /** - * Shows fade text - * @param aTextToFade Descriptor that contains message to fade - */ - void ShowFadeText( TDesC& aTextToFade ); - - /** - * Shows navipane indicators - */ - void ShowNavipaneIndicators(); - - /** - * Hides navi pane message info - */ - void HideNavipaneIndicators(); - - /** - * Setting previous title that was present before clear - */ - - void SetPreviousTitleL(); - /** - * Sending the Conversation View into BackGround - */ - void SendBackGroundL(); - - /** - * Bringing the Conversation View into Fore Ground - */ - void BringToForegroundL(); - - protected: // New functions - - /** - * creates new message navipane indicator - * @return CAknNavigationDecorator - */ - CAknNavigationDecorator* CreateIMessageIndicatorL(); - - /** - * Starts fade operation - */ - void RunFadeText(); - - /** - * Resets the text to fade - */ - void ResetFadeText(); - - - private: - - /** - * @see MIMCVEngineOpenChatsObserver - */ - void HandleChangeL(TInt aServiceId, TInt aIndex, TOpenChatsEventType aChangeType) ; - - /** - * @see MIMCVEngineOpenChatsObserver - */ - void SetStatusMsgL(TInt aServiceId, TInt aIndex,const TDesC & aMsg); - - /* - * play message tone, when receiving a new message. - */ - void PlayMsgBeepL(); - - - public: - /** - * API to show the tabs - */ - void ShowTabL(); - - /** - * API to hide the tabs - */ - void HideTab(); - - private: - - /** - * Creates tabs based on the Open Conversation List - */ - void CreateTabsL(const TBool noCreate); - - - private: - /** - * @see MAknTabObserver - */ - void TabChangedL(TInt aIndex); - - private: - - /** - * By default Symbian OS constructor is private. - */ - void ConstructL(); - - private: // Data - - // Doesn't own. Handle to title-pane - CAknTitlePane* iTitlePane; - - // Doesn't own. Handle to context-pane - CAknContextPane* iContextPane; - - //not Owns the factory for OpenChats - MIMCVEngineFactory& iEngineFactory; - - //Doesn't own - RPointerArray< MIMCVTabObserver > iObserverList; - - //previous tabID - TInt iPrevTabId; - - //Current TabID - TInt iCurrentTabId; - - //owns the new message icon - HBufC* iNewMsgIcon; - - //Stores the OpenConversations Tab Count - TInt iOpenChatArrayCount; - - //Owns. New decorated tab-group - CAknNavigationDecorator* iNewDecoratedTabGroup; - - // Doesn't own. Handle to navi-pane - CAknNavigationControlContainer* iNaviPane; - - //Owns. - CAknNavigationDecorator* iDecoratedFadeText; - - HBufC* iLastTitle; - - //iStatusPaneText is used to show truncated received msg (when user is conversation with one user, - //and receive msg from some other user.) - HBufC* iStatusPaneText; - - //service id - TInt iServiceId; - - - }; - -#endif // CIMCVAPPSTATUSPANEHANDLER_H - -// End of File