#if !defined(AFX_MULTITRONDLG_H__D39C91CE_CB20_44B7_BAC2_FF05580AB19F__INCLUDED_)
#define AFX_MULTITRONDLG_H__D39C91CE_CB20_44B7_BAC2_FF05580AB19F__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// MultitronDlg.h : header file
//

#include "MultitronDoc.h"
#include <imagelib\image.h>

/////////////////////////////////////////////////////////////////////////////
// CMultitronDlg dialog

class CMultitronDlg : public CDialog
{
// Construction
public:
	CMultitronDlg(CWnd* pParent = NULL);   // standard constructor
	void UpdateUsedList(CObject* pHint = NULL);
	void UpdateUnusedList(CObject* pHint = NULL);

	CDocument* SetDocument(CMultitronDoc *pDoc);

// Dialog Data
	//{{AFX_DATA(CMultitronDlg)
	enum { IDD = IDD_MULITRONDOC };
	CButton		m_wndPreviewUsed;
	CButton		m_wndPreviewUnused;
	CListBox	m_wndUsed;
	CListBox	m_wndUnused;
	CListBox	m_wndUsedImageProp;
	CListBox	m_wndUnusedImageProp;
	CButton		m_checkShowSeudo;
	CButton		m_checkShowMipmap;
	CButton		m_checkSearchSubDir;
	CButton		m_checkShowSolid;
	CButton		m_checkShowAlpha;
	CButton		m_checkPreviewAlpha;
	//}}AFX_DATA


// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CMultitronDlg)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:
	CMapStringToString m_mapAliasNames;
	CStringList m_listTextures;
	CStringList m_listUsed;
	CBitmap m_bmUnused;
	CBitmap m_bmUsed;
	Stuff::NotationFile *m_pNoteFile;
	CMultitronDoc *m_pDocument;

	void FindAllTextures();
	void FindTextures(CString dir);
	void ListExplicitMipmaps(CStringList* pMipmaps, int);
	void UpdateImageProp(CListBox *pList, Image* pImage, Stuff::Page* pPage=NULL);
	void UpdateImageBitmap(CBitmap* pBitmap, Image* pImage, bool bPreviewAlpha=false);

	// Generated message map functions
	//{{AFX_MSG(CMultitronDlg)
	virtual BOOL OnInitDialog();
	afx_msg void OnDrawItem(int nIDCtl, LPDRAWITEMSTRUCT lpDrawItemStruct);
	afx_msg void OnSelchangeListUnused();
	afx_msg void OnSelchangeListUsed();
	afx_msg void OnCheckPreviewAlpha();
	afx_msg void OnAdd();
	afx_msg void OnRemove();
	afx_msg void OnDeleteTextureFromDisk();
	afx_msg void OnEditTextureHint();
	afx_msg void OnAddMegatexture();

	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

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

#endif // !defined(AFX_MULTITRONDLG_H__D39C91CE_CB20_44B7_BAC2_FF05580AB19F__INCLUDED_)
