//
// Copyright (c) 2002
// Ronald Kevin Burton
//
// Z poniższym kodem nie jest związana żadna gwarancja poprawności działania.
// Program został dołączony do książki ".NET CLR. Księga eksperta" w celu
// ilustracji koncepcji i zasad przedstawionych w tej książce. Program może być 
// używany na własne ryzyko.
//
// Przyznaje się prawo do użycia lub kopiowania tego oprogramowania do dowolnego celu
// bez konieczności ponoszenia żadnych opłat pod warunkiem, że powyższe uwagi zostaną 
// zachowane we wszystkich kopiach. Przyznaje się także prawo do modyfikacji kodu
// i dystrybucji zmodyfikowanego kodu pod warunkiem zachowania powyższych uwag
// oraz dołączenia informacji mówiącej o modyfikacji kodu.
//
// 
#pragma once


// Widok formularza CAssemblyView

interface IMetaDataImport;
interface IMetaDataDispenserEx;
interface IMetaDataAssemblyImport;
interface IMetaDataTables;
interface IMetaDataValidate;

class CAssemblyView : public CFormView
{
	DECLARE_DYNCREATE(CAssemblyView)

protected:
	CAssemblyView();           // chroniony konstruktor używany do dynamicznego tworzenia
	virtual ~CAssemblyView();

public:
	enum { IDD = IDD_ASSEMBLYVIEW };
#ifdef _DEBUG
	virtual void AssertValid() const;
	virtual void Dump(CDumpContext& dc) const;
#endif
	CAssemblyDoc* GetDocument();

protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // Obsługa DDX/DDV

	DECLARE_MESSAGE_MAP()
public:
	virtual void OnInitialUpdate();

private:
	CPropertySheet m_dlgPropSheet;
	CAssemblyPropertiesPage m_assemblyProperitesPage;
	CBlobHeapPage m_blobPage;
	CStringHeapPage m_stringPage;
	CUserStringHeapPage m_userStringPage;
	CGUIDHeapPage m_guidPage;
	CTypeDefPage m_typedefPage;
	CMetadataTablesPage m_tablesPage;

public:
	afx_msg void OnFileValidate();
};

#ifndef _DEBUG  // wersja debug w pliku HelloVw.cpp
inline CAssemblyDoc* CAssemblyView::GetDocument()
   { return (CAssemblyDoc*)m_pDocument; }
#endif


