1.1 --- a/epoc32/include/mw/eikrted.h Tue Nov 24 13:55:44 2009 +0000
1.2 +++ b/epoc32/include/mw/eikrted.h Tue Mar 16 16:12:26 2010 +0000
1.3 @@ -1,1 +1,639 @@
1.4 -eikrted.h
1.5 +/*
1.6 +* Copyright (c) 1997-1999 Nokia Corporation and/or its subsidiary(-ies).
1.7 +* All rights reserved.
1.8 +* This component and the accompanying materials are made available
1.9 +* under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
1.10 +* which accompanies this distribution, and is available
1.11 +* at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
1.12 +*
1.13 +* Initial Contributors:
1.14 +* Nokia Corporation - initial contribution.
1.15 +*
1.16 +* Contributors:
1.17 +*
1.18 +* Description:
1.19 +*
1.20 +*/
1.21 +
1.22 +
1.23 +#if !defined(__EIKRTED_H__)
1.24 +#define __EIKRTED_H__
1.25 +
1.26 +#if !defined(__EIKGTED_H__)
1.27 +#include <eikgted.h>
1.28 +#endif
1.29 +
1.30 +#if !defined(__APPARC_H__)
1.31 +#include <apparc.h>
1.32 +#endif
1.33 +
1.34 +#if !defined(__TXTMRTSR_H__)
1.35 +#include <txtmrtsr.h>
1.36 +#endif
1.37 +
1.38 +#if !defined(__GDI_H__)
1.39 +#include <gdi.h>
1.40 +#endif
1.41 +
1.42 +class CRichText;
1.43 +class TResourceReader;
1.44 +class TPictureHeader;
1.45 +class CEikRubberBand;
1.46 +class CBufStore;
1.47 +class CStreamStore;
1.48 +class CApaDoor;
1.49 +class CEikParserManager;
1.50 +class MEikRichTextEditorParserObserver;
1.51 +class MParser;
1.52 +
1.53 +/**
1.54 + * Rich text editor.
1.55 + *
1.56 + * This is an edit window that supports rich text, including embedded objects
1.57 + * represented either by icons or glass doors.
1.58 + *
1.59 + * @since Symbian 5.0
1.60 + */
1.61 +class CEikRichTextEditor : public CEikGlobalTextEditor,
1.62 + public MApaEmbeddedDocObserver,
1.63 + public MRichTextStoreResolver,
1.64 + public MPictureFactory
1.65 + {
1.66 +
1.67 +public:
1.68 +
1.69 + /**
1.70 + * Identifies how an embedded object should be represented.
1.71 + *
1.72 + * One of these values is specified when the object is inserted.
1.73 + */
1.74 + enum TObjectFormat
1.75 + {
1.76 + /** The object is always represented by an icon */
1.77 + EAlwaysIconic,
1.78 +
1.79 + /**
1.80 + * The object is represented by a glass door, if possible, or by icon,
1.81 + * if not.
1.82 + */
1.83 + EGlassIfPossible
1.84 + };
1.85 +
1.86 + /**
1.87 + * Edit window attribute flags specific to the rich text editor.
1.88 + *
1.89 + * These may be specified during construction in addition to the values
1.90 + * contained in the @c TFlags enum in class @c CEikEdwin.
1.91 + */
1.92 + enum // user flag
1.93 + {
1.94 + /**
1.95 + * All embedded objects are represented by icon rather than
1.96 + * glass doors.
1.97 + */
1.98 + EShowAllPicturesAsIconic =0x00100000,
1.99 +
1.100 + /**
1.101 + * The editor has no text parsers.
1.102 + *
1.103 + * Text parsers are used to recognise and tag special text strings,
1.104 + * e.g. URLs.
1.105 + */
1.106 + ENoTextParsers =0x00200000,
1.107 +
1.108 + /**
1.109 + * When pasting text into the editor, the text is
1.110 + * stripped of all formatting.
1.111 + *
1.112 + * @since 3.2
1.113 + */
1.114 + EPasteAsPlainText =0x00400000
1.115 + };
1.116 +
1.117 +public:
1.118 +
1.119 + /**
1.120 + * C++ default constructor.
1.121 + */
1.122 + IMPORT_C CEikRichTextEditor();
1.123 +
1.124 + /**
1.125 + * C++ constructor.
1.126 + *
1.127 + * @param aBorder Border for the rich text editor.
1.128 + */
1.129 + IMPORT_C CEikRichTextEditor(const TGulBorder& aBorder);
1.130 +
1.131 + /**
1.132 + * Destructor.
1.133 + */
1.134 + IMPORT_C ~CEikRichTextEditor();
1.135 +
1.136 + /**
1.137 + * By default Symbian 2nd phase constructor is private.
1.138 + *
1.139 + * Completes construction of the rich text editor.
1.140 + *
1.141 + * The editor's paragraph and character formatting are set to default
1.142 + * values, unless the @c CEikEdwin::EUserSuppliedText flag is specified
1.143 + * in @c aEdwinFlags.
1.144 + *
1.145 + * @param aParent If not NULL, the editor's parent control.
1.146 + * If NULL, the editor has no parent.
1.147 + * @param aNumberOfLines The number of lines visible in the editor.
1.148 + * This controls the editor's height.
1.149 + * @param aTextLimit The maximum number of characters that can be entered
1.150 + * into the editor.
1.151 + * @param aEdwinFlags Edit window attribute flags.
1.152 + * See @c CEikEdwin::TFlags().
1.153 + * @param aFontControlFlags = EGulFontControlAll Flags that specify which
1.154 + * font-related controls should not appear in font dialogs launched
1.155 + * from the edit window. For instance @c EGulFontControlBold removes
1.156 + * the bold checkbox control. The default shows all. For possible
1.157 + * values, see @c gulftflg.hrh.
1.158 + * @param aFontNameFlags = EGulNoSymbolFonts The font flags. These control
1.159 + * whether symbol and monospace fonts should be displayed in font
1.160 + * dialogs launched from the edit window. For possible values, see
1.161 + * @c gulftflg.hrh.
1.162 + */
1.163 + IMPORT_C void ConstructL(const CCoeControl* aParent,
1.164 + TInt aNumberOfLines,
1.165 + TInt aTextLimit,
1.166 + TInt aEdwinFlags,
1.167 + TInt aFontControlFlags=EGulFontControlAll,
1.168 + TInt aFontNameFlags=EGulNoSymbolFonts);
1.169 +
1.170 + /**
1.171 + * Gets a pointer to the rich text object owned by the editor.
1.172 + *
1.173 + * @return Pointer to the rich text object.
1.174 + */
1.175 + IMPORT_C CRichText* RichText() const;
1.176 +
1.177 + /**
1.178 + * Launches an insert object dialog (@c CEikInsertObjectDialog),
1.179 + * and inserts a default document of the application type selected
1.180 + * by the user.
1.181 + *
1.182 + * The object can be displayed either as a glass door, if supported,
1.183 + * or as an icon, and the inserted object is opened for editing.
1.184 + *
1.185 + * Displays an info message and leaves if the editor's text limit
1.186 + * has been reached.
1.187 + *
1.188 + * @param aFormat Specifies whether the embedded document should be
1.189 + * displayed as an icon or as a glass door.
1.190 + */
1.191 + IMPORT_C void InsertObjectL(TObjectFormat aFormat);
1.192 +
1.193 + /**
1.194 + * Launches an insert object dialog (@c CEikInsertObjectDialog),
1.195 + * and inserts a default document of the application type selected
1.196 + * by the user.
1.197 + *
1.198 + * The object is displayed as a glass door rather than as an icon,
1.199 + * if supported and the inserted object is opened for editing.
1.200 + *
1.201 + * Displays an info message and leaves if the editor's text limit
1.202 + * has been reached.
1.203 + *
1.204 + * Default is @c EGlassIfPossible.
1.205 + */
1.206 + IMPORT_C void InsertObjectL(); // defaults to EGlassIfPossible
1.207 +
1.208 + /**
1.209 + * Creates and inserts a default document of the specified
1.210 + * application type.
1.211 + *
1.212 + * @c CApaProcess::AddNewDocumentL() is used to create the document.
1.213 + *
1.214 + * The object can be displayed either as a glass door, if supported,
1.215 + * or as an icon, and the inserted object is opened for editing.
1.216 + *
1.217 + * Displays an info message and leaves if no suitable application DLL
1.218 + * can be found, or if the editor's text limit has been reached.
1.219 + *
1.220 + * @since Symbian 7.0
1.221 + * @param aAppDllName Filename of the application DLL.
1.222 + * @param aAppDllUid UID of the application. The default is @c KNullUid.
1.223 + * @param aFormat Specifies whether the embedded document should be
1.224 + * displayed as an icon or as a glass door.
1.225 + */
1.226 + IMPORT_C void InsertObjectL(const TDesC& aAppDllName,
1.227 + TUid aAppDllUid,
1.228 + TObjectFormat aFormat);
1.229 +
1.230 + /**
1.231 + * Creates and inserts a new embedded object of the specified type.
1.232 + *
1.233 + * First, an attempt is made to find an extended picture factory that
1.234 + * supports the insertion of pictures of the specified type. If one is
1.235 + * not found, the function leaves; if one is found, the picture is inserted
1.236 + * at the cursor position.
1.237 + *
1.238 + * Displays an info message and leaves if the editor's text limit has
1.239 + * been reached.
1.240 + *
1.241 + * @since Symbian 6.1
1.242 + * @param aPictureType The picture type.
1.243 + * @param aData The base address of the data.
1.244 + * @leave KErrNotSupported No picture factory which supports the specified
1.245 + * type is available in the control's @c Uikon
1.246 + * environment.
1.247 + */
1.248 + IMPORT_C void InsertObjectL(TUid aPictureType,
1.249 + CBase* aData);
1.250 +
1.251 + /**
1.252 + * Re-edits the embedded object at the cursor position.
1.253 + *
1.254 + * If there is no embedded object at the cursor position, or if there is a
1.255 + * selection, an info message is displayed.
1.256 + *
1.257 + * If there is a valid object at the cursor position, it is opened for
1.258 + * editing (or for viewing if the editor is read-only).
1.259 + */
1.260 + IMPORT_C void ReEditObjectL();
1.261 +
1.262 + /**
1.263 + * Gets the document position and checks whether there is an embedded
1.264 + * object at the cursor position.
1.265 + *
1.266 + * If there is no embedded object at the cursor position, or if there
1.267 + * is a selection, an info message is displayed.
1.268 + *
1.269 + * @return The document position of the embedded object, or
1.270 + * @c KErrNotFound if there is no embedded object at the cursor
1.271 + * position, or if there is a selection
1.272 + */
1.273 + IMPORT_C TInt ObjectCursorPos() const;
1.274 +
1.275 + /**
1.276 + * Tests whether there is an embedded object at the cursor position.
1.277 + *
1.278 + * If there is one, it is opened for editing (or for viewing if the editor
1.279 + * is read-only).
1.280 + *
1.281 + * @return @c ETrue if there is an embedded object at the cursor
1.282 + * position and it could be opened. @c EFalse if there is no
1.283 + * embedded object at the cursor position, or if the object has
1.284 + * a NULL UID.
1.285 + */
1.286 + IMPORT_C TBool CheckForObjectL();
1.287 +
1.288 + /**
1.289 + * Launches a format object dialog (@c CEikFormatObjectDialog) if there
1.290 + * is an embedded object at the cursor position, and the object supports
1.291 + * being displayed as a glass door.
1.292 + *
1.293 + * If the object does not support being displayed as a glass door, an
1.294 + * object information dialog (@c CEikObjectInfoDialog) is launched instead.
1.295 + *
1.296 + * If the embedded object's associated application cannot be found, an
1.297 + * info message is displayed and the function leaves.
1.298 + *
1.299 + * The function has no effect if there is no embedded object at the cursor
1.300 + * position.
1.301 + */
1.302 + IMPORT_C void EditPictureFormatL();
1.303 +
1.304 + /**
1.305 + * Handles a change to the format of an embedded object, by updating the
1.306 + * view, the scroll bars and reporting the event to its observers.
1.307 + *
1.308 + * There is no need to call this function after calling
1.309 + * @c EditPictureFormatL().
1.310 + */
1.311 + IMPORT_C void PictureFormatChangedL();
1.312 +
1.313 + /**
1.314 + * Gets a pointer to the embedded object located at the specified position.
1.315 + *
1.316 + * If the object is not in memory, the function loads it.
1.317 + *
1.318 + * If the object's associated application cannot be found, an info message
1.319 + * is displayed and the function leaves.
1.320 + *
1.321 + * @param aDoor On return, the embedded document's wrapper object (icon or
1.322 + * glass door).
1.323 + * @param aDoc On return, the embedded document.
1.324 + * @param aDocPos The document position in the editor at which the embedded
1.325 + * object is located.
1.326 + */
1.327 + IMPORT_C void GetEmbeddedAppL(CApaDoor*& aDoor,
1.328 + CApaDocument*& aDoc,
1.329 + TInt aDocPos);
1.330 +
1.331 + /**
1.332 + * Changes all embedded objects displayed as glass doors into temporarily
1.333 + * iconic.
1.334 + *
1.335 + * The function operates throughout the editor.
1.336 + *
1.337 + * Only needed when pictures are temporarily iconic.
1.338 + *
1.339 + * Has no effect if there are no embedded objects in the editor or if the
1.340 + * @c EShowAllPicturesAsIconic attribute flag was set during construction.
1.341 + */
1.342 + IMPORT_C void UpdatePictureFormatL();
1.343 +
1.344 + /**
1.345 + * Changes all embedded objects displayed as glass doors into temporarily
1.346 + * iconic.
1.347 + *
1.348 + * The function operates over a specified range of characters.
1.349 + *
1.350 + * Has no effect if there are no embedded objects in the editor or if the
1.351 + * @c EShowAllPicturesAsIconic attribute flag was set during construction.
1.352 + *
1.353 + * Only needed when pictures are temporarily iconic.
1.354 + *
1.355 + * @param aStartPos The start position.
1.356 + * @param aLength The number of characters, beginning at @c aStartPos over
1.357 + * which the function operates.
1.358 + */
1.359 + IMPORT_C void UpdatePictureFormatL(TInt aStartPos,TInt aLength);
1.360 +
1.361 + /**
1.362 + * Changes the size of the icons used to represent embedded objects.
1.363 + *
1.364 + * Any existing iconic doors can be updated to the new size by calling
1.365 + * @c UpdatePictureSizeL().
1.366 + *
1.367 + * @param aSize The new iconic door size in twips.
1.368 + */
1.369 + IMPORT_C void SetDefaultIconicDoorSize(const TSize& aSize);
1.370 +
1.371 + /**
1.372 + * Gets the size of iconic doors.
1.373 + *
1.374 + * @return The size of iconic doors.
1.375 + */
1.376 + IMPORT_C const TSize& DefaultIconicDoorSize() const;
1.377 +
1.378 + /**
1.379 + * Changes the size of all icons representing embedded objects to the
1.380 + * default iconic door size.
1.381 + *
1.382 + * Also updates any objects currently displayed as glass doors, so that
1.383 + * if displayed as icons, they will use the correct size.
1.384 + *
1.385 + * The function operates throughout the editor.
1.386 + */
1.387 + IMPORT_C void UpdatePictureSizeL();
1.388 +
1.389 + /**
1.390 + * Changes the size of all icons representing embedded objects to the
1.391 + * default iconic door size.
1.392 + *
1.393 + * Also updates any objects currently displayed as glass doors, so that
1.394 + * if displayed as icons, they will use the correct size.
1.395 + *
1.396 + * The function operates over a specified range of characters.
1.397 + *
1.398 + * @param aStartPos The start position.
1.399 + * @param aLength The number of characters, beginning at @c aStartPos over
1.400 + * which the function operates.
1.401 + */
1.402 + IMPORT_C void UpdatePictureSizeL(TInt aStartPos,TInt aLength);
1.403 +
1.404 + /**
1.405 + * Sets a parser observer.
1.406 + *
1.407 + * If the @c CEikEdwin::ENoTextParsers attribute flag was specified on
1.408 + * construction, this function has no effect.
1.409 + *
1.410 + * Its @c HandleCursorOverParserL() function is called when the cursor is
1.411 + * positioned over text that has been tagged by the parser, for instance
1.412 + * a URL.
1.413 + *
1.414 + * @param aObserver The parser observer.
1.415 + */
1.416 + IMPORT_C void SetParserObserver(
1.417 + MEikRichTextEditorParserObserver* aObserver);
1.418 +
1.419 + /**
1.420 + * Activate/Disable phone number grouping.
1.421 + *
1.422 + * @param aEnable @c ETrue if phone number grouping is to be activated,
1.423 + * @c EFalse otherwise.
1.424 + */
1.425 + IMPORT_C void SetPhoneNumberGrouping( TBool aEnable );
1.426 +
1.427 +public: // from CCoeControl
1.428 +
1.429 + /**
1.430 + * From @c CCoeControl.
1.431 + *
1.432 + * Handles key events.
1.433 + *
1.434 + * Has no effect (apart from returning @c EKeyWasConsumed) if the
1.435 + * @c CEikEdwin::EDisplayOnly attribute flag was specified on construction.
1.436 + *
1.437 + * Handles rich text-specific hot keys, for instance to insert an object;
1.438 + * otherwise calls @c CEikGlobalTextEditor::OfferKeyEventL().
1.439 + *
1.440 + * @param aKeyEvent The key event.
1.441 + * @param aType The type of the event. The editor only consumes events of
1.442 + * type @c EEventKey.
1.443 + * @return Indicates whether or not the editor consumed the
1.444 + * key event.
1.445 + */
1.446 + IMPORT_C TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType);
1.447 +
1.448 + /**
1.449 + * From @c CCoeControl.
1.450 + *
1.451 + * Handles pointer events inside the editor.
1.452 + *
1.453 + * Has no effect if the @c CEikEdwin::EDisplayOnly attribute flag was
1.454 + * specified on construction.
1.455 + *
1.456 + * @param aPointerEvent The pointer event to be handled.
1.457 + */
1.458 + IMPORT_C void HandlePointerEventL(const TPointerEvent& aPointerEvent);
1.459 +
1.460 + /**
1.461 + * From @c CCoeControl.
1.462 + *
1.463 + * Completes the construction of the rich text editor from a resource file.
1.464 + *
1.465 + * The editor's paragraph and character formatting are set to default
1.466 + * values, unless the @c CEikEdwin::EUserSuppliedText flag is specified in
1.467 + * the resource.
1.468 + *
1.469 + * @param aReader A resource reader positioned for reading from an
1.470 + * RTXTED resource.
1.471 + */
1.472 + IMPORT_C void ConstructFromResourceL(TResourceReader& aReader);
1.473 +
1.474 + /**
1.475 + * From @c CCoeControl.
1.476 + *
1.477 + * Activates the editor so that it is ready for use.
1.478 + *
1.479 + * For instance, the text view is created, the editor is set to observe its
1.480 + * rich text object, the editor's parser manager is set up, which handles
1.481 + * the changes that occur when the cursor is moved over tagged text
1.482 + * (for instance a URL), and all embedded objects are set to be displayed
1.483 + * as icons, of the default size.
1.484 + */
1.485 + IMPORT_C void ActivateL();
1.486 +
1.487 +private:
1.488 +
1.489 + /**
1.490 + * From CAknControl.
1.491 + */
1.492 + IMPORT_C void* ExtensionInterface( TUid aInterface );
1.493 +
1.494 +public: // from CEikEdwin
1.495 +
1.496 + /**
1.497 + * From @c CEikEdwin.
1.498 + *
1.499 + * Copies the contents of one text object into another.
1.500 + *
1.501 + * @param[in] aInText The rich text object to copy.
1.502 + * @param[out] aOutText On return, contains a copy of @c aInText.
1.503 + * @panic 26 In debug mode, if either @c aInText or @c aOutText is @c NULL.
1.504 + */
1.505 + IMPORT_C void CopyDocumentContentL(CGlobalText& aInText,CGlobalText& aOutText);
1.506 +
1.507 +protected:
1.508 +
1.509 + /**
1.510 + * Internal flags used for indicating operations.
1.511 + */
1.512 + enum // internal flags
1.513 + {
1.514 + /** Crop from left. */
1.515 + ECropFromLeft =0x00010000,
1.516 +
1.517 + /** Crop from right. */
1.518 + ECropFromRight =0x00020000,
1.519 +
1.520 + /** Crop from top. */
1.521 + ECropFromTop =0x00040000,
1.522 +
1.523 + /** Crop from bottom. */
1.524 + ECropFromBottom =0x00080000,
1.525 +
1.526 + /** Object is being re-edited. */
1.527 + EReEditingObject =0x00100000
1.528 + };
1.529 +
1.530 +protected: // from CCoeControl
1.531 +
1.532 + /**
1.533 + * From @c CCoeControl.
1.534 + *
1.535 + * Writes the internal state to the specified stream.
1.536 + *
1.537 + * @param aWriteStream Target stream.
1.538 + */
1.539 + IMPORT_C void WriteInternalStateL(RWriteStream& aWriteStream) const;
1.540 +
1.541 +protected: // from MEditObserver
1.542 +
1.543 + /**
1.544 + * From @c MEditObserver.
1.545 + *
1.546 + * This member is internal an not meant to be used.
1.547 + *
1.548 + * @param aStartEdit Start position for editing.
1.549 + * @param aEditLength The length of the edited object.
1.550 + */
1.551 + IMPORT_C void EditObserver(TInt aStartEdit,TInt aEditLength);
1.552 +
1.553 +private: // from CoeControl
1.554 +
1.555 + IMPORT_C void Draw(const TRect& aRect) const;
1.556 +
1.557 + IMPORT_C void Reserved_2();
1.558 +
1.559 +private: // from CEikEdwin
1.560 +
1.561 + IMPORT_C void HandleTextPastedL(TInt aStartPos,TInt& aLength);
1.562 + IMPORT_C void Reserved_3();
1.563 +
1.564 +private: // from MApaEmbeddedDocObserver
1.565 +
1.566 + IMPORT_C void NotifyExit(TExitMode aMode);
1.567 +
1.568 +private: // from MRichTextStoreResolver
1.569 +
1.570 + IMPORT_C const CStreamStore& StreamStoreL(TInt aPos) const;
1.571 +
1.572 +private: // from MPictureFactory
1.573 +
1.574 + IMPORT_C void NewPictureL(TPictureHeader& aHdr,const CStreamStore& aDeferredPictureStore) const;
1.575 +
1.576 +private:
1.577 +
1.578 + void CommonConstructL();
1.579 +
1.580 + static TInt InsertEmbeddedDocL(TAny *aThis);
1.581 +
1.582 + static TInt DeleteEmbeddedDoc(TAny *aThis);
1.583 +
1.584 + static TInt UpdateEmbeddedDocL(TAny* aThis);
1.585 +
1.586 + static TInt TryDeleteEmbeddedDocL(TAny *aThis);
1.587 +
1.588 + void InsertPictureL(const TPictureHeader& aPictureHeader);
1.589 +
1.590 + void DoInsertPictureL(TBool& aFormatHasChanged,const TPictureHeader& aPictureHeader);
1.591 +
1.592 + void DoReEditObjectL(TInt aDocPos);
1.593 +
1.594 + void RoomForObjectL();
1.595 +
1.596 + void InsertObjectL(CApaDocument* aDoc,TObjectFormat aFormat);
1.597 +
1.598 + void SetTextObserver(CRichText& aText);
1.599 +
1.600 + inline void DoReportEdwinEventL(MEikEdwinObserver::TEdwinEvent aEventType);
1.601 +
1.602 +protected:
1.603 +
1.604 + /**
1.605 + * Default size of iconic door.
1.606 + */
1.607 + TSize iDefaultIconicDoorSize;
1.608 +
1.609 +private:
1.610 +
1.611 + TPictureHeader iEmbeddedDoc;
1.612 +
1.613 + CIdle* iEmbeddedDocUpdate;
1.614 +
1.615 + CBufStore* iBufStore;
1.616 +
1.617 + CEikParserManager* iParserManager;
1.618 +
1.619 +private:
1.620 +
1.621 + friend class CEikParserManager;
1.622 +
1.623 +public: // new methods
1.624 +
1.625 + /**
1.626 + * Force everything to be parsed.
1.627 + */
1.628 + IMPORT_C void RefreshParsersL();
1.629 +
1.630 + };
1.631 +
1.632 +class MEikRichTextEditorParserObserver
1.633 + {
1.634 +public:
1.635 + virtual void HandleCursorOverParserL(const TDesC& aDoItText)=0;
1.636 + };
1.637 +
1.638 +inline void CEikRichTextEditor::DoReportEdwinEventL(MEikEdwinObserver::TEdwinEvent aEventType)
1.639 + {ReportEdwinEventL(aEventType);}
1.640 +
1.641 +#endif // __EIKRTED_H__
1.642 +
1.643 +// End of file