diff -r 000000000000 -r 5f000ab63145 phoneuis/BubbleManager/Inc/BMBubbleOutlookTwoLined.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phoneuis/BubbleManager/Inc/BMBubbleOutlookTwoLined.h Mon Jan 18 20:18:27 2010 +0200 @@ -0,0 +1,188 @@ +/* +* Copyright (c) 2002-2005 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: +* Base class for big bubbles (bottom, bottom right, middle). +* +*/ + + +#ifndef CBUBBLEOUTLOOKTWOLINED_H +#define CBUBBLEOUTLOOKTWOLINED_H + +// INCLUDES +#include +#include "BMBubbleOutlook.h" +#include "BMBubbleManager.h" +#include "BMUtils.h" + +// FORWARD DECLARATIONS +class CBubbleHeader; +class CEikLabel; +class CEikImage; +class CBubbleImageManager; +class CBubbleAnimationControl; +class CTelBubbleCustomElement; + +// CLASS DECLARATION + +/** +* Base class for big bubbles (bottom, bottom right, middle). +* +* @lib bubblemanager +* @since 1.0 +*/ +class CBubbleOutlookTwoLined : public CBubbleOutlook + { + public: // Destructor + + /** + * Destructor. + */ + virtual ~CBubbleOutlookTwoLined(); + + protected: // Constructors + + /** + * C++ default constructor. + * @param aBubbleManager Main container + */ + CBubbleOutlookTwoLined( CBubbleManager& aBubbleManager ); + + /** + * By default Symbian OS constructor is private. + */ + void ConstructL(); + + public: // Functions from base classes + + /** + * From CBubbleOutlook. + */ + virtual void Reset( ); + + /** + * From CBubbleOutlook. + */ + virtual void ReadBubbleHeader( CBubbleHeader& aHeader ); + + /** + * From CBubbleOutlook. + */ + virtual void DrawTimerCostNow(); + + /** + * From CBubbleOutlook. + */ + virtual void DrawCLINow(); + + /** + * From CBubbleOutlook. + */ + virtual void DrawBitmaps( CBitmapContext& aGc ) const; + + /** + * From CBubbleOutlook. + */ + virtual void HandleAnimationStartL() const; + + /** + * From CBubbleOutlook. + */ + virtual void DrawCallHeaderText(); + + private: // Functions from base classes + + /** + * From CCoeControl + */ + virtual void SizeChanged( ) = 0; + + /** + * From CCoeControl + */ + virtual TInt CountComponentControls( ) const; + + /** + * From CCoeControl + */ + virtual CCoeControl* ComponentControl( TInt aIndex ) const; + + /** + * From CCoeControl + */ + virtual void Draw( const TRect& aRect ) const; + + private: // New functions + + /** + * Draw Call1 bitmaps + */ + void DrawCall1Bitmaps( CBitmapContext& aGc ) const; + + /** + * Draw Call2 bitmaps + */ + void DrawCall2Bitmaps( CBitmapContext& aGc ) const; + + protected: // Data + + // Current header + CBubbleHeader* iHeader; + // Line number where the label is set + TUint8 iTextLineNumber; + + // Bubble image + CEikImage* iBubble; + + // Big call indication / customized + CTelBubbleCustomElement* iBigCallIndicator; + // Small call indication + CTelBubbleCustomElement* iSmallCallIndication; + // Number type + CTelBubbleCustomElement* iNumberType; + // Call type indicator #1 + CEikImage* iTypeIndication1; + // Call type indicator #2 + CEikImage* iTypeIndication2; + // Cyphering off + CEikImage* iCyphOffImage; + + // tn shadow + TBubbleLayoutRect iTnImageShadow; + + // Thumbnail image + CEikImage* iTnImage; + + // 1st line label + mutable CEikLabel* iTextLine1; // Text will be clipped and placed in + // 2nd line text + mutable CEikLabel* iTextLine2; // Draw() const method. + // Original buffer + TPtrC iFullText1; + // Original buffer + TPtrC iFullText2; + // Clip dir + CBubbleManager::TPhoneClippingDirection iText1ClipDirection; + // Clip dir + CBubbleManager::TPhoneClippingDirection iText2ClipDirection; + + // Timer cost + CEikLabel* iTimerCost; + // Brand image. + CTelBubbleCustomElement* iBrandImage; + }; + +#endif // CBUBBLEOUTLOOKTWOLINED_H + +// End of File