--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/emailuis/emailui/inc/ncscontrol.h Wed Sep 01 12:28:57 2010 +0100
@@ -0,0 +1,98 @@
+/*
+* Copyright (c) 2007 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: virtual class for compose view
+*
+*/
+
+
+
+#ifndef __NCS_CONTROL_H__
+#define __NCS_CONTROL_H__
+
+#include <e32base.h>
+#include <eiklabel.h>
+
+#include "ncsfieldsizeobserver.h"
+
+class CNcsEditor;
+class CCoeControl;
+
+
+// CLASS DECLARATION
+
+/**
+* CNcsControl container control class.
+*
+* @lib -
+* @since S60 v3.0
+*/
+class MNcsControl
+ {
+
+public: // constructor
+
+ MNcsControl( MNcsFieldSizeObserver* aObserver );
+
+public: // new functions
+
+ virtual TInt LineCount() const = 0;
+ virtual TInt ScrollableLines() const = 0;
+ virtual TInt GetNumChars() const = 0;
+ virtual TInt CursorLineNumber() const = 0;
+ virtual TInt CursorPosition() const = 0;
+ virtual void Reposition(TPoint& aPt, TInt aWidth) = 0;
+ virtual const TDesC& GetLabelText() const = 0;
+ virtual TInt LayoutLineCount() const = 0;
+
+protected:
+
+ MNcsFieldSizeObserver* iSizeObserver;
+
+ };
+
+class CNcsLabel : public CEikLabel, public MNcsControl
+ {
+public:
+
+ CNcsLabel( const CCoeControl& aParent, MNcsFieldSizeObserver* aSizeObserver );
+
+public:
+
+ inline virtual TInt LineCount() const;
+ inline virtual TInt ScrollableLines() const;
+ inline virtual TInt GetNumChars() const;
+ inline virtual TInt CursorLineNumber() const;
+ inline virtual TInt CursorPosition() const;
+ virtual void Reposition( TPoint& aPt, TInt aWidth );
+ inline virtual const TDesC& GetLabelText() const;
+ TInt LayoutLineCount() const;
+ virtual void FocusChanged( TDrawNow aDrawNow );
+ TRect TextHitAreaRect();
+
+protected: // methods from base class
+
+ virtual void HandleResourceChange( TInt aType );
+private: // methods used internally
+
+private: // data
+
+ void UpdateTextColor();
+ const CCoeControl& iParent;
+ };
+
+#include "ncscontrol.inl"
+
+#endif // __NCS_CONTROL_H__
+
+// End of File