home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
distrib.akp.su/Programming/Vb-6+Rus/
/
distrib.akp.su.tar
/
distrib.akp.su
/
Programming
/
Vb-6+Rus
/
COMMON
/
MSDEV98
/
BIN
/
IDE
/
CUSTMWZ.AWX
/
TEMPLATE
/
NEWAW.CPP
< prev
next >
Wrap
C/C++ Source or Header
|
1998-06-18
|
5KB
|
152 lines
// $$filebase$$aw.cpp : implementation file
//
#include "stdafx.h"
#include "$$root$$.h"
#include "$$filebase$$aw.h"
$$IF(HAS_NEW_STEPS || CUSTOMTYPE_SEQUENCE)
#include "chooser.h"
$$ENDIF //HAS_NEW_STEPS || CUSTOMTYPE_SEQUENCE
#ifdef _PSEUDO_DEBUG
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
// This is called immediately after the custom AppWizard is loaded. Initialize
// the state of the custom AppWizard here.
void C$$Safe_root$$AppWiz::InitCustomAppWiz()
{
$$IF(HAS_NEW_STEPS || CUSTOMTYPE_SEQUENCE)
// Create a new dialog chooser; CDialogChooser's constructor initializes
// its internal array with pointers to the steps.
m_pChooser = new CDialogChooser;
$$ENDIF
$$IF(APWZSEQ_EXE)
// At first, we don't know the total number of steps, since there are two
// possible "tracks" (MDI/SDI app and dialog-based app).
SetNumberOfSteps(-1);
// Inform AppWizard of the languages we support
SetSupportedLanguages(_T("$$SUPPORTED_LANGS$$"));
$$ELIF(APWZSEQ_DLL)
// Set the maximum number of steps.
SetNumberOfSteps(LAST_DLG);
// Inform AppWizard that we're making a DLL.
m_Dictionary[_T("PROJTYPE_DLL")] = _T("1");
$$ELIF(CUSTOMTYPE_ZAP || !HAS_NEW_STEPS)
// There are no steps in this custom AppWizard.
SetNumberOfSteps(0);
$$IF(CUSTOMTYPE_ZAP)
// Add build step to .hpj if there is one
m_Dictionary[_T("HELP")] = _T("1");
$$IF(CREATE_DLL_PROJECT)
// Inform AppWizard that we're making a DLL.
m_Dictionary[_T("PROJTYPE_DLL")] = _T("1");
$$ENDIF //CREATE_DLL_PROJECT
$$ENDIF //CUSTOMTYPE_ZAP
$$ELSE
// Set the maximum number of steps.
SetNumberOfSteps(LAST_DLG);
$$ENDIF
// TODO: Add any other custom AppWizard-wide initialization here.
}
// This is called just before the custom AppWizard is unloaded.
void C$$Safe_root$$AppWiz::ExitCustomAppWiz()
{
$$IF(HAS_NEW_STEPS || CUSTOMTYPE_SEQUENCE)
// Deallocate memory used for the dialog chooser
ASSERT(m_pChooser != NULL);
delete m_pChooser;
m_pChooser = NULL;
$$ENDIF //HAS_NEW_STEPS || CUSTOMTYPE_SEQUENCE
// TODO: Add code here to deallocate resources used by the custom AppWizard
}
// This is called when the user clicks "Create..." on the New Project dialog
$$IF(!CUSTOMTYPE_ZAP)
// or "Next" on one of the custom AppWizard's steps.
$$ENDIF //!CUSTOMTYPE_ZAP
CAppWizStepDlg* C$$Safe_root$$AppWiz::Next(CAppWizStepDlg* pDlg)
{
$$IF(CUSTOMTYPE_ZAP)
ASSERT(pDlg == NULL); // By default, this custom AppWizard has no steps
// Set template macros based on the project name entered by the user.
// Get value of $$$$root$$$$ (already set by AppWizard)
CString strRoot;
m_Dictionary.Lookup(_T("root"), strRoot);
// Set value of $$$$Doc$$$$, $$$$DOC$$$$
CString strDoc = strRoot.Left(6);
m_Dictionary[_T("Doc")] = strDoc;
strDoc.MakeUpper();
m_Dictionary[_T("DOC")] = strDoc;
// Set value of $$$$MAC_TYPE$$$$
strRoot = strRoot.Left(4);
int nLen = strRoot.GetLength();
if (strRoot.GetLength() < 4)
{
CString strPad(_T(' '), 4 - nLen);
strRoot += strPad;
}
strRoot.MakeUpper();
m_Dictionary[_T("MAC_TYPE")] = strRoot;
// Return NULL to indicate there are no more steps. (In this case, there are
// no steps at all.)
return NULL;
$$ELIF(HAS_NEW_STEPS || CUSTOMTYPE_SEQUENCE)
// Delegate to the dialog chooser
return m_pChooser->Next(pDlg);
$$ELSE
return NULL;
$$ENDIF //CUSTOMTYPE_ZAP/HAS_NEW_STEPS || CUSTOMTYPE_SEQUENCE
}
$$IF(HAS_NEW_STEPS || CUSTOMTYPE_SEQUENCE)
// This is called when the user clicks "Back" on one of the custom
// AppWizard's steps.
CAppWizStepDlg* C$$Safe_root$$AppWiz::Back(CAppWizStepDlg* pDlg)
{
// Delegate to the dialog chooser
return m_pChooser->Back(pDlg);
}
$$ENDIF //HAS_NEW_STEPS || CUSTOMTYPE_SEQUENCE
void C$$Safe_root$$AppWiz::CustomizeProject(IBuildProject* pProject)
{
// TODO: Add code here to customize the project. If you don't wish
// to customize project, you may remove this virtual override.
// This is called immediately after the default Debug and Release
// configurations have been created for each platform. You may customize
// existing configurations on this project by using the methods
// of IBuildProject and IConfiguration such as AddToolSettings,
// RemoveToolSettings, and AddCustomBuildStep. These are documented in
// the Developer Studio object model documentation.
// WARNING!! IBuildProject and all interfaces you can get from it are OLE
// COM interfaces. You must be careful to release all new interfaces
// you acquire. In accordance with the standard rules of COM, you must
// NOT release pProject, unless you explicitly AddRef it, since pProject
// is passed as an "in" parameter to this function. See the documentation
// on CCustomAppWiz::CustomizeProject for more information.
}
// Here we define one instance of the C$$Safe_root$$AppWiz class. You can access
// m_Dictionary and any other public members of this class through the
// global $$safe_root$$aw.
C$$Safe_root$$AppWiz $$safe_root$$aw;