// MultitronDoc.h : interface of the CMultitronDoc class
//
/////////////////////////////////////////////////////////////////////////////

#if !defined(AFX_MULTITRONDOC_H__DF72422E_B51F_4848_90DE_0AB71E52FD34__INCLUDED_)
#define AFX_MULTITRONDOC_H__DF72422E_B51F_4848_90DE_0AB71E52FD34__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "FileNode.h"

class CMultitronDoc : public CDocument
{
protected: // create from serialization only
	CMultitronDoc();
	DECLARE_DYNCREATE(CMultitronDoc)

// Operations
public:

// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CMultitronDoc)
	public:
	virtual BOOL OnNewDocument();
	virtual void Serialize(CArchive& ar);
	virtual void OnCloseDocument();
	virtual BOOL OnOpenDocument(LPCTSTR lpszPathName);
	virtual BOOL OnSaveDocument(LPCTSTR lpszPathName);
	virtual BOOL CanCloseFrame(CFrameWnd* pFrame);
	protected:
	virtual BOOL SaveModified();
	//}}AFX_VIRTUAL

// Implementation
public:
	virtual ~CMultitronDoc();
	CDocument *GetTextureDoc() {return m_pTexturePageDoc;}
	Stuff::NotationFile *GetHintFile() {return m_pNoteFile;}

	CString RemoveTexture(Stuff::Page *);
	CDocument *OpenTexture(Stuff::Page *);
	void CloseTexture(CDocument *);

#ifdef _DEBUG
	virtual void AssertValid() const;
	virtual void Dump(CDumpContext& dc) const;
#endif

protected:
	Stuff::NotationFile *m_pNoteFile;
	CDocument *m_pTexturePageDoc;

// Generated message map functions
protected:
	//{{AFX_MSG(CMultitronDoc)
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
	void SetPathName(LPCTSTR lpszPathName, BOOL bAddToMRU = TRUE);
};

/////////////////////////////////////////////////////////////////////////////

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_MULTITRONDOC_H__DF72422E_B51F_4848_90DE_0AB71E52FD34__INCLUDED_)
