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/editprefabdlg.cpp | |
| download | archived-source-engine-2018-hl2-src-master.tar.xz archived-source-engine-2018-hl2-src-master.zip | |
Diffstat (limited to 'hammer/editprefabdlg.cpp')
| -rw-r--r-- | hammer/editprefabdlg.cpp | 107 |
1 files changed, 107 insertions, 0 deletions
diff --git a/hammer/editprefabdlg.cpp b/hammer/editprefabdlg.cpp new file mode 100644 index 0000000..70e273f --- /dev/null +++ b/hammer/editprefabdlg.cpp @@ -0,0 +1,107 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +// $NoKeywords: $ +// +//=============================================================================// +// EditPrefabDlg.cpp : implementation file +// + +#include "stdafx.h" +#include "hammer.h" +#include "EditPrefabDlg.h" +#include "Prefabs.h" + +// memdbgon must be the last include file in a .cpp file!!! +#include <tier0/memdbgon.h> + +///////////////////////////////////////////////////////////////////////////// +// CEditPrefabDlg dialog + + +CEditPrefabDlg::CEditPrefabDlg(CWnd* pParent /*=NULL*/) + : CDialog(CEditPrefabDlg::IDD, pParent) +{ + //{{AFX_DATA_INIT(CEditPrefabDlg) + m_strDescript = _T(""); + m_strName = _T(""); + //}}AFX_DATA_INIT + + iMaxDescriptChars = 80; + iMaxNameChars = 30; + m_bEnableLibrary = FALSE; +} + + +void CEditPrefabDlg::DoDataExchange(CDataExchange* pDX) +{ + CDialog::DoDataExchange(pDX); + //{{AFX_DATA_MAP(CEditPrefabDlg) + DDX_Control(pDX, IDC_CREATEIN, m_CreateIn); + DDX_Control(pDX, IDC_NAME, m_Name); + DDX_Control(pDX, IDC_DESCRIPT, m_Descript); + DDX_Text(pDX, IDC_DESCRIPT, m_strDescript); + DDX_Text(pDX, IDC_NAME, m_strName); + //}}AFX_DATA_MAP + DDV_MaxChars(pDX, m_strDescript, iMaxDescriptChars); + DDV_MaxChars(pDX, m_strName, iMaxNameChars); +} + + +BEGIN_MESSAGE_MAP(CEditPrefabDlg, CDialog) + //{{AFX_MSG_MAP(CEditPrefabDlg) + ON_CBN_SELCHANGE(IDC_CREATEIN, OnSelchangeCreatein) + //}}AFX_MSG_MAP +END_MESSAGE_MAP() + +///////////////////////////////////////////////////////////////////////////// +// CEditPrefabDlg message handlers + +void CEditPrefabDlg::SetRanges(int iMaxDescript, int iMaxName) +{ + if(iMaxDescript != -1) + iMaxDescriptChars = iMaxDescript; + if(iMaxName != -1) + iMaxNameChars = iMaxName; +} + +void CEditPrefabDlg::EnableLibrary(BOOL b) +{ + m_bEnableLibrary = b; +} + +BOOL CEditPrefabDlg::OnInitDialog() +{ + CDialog::OnInitDialog(); + + if(!m_bEnableLibrary) + { + GetDlgItem(IDC_CREATEINPROMPT)->SetRedraw(FALSE); + m_CreateIn.SetRedraw(FALSE); + } + else + { + // set title + SetWindowText("Create Prefab"); + + // add all the prefab libraries to it + POSITION p = ENUM_START; + CPrefabLibrary *pLibrary = CPrefabLibrary::EnumLibraries(p); + while(pLibrary) + { + int iIndex = m_CreateIn.AddString(pLibrary->GetName()); + m_CreateIn.SetItemData(iIndex, pLibrary->GetID()); + pLibrary = CPrefabLibrary::EnumLibraries(p); + } + m_CreateIn.SetCurSel(0); + OnSelchangeCreatein(); + } + + return TRUE; +} + +void CEditPrefabDlg::OnSelchangeCreatein() +{ + m_dwLibraryID = m_CreateIn.GetItemData(m_CreateIn.GetCurSel()); +} |