aknPopupHeadingPane.h

Go to the documentation of this file.
00001 /*
00002 * ============================================================================
00003 *  Name     : AknPopupHeadingPane.h
00004 *  Part of  : Avkon
00005 *
00006 *  Description:
00007 *   Heading pane
00008 *  Version:
00009 *
00010 *  Copyright ?2002 Nokia Corporation.
00011 *  This material, including documentation and any related 
00012 *  computer programs, is protected by copyright controlled by 
00013 *  Nokia Corporation. All rights are reserved. Copying, 
00014 *  including reproducing, storing,  adapting or translating, any 
00015 *  or all of this material requires the prior written consent of 
00016 *  Nokia Corporation. This material also contains confidential 
00017 *  information which may not be disclosed to others without the 
00018 *  prior written consent of Nokia Corporation.
00019 * ============================================================================
00020 */
00021 
00022 #ifndef AKNPOPUPHEADINGPANE_H
00023 #define AKNPOPUPHEADINGPANE_H
00024 
00025 // INCLUDES
00026 #include <AknControl.h>
00027 
00028 #include <eikbtgpc.h>
00029 #include <aknutils.h>
00030 
00031 
00032 #include <aknappui.h>
00033 #include <aknpopup.h>
00034 #include <gulicon.h>
00035 
00036 // FORWARD DECLARATIONS
00037 class CAknTextControl;
00038 class CEikImage;
00039 class CAknBitmapAnimation;
00040 class CAknPopupHeadingAttributes;
00041 class CAknPopupHeadingPaneExtension;
00042 class MAknHeadingPaneTouchObserver;
00043 
00044 // CLASS DECLARATION
00045 
00052 class CAknPopupHeadingPane : public CAknControl
00053 {
00054     public:
00058         enum THeadingPaneLayout
00059             {
00061             EQueryHeadingPane,
00063             EListHeadingPane,
00065             EColourSelectionGridHeadingPane,
00067             EMessageQueryHeadingPane
00068             };
00069 
00070 
00071     public:
00075                 IMPORT_C CAknPopupHeadingPane();
00076                 
00080         IMPORT_C ~CAknPopupHeadingPane();
00081         
00087         IMPORT_C void SizeChanged();
00088         
00094         IMPORT_C TSize MinimumSize();
00095         
00101         IMPORT_C void ConstructL(TPtrC aText);
00102         
00111         IMPORT_C void ConstructFromResourceL(TResourceReader &aReader);
00112         
00117         IMPORT_C CEikLabel *Prompt() const;
00118         
00123                 IMPORT_C TPtr PromptText() const;
00124 
00129         IMPORT_C void SetTextL(TPtrC aText);
00130         
00131         
00136         IMPORT_C void SetHeaderImageOwnedL(CEikImage *aImage);
00137   
00142         IMPORT_C void SetHeaderImageL(CEikImage *aImage);
00143         
00148         IMPORT_C void SetHeaderAnimationL(TInt aResourceId);    
00149         
00154         IMPORT_C void SetLayout( THeadingPaneLayout aLayout );
00155 
00159         IMPORT_C void StartAnimationL();
00160         
00167         IMPORT_C TInt CancelAnimation();
00168 
00169     public: 
00174         virtual void ActivateL();
00175         IMPORT_C void HandlePointerEventL(const TPointerEvent& aPointerEvent);
00176 
00183              IMPORT_C void HandleResourceChange(TInt aType);
00184 
00185     private:
00189         IMPORT_C void* ExtensionInterface( TUid aInterface );
00190 
00191     private:
00192         TInt CountComponentControls() const;
00193         CCoeControl* ComponentControl(TInt anIndex) const;
00194         IMPORT_C virtual void Draw(const TRect& aRect) const;
00195 
00196                 void DoSetPromptL();
00197                 void LayoutQueryHeadingPane();
00198                 void LayoutListHeadingPane();
00199                 void LayoutColourSelectionGridHeadingPane();
00200                 void LayoutMessageQueryHeadingPane();
00201         
00202         private:
00203         //TAknLayoutRect     iLayoutLine; // Not used
00204         CAknPopupHeadingPaneExtension*  iExtension;  // was TAknLayoutRect iLayoutLine
00205         TAknLayoutRect     iLayoutHeading;
00206         CAknTextControl*   iPrompt;
00207         CEikImage*         iHeaderImage;
00208         CAknBitmapAnimation* iAnimation;
00209         TInt               iHeadingLayoutRef;
00210                 CAknPopupHeadingAttributes* iAttributes; // was THeadingPaneLayout iLayout;
00211 
00212         private: // new methods
00213                 void SetAnimationBackGroundFrameL();
00214 
00215     public: // new methods
00216         void SetPageL(TInt aCurrent, TInt aMax=0);
00217 
00222                 IMPORT_C void SetSkinFrameId(const TAknsItemID &aFrameId);
00223                 IMPORT_C void SetSkinFrameCenterId(const TAknsItemID &aFrameCenterId);
00224                 
00229                 void SetTouchObserver( MAknHeadingPaneTouchObserver* aTouchObserver );
00230         
00231 
00232     private:
00233         HBufC* PageTextL() const;
00234 };
00235 
00236 #endif
00237 

Copyright © Nokia Corporation 2001-2007
Back to top