DOCUMENT.H
// Document.h: interface for the CDocument class. 
// 
////////////////////////////////////////////////////////////////////// 
 
#if !defined(AFX_DOCUMENT_H__26A093E9_DD1C_11D0_8FFE_00C04FD9189D__INCLUDED_) 
#define AFX_DOCUMENT_H__26A093E9_DD1C_11D0_8FFE_00C04FD9189D__INCLUDED_ 
 
#if _MSC_VER >= 1000 
#pragma once 
#endif // _MSC_VER >= 1000 
 
class CClip 
{ 
public: 
    CClip() : m_stStart(0), m_stEnd(0) {}; 
    CComBSTR    m_FileName; 
    STREAM_TIME m_stStart; 
    STREAM_TIME m_stEnd; 
    BOOL WriteToStream(IStream *pStream); 
    BOOL ReadFromStream(IStream *pStream); 
    BOOL DoSettingsDialog(HWND hwndParent); 
    void InitDialog(HWND); 
    bool CleanUpDialog(HWND, bool); 
}; 
 
 
class CClipList 
{ 
public: 
    BOOL Initialize(HWND hwndParent); 
    BOOL WriteToStream(IStream *pStream); 
    BOOL ReadFromStream(IStream *pStream); 
    void ResetContents(void); 
    int NumClips(); 
    int CurSelClipIndex(); 
    CClip * GetClip(int i); 
    BOOL AddClip(int i, CClip **ppClip); 
    void DeleteClip(int i); 
    void UpdateClipView(int i); 
    void SetSize(int, int); 
 
private: 
    void InsertCol(int iColNum, TCHAR * pszColHeader, int Width); 
 
public: 
    HWND m_hLV; 
}; 
 
 
 
class CDocument   
{ 
public: 
        CDocument() : m_bDirty(false), m_Height(240), m_Width(320), m_PixelDepth(0) {}; 
        BOOL Initialize(HWND hDocWindow); 
        void MarkDirty() { m_bDirty = true; }; 
bool m_bModified; 
BOOL WriteToStream(IStream *pStream); 
BOOL ReadFromStream(IStream *pStream); 
        void ResetContents(void); 
virtual ~CDocument(); 
        BOOL OpenFile(); 
        BOOL SaveAsFile(bool bShowDialog); 
        BOOL NewClip(); 
        BOOL DeleteClip(); 
        BOOL EditClip(); 
 
public: 
        HWND    m_hWnd; 
        CClipList   m_ClipList; 
long m_PixelDepth; 
long m_Width; 
long m_Height; 
        CComBSTR    m_DocumentFileName; 
        CComBSTR    m_TargetFileName; 
        CComBSTR    m_VideoCodecDisplayName; 
        CComBSTR    m_AudioCodecDisplayName; 
        bool        m_bDirty; 
}; 
 
#endif // !defined(AFX_DOCUMENT_H__26A093E9_DD1C_11D0_8FFE_00C04FD9189D__INCLUDED_)