williamr@2: // Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies). williamr@2: // All rights reserved. williamr@2: // This component and the accompanying materials are made available williamr@2: // 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 williamr@2: // which accompanies this distribution, and is available williamr@2: // at the URL "http://www.symbianfoundation.org/legal/licencesv10.html". williamr@2: // williamr@2: // Initial Contributors: williamr@2: // Nokia Corporation - initial contribution. williamr@2: // williamr@2: // Contributors: williamr@2: // williamr@2: // Description: williamr@2: // williamr@2: williamr@2: #if !defined(__WNGMODEL_H__) williamr@2: #define __WNGMODEL_H__ williamr@2: williamr@2: #if !defined(__E32STD_H__) williamr@2: #include williamr@2: #endif williamr@2: #if !defined(__E32BASE_H__) williamr@2: #include williamr@2: #endif williamr@2: williamr@2: #if !defined(__F32FILE_H__) williamr@2: #include williamr@2: #endif williamr@2: williamr@2: #if !defined(__S32STD_H__) williamr@2: #include williamr@2: #endif williamr@2: williamr@2: #include williamr@2: williamr@2: // williamr@2: // Classed decalred in this file williamr@2: class CWordModel; williamr@2: class CWordProfileModel; williamr@2: // williamr@2: // Classes referenced williamr@2: class RReadStream; williamr@2: class RWriteStream; williamr@2: class CSecureStore; williamr@2: class CParaFormatLayer; williamr@2: class CCharFormatLayer; williamr@2: class CRichText; williamr@2: class CStyleList; williamr@2: class CPrintSetup; williamr@2: class MFieldFileNameInfo; williamr@2: class MFieldNumPagesInfo; williamr@2: class CStreamStore; williamr@2: class CStreamDictionary; williamr@2: williamr@2: /** Type for an array of style short cuts. williamr@2: williamr@2: @see CWordModel::StyleShortCutList() williamr@2: @publishedAll williamr@2: @deprecated williamr@2: */ williamr@2: typedef CArrayFixFlat CStyleShortCutList; williamr@2: williamr@2: williamr@2: williamr@2: class CWordModel : public CBase williamr@2: /** Word processor engine interface. williamr@2: williamr@2: This is essentially a thin layer over the rich text support (CRichText etc.) williamr@2: provided by the Application Framework's ETEXT component. williamr@2: @publishedAll williamr@2: @deprecated williamr@2: */ williamr@2: { williamr@2: public: williamr@2: IMPORT_C static CWordModel* NewL(const MFieldFileNameInfo* aFileNameInfo,const MFieldNumPagesInfo* aFieldNumPagesInfo,const TDesC& aDriverPath); williamr@2: IMPORT_C static CWordModel* NewL(const MFieldFileNameInfo* aFileNameInfo,const MFieldNumPagesInfo* aFieldNumPagesInfo); williamr@2: // Performs no initialisation at all. williamr@2: // williamr@2: IMPORT_C ~CWordModel(); williamr@2: // williamr@2: // Save/Load williamr@2: #ifndef __SECURE_API__ williamr@2: IMPORT_C void StoreL(CStreamStore& aStore,CStreamDictionary& aStreamDic,const CSecurityBase* aSecurity)const; williamr@2: IMPORT_C void RestoreL(const CStreamStore& aStore,const CStreamDictionary& aStreamDic,const CSecurityBase* aSecurity, williamr@2: const MFieldFileNameInfo* aFileNameInfo=NULL,const MFieldNumPagesInfo* aNumPagesInfo=NULL, williamr@2: MPictureFactory* aPictureFactory=NULL); williamr@2: IMPORT_C void RestoreMinimalL(const CStreamStore& aStore,const CStreamDictionary& aStreamDic,const CSecurityBase* aSecurity, williamr@2: const MFieldFileNameInfo* aFileNameInfo=NULL,const MFieldNumPagesInfo* aNumPagesInfo=NULL, williamr@2: MPictureFactory* aPictureFactory=NULL); williamr@2: #else williamr@2: IMPORT_C void StoreL(CStreamStore& aStore,CStreamDictionary& aStreamDic,const TAny* aSecurity)const; williamr@2: IMPORT_C void RestoreL(const CStreamStore& aStore,const CStreamDictionary& aStreamDic,const TAny* aSecurity, williamr@2: const MFieldFileNameInfo* aFileNameInfo=NULL,const MFieldNumPagesInfo* aNumPagesInfo=NULL, williamr@2: MPictureFactory* aPictureFactory=NULL); williamr@2: IMPORT_C void RestoreMinimalL(const CStreamStore& aStore,const CStreamDictionary& aStreamDic,const TAny* aSecurity, williamr@2: const MFieldFileNameInfo* aFileNameInfo=NULL,const MFieldNumPagesInfo* aNumPagesInfo=NULL, williamr@2: MPictureFactory* aPictureFactory=NULL); williamr@2: #endif williamr@2: williamr@2: // williamr@2: // Handles williamr@2: inline CRichText* Text(); williamr@2: inline CStyleList* StyleList(); williamr@2: inline CPrintSetup* PrintSetup(); williamr@2: inline CArrayFix* PageTable(); williamr@2: inline CStyleShortCutList* StyleShortCutList(); williamr@2: inline TChar& NormalStyleShortCut(); williamr@2: protected: williamr@2: IMPORT_C CWordModel(); williamr@2: IMPORT_C void ConstructL(const MFieldFileNameInfo* aFileNameInfo,const MFieldNumPagesInfo* aNumPagesInfo); williamr@2: IMPORT_C void ConstructMinimalL(const MFieldFileNameInfo* aFileNameInfo,const MFieldNumPagesInfo* aFieldNumPagesInfo,const TDesC& aDriverPath); williamr@2: void ConstructGlobalLayersL(); williamr@2: // williamr@2: TStreamId StoreStylesL(CStreamStore& aStore)const; williamr@2: void RestoreStylesL(const CStreamStore& aStore,TStreamId aId); williamr@2: // williamr@2: TStreamId StoreFieldDataL(CStreamStore& aStore)const; williamr@2: void RestoreFieldDataL(const CStreamStore& aStore,TStreamId aId); williamr@2: #ifndef __SECURE_API__ williamr@2: TStreamId StoreTextDataL(CStreamStore& aStore,const CSecurityBase* aSecurity)const; williamr@2: void RestoreTextDataL(const CStreamStore& aStore,TStreamId aId,const CSecurityBase* aSecurity); williamr@2: #else williamr@2: TStreamId StoreTextDataL(CStreamStore& aStore,const TAny* aSecurity)const; williamr@2: void RestoreTextDataL(const CStreamStore& aStore,TStreamId aId,const TAny* aSecurity); williamr@2: #endif williamr@2: williamr@2: TStreamId StoreMarkupDataL(CStreamStore& aStore)const; williamr@2: void RestoreMarkupDataL(const CStreamStore& aStore,TStreamId aId); williamr@2: private: williamr@2: void InitPrintSetupL(const MFieldFileNameInfo* aFileNameInfo,const MFieldNumPagesInfo* aNumPagesInfo,const TDesC& aDriverPath); williamr@2: private: williamr@2: CParaFormatLayer* iParaFormatLayer; williamr@2: CCharFormatLayer* iCharFormatLayer; williamr@2: CRichText* iText; williamr@2: CStyleList* iStyleList; williamr@2: CPrintSetup* iPrintSetup; williamr@2: CStyleShortCutList* iStyleShortCutList; williamr@2: TChar iNormalStyleShortCut; williamr@2: CArrayFix* iPageTable; williamr@2: }; williamr@2: williamr@2: williamr@2: #include williamr@2: williamr@2: williamr@2: #endif