00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef AKNPOPUPHEADINGPANE_H
00023 #define AKNPOPUPHEADINGPANE_H
00024
00025
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
00037 class CAknTextControl;
00038 class CEikImage;
00039 class CAknBitmapAnimation;
00040 class CAknPopupHeadingAttributes;
00041 class CAknPopupHeadingPaneExtension;
00042 class MAknHeadingPaneTouchObserver;
00043
00044
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
00204 CAknPopupHeadingPaneExtension* iExtension;
00205 TAknLayoutRect iLayoutHeading;
00206 CAknTextControl* iPrompt;
00207 CEikImage* iHeaderImage;
00208 CAknBitmapAnimation* iAnimation;
00209 TInt iHeadingLayoutRef;
00210 CAknPopupHeadingAttributes* iAttributes;
00211
00212 private:
00213 void SetAnimationBackGroundFrameL();
00214
00215 public:
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