diff options
| author | FluorescentCIAAfricanAmerican <[email protected]> | 2020-04-22 12:56:21 -0400 |
|---|---|---|
| committer | FluorescentCIAAfricanAmerican <[email protected]> | 2020-04-22 12:56:21 -0400 |
| commit | 3bf9df6b2785fa6d951086978a3e66f49427166a (patch) | |
| tree | 2c0f1f0c63c4832882bc93814ebd2c2b1c6224e5 /hammer/selectentitydlg.cpp | |
| download | archived-source-engine-2018-hl2-src-master.tar.xz archived-source-engine-2018-hl2-src-master.zip | |
Diffstat (limited to 'hammer/selectentitydlg.cpp')
| -rw-r--r-- | hammer/selectentitydlg.cpp | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/hammer/selectentitydlg.cpp b/hammer/selectentitydlg.cpp new file mode 100644 index 0000000..51333af --- /dev/null +++ b/hammer/selectentitydlg.cpp @@ -0,0 +1,92 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +// $Workfile: SelectEntityDlg.cpp $ +// $Date: 8/03/99 6:57p $ +// $NoKeywords: $ +//=============================================================================// + +#include "stdafx.h" +#include "hammer.h" +#include "SelectEntityDlg.h" +#include "GlobalFunctions.h" +#include "MapDoc.h" +#include "MapEntity.h" +#include "MapSolid.h" + +// memdbgon must be the last include file in a .cpp file!!! +#include <tier0/memdbgon.h> + +CSelectEntityDlg::CSelectEntityDlg(const CMapObjectList *pList, + CWnd* pParent /*=NULL*/) + : CDialog(CSelectEntityDlg::IDD, pParent) +{ + //{{AFX_DATA_INIT(CSelectEntityDlg) + // NOTE: the ClassWizard will add member initialization here + //}}AFX_DATA_INIT + + m_pEntityList = pList; +} + + +void CSelectEntityDlg::DoDataExchange(CDataExchange* pDX) +{ + CDialog::DoDataExchange(pDX); + //{{AFX_DATA_MAP(CSelectEntityDlg) + DDX_Control(pDX, IDC_ENTITIES, m_cEntities); + //}}AFX_DATA_MAP +} + + +BEGIN_MESSAGE_MAP(CSelectEntityDlg, CDialog) + //{{AFX_MSG_MAP(CSelectEntityDlg) + ON_LBN_SELCHANGE(IDC_ENTITIES, OnSelchangeEntities) + //}}AFX_MSG_MAP +END_MESSAGE_MAP() + + +//----------------------------------------------------------------------------- +// Purpose: +//----------------------------------------------------------------------------- +void CSelectEntityDlg::OnSelchangeEntities() +{ + int iSel = m_cEntities.GetCurSel(); + + CMapEntity *pEntity = (CMapEntity*) m_cEntities.GetItemData(iSel); + + CMapDoc *pDoc = CMapDoc::GetActiveMapDoc(); + pDoc->SelectObject(pEntity, scClear|scSelect|scSaveChanges); +} + + +BOOL CSelectEntityDlg::OnInitDialog() +{ + CDialog::OnInitDialog(); + + // add entities from our list of entities to the listbox + FOR_EACH_OBJ( *m_pEntityList, pos ) + { + CMapClass *pObject = m_pEntityList->Element(pos); + if(!pObject->IsMapClass(MAPCLASS_TYPE(CMapEntity))) + continue; + CMapEntity *pEntity = (CMapEntity*) pObject; + if(pEntity->IsPlaceholder()) + continue; + int iIndex = m_cEntities.AddString(pEntity->GetClassName()); + m_cEntities.SetItemData(iIndex, DWORD(pEntity)); + } + + m_cEntities.SetCurSel(0); + OnSelchangeEntities(); + + return TRUE; +} + +void CSelectEntityDlg::OnOK() +{ + int iSel = m_cEntities.GetCurSel(); + m_pFinalEntity = (CMapEntity*) m_cEntities.GetItemData(iSel); + + CDialog::OnOK(); +} |