emailuis/emailui/inc/ncsheadercontainer.h
branchRCL_3
changeset 73 c8382f7b54ef
parent 64 3533d4323edc
child 80 726fba06891a
--- a/emailuis/emailui/inc/ncsheadercontainer.h	Tue Sep 14 20:48:24 2010 +0300
+++ b/emailuis/emailui/inc/ncsheadercontainer.h	Wed Sep 15 11:52:37 2010 +0300
@@ -27,19 +27,19 @@
 #include "ncsaddressinputfield.h"
 #include "ncsfieldsizeobserver.h"
 #include "ncsconstants.h"
-
+#include "ncspopuplistbox.h"
 
 class CFSMailBox;
 class CNcsAttachmentField;
 class CNcsEmailAddressObject;
-class CNcsPopupListBox;
 class CNcsSubjectField;
 class CAknPhysics;
 
 /**
 *  CNcsHeaderContainer
 */
-class CNcsHeaderContainer : public CCoeControl, public MNcsAddressPopupList
+class CNcsHeaderContainer : public CCoeControl, public MNcsAddressPopupList,
+    public MNcsPopupListBoxObserver
     {
 
 public:
@@ -73,27 +73,37 @@
 private: // constructor/destructor
 
     /**
-    * CNcsHeaderContainer
-    * C++ constructor.
-    * @param aParent Parent control.
-    * @param aMailBox reference to current mailbox item
-    */
-	CNcsHeaderContainer( CCoeControl& aParent, CFSMailBox& aMailBox, CAknPhysics* aPhysics );
-	
-	/**
-	* ConstructL
-	* 2nd phase constructor.
-	*/
-	void ConstructL( TInt aFlags );
+     * CNcsHeaderContainer
+     * C++ constructor.
+     * @param aParent Parent control.
+     * @param aMailBox reference to current mailbox item
+     */
+    CNcsHeaderContainer( CCoeControl& aParent, CFSMailBox& aMailBox, CAknPhysics* aPhysics );
+
+    /**
+     * ConstructL
+     * 2nd phase constructor.
+     */
+    void ConstructL( TInt aFlags );
 
 public: // function members
-	
-	/**
-	* GetToFieldAddressesL
-	* Get addresses in TO-field.
-	* @return Array of addresses.
-	*/
-	const RPointerArray<CNcsEmailAddressObject>& GetToFieldAddressesL( 
+
+    /**
+     * From MNcsPopupListBoxObserver.
+     */
+    TBool PopupVisibilityChangingL( TBool aVisible );
+
+    /**
+     * From MNcsPopupListBoxObserver.
+     */
+    void PopupItemSelectedL();
+
+    /**
+     * GetToFieldAddressesL
+     * Get addresses in TO-field.
+     * @return Array of addresses.
+     */
+    const RPointerArray<CNcsEmailAddressObject>& GetToFieldAddressesL( 
         TBool aParseNow = ETrue );
 
 	/**
@@ -347,18 +357,17 @@
     TBool IsAddressInputField( const CCoeControl* aControl ) const;
 
     TBool IsRemoteSearchInprogress() const;
-    
-    /**
-     * Shows/hides cursor.
-     * 
-     * @param aShow ETrue - shows, EFalse - hides cursor.
-     */
-    void ShowCursor( TBool aShow, TDrawNow aDrawNow = ENoDrawNow );
 
     void DoScroll();
-    
+    void DoScrollFocusToTop();
+
     void SetPhysicsEmulationOngoing( TBool aPhysOngoing );
     
+    virtual void HandleResourceChange( TInt aType );
+
+    // Set origin for header's top position.
+    void SetOrigin( TPoint& aPoint );
+
 private: // Function members
 
 	void FocusChanged(TDrawNow aDrawNow);
@@ -410,47 +419,47 @@
     
 private: // Data members
 
-    /*
-    * Parent window
-    * Not Own
-    */
+    // Parent window.
     CCoeControl& iParent;
 
     MNcsFieldSizeObserver& iFieldSizeObserver;
     
     CAknLongTapDetector*      iLongTapDetector;
-	
+
     CEikButtonGroupContainer* iMenuBar;
-    
+
     CNcsAddressInputField* iToField;
-
     CNcsAddressInputField* iCcField;
-
     CNcsAddressInputField* iBccField;
 
     CNcsSubjectField* iSubjectField;
 
     CNcsAttachmentField* iAttachmentField;
 
-	// The attachments count
+    // The attachments count
     TInt iAttachmentCount;
 
-	// Address popup data members
-	CNcsPopupListBox* iAacListBox;
+    // Popup for resently used email addressses. Own.
+    CNcsPopupListBox* iAacListBox;
 
-	CFSMailBox& iMailBox;
-	
+    CFSMailBox& iMailBox;
+
     //flag which disables changes of MSK label if any popup dialog is open
     TBool iSwitchChangeMskOff;
 
     TBool iLongTapEventConsumed;
     TBool iRALInProgress;
-    
+
     // Currently focused control
     CCoeControl* iFocused;
 
     // panning related
     CAknPhysics* iPhysics;
+
+    // Header containers default top left position.
+    TPoint iOrigin;
+
+    TBool iSplitScreenVKBEnabled;
     };