diff options
Diffstat (limited to 'utils/valvelib/chooser.cpp')
| -rw-r--r-- | utils/valvelib/chooser.cpp | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/utils/valvelib/chooser.cpp b/utils/valvelib/chooser.cpp new file mode 100644 index 0000000..a2706fa --- /dev/null +++ b/utils/valvelib/chooser.cpp @@ -0,0 +1,77 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +// $NoKeywords: $ +// +//=============================================================================// +// chooser.cpp : Implements the CDialogChooser class +// + +#include "stdafx.h" +#include "valvelib.h" +#include "chooser.h" +#include "cstm1dlg.h" + +#ifdef _PSEUDO_DEBUG +#undef THIS_FILE +static char THIS_FILE[] = __FILE__; +#endif + +// On construction, set up internal array with pointers to each step. +CDialogChooser::CDialogChooser() +{ + m_pDlgs[0] = NULL; + + m_pDlgs[1] = new CCustom1Dlg; + + m_nCurrDlg = 0; +} +// Remember where the custom steps begin, so we can delete them in +// the destructor +#define FIRST_CUSTOM_STEP 1 +#define LAST_CUSTOM_STEP 1 + +// The destructor deletes entries in the internal array corresponding to +// custom steps. +CDialogChooser::~CDialogChooser() +{ + for (int i = FIRST_CUSTOM_STEP; i <= LAST_CUSTOM_STEP; i++) + { + ASSERT(m_pDlgs[i] != NULL); + delete m_pDlgs[i]; + } +} + +// Use the internal array to determine the next step. +CAppWizStepDlg* CDialogChooser::Next(CAppWizStepDlg* pDlg) +{ + ASSERT(0 <= m_nCurrDlg && m_nCurrDlg < LAST_DLG); + ASSERT(pDlg == m_pDlgs[m_nCurrDlg]); + + m_nCurrDlg++; + + // Force the custom dialog to re-figire out stuff when we enter it... +// if (m_nCurrDlg == 1) +// { +// (CCustom1Dlg*)m_pDlgs[1]->Refresh +// } + + return m_pDlgs[m_nCurrDlg]; +} + +// Use the internal array to determine the previous step. +CAppWizStepDlg* CDialogChooser::Back(CAppWizStepDlg* pDlg) +{ + ASSERT(1 <= m_nCurrDlg && m_nCurrDlg <= LAST_DLG); + ASSERT(pDlg == m_pDlgs[m_nCurrDlg]); + + m_nCurrDlg--; + + // Force the custom dialog to re-figire out stuff when we enter it... + if (m_nCurrDlg == 1) + { + } + + return m_pDlgs[m_nCurrDlg]; +} |