00001 // EIKGTED.H 00002 // 00003 // Copyright (c) 1997-1999 Symbian Ltd. All rights reserved. 00004 // 00005 00006 #if !defined(__EIKGTED_H__) 00007 #define __EIKGTED_H__ 00008 00009 #if !defined(__EIKEDWIN_H__) 00010 #include <eikedwin.h> 00011 #endif 00012 00013 00014 #if !defined(__BADESCA_H__) 00015 #include <badesca.h> 00016 #endif 00017 00018 #if !defined(__EIKON_HRH__) 00019 #include <eikon.hrh> 00020 #endif 00021 00022 class CGlobalText; 00023 class CControlEnv; 00024 class CEikDialogToolBar; 00025 class CPrintSetup; 00026 class CTextPageRegionPrinter; 00027 class CEikDialogToolBar; 00028 00038 class CEikGlobalTextEditor : public CEikEdwin 00039 { 00040 00041 public: 00042 00046 enum TFontStyleFlags 00047 { 00049 EStandard =0x00, 00050 00052 EBold =0x01, 00053 00055 EItalic =0x02, 00056 00058 EUnderline =0x04 00059 }; 00060 00061 public: // construction and destruction 00062 00066 IMPORT_C CEikGlobalTextEditor(); 00067 00073 IMPORT_C CEikGlobalTextEditor(const TGulBorder& aBorder); 00074 00078 IMPORT_C ~CEikGlobalTextEditor(); 00079 00100 IMPORT_C void ConstructL(const CCoeControl* aParent, 00101 TInt aNumberOfLines, 00102 TInt aTextLimit, 00103 TInt aEdwinFlags, 00104 TInt aFontControlFlags, 00105 TInt aFontNameFlags); 00106 00107 // This feature is not supported in Avkon; type made more general for 00108 // source compatibility 00109 00115 IMPORT_C void SetButtonGroup(CCoeControl* aButtonGroup); 00116 00117 // This feature is not supported in Avkon 00123 IMPORT_C void SetLineCursorBitmapL(CFbsBitmap* aBitmap); 00124 00125 public: // formatting dialogs 00126 00144 IMPORT_C TBool RunFontDialogL(TInt aFontFlags=EGulNoSymbolFonts, 00145 CGraphicsDevice* aGraphicsDevice=NULL, 00146 TInt aFontControlFlags=EGulFontControlAll); 00147 00153 IMPORT_C void RunTabsDialogL(TInt aPageWidth); 00154 00162 IMPORT_C void RunIndentsDialogL(TInt aPageWidth); 00163 00169 IMPORT_C void SetGraphicsDevice(CGraphicsDevice* aGraphicsDevice); 00170 00175 IMPORT_C void RunFindDialogL(); 00176 00180 IMPORT_C void RunFindAgainDialogL(); 00181 00188 IMPORT_C void RunReplaceDialogL(); 00189 00198 IMPORT_C void InitFindL(SEdwinFindModel*& aModel, 00199 CDesCArray*& aFindList, 00200 CDesCArray*& aReplaceList); 00201 00212 IMPORT_C TBool DoFindL(); 00213 00224 IMPORT_C void RunParaDialogsL(TInt aCommand); 00225 00233 IMPORT_C TBool RunPaginateDialogL(CPrintSetup* aPrintSetup, 00234 CArrayFix<TInt>* aCharsPerPage); 00235 00236 public: // other functions 00237 00243 IMPORT_C CGlobalText* GlobalText() const; 00244 00256 IMPORT_C void ApplyParaFormatL(CParaFormat* aParaFormat, 00257 TParaFormatMask& aParaMask); 00258 00270 IMPORT_C void ApplyCharFormatL(TCharFormat& aCharFormat, 00271 TCharFormatMask& aCharMask); 00272 00283 IMPORT_C void BoldItalicUnderlineEventL(TInt aFontFlag); 00284 00289 IMPORT_C void UpdateButtonGroup(); 00290 00291 public: // from CCoeControl 00292 00306 IMPORT_C void ConstructFromResourceL(TResourceReader& aReader); 00307 00318 IMPORT_C TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent, 00319 TEventCode aType); 00325 IMPORT_C void ActivateL(); 00326 00334 IMPORT_C void HandlePointerEventL(const TPointerEvent& aPointerEvent); 00335 00336 public: // from CEikEdwin 00337 00345 IMPORT_C TInt LineCursorWidth() const; 00346 00347 protected: 00348 00358 IMPORT_C void BaseConstructL(); 00359 00360 protected: //from CCoeControl 00361 00370 IMPORT_C void WriteInternalStateL(RWriteStream& aWriteStream) const; 00371 00372 private: // from CoeControl 00373 00374 IMPORT_C void Reserved_2(); 00375 00376 private: 00377 00381 IMPORT_C void* ExtensionInterface( TUid aInterface ); 00382 00383 private: // from CEikEdwin 00384 00385 IMPORT_C void Reserved_3(); 00386 00387 private: 00388 00389 void CheckDocumentNotEmptyL(); 00390 00391 void CreateFindModelL(); 00392 00393 void GetTextForFindL(); 00394 00395 protected: 00396 00400 CCharFormatLayer* iCharFormatLayer; 00401 00405 CParaFormatLayer* iParaFormatLayer; 00406 00407 private: 00408 00409 CDesCArray* iFindList; 00410 00411 CDesCArray* iReplaceList; 00412 00413 SEdwinFindModel* iFindModel; 00414 00415 CEikDialogToolBar* iButGroup; 00416 00417 TInt iLineCursorWidth; 00418 00419 CFbsBitmap* iLineCursor; 00420 00421 TInt iFontControlFlags; 00422 00423 TInt iFontNameFlags; 00424 00425 CGraphicsDevice* iGraphicsDevice; 00426 00427 TInt iSpare[4]; 00428 }; 00429 00430 00431 // __EIKGTED_H__ 00432 #endif 00433 00434 // enf of file