--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingappbase/msgeditor/viewinc/MsgHeader.h Thu Dec 17 08:44:11 2009 +0200
@@ -0,0 +1,141 @@
+/*
+* Copyright (c) 2002-2006 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: MsgHeader declaration
+*
+*/
+
+
+
+#ifndef CMSGHEADER_H
+#define CMSGHEADER_H
+
+// ========== INCLUDE FILES ================================
+
+#include "MsgFormComponent.h" // for CMsgFormComponent
+
+// ========== CONSTANTS ====================================
+
+// ========== MACROS =======================================
+
+// ========== DATA TYPES ===================================
+
+// ========== FUNCTION PROTOTYPES ==========================
+
+// ========== FORWARD DECLARATIONS =========================
+
+class CMsgCaptionedHighlight;
+class CMsgDummyHeaderCleaner;
+
+// ========== CLASS DECLARATION ============================
+
+/**
+* Defines header control container for message editors/viewers.
+*
+*/
+class CMsgHeader : public CMsgFormComponent,
+ public MCoeControlHitTest
+ {
+ public:
+
+ /**
+ * Factory method that creates this control.
+ * @param aParent
+ * @param aMargins
+ * @return
+ */
+ static CMsgHeader* NewL( const CCoeControl& aParent,
+ const TMargins& aMargins);
+
+ /**
+ * Destructor.
+ */
+ virtual ~CMsgHeader();
+
+ public: // Methods from base classes
+
+ /**
+ * Calculates and sets the size for the header and returns new size as
+ * reference aSize. If aInit == ETrue, sets also size for the controls
+ * by calling their SetAndGetSizeL functions.
+ *
+ * @param aSize
+ * @param aInit
+ */
+ void SetAndGetSizeL( TSize& aSize, TBool aInit );
+
+ /**
+ * Draws the header.
+ * @param aRect
+ */
+ void Draw( const TRect& aRect ) const;
+
+ /**
+ * Returns a number of controls.
+ * @return
+ */
+ TInt CountComponentControls() const;
+
+ /**
+ * Returns a control of index aIndex.
+ * @param aIndex
+ * @return
+ */
+ CCoeControl* ComponentControl( TInt aIndex ) const;
+
+ /**
+ * Evaluates whether control is "hit" by touch event.
+ */
+ TBool HitRegionContains( const TPoint& aPoint, const CCoeControl& aControl ) const;
+
+ protected: // from CCoeControl
+
+ /**
+ * Sets new position for all the controls.
+ */
+ void SizeChanged();
+
+ /**
+ * This is called when the focus of the control is changed.
+ * @param aDrawNow
+ */
+ void FocusChanged( TDrawNow aDrawNow );
+
+ private:
+
+ /**
+ * Constructor (not available).
+ */
+ CMsgHeader();
+
+ /**
+ * Constructor.
+ * @param aMargins
+ */
+ CMsgHeader( const TMargins& aMargins );
+
+ /**
+ * 2nd phase constructor.
+ * @param aParent
+ */
+ void ConstructL( const CCoeControl& aParent );
+
+ private:
+
+ CMsgCaptionedHighlight* iFrame;
+ CMsgDummyHeaderCleaner* iHeaderCleaner;
+ };
+
+#endif // CMSGHEADER_H
+
+// End of File