--- a/imstutils/imconversationview/imcvuiapp/inc/cimcvappviewcontainer.h Thu Aug 19 09:41:53 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,432 +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: main view container class
-*
-*/
-
-
-
-#ifndef _CIMCVAPPVIEWCONTAINER_H
-#define _CIMCVAPPVIEWCONTAINER_H
-
-// INCLUDES
-#include "cimcvapprichtextcontainercache.h"
-#include "mimcvapplayoutchangeobserver.h"
-#include "mimcvtapeventobserver.h"
-#include "cimcvappmessageeditor.h"
-
-#include <badesca.h> //For the CDesCArray
-#include <AknWaitDialog.h>
-#include "cimcvengine.h"
-// FORWARD DECLARATIONS
-class CIMCVAppMessageExtensionsHandler;
-class CIMCVAppViewControl;
-class MIMCVEngineMessageReadInterface;
-class MIMCVEngineMessageWriteInterface;
-class MIMCVEngineMessage;
-class CIMCVAppUi;
-class MIMCVUiAppSkinVariant;
-class MIMCVRecipientObserver;
-class CIMCVAppLoginEventListener;
-class CIMCVAppView;
-class CIMCVAppMessageEditor;
-class MIMCVEngineFactory;
-
-// CLASS DECLARATION
-
-/**
-* This is container class for conversation view
-*/
-class CIMCVAppViewContainer : public CCoeControl,
- public MEikEdwinSizeObserver,
- public MIMCVAppLayoutChangeObserver,
- public MCoeControlObserver,
- public MIMCVAppMessageEditorObserver,
- public MIMCVTapEventObserver
- {
- public: // Enumerations
-
- /**
- * Observed controls
- */
- enum TTouchableControls
- {
- EMessageList = 1,
- EMessageEditor
- };
-
- public: // Constructors and destructor
-
- /**
- * Symbian OS default constructor.
- * @param aRect Frame rectangle for container.
- * @param aEngine, refence to engine
- * @param aReadInterface to read the messages
- * @param aWriteInterface for writing the messages
- * @param aParent Context access mechanism.
- * @param aMessageHandler Handling messages
- * @param aCba Pointer to cba of view.
- * @param aRecipientId, recipient user id
- * @param aBrandingAccess, brand accessor
- */
- static CIMCVAppViewContainer* NewL( const TRect& aRect,
- CIMCVEngine* aEngine,
- MIMCVEngineMessageReadInterface* aReadInterface,
- MIMCVEngineMessageWriteInterface* aWriteInterface,
- CIMCVAppView* aParent,
- CIMCVAppMessageExtensionsHandler& aMessageHandler,
- CEikButtonGroupContainer* aCba,
- const TDesC& aRecipientId,
- MIMCVRecipientObserver* aRecipientObserver,
- CIMCVAppRichTextContainerCache* aRTContainerCache,
- CGulIcon* aFromMe, CGulIcon* aToMe);
-
-
- /**
- * Destructor.
- */
- virtual ~CIMCVAppViewContainer();
-
-
- private:
-
- /**
- * Symbian OS default constructor.
- * @param aRect Frame rectangle for container.
- * @param aParent Context access mechanism.
- */
- void ConstructL( const TRect& aRect, MObjectProvider* aParent,
- CGulIcon* aFromMe, CGulIcon* aToMe ,
- const TDesC& aRecipientId );
-
-
- public: // New functions
- const TRect TextRect() const;
-
-
- /**
- * Switches the Containers ReadInterface & WriteInterface
- * @param aReadInterface to read the messages
- * @param aWriteInterface for writing the messages
- */
- void SwitchViewL( MIMCVEngineMessageReadInterface* aReadInterface,
- MIMCVEngineMessageWriteInterface* aWriteInterface,
- const TDesC& aRecipientId );
-
- /*
- * assigned new engine instance
- */
- void SetServiceParametersL(CIMCVEngine* aNewEngine ) ;
- /**
- * Returns buffer containing the currently selected text
- * (or empty buffer if nothing selected)
- */
- HBufC* SelectedItemL();
-
- /**
- * @return Type of selected item
- */
- TInt SelectedItemType();
-
-
- /**
- * This method starts scrolling
- * @since 5.0
- */
- void StartScrollingL();
-
- /**
- * This method stops scrolling
- * @since 5.0
- */
- void StopScrollingL();
-
- void StartConversationL();
-
-
- /**
- * This closes the active conversation
- * @since 5.0
- */
- TInt CloseConversationL(const TDesC& aBuddyId );
-
- /**
- * This will deactivate the active conversation
- * @since 5.0
- */
- TInt DeactivateConversationL();
-
- /**
- * This method handles message sending
- * @since 5.0
- */
- void SendMessageL();
-
- /**
- * This method insert a message about the presence status changes
- * @since 5.0
- */
- void InsertStatusChangedMessageL(CIMCVEngine& aEngine, TInt aServiceId,const TDesC& aBuddyId );
-
- /**
- * Return reference of CIMCVAppMessageEditor object.
- */
- CIMCVAppMessageEditor& Editor() const ;
-
- /**
- * This checks if scroll mode is on or off
- * @since 3.2
- * @return Returns if scrolling is stopped or not (TBool)
- */
- TBool IsStopped() const;
-
- /**
- * Sets item highlighting on or off (automatic find)
- * @param aHihghlight ETrue to set finder on
- */
- void SetItemHighlightL( TBool aHighlight );
-
-
- /**
- * Should we fetch new messages or not
- * @param aFetch ETrue if this chat is in foreground and should receive
- * messages, EFalse otherwise.
- */
- void FetchMessages( TBool aFetch );
-
-
- /**
- * Method to force refresh in the rich text editor,
- * called from view when adding a smiley.
- * @since 3.0
- */
- void RefreshEditorL();
-
- /**
- * Loads fome/tome icons
- * @param aId, Id of the element required by the brnading server
- * aBitmapId, id of the icon
- * aMaskId of the icon
- */
- CGulIcon* LoadBitmapL(const TDesC8& aId, const TInt aBitmapId,const TInt aMaskId );
-
- /**
- * IsLoggedIn
- * @return ETrue if logged in else EFalse
- * @since 5.0
- */
- TBool IsLoggedIn() const;
-
-
- /**
- * Update the CBA labels
- */
- void UpdateCbaL();
-
- /*
- * Saves the message typed in the message editor of
- * container
- */
- void StoreEditorMessageL();
- void SmileyDialogLaunched (TBool aLaunched);
- void UpdateChatViewL ();
-
- private:
-
- /**
- * This function does basic clearing after the message is sent
- */
- void ResetAfterSendL();
-
- /**
- * This function displays information notes
- * @param aResourceId Resource ID of note
- */
- void DisplayInfoNoteL( const TInt aResourceId );
-
- void ResizeIcons( TRect aParentRect ) ;
-
-
- private:
-
- void MapFromBitmapIdToAknsItemId( TInt aBitmapId,
- TAknsItemID& aItemId, TInt& aColorGroupId );
-
- //does not Owns. "From me" icon
- CGulIcon* iFromMe;
-
- //does n0t Owns. "To me" icon
- CGulIcon* iToMe;
-
-
- private: // Functions from base classes
-
- /**
- * From MIMCVAppLayoutChangeObserver, for layout change observing
- */
- void LayoutChangedL( TInt aType );
-
-
- /**
- * From MEikEdwinSizeObserver, This method handles edwin's size change
- * @param aEdwin The edwin for which the size event is being handled
- * @param aEventType The event type
- * @param aDesirableEdwinSize The desired size for the edwin identified
- * by aEdwin
- * @return The return value depends on your implementation.
- * Return ETrue if you wish to redraw the edwin.
- * EFalse otherwise
- */
- TBool HandleEdwinSizeEventL( CEikEdwin* aEdwin,
- TEdwinSizeEvent aEventType, TSize aDesirableEdwinSize );
-
-
-
- private: // From MCoeControlObserver
-
- /**
- * @see MCoeControlObserver
- */
- void HandleControlEventL( CCoeControl* aControl,TCoeEvent aEventType );
-
- private: // Functions CCoeControl
-
- /**
- * From CoeControl, Handles "size changed"-events..
- */
- void SizeChanged();
-
- /**
- * From CoeControl,
- * Returns the number of control contained by this class.
- * @return Number of controls contained
- */
- TInt CountComponentControls() const;
-
- /**
- * From CCoeControl, Returns handle to control pointed by aIndex
- * @param aIndex Wanted control's index [0..n]
- * @return Handle to wanted control
- */
- CCoeControl* ComponentControl( TInt aIndex ) const;
-
- /**
- * From CCoeControl, Gets called when drawing is needed (by framework)
- * @param aRect Rect that needs to be drawed
- */
- void Draw( const TRect& aRect ) const;
-
- /**
- * From CCoeControl, Handles key-events
- * @param aKeyEvent Event that occured
- * @param aType Type of key-event
- * (EEventKey, EEventKeyUp or EEventKeyDown)
- * @return Containers response to event
- * (EKeyWasNotConsumed/ EKeyWasConsumed)
- */
- TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent,
- TEventCode aType );
-
-
- private: // From MIMCVAppMessageEditorObserver
-
- /**
- * Handle editor event.
- */
- void HandleMessageEditorEventL( TEditorEvent aEvent );
-
- private: // new functions
- /**
- * Constructor
- * @param aEngine, refence to engine
- * @param aReadInterface to read the messages
- * @param aWriteInterface for writing the messages
- * @param aMessageHandler Handling messages
- * @param aCba Pointer to cba of view.
- * @param aRecipientId, recipient user id
- */
- CIMCVAppViewContainer(
- CIMCVEngine* aEngine,
- MIMCVEngineMessageReadInterface* aReadInterface,
- MIMCVEngineMessageWriteInterface* aWriteInterface,
- CIMCVAppMessageExtensionsHandler& aMessageHandler,
- CEikButtonGroupContainer* aCba,
- MIMCVRecipientObserver* aRecipientObserver,
- CIMCVAppView& aAppView,
- CIMCVAppRichTextContainerCache* aRTContainerCache
- );
-
- private: // From MIMCVTapEventObserver
-
- /**
- * @see MIMCVTapEventObserver
- */
- void HandleTapEventL( TTapEvent aEvent, TUint aControlId );
-
-
- private: // Data
- // not owned, reference to uiengine
- CIMCVEngine* iActiveEngine ;
-
- // not owned., reference to appui
- CIMCVAppUi* iAppUi;
- // Owns. Chat view control
- CIMCVAppViewControl* iChatView;
- // not owned, message read interface
- MIMCVEngineMessageReadInterface* iReadInterface;
- // not owned, message witre interface
- MIMCVEngineMessageWriteInterface* iWriteInterface;
-
-
- // owned, outer line
- TAknLayoutRect iOutLine;
- // owned, horizontal line
- TAknLayoutRect iHoriline;
- // owned, vertical line
- TAknLayoutRect iVertLine;
-
-
- // not owned, message extention handler
- CIMCVAppMessageExtensionsHandler& iMessageExtensionsHandler;
-
-
- // Does not own. Pointer to cba of view.
- CEikButtonGroupContainer* iCba;
-
-
- //holds the reference to the contact to which
- //conversation has been established.
- HBufC* iRecipientId;
-
- // owned, message content
- HBufC* iEditorMessage;
-
- // not owned
- MIMCVUiAppSkinVariant* iSkinVaiant;
-
-
- //Doesn't own. Handle to recipient observer
- MIMCVRecipientObserver* iRecipientObserver;
-
- //Reference to the AppView object
- CIMCVAppView& iAppView;
- //owns. meesage editor
- CIMCVAppMessageEditor* iMsgEditor;
- //Does nt Owns. Cache to store CIMCVAppRichTextContainer objects
- CIMCVAppRichTextContainerCache* iRTContainerCache;
- };
-
-#endif // _CIMCVAPPVIEWCONTAINER_H
-
-// End of File