Files
firestorm/Gameleap/code/mw4/Code/MW4GameEd/ObjWindow.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

187 lines
4.6 KiB
C++

// ObjWindow.cpp : implementation file
//
#include "stdafx.h"
#include "MW4GameEd.h"
#include "ObjWindow.h"
#include "InstanceWindow.h"
#include "EditEntityDlg.h"
/////////////////////////////////////////////////////////////////////////////
// CObjWindow dialog
CObjWindow::CObjWindow(CWnd* pParent /*=NULL*/)
: CDialog(CObjWindow::IDD, pParent)
{
//{{AFX_DATA_INIT(CObjWindow)
//}}AFX_DATA_INIT
curSort = SORT_TYPE;
mechTab = NULL;
buildingTab = NULL;
vehicleTab = NULL;
miscTab = NULL;
}
CObjWindow::~CObjWindow()
{
if (mechTab)
{
if (mechTab->pszText)
delete [] mechTab->pszText;
Unregister_Pointer(mechTab);
delete mechTab;
}
if (buildingTab)
{
if (buildingTab->pszText)
delete [] buildingTab->pszText;
Unregister_Pointer(buildingTab);
delete mechTab;
}
if (vehicleTab)
{
if (vehicleTab->pszText)
delete [] vehicleTab->pszText;
Unregister_Pointer(vehicleTab);
delete mechTab;
}
if (miscTab)
{
if (miscTab->pszText)
delete [] miscTab->pszText;
Unregister_Pointer(miscTab);
delete mechTab;
}
}
void CObjWindow::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CObjWindow)
DDX_Control(pDX, IDC_OBJECTTAB, m_TabCtrl);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CObjWindow, CDialog)
//{{AFX_MSG_MAP(CObjWindow)
ON_BN_CLICKED(IDC_INSTANCEALINGMENTBTN, OnInstancealingmentbtn)
ON_BN_CLICKED(IDC_INSTANCETYPEBTN, OnInstancetypebtn)
ON_NOTIFY(TCN_SELCHANGE, IDC_OBJECTTAB, OnSelchangeObjecttab)
ON_WM_CREATE()
ON_WM_LBUTTONDBLCLK()
ON_WM_LBUTTONUP()
ON_WM_RBUTTONDOWN()
ON_WM_RBUTTONDBLCLK()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CObjWindow message handlers
void CObjWindow::OnInstancealingmentbtn()
{
curSort = SORT_ALIGNMENT;
((CInstanceWindow*)GetParent())->FillTabBox();
}
void CObjWindow::OnInstancetypebtn()
{
curSort = SORT_TYPE;
((CInstanceWindow*)GetParent())->FillTabBox();
}
void CObjWindow::OnSelchangeObjecttab(NMHDR* pNMHDR, LRESULT* pResult)
{
NMHDR lParam;
lParam.hwndFrom = m_hWnd;
lParam.idFrom = IDC_OBJECTTAB;
lParam.code = m_TabCtrl.GetCurSel();
GetParent()->SendMessage(WM_NOTIFY,WPARAM(IDC_OBJECTTAB),LPARAM(&lParam));
*pResult = 0;
}
int CObjWindow::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CDialog::OnCreate(lpCreateStruct) == -1)
return -1;
mechTab = new TCITEM;
Register_Pointer(mechTab);
mechTab->mask = TCIF_TEXT;
mechTab->cchTextMax = strlen("Mechs"); // Localize
mechTab->pszText = new char[mechTab->cchTextMax + 1];
strcpy(mechTab->pszText,"Mechs"); // Localize
buildingTab = new TCITEM;
Register_Pointer(buildingTab);
buildingTab->mask = TCIF_TEXT;
buildingTab->cchTextMax = strlen("Buildings"); // Localize
buildingTab->pszText = new char[buildingTab->cchTextMax + 1];
strcpy(buildingTab->pszText,"Buildings"); // Localize
vehicleTab = new TCITEM;
Register_Pointer(vehicleTab);
vehicleTab->mask = TCIF_TEXT;
vehicleTab->cchTextMax = strlen("Vehicles"); // Localize
vehicleTab->pszText = new char[vehicleTab->cchTextMax + 1];
strcpy(vehicleTab->pszText,"Vehicles"); // Localize
miscTab = new TCITEM;
Register_Pointer(miscTab);
miscTab->mask = TCIF_TEXT;
miscTab->cchTextMax = strlen("Misc"); // Localize
miscTab->pszText = new char[miscTab->cchTextMax + 1];
strcpy(miscTab->pszText,"Misc"); // Localize
return 0;
}
void CObjWindow::OnLButtonDblClk(UINT nFlags, CPoint point)
{
GetParent()->SendMessage(WM_LBUTTONDBLCLK,WPARAM(nFlags),MAKELPARAM(point.x,point.y));
CDialog::OnLButtonDblClk(nFlags, point);
}
void CObjWindow::OnRButtonDown(UINT nFlags, CPoint point)
{
GetParent()->SendMessage(WM_RBUTTONDOWN,WPARAM(nFlags),MAKELPARAM(point.x,point.y));
CDialog::OnRButtonDown(nFlags, point);
}
void CObjWindow::OnLButtonUp(UINT nFlags, CPoint point)
{
GetParent()->SendMessage(WM_LBUTTONUP,WPARAM(nFlags),MAKELPARAM(point.x,point.y));
CDialog::OnLButtonUp(nFlags, point);
}
void CObjWindow::OnOK()
{
// someone in MFC thought it would be a good idea to have this function get called everytime
// the ENTER key is pressed.
return;
}
void CObjWindow::OnCancel()
{
// someone in MFC thought it would be a good idea to have this function get called everytime
// the ESCAPE key is pressed.
return;
}
void CObjWindow::OnRButtonDblClk(UINT nFlags, CPoint point)
{
GetParent()->SendMessage(WM_RBUTTONDBLCLK,WPARAM(nFlags),MAKELPARAM(point.x,point.y));
CDialog::OnRButtonDblClk(nFlags, point);
}