sdkcreationmw/sdkexamples/cppexamples/S60Ex/RichTextEditor/inc/RichTextEditorContainer.h
author rajpuroh
Wed, 21 Apr 2010 09:56:53 +0530
changeset 1 ac50fd48361b
parent 0 b26acd06ea60
permissions -rw-r--r--
Second Contribution
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
1
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
     5
* under the terms of the License "Eclipse Public License v1.0"
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
*
1
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
    14
* Description:
0
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
1
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
    60
	
0
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);
1
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
    65
	
0
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    66
       /**
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    67
        * Toggle between strikethrough or not strikethrough text
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    68
        */
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    69
	void Strike();
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    70
       /**
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    71
		* Change the text's color
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    72
		*/
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    73
	void SetColor(TRgb );
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    74
		//! Demonstrate the how program use some Richtext feature
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    75
	void IntroL();
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    76
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    77
       /**
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    78
        * Create Demo Content
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    79
        */
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    80
		void DemoL();
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    81
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    82
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    83
    public: // Functions from base classes
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    84
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    85
    private:
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    86
	// New functions
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    87
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    88
		//! Prepare the Richtext Editor, set the Editor flags
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    89
		void Prepare();
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    90
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    91
		//! Apply the final settings after the Editor is activated
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    92
		void SetupL();
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    93
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    94
		//! Append Bitmap to iBitmap Array
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    95
		void PrepareBitmapL();
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    96
		//! Call Richtext's InsertL() with the CPicture
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    97
		void InsertMyPictureL(TInt aPos);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    98
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    99
		//! Echo the last engine operation to the status line
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   100
	void Echo(TInt );
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   101
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   102
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   103
		// Functions from base classes
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
        * From CoeControl,SizeChanged.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   107
        */
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   108
        void SizeChanged();
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   109
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   110
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   111
       /**
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   112
        * From CoeControl,CountComponentControls.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   113
        */
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   114
        TInt CountComponentControls() const;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   115
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   116
       /**
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   117
        * From CCoeControl,ComponentControl.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   118
        */
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   119
        CCoeControl* ComponentControl(TInt aIndex) const;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   120
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   121
       /**
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   122
        * From CCoeControl,Draw.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   123
        */
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   124
        void Draw(const TRect& aRect) const;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   125
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   126
		/**
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   127
        * From CCoeControl,OfferKeyEventL.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   128
        */
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   129
		TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   130
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   131
    private: //data
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   132
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   133
		CEikRichTextEditor* iRtEd; // Rich Text Editor
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   134
		CArrayFixFlat<CFbsBitmap*>* iBitmap; // Reference Array for Images
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   135
		CEikLabel* iStatusLine; // Status line Label
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   136
		TBool iStrike;// Strikethrough Switch
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   137
    };
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   138
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   139
#endif
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   140
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   141
// End of File