diff -r 2b7283837edb -r 3104fc151679 uiservicetab/vimpstui/inc/cvimpstuidoublelistboxtabviewcontrol.h --- a/uiservicetab/vimpstui/inc/cvimpstuidoublelistboxtabviewcontrol.h Thu Aug 19 09:41:53 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,382 +0,0 @@ -/* -* Copyright (c) 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: tabbed view control implementation class with doublestyle listbox -* -*/ - -#ifndef __CVIMPSTUIDOUBLELISTBOXTABVIEWCONTROL_H -#define __CVIMPSTUIDOUBLELISTBOXTABVIEWCONTROL_H - -#include "mvimpstuitabbedviewcontrol.h" -#include "mvimpstprocessArrayobserver.h" -#include "cvimpstuidoublestylelistbox.h" - -class CVIMPSTUiDoubleStyleListBox; - -// CLASS DECLARATION -/** - * Tabbed view control. Shows list of contacts. - * @lib vimpstui.lib - * @since S60 v5.0 - */ -class CVIMPSTUiDoubleListBoxTabViewControl :public CCoeControl, - public MVIMPSTProcessArrayObserver, - public MEikListBoxObserver, - public MCoeControlObserver, - public MVIMPSTUiTabbedViewControl - { - public: // Constructor and destructor - /** - * Creates a new CImContactsTabbedViewControl. - * - * @param aTabbedView reference to view. - * @param aKeyEventHandler Key event handler to be used - * @param aCommandHandler reference to commandhandler - * @param aServiceId Id of the service - * @param aBrandHandler reference to brandhandler - * @param aEngine reference to engine - */ - static CVIMPSTUiDoubleListBoxTabViewControl* NewL( CVIMPSTUiTabbedView& aTabbedView, MPbk2KeyEventHandler* aKeyEventHandler, - MVIMPSTCmdHandler& aCommandHandler, - TUint32 aServiceId, - CVIMPSTUiBrandData& aBrandHandler, - MVIMPSTEngine& aEngine, - CEikButtonGroupContainer* aCba); - - /** - * Creates a new CImContactsTabbedViewControl and leaves it to - * cleanup stack. - * @see NewL - * - * @param aTabbedView reference to view. - * @param aKeyEventHandler Key event handler to be used - * @param aCommandHandler reference to commandhandler - * @param aServiceId Id of the service - * @param aBrandHandler reference to brandhandler - * @param aEngine reference to engine - */ - static CVIMPSTUiDoubleListBoxTabViewControl* NewLC( CVIMPSTUiTabbedView& aTabbedView,MPbk2KeyEventHandler* aKeyEventHandler, - MVIMPSTCmdHandler& aCommandHandler, - TUint32 aServiceId, - CVIMPSTUiBrandData& aBrandHandler, - MVIMPSTEngine& aEngine, - CEikButtonGroupContainer* aCba); - - /** - * Destructor. - */ - ~CVIMPSTUiDoubleListBoxTabViewControl(); - - public : // from MIMArrayProcessObserver - /** - * @see MIMArrayProcessObserver. - */ - void HandleAdditionL(TVIMPSTEnums::TItem type, TInt aIndex); - - /** - * @see MIMArrayProcessObserver. - */ - void HandleDeletionL(TVIMPSTEnums::TItem type, TInt aIndex); - /** - * @see MIMArrayProcessObserver. - */ - void HandleAvatarChangeL( const TDesC& aUserId ); - - public://from MEikListBoxObserver - - /** - * From MEikListBoxObserver, Handles event's generated by listbox - * @see MEikListBoxObserver - */ - void HandleListBoxEventL( CEikListBox* aListBox, - TListBoxEvent aEventType ); - - public: //from MCoeControlObserver - /** - * Handles events from findpane and forwards them to listbox filter. - * @see MCoeControlObserver - */ - void HandleControlEventL( CCoeControl* aControl,TCoeEvent aEventType ); - - - /** - * Get access to listbox model's filter - * @return model's filter - */ - CAknListBoxFilterItems* ListFilter(); - - - public: // New functions - - /** - * Returns the currently focused item's index. - * @return TInt, current item index. - */ - TInt CurrentItemIndex() const; - - /** - * Sets the currently focused item's index. - * - * @param aIndex new currently focused index - */ - void SetCurrentItemIndex( TInt aIndex ); - - /** - * Sets the currently focused item's index and updates the control - * on the display. - * - * @param aIndex new currently focused index - */ - void SetCurrentItemIndexAndDraw( TInt aIndex ); - - /** - * Handles item addition for this control. - */ - void HandleItemAdditionL(); - - /** - * Handles item removal for this control. - */ - void HandleItemRemovalL(); - - /** - * Sets list box empty text. - * - * @param aResourceId resource id of a empty text - */ - void SetListEmptyTextL( TInt aResourceId ); - - /** - * send the message using selected item - * this will launch the conversation view if im is enabled. - */ - void SendMessageL(); - - /** - * Updates view after edit. - * @param aIndex is the index of item that has changed. - * @param aType is list item type. - */ - void UpdateViewL( TInt aIndex, TVIMPSTEnums::TItem aType); - - - /** - * @see MVIMPSTUiTabbedViewControl. - */ - void HandleAvatarRefreshL( const TDesC& aUserId,TBool aBlock); - - - - /** - * LoadsBitmap array. - */ - void LoadBitmapsL(); - - - - /** - * Gets the owned listbox control - * - * @return the owned list box - */ - CVIMPSTUiDoubleStyleListBox& ListBox() const; - - /** - * Activates find-pane - */ - void ActivateFindPaneL(); - - /** - * De-activates find-pane - */ - void DeactivateFindPaneL(); - - /** - *Handle the avatar deletion in UI - */ - void SetFocussedId(const TDesC& aContact) ; - - /** - * the avatar deletion in UI - */ - TPtrC GetFocussedId() ; - - private: // From CCoeControl, standard control functionality - - /** - * @see CCoeControl - */ - TKeyResponse OfferKeyEventL - ( const TKeyEvent& aKeyEvent, TEventCode aType ); - - /** - * @see CCoeControl - */ - void SizeChanged(); - - /** - * @see CCoeControl - */ - TInt CountComponentControls() const; - - /** - * @see CCoeControl - */ - CCoeControl* ComponentControl( TInt aIndex ) const; - - /** - * @see CCoeControl - */ - void FocusChanged( TDrawNow aDrawNow ); - - - private: // Implementation - /** - * Standard C++ constructor - * - * @param aTabbedView reference to view. - * @param aKeyEventHandler Key event handler to be used - * @param aCommandHandler reference to commandhandler - * @param aServiceId Id of the service - * @param aBrandHandler reference to brandhandler - * @param aEngine reference to engine - */ - CVIMPSTUiDoubleListBoxTabViewControl( CVIMPSTUiTabbedView& aTabbedView,MPbk2KeyEventHandler* aKeyEventHandler, - MVIMPSTCmdHandler& aCommandHandler, - TUint32 aServiceId, - CVIMPSTUiBrandData& aBrandHandler, - MVIMPSTEngine& aEngine, - CEikButtonGroupContainer* aCba); - - /** - * Performs the 2nd phase of construction. - * - */ - void ConstructL(); - - /** - * Layouts current components according to AVKON LAF - */ - void SetLayout(); - - /** - * NOTE : PASSING NULL DESCRIPTOR IS NOT ALLOWED - * NO CHECK FOR THE NULL DESCPRIPTOR - * - * Utility function to create Icons from - * image data using Image processor - * - * @param aAvatarContent : avatar content - * - * @return CGulIcon icon created , returns NULL in case of errors - */ - CGulIcon* AvatarToIconL( const TDesC8& aAvatarContent ); - - - void SetFocusAndMakeItemVisible(); - - public: - - /** - * Sets the iClrFindPaneFlag - */ - void SetClrFindPaneFlag(TBool aFlag); - - /** - * Checks if the last contact is focused and Sets the iLastItemFlag - */ - void CheckAndSetLastItemFlag(); - - /** - * returns the CCoeControl* pointer - */ - CCoeControl* CoeControl(); - - /** - * Sets the lock status of softkeys - * @param aLock new status of lock (ETrue: locked, EFalse: Unlocked) - */ - void SetCbaLockL( TBool aLock ); - - /** - * Updates Softkeys according to current focus - * @param aUseDefaultCba Flag to force the default sofkeys for view. - * Default value is false. - */ - void UpdateCbaL( TBool aUseDefaultCba = EFalse ); - - - private: // Data - - // not owned - CVIMPSTUiTabbedView& iTabbedView; - - // Not owned: key event handler - MPbk2KeyEventHandler* iKeyEventHandler; - - //Holds the Ref to CMd Handler - Doesnt Own - MVIMPSTCmdHandler& iCommandHandler; - - //Doesnt Own - MVIMPSTProcessArray& iArrayProcess; - - //Service Id - TUint32 iServiceId ; - - //doesnt own - Brand Handler - CVIMPSTUiBrandData& iBrandHandler; - - //doesnt own - Engine Handler - MVIMPSTEngine& iEngine; - - // Owns. Listbox to view friends-list data - CVIMPSTUiDoubleStyleListBox* iListBox; - - // Owns. Search field. - CAknSearchField* iFindbox; - - // is find pane visible. - TBool iFindPaneIsVisible; - - //current state - TBool iCurrentState; - - // Owns: Flag to check whether the last contact was selected - TBool iLastItemFlag; - - CFbsBitmap* iBitmap; - - TInt iAvatarError; - - // CBA. not owned - CEikButtonGroupContainer* iCba; - - // Lock status foc softkeys - TBool iCbaLock; - - // Storage for previous focus - TVIMPSTEnums::TItem iLastFocusedItemType; - - //flag to check to clear find pane - TBool iClrFindPaneFlag; - - //indicate command to be executed on enter key Event. - TInt iCurrentCmdToExe; - - - }; - -#endif // __CVIMPSTUIDOUBLELISTBOXTABVIEWCONTROL_H - -// End of file