textrendering/word/SRC/WPTEXTED.H
changeset 0 1fb32624e06b
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/textrendering/word/SRC/WPTEXTED.H	Tue Feb 02 02:02:46 2010 +0200
@@ -0,0 +1,118 @@
+/*
+* 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 __WPTEXTED_H__
+#define __WPTEXTED_H__
+
+#include <techview/eikrted.h>
+#include "form_and_etext_editor.h"
+#include "EditorUndo.h"
+#include "UndoSystem.h"
+
+class CWordUndoGatekeeper : public CBase, public UndoSystem::MNotUndoableGatekeeper
+/**
+@internalComponent
+*/
+	{
+	// from MNotUndoableGatekeeper
+	TBool AllowNotUndoableL(TInt aReason);
+	};
+
+class CWordTextEditor : public CEikRichTextEditor, public MUnifiedEditor
+/**
+@internalComponent
+*/
+	{
+public:
+	enum TAttributeValue { EAttributeUndefined = 0, EAttributeSet = 1,
+		EAttributeClear = 2, EAttributeIndeterminate = 3 };
+	CWordTextEditor(const TGulBorder& aBorder);
+	~CWordTextEditor();
+	MUnifiedEditor& UnifiedEditor();
+	const MUnifiedEditor& UnifiedEditor() const;
+
+	void InitialiseUnifiedEditorL();
+	void InsertCharacterL(TChar aCharacter);
+	TBool DeleteSelectionL();
+	void DeleteLeftL();
+	void DeleteRightL();
+	void HighlightL(TUint aEffects);
+	void RemoveHighlightL(TUint aEffects);
+	TAttributeValue IsHighlighted(TUint aEffects) const;
+	void ToggleHighlightL(TUint aEffects);
+	inline void RedoL();
+	inline TBool CanRedo() const;
+
+	TInt ClipboardPasteL();
+	void ClipboardCutL();
+	void ClipboardCopyL() const;
+
+	void InsertFromHtmlFileL(const TDesC& aFileName);
+
+public:	// functions overloading non-virtual functions in base classes
+	inline void UndoL();
+	inline TBool CanUndo() const;
+	void BoldItalicUnderlineEventL(TInt aFontFlag);
+
+public:	// from MUnifiedEditor
+ 	TInt DocumentLength() const;
+	void GetText(TInt aPos,TPtrC& aText) const;
+	void GetBaseFormatL(TTmCharFormat& aCharFormat,RTmParFormat& aParFormat) const;
+	void GetCharFormat(TInt aPos,TFormatLevel aLevel,TTmCharFormatLayer& aFormat,TInt& aRunLength) const;
+	void GetParFormatL(TInt aPos,TFormatLevel aLevel,RTmParFormatLayer& aFormat,TInt& aRunLength) const;
+	void InsertTextL(TInt aPos,const TDesC& aText,const TDesC* aStyle=NULL,
+						const TTmCharFormatLayer* aCharFormat=NULL,const RTmParFormatLayer* aParFormat=NULL);
+	void DeleteTextL(TInt aPos,TInt aLength);
+	void SetBaseFormatL(const TTmCharFormat& aCharFormat,const RTmParFormat& aParFormat);
+	void SetCharFormatL(TInt aPos,TInt aLength,const TTmCharFormatLayer& aFormat);
+	void SetParFormatL(TInt aPos,TInt aLength,const RTmParFormatLayer& aFormat);
+	void DeleteCharFormatL(TInt aPos,TInt aLength);
+	void DeleteParFormatL(TInt aPos,TInt aLength);
+	MTmOptionalInterface* Interface(TUint aId);
+	void TestRunNotUndoableCommandL();
+	void SetBookmark();
+	TBool IsAtBookmark() const;
+	void ResetUndo();
+private: // from CCoeControl
+	void HandleResourceChange(TInt aType);
+	void FocusChanged(TDrawNow aDrawNow);
+	TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType);
+
+private:
+	TFormAndEtextEditor iFormAndEtextEditor;
+	CEditorWithUndo* iEditorWithUndo;
+	UndoSystem::CCommandManager* iCommandManager;
+	CWordUndoGatekeeper iGatekeeper;
+	};
+
+inline void CWordTextEditor::RedoL()
+	{
+	if (iEditorWithUndo)
+		iEditorWithUndo->RedoL();
+	}
+inline TBool CWordTextEditor::CanRedo() const
+	{return iEditorWithUndo && iEditorWithUndo->CanRedo();}
+inline void CWordTextEditor::UndoL()
+	{
+	if (iEditorWithUndo)
+		iEditorWithUndo->UndoL();
+	}
+inline TBool CWordTextEditor::CanUndo() const
+	{return iEditorWithUndo && iEditorWithUndo->CanUndo();}
+
+#endif