// EIKOBJFM.H
//
// Copyright (c) 1997-1999 Symbian Ltd.  All rights reserved.
//

#if !defined(__EIKOBJFM_H__)
#define __EIKOBJFM_H__

#if !defined(__EIKDIALG_H__)
#include <eikdialg.h>
#endif

#if !defined(__GDI_H__)
#include <gdi.h>
#endif

#if !defined(__APADBASE_H__)
#include <apadbase.h>
#endif

class CEikFormatObjectDialog : public CEikDialog
	{
public: 
	IMPORT_C CEikFormatObjectDialog(CApaDoor& aDoor,CApaDocument& aDoc,const TSize& aDefaultIconSizeInTwips);
private: // from CEikDialog
	void PreLayoutDynInitL();
	void HandleControlStateChangeL(TInt aControlId);
	void PrepareForFocusTransitionL();
    TBool OkToExitL(TInt aButtonId);
private:
	void SetScaleCropControlsL();
	void ResetScaleCropControlsL();
	void UpdateObjectFormat(CApaDoor::TFormat aFormat);
	void SetGlassDoorInfo(const CPicture& aGlassDoor);
private:
	CApaDoor& iDoor;
	CApaDocument& iDocument;
	CApaDoorBase::TFormat iDoorFormat;
	TInt iGlassDoorScaleFactorWidth;
	TInt iGlassDoorScaleFactorHeight;
	TMargins iGlassDoorCropInTwips;
	TPictureCapability iGlassDoorCapability;
	TSize iOriginalGlassDoorSizeInTwips;
	TSize iIconSizeInTwips;
	TInt iChangedFlag;
private:
	enum TScaleChangedType
		{
		EPictureScaleWidthChanged		=0x01,
		EPictureScaleHeightChanged		=0x02,
		EPictureDisplayWidthChanged		=0x04,
		EPictureDisplayHeightChanged	=0x08,
		EPictureCropLeftRightChanged	=0x10,
		EPictureCropTopBottomChanged	=0x20
		};
	};

class CEikObjectInfoDialog : public CEikDialog
	{
public: 
	IMPORT_C CEikObjectInfoDialog(const TDesC& aCaption);
private: // from CEikDialog
	void PreLayoutDynInitL();
private:
	const TDesC& iCaption;
	};

#endif
