epoc32/include/editorundo.h
branchSymbian3
changeset 4 837f303aceeb
parent 3 e1b950c65cb4
--- a/epoc32/include/editorundo.h	Wed Mar 31 12:27:01 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,164 +0,0 @@
-// Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// 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
-// which accompanies this distribution, and is available
-// at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-//
-
-#ifndef EDITORUNDO_H_
-#define EDITORUNDO_H_
-
-#include "unified_editor.h"
-
-namespace UndoSystem
-/**
-@internalTechnology
-*/
-{
-class CCommandManager;
-class MNotUndoableGatekeeper;
-}
-
-class CEditorCommandFactory;
-
-/**
-MUnifiedEditor decorator that adds undo functionality.
-It passes commands transparently to the editor it is constructed upon, while
-storing the operations so that they can be undone and redone. Calling a
-non-const method of MUnifiedEditor wipes all 'Redo' operations.
-The undo and redo operations are only guaranteed to be accurate if the
-underlying editor satisfies certain conditions.
-
-@since App-frameworks6.1
-@internalAll
-*/
-class CEditorWithUndo : public CBase,
-	public MUnifiedEditor,
-	private MUnifiedEditor::MStyleSupport,
-	private MUnifiedEditor::MPictureSupport,
-	private MUnifiedEditor::MClipboardSupport
-
-	{
-public:
-	~CEditorWithUndo();
-
-	/**
-	 * Creates a CEditorWithUndo. It does not own the aEditor.
-	 */
-	IMPORT_C static CEditorWithUndo* NewL(MUnifiedEditor& aEditor);
-	/**
-	 * Creates a CEditorWithUndo, using the aSharedUndoSystem. This allows
-	 * many objects to stay in synchronization when each is accessed
-	 * seperately.
-	 * The aEditor is not owned.
-	 */
-	IMPORT_C static CEditorWithUndo* NewL(MUnifiedEditor& aEditor,
-		UndoSystem::CCommandManager* aSharedUndoSystem);
-	/**
-	 * Undoes one operation or batch of operations. If one operation in the
-	 * middle of a batch leaves, this function will leave, but the underlying
-	 * editor will not necessarily be in the same state as it was in before
-	 * the call. However, all operations will still be stored, and so the
-	 * previous state is still recoverable with a call to RedoL() or a
-	 * further call to UndoL will complete the operation (resource acquisition
-	 * permitting).
-	 */
-	IMPORT_C void UndoL();
-	/**
-	 * Redoes one operation or batch of operations. If one operation in the
-	 * middle of a batch leaves, this function will leave, but the underlying
-	 * editor will not necessarily be in the same state as it was in before
-	 * the call. However, all operations will still be stored, and so the
-	 * previous state is still recoverable with a call to UndoL() or a
-	 * further call to RedoL will complete the operation (resource acquisition
-	 * permitting).
-	 */
-	IMPORT_C void RedoL();
-	/**
-	 * Returns ETrue iff UndoL() would have an effect
-	 */
-	IMPORT_C TBool CanUndo() const;
-	/**
-	 * Returns ETrue iff RedoL() would have an effect
-	 */
-	IMPORT_C TBool CanRedo() const;
-	/**
-	 * Wipes all undo and redo operations
-	 */
-	IMPORT_C void ResetUndo();
-	/**
-	 * Sets limits on the 'undo depth'. This is the numbet of times that
-	 * successive calls to UndoL() have an effect. When a depth of
-	 * aMaxItems is reached, the undo depth is reset to aMinItems.
-	 */
-	IMPORT_C void SetMaxItems(TInt aMaxItems);
-	/**
-	 * Sets a gatekeper for the undo system. This will be called whenever an
-	 * operation is attempted that cannot be undone for any reason.
-	 * The gatekeeper therefore has an oportunity to suppress execution and
-	 * keep the current undo operations stored.
-	 * NULL may be passed to restore default behaviour.
-	 * Returns the old gatekeeper.
-	 */
-	IMPORT_C UndoSystem::MNotUndoableGatekeeper*
-		SetGatekeeper(UndoSystem::MNotUndoableGatekeeper*);
-
-	// From MUnifiedEditor
-	MTmOptionalInterface* Interface(TUint aId);
-	void InsertTextL(TInt aPos, const TDesC& aText, const TDesC* aStyle,
-		const TTmCharFormatLayer*, const RTmParFormatLayer*);
-	void DeleteTextL(TInt aPos,TInt aLength);
-	void SetBaseFormatL(const TTmCharFormat&, const RTmParFormat&);
-	void SetCharFormatL(TInt aPos, TInt aLength, const TTmCharFormatLayer&);
-	void SetParFormatL(TInt aPos, TInt aLength, const RTmParFormatLayer&);
-	void DeleteCharFormatL(TInt aPos, TInt aLength);
-	void DeleteParFormatL(TInt aPos, TInt aLength);
-	TInt DocumentLength() const;
-	void GetText(TInt aPos, TPtrC& aText) const;
-	void GetBaseFormatL(TTmCharFormat&, RTmParFormat&) const;
-	void GetCharFormat(TInt aPos, TFormatLevel aLevel,
-		TTmCharFormatLayer& aFormat,TInt& aRunLength) const;
-	void GetParFormatL(TInt aPos, TFormatLevel aLevel,
-		RTmParFormatLayer& aFormat, TInt& aRunLength) const;
-
-private:
-	// from MStyleSupport
-	TInt CreateStyleL(const RTmStyle&);
-	TInt ChangeStyleL(const RTmStyle&);
-	TInt SetStyleL(TInt aPos, TInt aLength, const TDesC&);
-	TInt RenameStyleL(const TDesC& aOldName, const TDesC& aNewName);
-	TInt DeleteStyleL(const TDesC& aName);
-	TInt StyleCount() const;
-	void GetStyle(TInt aPos, TPtrC& aName, TInt& aRunLength) const;
-	TInt GetStyleByNameL(const TDesC& aName, RTmStyle&) const;
-	TInt GetStyleByIndexL(TInt aIndex, RTmStyle&) const;
-
-	// from MPictureSupport
-	void InsertPictureL(TInt aPos, const TPictureHeader&);
-	void DropPictureL(TInt aPos);
-	void Picture(TInt aPos, TPictureHeader&) const;
-
-	// from MClipboardSupport
-	void CopyToStoreL(CStreamStore& aStore, CStreamDictionary& aDictionary,
-		TInt aPos, TInt aLength) const;
-	void PasteFromStoreL(const CStreamStore& aStore,
-		const CStreamDictionary& aDictionary, TInt aPos);
-
-	CEditorWithUndo();
-	void ConstructL(MUnifiedEditor& aEditorBasedOn,
-		UndoSystem::CCommandManager* aSharedUndoSystem);
-
-	CEditorCommandFactory*			iFactory;
-	MUnifiedEditor*						iBaseEditor;
-	UndoSystem::CCommandManager*	iCommandManager;
-	};
-
-#endif	// EDITORUNDO_H_