emailuis/uicomponents/inc/fstextviewer.h
branchRCL_3
changeset 25 3533d4323edc
parent 0 8466d47a6819
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/emailuis/uicomponents/inc/fstextviewer.h	Wed Sep 01 12:28:57 2010 +0100
@@ -0,0 +1,139 @@
+/*
+* 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:  API class for TextViewer component
+*
+*/
+
+
+#ifndef C_FSTEXTVIEWER_H
+#define C_FSTEXTVIEWER_H
+
+//<cmail> removed __FS_ALFRED_SUPPORT flag
+//#include <fsconfig.h>
+//</cmail> removed __FS_ALFRED_SUPPORT flag
+#include <e32base.h>
+// <cmail> SF
+#include <alf/alfenv.h>
+// </cmail>
+class CFsRichText;
+class CFsTextViewerVisualizer;
+class CFsTextViewerControl;
+class MFsTextViewerObserver;
+class CFsSmileyDictionary;
+class CFsTextViewerKeys;
+class CFsTextViewerWatermark;
+class CAlfLayout;
+class CAlfTexture;
+class CFsTextViewerVisualizerSettings;
+
+class CFsTextViewer : public CBase
+    {
+    public:
+        IMPORT_C static CFsTextViewer* NewL ( CAlfEnv& aEnv );
+        IMPORT_C ~CFsTextViewer();
+       
+    public:
+        IMPORT_C CAlfControl* GetControl() const;
+        IMPORT_C void SetTextL( 
+                CFsRichText* aText, 
+                CFsSmileyDictionary* aSmDict );
+        IMPORT_C void Show();
+        IMPORT_C void Hide();
+        IMPORT_C void SetObserver( MFsTextViewerObserver* aObserver );
+        IMPORT_C void SetScrollOffsetInPx( TInt aPxOffset );
+        IMPORT_C void SetScrollOffsetInLines( TInt aLineOffset );
+        IMPORT_C void SetSmileySize( TSize aSize );
+        IMPORT_C void SetPictureSize( TSize aSize );
+        IMPORT_C void SetScrollDelay( TInt aDelay );
+        IMPORT_C void SetCursorDelay( TInt aDelay );
+        IMPORT_C void EnableSmileys( TBool aStatus = ETrue );
+        IMPORT_C TBool Smileys();
+        IMPORT_C void ReloadTextL();
+        IMPORT_C void GetCurrentHotspotL( TInt& aBegin, TInt& aEnd );
+        IMPORT_C void GetMarkedArea( TInt& aBegin, TInt& aEnd );
+        IMPORT_C void EnableCursorUpDown( TBool aStatus = ETrue );
+        IMPORT_C TBool CursorUpDown();
+        IMPORT_C void SetCustomKeys( CFsTextViewerKeys* aKeys );
+        IMPORT_C CFsTextViewerKeys* Keys();
+        IMPORT_C void SetWatermarkL( CFsTextViewerWatermark* aWatermark );
+        IMPORT_C CAlfLayout* RootLayout();
+        IMPORT_C void SetBackgroundColorL( const TRgb& aColor );
+        IMPORT_C void SetBackgroundImageL( CAlfTexture& aTexture );
+        IMPORT_C void SetBackgroundOpacity( const TAlfTimedValue& aOpacity );
+        IMPORT_C const TAlfTimedValue& BackgroundOpacity() const;
+        IMPORT_C void SetPartBgColorL( 
+                TInt aStartChar, 
+                TInt aEndChar, 
+                const TRgb& aColor );
+        IMPORT_C void SetPartBgImageL( 
+                TInt aStartChar, 
+                TInt aEndChar, 
+                CAlfTexture& aTexture );
+        IMPORT_C void SetLiteLineBg( 
+                CAlfTexture& aTexture, 
+                TReal32 aOpacity );
+        IMPORT_C void SetActionButton( 
+                CAlfTexture& aTexture, 
+                TReal32 aOpacity );
+        IMPORT_C void SetActionButtonMargin( TReal32 aMargin );
+        IMPORT_C void SetActionButtonSize( TReal32 aWidth, TReal32 aHeight );
+        IMPORT_C void SetMirroring( TBool aEnable = ETrue );
+        IMPORT_C TInt GetTotalLines();
+        IMPORT_C TInt GetFirstDisplayedLine();
+        //<cmail>
+        IMPORT_C TInt GetFirstCharInLine(TInt aChar);
+        IMPORT_C TInt GetLineNumber(TInt aLineOffset);
+        //</cmail>
+        IMPORT_C TInt GetLastDisplayedLine();
+        IMPORT_C void RemoveEndLinesL( TInt aLines );
+        IMPORT_C void ReplaceTextL( 
+                CFsRichText* aRichText, 
+                CFsSmileyDictionary* aSmDict = NULL );
+        IMPORT_C void FocusLineL( 
+                TInt aLine, 
+                TBool aShowAsFirstLine = EFalse );
+        IMPORT_C void SetLeftMargin( TInt aMargin );
+        IMPORT_C void SetRightMargin( TInt aMargin );
+        IMPORT_C void ReloadPicturesL( TInt aLine = -1 );
+        IMPORT_C TBool GetVisibleFocusedHotspotLine( TInt& aLineNum ) const;
+        IMPORT_C void HideActionButtonFromCurrentHighlightedHotspot();
+        IMPORT_C void ShowActionButtonForCurrentHighlightedHotspotL();
+        // <cmail>
+        IMPORT_C void SetCurrentHotspotByOrderL( TInt aIndex, TBool aFocusLine = EFalse );
+        // </cmail>
+        IMPORT_C void SetCurrentHotspotByCharL( TInt aIndex );
+        IMPORT_C CAlfLayout* GetStatusLayout();
+        IMPORT_C void UpdateStatusLayout();
+        IMPORT_C void RemoveStatusLayout();
+        IMPORT_C HBufC* GetCurrentHotspotTextL();
+        // <cmail>
+        IMPORT_C TInt GetCurrentHotspotByOrder();
+        // </cmail>
+        
+    private:
+        CFsTextViewer( CAlfEnv& aEnv );
+        void ConstructL( CAlfEnv& aEnv );
+    
+    private:
+        CFsTextViewerVisualizer* iVisualizer;
+        CFsTextViewerControl* iControl;
+        CFsTextViewerWatermark* iWatermark;
+        CAlfTexture* iTexture;
+        TRgb iColor;
+        TBool iBackColorSet;
+        CFsTextViewerVisualizerSettings* iSettings;
+    };
+
+#endif // C_FSTEXTVIEWER_H
+