diff -r 000000000000 -r 5e5d6b214f4f imstutils/imconversationview/imcvuiapp/inc/cimcvappviewcontrol.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/imstutils/imconversationview/imcvuiapp/inc/cimcvappviewcontrol.h Tue Feb 02 10:12:18 2010 +0200 @@ -0,0 +1,201 @@ +/* +* 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: cimcvappviewcontrol.h +* +*/ + + + +#ifndef _CIMCVAPPVIEWCONTROL_H +#define _CIMCVAPPVIEWCONTROL_H + +// INCLUDES +#include "cimcvapprichtextcontainercache.h" +#include "cimcvapptextviewcontrol.h" +#include "cimcvapprichtextcontainer.h" +#include "cimcvengine.h" +// FORWARD DECLARATIONS +class CIMCVAppMessageFlowHandler; +class MIMCVEngineMessageReadInterface; +class CIMCVAppMessageExtensionsHandler; +class MIMCVTapEventObserver; +// CLASS DECLARATION + +/** +* @imcvuiapp.exe +* @since 5.0 +*/ +class CIMCVAppViewControl : public CIMCVAppTextViewControl + { + public: // Constructors and destructor + + /** + * Two-phased constructor. + * @param aRect Draw area + * @param aParent Parent control + * @param aReadInterface Message read interface + * @param aExtensionsHandler Message extensions handler + * @param aMessageUtils Message utils + * @param aRTContainerCache - cache + * @param aScrollOver Should we scroll over the top and bottom, + * i.e. disabling highlight when pressing up at top. + * EFalse used with recorded chats. + * @return Instance of this class + */ + static CIMCVAppViewControl* NewL( const TRect& aRect, + const CCoeControl& aParent, + MIMCVEngineMessageReadInterface& aReadInterface, + CIMCVAppMessageExtensionsHandler& aExtensionsHandler, + CGulIcon* aFromMe, + CGulIcon* aToMe, + CIMCVAppRichTextContainerCache& aRTContainerCache, + CIMCVEngine& aActiveEngine, + TBool aScrollOver = ETrue); + + /** + * Destructor. + */ + virtual ~CIMCVAppViewControl(); + + public: // New functions + + + /** + * Returns buffer containing the currently selected text + * (or empty buffer if nothing selected) + */ + HBufC* SelectedItemL(); + + /** + * @return Type of selected item + */ + TInt SelectedItemType(); + + + /** + * Disable all highlighting + */ + void DisableHighlightL(); + + /** + * @return ETrue if some item is highlighted + */ + TBool Highlighted(); + + /** + * Move text's highlight up and down. + * @param aMovement In which direction we move the higlight + */ + void MoveHighlightL( + CIMCVAppRichTextContainer::THighlightMovement aMovement); + + + /** + * @returns the total messages in the view + */ + TInt GetMessageCount(); + + /** + * Set scrolling method + * @param aHihghlight If ETrue, scroll by highlighting items + * otherwise scroll by rows + */ + void SetHighlight( TBool aHighlight ); + + /** + * Set observer for handling tap events. + * Supports only single observer. + * @param aObserver observer to handle tap events + * @param aId control id which is used by the observer to + * identify this object. + */ + void SetTapObserver( MIMCVTapEventObserver* aObserver, TUint aId ); + + + /** + * 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 ); + + + protected: // Functions from CIMCVAppTextViewControl + + /** + * @see CIMCVAppTextViewControl + */ + TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent, + TEventCode aType ); + + /** + * @see CIMCVAppTextViewControl + */ + void ProcessStylusEventL( const TPointerEvent& aPointerEvent ); + + /** + * @see CIMCVAppTextViewControl + */ + void SizeChanged(); + + private: + + /** + * C++ default constructor. + */ + CIMCVAppViewControl(); + + /** + * By default Symbian 2nd phase constructor is private. + * @param aRect Draw area + * @param aParent Parent control + * @param aReadInterface Message read interface + * @param aExtensionsHandler Message extensions handler + * @param aMessageUtils Message utils + * @param aRTContainerCache - cache + * @param aScrollOver Should we scroll over the top and bottom, + * i.e. disabling highlight when pressing up at top. + */ + void ConstructL( const TRect& aRect, const CCoeControl& aParent, + MIMCVEngineMessageReadInterface& aReadInterface, + CIMCVAppMessageExtensionsHandler& aExtensionsHandler, + CGulIcon* aFromMe, + CGulIcon* aToMe, + CIMCVAppRichTextContainerCache& aRTContainerCache, + CIMCVEngine& aActiveEngine, + TBool aScrollOver ); + + + private: // Data + + // owns. Text container + CIMCVAppRichTextContainer* iTextContainer; + + // owns. Message flow handler + CIMCVAppMessageFlowHandler* iFlowHandler; + + // Not owned. Pointer to observer + MIMCVTapEventObserver* iTapObserver; + + // ID which needs to be reported back to TapObserver + TUint iTapControlId; + + // Tap waiting flags touch screen. + TBool iWaitForDoubleTap; + TBool iWaitForSingleTap; + }; + +#endif // _CIMCVAPPVIEWCONTROL_H + +// End of File