172 lines
3.6 KiB
C++
172 lines
3.6 KiB
C++
|
/*
|
||
|
** Command & Conquer Renegade(tm)
|
||
|
** Copyright 2025 Electronic Arts Inc.
|
||
|
**
|
||
|
** This program is free software: you can redistribute it and/or modify
|
||
|
** it under the terms of the GNU General Public License as published by
|
||
|
** the Free Software Foundation, either version 3 of the License, or
|
||
|
** (at your option) any later version.
|
||
|
**
|
||
|
** This program is distributed in the hope that it will be useful,
|
||
|
** but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
|
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
|
** GNU General Public License for more details.
|
||
|
**
|
||
|
** You should have received a copy of the GNU General Public License
|
||
|
** along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||
|
*/
|
||
|
|
||
|
// MixViewerDoc.cpp : implementation of the CMixViewerDoc class
|
||
|
//
|
||
|
|
||
|
#include "stdafx.h"
|
||
|
#include "mixviewer.h"
|
||
|
#include "mixviewerdoc.h"
|
||
|
#include "mixviewerview.h"
|
||
|
|
||
|
|
||
|
#ifdef _DEBUG
|
||
|
#define new DEBUG_NEW
|
||
|
#undef THIS_FILE
|
||
|
static char THIS_FILE[] = __FILE__;
|
||
|
#endif
|
||
|
|
||
|
/////////////////////////////////////////////////////////////////////////////
|
||
|
// CMixViewerDoc
|
||
|
|
||
|
IMPLEMENT_DYNCREATE(CMixViewerDoc, CDocument)
|
||
|
|
||
|
BEGIN_MESSAGE_MAP(CMixViewerDoc, CDocument)
|
||
|
//{{AFX_MSG_MAP(CMixViewerDoc)
|
||
|
// NOTE - the ClassWizard will add and remove mapping macros here.
|
||
|
// DO NOT EDIT what you see in these blocks of generated code!
|
||
|
//}}AFX_MSG_MAP
|
||
|
END_MESSAGE_MAP()
|
||
|
|
||
|
/////////////////////////////////////////////////////////////////////////////
|
||
|
// CMixViewerDoc construction/destruction
|
||
|
|
||
|
CMixViewerDoc::CMixViewerDoc()
|
||
|
{
|
||
|
// TODO: add one-time construction code here
|
||
|
|
||
|
}
|
||
|
|
||
|
CMixViewerDoc::~CMixViewerDoc()
|
||
|
{
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
/////////////////////////////////////////////////////////////////////////////
|
||
|
// CMixViewerDoc serialization
|
||
|
|
||
|
void CMixViewerDoc::Serialize(CArchive& ar)
|
||
|
{
|
||
|
if (ar.IsStoring())
|
||
|
{
|
||
|
// TODO: add storing code here
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
// TODO: add loading code here
|
||
|
}
|
||
|
|
||
|
return ;
|
||
|
}
|
||
|
|
||
|
/////////////////////////////////////////////////////////////////////////////
|
||
|
// CMixViewerDoc diagnostics
|
||
|
|
||
|
#ifdef _DEBUG
|
||
|
void CMixViewerDoc::AssertValid() const
|
||
|
{
|
||
|
CDocument::AssertValid();
|
||
|
}
|
||
|
|
||
|
void CMixViewerDoc::Dump(CDumpContext& dc) const
|
||
|
{
|
||
|
CDocument::Dump(dc);
|
||
|
}
|
||
|
#endif //_DEBUG
|
||
|
|
||
|
|
||
|
/////////////////////////////////////////////////////////////////////////////
|
||
|
//
|
||
|
// OnNewDocument
|
||
|
//
|
||
|
/////////////////////////////////////////////////////////////////////////////
|
||
|
BOOL
|
||
|
CMixViewerDoc::OnNewDocument (void)
|
||
|
{
|
||
|
if (!CDocument::OnNewDocument ()) {
|
||
|
return FALSE;
|
||
|
}
|
||
|
|
||
|
//
|
||
|
// Update each view
|
||
|
//
|
||
|
POSITION pos = GetFirstViewPosition ();
|
||
|
while (pos != NULL)
|
||
|
{
|
||
|
CMixViewerView *view = (CMixViewerView *)GetNextView (pos);
|
||
|
view->Reset ();
|
||
|
}
|
||
|
|
||
|
return TRUE;
|
||
|
}
|
||
|
|
||
|
|
||
|
/////////////////////////////////////////////////////////////////////////////
|
||
|
//
|
||
|
// OnOpenDocument
|
||
|
//
|
||
|
/////////////////////////////////////////////////////////////////////////////
|
||
|
BOOL
|
||
|
CMixViewerDoc::OnOpenDocument (LPCTSTR path)
|
||
|
{
|
||
|
if (!CDocument::OnOpenDocument (path)) {
|
||
|
return FALSE;
|
||
|
}
|
||
|
|
||
|
//
|
||
|
// Start fresh
|
||
|
//
|
||
|
OnNewDocument ();
|
||
|
|
||
|
//
|
||
|
// Update each view
|
||
|
//
|
||
|
POSITION pos = GetFirstViewPosition ();
|
||
|
while (pos != NULL)
|
||
|
{
|
||
|
CMixViewerView *view = (CMixViewerView *)GetNextView (pos);
|
||
|
view->Reload (path);
|
||
|
}
|
||
|
|
||
|
return TRUE;
|
||
|
}
|
||
|
|
||
|
|
||
|
/////////////////////////////////////////////////////////////////////////////
|
||
|
//
|
||
|
// Reload_Views
|
||
|
//
|
||
|
/////////////////////////////////////////////////////////////////////////////
|
||
|
void
|
||
|
CMixViewerDoc::Reload_Views (void)
|
||
|
{
|
||
|
//
|
||
|
// Update each view
|
||
|
//
|
||
|
POSITION pos = GetFirstViewPosition ();
|
||
|
while (pos != NULL)
|
||
|
{
|
||
|
CMixViewerView *view = (CMixViewerView *)GetNextView (pos);
|
||
|
view->Reload (GetPathName ());
|
||
|
}
|
||
|
|
||
|
return ;
|
||
|
}
|