diff -r 000000000000 -r 1fb32624e06b textrendering/word/SRC/WPDOC.H --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/textrendering/word/SRC/WPDOC.H Tue Feb 02 02:02:46 2010 +0200 @@ -0,0 +1,122 @@ +/* +* Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ + + +#ifndef __WPDOC_H__ +#define __WPDOC_H__ + +#include +#include +#include +#include +#include +#include "WNGMODEL.H" // only #included for Model() inline +#include + +#include "WPTESTPICTURE.H" + +/** +@internalComponent +*/ +#if !defined KUidWordAppValue +#ifdef _UNICODE +#define KUidWordAppValue KUidWordAppValue16 +#else +#define KUidWordAppValue KUidWordAppValue8 +#endif +#endif + +/** +@internalComponent +*/ +const TUid KUidWordAppValue8={0x1000007F}; +const TUid KUidWordAppValue16={0x10003A64}; + +class CFileStore; +class CWordAppUi; +class TWordUiData; + +class CWordDocument : public CEikDocument, public MRichTextStoreResolver, public MFieldFileNameInfo, public MFieldNumPagesInfo +/** +@internalComponent +*/ + { +public: + static CWordDocument* NewL(CEikApplication& aApp); + ~CWordDocument(); + // + // CApaDocument implementation + virtual void StoreL(CStreamStore& aStore,CStreamDictionary& aStreamDic) const; + virtual void RestoreL(const CStreamStore& aStore,const CStreamDictionary& aStreamDic); + virtual void DetachFromStoreL(CPicture::TDetach aDegree); + void StoreUiDataL(CStreamStore& aStore,CStreamDictionary& aStreamDic)const; + void RestoreUiDataL(const CStreamStore& aStore,const CStreamDictionary& aStreamDic); + virtual void NewDocumentL(); + // + virtual const CStreamStore& StreamStoreL(TInt aPos)const; // MRichTextStoreResolver + virtual TInt UpdateFieldFileName(TPtr& aValueText)const; // MFieldFileNameInfo + virtual TInt UpdateFieldNumPages()const; // MFieldNumPagesInfo + // + // File + void DoFileNewL(const TFileName& aFileName, const TFileName& aTemplateFileName); + void DoFileOpenL(const TFileName& aFileName,TUint aFileMode=EFileWrite); + void GetFileOpenModeL(TUint& aFileMode,const TDesC& aFilename,RFs& aSession); + void DoFileSaveToCurrentL(); + void DoFileSaveToNewL(const TFileName& aFileName); + void DoFileSaveToNewNoSwitchL(const TFileName& aNewFileName); + void DoFileRevertL(); + // + // Handles + inline TWordUiData& UiData(); + inline CWordModel* Model()const; + inline CWordAppUi& WordAppUi(); + inline const CWordAppUi& WordAppUi()const; + inline CTextPageRegionPrinter& PageRegionPrinter()const; + // + // Utilities + inline TBool FileNameExists(const TFileName& aFileName) const; +private: + enum TKeepStoreOpen + { + EKeepFalse, + EKeepTrue + }; +private: + inline CWordDocument(CEikApplication& aApp); + void ConstructL(); + void CreateModelL(); + void ConstructPrintL(); + void LocateTemplateL(const TDes& aFullFileName)const; + void VerifyDocumentTypeL(const TFileName& aFileName)const; + CFileStore* DoNewDocumentL(const TDesC& aStandardDocument,TKeepStoreOpen aKeepStoreOpen=EKeepFalse); + void SetMainStoreAndMainDocFileName(CFileStore* aMainStore,const TDesC& aMainDocFileName); + // + // CApaDocument implementation + CEikAppUi* CreateAppUiL(); +private: + CWordModel* iModel; + CTextPageRegionPrinter* iPrint; + TWordUiData* iUiData; + TBool iNewDocument; + TWordTestPictureFactory iPictureFactory; + }; + + +#include "WPDOC.INL" + + +#endif