// SMEDAPUI.H
//
// Copyright (c) 1998 Symbian Ltd.  All rights reserved.
//
// Started August 98 - Chris Wilson


#if !defined(__SMEDAPUI_H__)
#define __SMEDAPUI_H__

#if !defined(__EDITAPUI_H__)
#include <editapui.h>
#endif

#if !defined(__MSVAPI_H__)
#include <msvapi.h>
#endif

#if !defined(__PRNINF_H__)
#include <prninf.h>
#endif


// Forward declarations
class CSmsEditorControl;
class CPrintSetup;
class CMsvGenericSettings;

class CSmsEditorAppUi : public CMsvMailEditorAppUi
    {
private: 

	// From CMsvMailEditorAppUi
	virtual CMsgEditorControl* CreateEditorControlL(const TEditorParameters& aParams,
			const TDesC8& aAdditionalParameters,MMsgEditorObserver* aObs);
	
	// CCoeAppUi

	// From CEikAppUi
	virtual void HandleCommandL(TInt aCommand);

	// From MEikMenuObserver
	virtual void DynInitMenuPaneL(TInt aResourceId, CEikMenuPane* aMenuPane);
	virtual void HandleAttemptDimmedSelectionL(TInt aCommandId);
	virtual void CloseEditorNoQueryL();
	virtual void CloseEditorL();
	
	// Command handling
	void CloseEditorSaveChangesL(TBool aQuery=ETrue);
	void DeleteMessageL();
	void CreateNewMessageL();
	void ReplyToMessageL();
	void ForwardMessageL();

	// Printing
	void LaunchPrintSetupDialogL(TBool aShowPrintButton);
	void PreviewL();
	void PrintL();
	TBool DoPrintL(CPrintSetup& aSetup, TBool aPreview);
	void LaunchPageSetupDialogL();

	// Internal functions
	TBool SaveMessageToLocationL(TMsvId aLocationId);
	TBool SaveMessageToOutboxL();
	void DoHandleCommandL(TInt aCommand);


private:
	TPrintParameters								iPrintParameters;// Not persisted
	TBool											iHandlingCommand;// Rely on this being initialised EFales
    };

#define iSmsEditor STATIC_CAST(CSmsEditorControl*, iEditor)

#endif