diff options
Diffstat (limited to 'hammer/editpathdlg.cpp')
| -rw-r--r-- | hammer/editpathdlg.cpp | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/hammer/editpathdlg.cpp b/hammer/editpathdlg.cpp new file mode 100644 index 0000000..1132b20 --- /dev/null +++ b/hammer/editpathdlg.cpp @@ -0,0 +1,78 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +//============================================================================= + +#include "stdafx.h" +#include "hammer.h" +#include "EditPathDlg.h" +#include "GameConfig.h" +#include "fgdlib/GameData.h" + +// memdbgon must be the last include file in a .cpp file!!! +#include <tier0/memdbgon.h> + + +CEditPathDlg::CEditPathDlg(CWnd* pParent /*=NULL*/) + : CDialog(CEditPathDlg::IDD, pParent) +{ + //{{AFX_DATA_INIT(CEditPathDlg) + m_strClass = _T(""); + m_iDirection = -1; + m_strName = _T(""); + //}}AFX_DATA_INIT +} + + +void CEditPathDlg::DoDataExchange(CDataExchange* pDX) +{ + CDialog::DoDataExchange(pDX); + //{{AFX_DATA_MAP(CEditPathDlg) + DDX_Control(pDX, IDC_CLASS, m_cClass); + DDX_CBString(pDX, IDC_CLASS, m_strClass); + DDX_Radio(pDX, IDC_LOOP, m_iDirection); + DDX_Text(pDX, IDC_NAME, m_strName); + //}}AFX_DATA_MAP +} + + +BEGIN_MESSAGE_MAP(CEditPathDlg, CDialog) + //{{AFX_MSG_MAP(CEditPathDlg) + //}}AFX_MSG_MAP +END_MESSAGE_MAP() + + +BOOL CEditPathDlg::OnInitDialog() +{ + CDialog::OnInitDialog(); + + CString strCurrent; + m_cClass.GetWindowText(strCurrent); + + // add class list to combo box + // setup class list + m_cClass.SetRedraw(FALSE); + m_cClass.ResetContent(); + + CString str; + int nCount = pGD->GetClassCount(); + for (int i = 0; i < nCount; i++) + { + GDclass *pc = pGD->GetClass(i); + if (!pc->IsBaseClass()) + { + str = pc->GetName(); + if (!pc->IsClass("worldspawn")) + { + m_cClass.AddString(str); + } + } + } + m_cClass.SetRedraw(TRUE); + m_cClass.SetWindowText(strCurrent); + + m_cClass.Invalidate(); + + return TRUE; +} |