summaryrefslogtreecommitdiff
path: root/hammer/editprefabdlg.cpp
diff options
context:
space:
mode:
authorFluorescentCIAAfricanAmerican <[email protected]>2020-04-22 12:56:21 -0400
committerFluorescentCIAAfricanAmerican <[email protected]>2020-04-22 12:56:21 -0400
commit3bf9df6b2785fa6d951086978a3e66f49427166a (patch)
tree2c0f1f0c63c4832882bc93814ebd2c2b1c6224e5 /hammer/editprefabdlg.cpp
downloadarchived-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.cpp107
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());
+}