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 
00043 // CLASS DECLARATION
00044 
00051 class CAknPopupHeadingPane : public CAknControl
00052 {
00053     public:
00057         enum THeadingPaneLayout
00058             {
00060             EQueryHeadingPane,
00062             EListHeadingPane,
00064             EColourSelectionGridHeadingPane,
00066             EMessageQueryHeadingPane
00067             };
00068 
00069 
00070     public:
00074                 IMPORT_C CAknPopupHeadingPane();
00075                 
00079         IMPORT_C ~CAknPopupHeadingPane();
00080         
00086         IMPORT_C void SizeChanged();
00087         
00093         IMPORT_C TSize MinimumSize();
00094         
00100         IMPORT_C void ConstructL(TPtrC aText);
00101         
00110         IMPORT_C void ConstructFromResourceL(TResourceReader &aReader);
00111         
00116         IMPORT_C CEikLabel *Prompt() const;
00117         
00122                 IMPORT_C TPtr PromptText() const;
00123 
00128         IMPORT_C void SetTextL(TPtrC aText);
00129         
00130         
00135         IMPORT_C void SetHeaderImageOwnedL(CEikImage *aImage);
00136   
00141         IMPORT_C void SetHeaderImageL(CEikImage *aImage);
00142         
00147         IMPORT_C void SetHeaderAnimationL(TInt aResourceId);    
00148         
00153         IMPORT_C void SetLayout( THeadingPaneLayout aLayout );
00154 
00158         IMPORT_C void StartAnimationL();
00159         
00166         IMPORT_C TInt CancelAnimation();
00167 
00168     public: 
00173         virtual void ActivateL();
00174         IMPORT_C void HandlePointerEventL(const TPointerEvent& aPointerEvent);
00175 
00182              IMPORT_C void HandleResourceChange(TInt aType);
00183 
00184     private:
00188         IMPORT_C void* ExtensionInterface( TUid aInterface );
00189 
00190     private:
00191         TInt CountComponentControls() const;
00192         CCoeControl* ComponentControl(TInt anIndex) const;
00193         IMPORT_C virtual void Draw(const TRect& aRect) const;
00194 
00195                 void DoSetPromptL();
00196                 void LayoutQueryHeadingPane();
00197                 void LayoutListHeadingPane();
00198                 void LayoutColourSelectionGridHeadingPane();
00199                 void LayoutMessageQueryHeadingPane();
00200         
00201         private:
00202         //TAknLayoutRect     iLayoutLine; // Not used
00203         CAknPopupHeadingPaneExtension*  iExtension;  // was TAknLayoutRect iLayoutLine
00204         TAknLayoutRect     iLayoutHeading;
00205         CAknTextControl*   iPrompt;
00206         CEikImage*         iHeaderImage;
00207         CAknBitmapAnimation* iAnimation;
00208         TInt               iHeadingLayoutRef;
00209         CAknPopupHeadingAttributes* iAttributes; // was THeadingPaneLayout iLayout;
00210 
00211         private: // new methods
00212                 void SetAnimationBackGroundFrameL();
00213 
00214     public: // new methods
00215         void SetPageL(TInt aCurrent, TInt aMax=0);
00216 
00221                 IMPORT_C void SetSkinFrameId(const TAknsItemID &aFrameId);
00222                 IMPORT_C void SetSkinFrameCenterId(const TAknsItemID &aFrameCenterId);
00223         
00224 
00225     private:
00226         HBufC* PageTextL() const;
00227 };
00228 
00229 #endif
00230 

Copyright © Nokia Corporation 2001-2008
Back to top