//	CDesktopWindow.c


#include "CFinderWindow.h"

class CDisk;
class CDesktopWindow;

CDesktopWindow		*MakeNewDesktopWindow(O_TopicRef *topicRef);

class CDesktopWindow : public CFinderWindow {

	public:	Boolean	IDesktopWindow(
		O_TopicRef	*topicRef 
	);

	virtual	void	Dispose(void);
	
	virtual	OSErr	CanAcceptFlavor(
		DragReference	theDrag, 
		ItemReference	itemRef, 
		FlavorType		flavorType, 
		Boolean			*isGoodFlavorB
	);

	CEntryArray			*GetAllDisks(void);

	void				UnMountDrive(short driveNumS);
	virtual	OSErr		CanAcceptDrag(DragReference theDrag);

	virtual	void		Idle(void);
	virtual	void		Move(EventRecord *event);
	virtual	void		Size(EventRecord *event);
	virtual	void		DoKeyDown(EventRecord *event);

	virtual	OSErr		DragReceiveFlavor(
		DragReference	theDrag, 
		ItemReference	itemRef, 
		FlavorType		flavorType, 
		void			*data
	);
	
	virtual	void		UpdateMenus(void);
	virtual	Boolean		DoCommand(long command);

	Boolean		i_deselectB;

	private:
	typedef		CFinderWindow	_inherited;
};
