sdkcreationmw/sdkexamples/cppexamples/S60Ex/RichTextEditor/inc/RichTextEditorContainer.h
author rajpuroh
Mon, 08 Mar 2010 12:09:11 +0530
changeset 0 b26acd06ea60
child 1 ac50fd48361b
permissions -rw-r--r--
First Contribution of SDK components
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
     1
/*
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
     2
* Copyright (c) 2006 - 2007 Nokia Corporation and/or its subsidiary(-ies).
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
     3
* All rights reserved.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
     4
* This component and the accompanying materials are made available
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
     6
* which accompanies this distribution, and is available
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
     8
*
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
     9
* Initial Contributors:
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    11
*
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    12
* Contributors:
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    13
*
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    14
* Description: 
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    15
*
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    16
*/
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    17
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    18
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    19
#ifndef RTECONTAINER_H
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    20
#define RTECONTAINER_H
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    21
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    22
// INCLUDES
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    23
#include <coecntrl.h>
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    24
#include <eikrted.h>
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    25
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    26
#include "eiklabel.h"  //CEikLabel
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    27
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    28
#include "mypicture.h"
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    29
// FORWARD DECLARATIONS
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    30
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    31
// CLASS DECLARATION
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    32
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    33
/**
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    34
*  CRTEContainer  container control class.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    35
*/
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    36
class CRTEContainer : public CCoeControl
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    37
    {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    38
    public: // Constructors and destructor
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    39
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    40
        /**
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    41
        * EPOC default constructor.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    42
        * @param aRect Frame rectangle for container.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    43
        */
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    44
        void ConstructL(const TRect& aRect);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    45
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    46
        /**
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    47
        * Destructor.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    48
        */
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    49
        ~CRTEContainer();
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    50
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    51
       /**
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    52
        * Toggle -left-center-right- alignment within the actual paragraph
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    53
        */
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    54
	void SetAlignment(CParaFormat::TAlignment );
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    55
		//! Select an area of text
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    56
	void SetSelectionL(TInt,TInt);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    57
		//! Swicht on/off the Bold/Italic/Underline attributes
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    58
	void SetCharacterBIUAttribL(CEikGlobalTextEditor::TFontStyleFlags );
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    59
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    60
	#ifdef __SERIES60_3X__
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    61
       /**
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    62
		* Change the text's font from 3rd Edition onwards
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    63
		*/
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    64
		void SetFont(TInt aFontId);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    65
	#else
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    66
		//! Change the text's font
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    67
		void SetFont(const CFont* );
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    68
	#endif
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    69
       /**
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    70
        * Toggle between strikethrough or not strikethrough text
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    71
        */
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    72
	void Strike();
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    73
       /**
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    74
		* Change the text's color
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    75
		*/
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    76
	void SetColor(TRgb );
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    77
		//! Demonstrate the how program use some Richtext feature
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    78
	void IntroL();
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    79
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    80
       /**
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    81
        * Create Demo Content
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    82
        */
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    83
		void DemoL();
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    84
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    85
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    86
    public: // Functions from base classes
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    87
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    88
    private:
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    89
	// New functions
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    90
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    91
		//! Prepare the Richtext Editor, set the Editor flags
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    92
		void Prepare();
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    93
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    94
		//! Apply the final settings after the Editor is activated
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    95
		void SetupL();
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    96
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    97
		//! Append Bitmap to iBitmap Array
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    98
		void PrepareBitmapL();
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    99
		//! Call Richtext's InsertL() with the CPicture
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   100
		void InsertMyPictureL(TInt aPos);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   101
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   102
		//! Echo the last engine operation to the status line
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   103
	void Echo(TInt );
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   104
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   105
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   106
		// Functions from base classes
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   107
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   108
       /**
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   109
        * From CoeControl,SizeChanged.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   110
        */
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   111
        void SizeChanged();
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   112
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   113
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   114
       /**
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   115
        * From CoeControl,CountComponentControls.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   116
        */
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   117
        TInt CountComponentControls() const;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   118
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   119
       /**
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   120
        * From CCoeControl,ComponentControl.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   121
        */
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   122
        CCoeControl* ComponentControl(TInt aIndex) const;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   123
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   124
       /**
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   125
        * From CCoeControl,Draw.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   126
        */
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   127
        void Draw(const TRect& aRect) const;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   128
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   129
		/**
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   130
        * From CCoeControl,OfferKeyEventL.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   131
        */
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   132
		TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   133
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   134
    private: //data
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   135
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   136
		CEikRichTextEditor* iRtEd; // Rich Text Editor
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   137
		CArrayFixFlat<CFbsBitmap*>* iBitmap; // Reference Array for Images
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   138
		CEikLabel* iStatusLine; // Status line Label
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   139
		TBool iStrike;// Strikethrough Switch
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   140
    };
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   141
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   142
#endif
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   143
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   144
// End of File