Files
firestorm/Gameleap/code/mw4/Tools/ContentTrack/MissingFilesView.cpp
T
Cyd 2b8ca921cb Initial full mirror of c:\VWE (source + assets + toolchain + outputs) via Git LFS
Complete disaster-recovery snapshot: engine/game source, game data assets,
VC6 toolchain + DX SDKs, build outputs, deployed game, and _UNUSED archive.
Large binaries in Git LFS; text preserved byte-for-byte (core.autocrlf=false,
no eol attributes). See RECOVERY.md for the one-clone rebuild procedure.
2026-06-24 21:28:16 -05:00

118 lines
2.9 KiB
C++

// MissingFilesView.cpp : implementation file
//
#include "stdafx.h"
#include "ContentTrack.h"
#include "MissingFilesView.h"
#include "NodeDataValueFileDoc.h"
#include "mainfrm.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CMissingFilesView
IMPLEMENT_DYNCREATE(CMissingFilesView, CListView)
CMissingFilesView::CMissingFilesView()
{
}
CMissingFilesView::~CMissingFilesView()
{
}
BEGIN_MESSAGE_MAP(CMissingFilesView, CListView)
//{{AFX_MSG_MAP(CMissingFilesView)
// NOTE - the ClassWizard will add and remove mapping macros here.
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CMissingFilesView drawing
void CMissingFilesView::OnDraw(CDC* pDC)
{
// CDocument* pDoc = GetDocument();
// TODO: add draw code here
}
/////////////////////////////////////////////////////////////////////////////
// CMissingFilesView diagnostics
#ifdef _DEBUG
void CMissingFilesView::AssertValid() const
{
CListView::AssertValid();
}
void CMissingFilesView::Dump(CDumpContext& dc) const
{
CListView::Dump(dc);
}
#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////
// CMissingFilesView message handlers
void CMissingFilesView::OnInitialUpdate()
{
CListCtrl *pCtrl = &GetListCtrl();
pCtrl->InsertColumn(0,"Missing Files",LVCFMT_LEFT,500);
CListView::OnInitialUpdate();
if (GetDocument()->IsKindOf(RUNTIME_CLASS(CNodeDataValueFileDoc)))
{
CNodeDataValueFileDoc *pDoc = (CNodeDataValueFileDoc *)GetDocument();
CNodeDisk *pNode = pDoc->GetRootNode();
InsertNode(pNode);
}
}
BOOL CMissingFilesView::PreCreateWindow(CREATESTRUCT& cs)
{
// TODO: Add your specialized code here and/or call the base class
cs.style |= LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS;
return CListView::PreCreateWindow(cs);
}
int CMissingFilesView::InsertNode(CNodeObject *pNode)
{
int x=0;
if (pNode->IsFile())
{
CNodeDataValueFile *pN = (CNodeDataValueFile *)pNode;
if (!pN->GetNodeDisk())
{
CMainFrame *pFrame = (CMainFrame*)AfxGetMainWnd();
CString str;
pN->GetName(str);
pFrame->SetMessageText(str);
x++;
CListCtrl *pCtrl = &GetListCtrl();
CString name1;
CNodeObject *pParent = pNode->GetParentNode();
while (pParent && !pParent->IsFile())
pParent = pParent->GetParentNode();
if (pParent)
{
CNodeDisk *pDisk = ((CNodeDataValueFile *)pParent)->GetNodeDisk();
name1 = pDisk->GetPath()+"->";
}
pCtrl->InsertItem(pCtrl->GetItemCount(),name1+str);
}
}
POSITION pos = pNode->GetFirstChild();
while (pos)
{
CNodeDisk *pChild = (CNodeDisk *)pNode->GetNextChild(pos);
x+= InsertNode(pChild);
}
return x;
}