Files
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

133 lines
2.6 KiB
C++

// TNPanel.cpp : implementation file
//
#include "stdafx.h"
#include "mw4gameed2.h"
#include "TNPanel.h"
#include "EdGUIObject.h"
#include "UndoManager.h"
#include "ObjProps.h"
#include "ObjProps.h"
/////////////////////////////////////////////////////////////////////////////
// CTNPanel dialog
CTNPanel::CTNPanel(EdGUIObject *gobj,UndoCommand **cmd,CWnd* pParent /*=NULL*/)
: CPanelDlg(CTNPanel::IDD, pParent)
{
MyObj=gobj;
CmdLst=cmd;
MyMultiProps=NULL;
//{{AFX_DATA_INIT(GUIObjPanel)
m_Name = _T("");
m_ObjType = _T("");
m_UseInGame = false;
//}}AFX_DATA_INIT
}
CTNPanel::CTNPanel(CObjProps *gobj,CWnd* pParent): CPanelDlg(CTNPanel::IDD, pParent) // standard constructor
{
MyMultiProps=gobj;
MyObj=NULL;
CmdLst=NULL;
m_Name = _T("");
m_ObjType = _T("");
m_UseInGame = false;
}
void CTNPanel::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CTNPanel)
DDX_Text(pDX, IDC_NAME, m_Name);
DDX_Text(pDX, IDC_OBJTYPE, m_ObjType);
DDX_Check(pDX, IDC_USEINGAME, m_UseInGame);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CTNPanel, CPanelDlg)
//{{AFX_MSG_MAP(CTNPanel)
ON_EN_CHANGE(IDC_NAME, OnChangeName)
ON_BN_CLICKED(IDC_USEINGAME, OnUseingame)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CTNPanel message handlers
BOOL CTNPanel::OnInitDialog()
{
CPanelDlg::OnInitDialog();
Verify(!(MyMultiProps && MyObj));
if(MyMultiProps==NULL)
{
m_Name=MyObj->GetName();
m_ObjType=MyObj->GetTypeName();
m_UseInGame = MyObj->HasLocalizedName();
}
else
{
m_Name=MyMultiProps->GetName();
m_UseInGame=MyMultiProps->GetUseInGame();
m_ObjType="Multiple Objects";
}
UpdateData(FALSE);
NameChange=false;
UIGChange=false;
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
// EXCEPTION: OCX Property Pages should return FALSE
}
void CTNPanel::OnChangeName()
{
NameChange=true;
}
void CTNPanel::OnOK()
{
UpdateData(TRUE);
Verify(!(MyMultiProps && MyObj));
if(MyMultiProps!=NULL)
{
if(NameChange) MyMultiProps->SetName(m_Name);
if(UIGChange) MyMultiProps->SetUseInGame(m_UseInGame?true:false);
}
else
{
UndoCommand *cmd=new RenameCommand(MyObj);
MyObj->SetName(m_Name);
MyObj->UseLocalizedName(m_UseInGame?true:false);
if(*CmdLst==NULL)
{
*CmdLst=cmd;
}
else
{
(*CmdLst)->Attach(cmd);
}
}
//CPanelDlg::OnOK();
}
void CTNPanel::OnUseingame()
{
UIGChange=true;
}