Esempio n. 1
0
int32
Project::UpdateAttributes(void)
{
	BResources res;
	
	BPath path(fPath.GetFolder());
	path.Append(GetTargetName());
	
	BFile file(path.Path(), B_READ_WRITE);
	if (file.InitCheck() != B_OK)
		return B_BAD_VALUE;
	
	if (res.SetTo(&file) != B_OK)
		return B_ERROR;
	
	ResourceToAttribute(file,res,'MIMS',"BEOS:APP_SIG");
	ResourceToAttribute(file,res,'MIMS',"BEOS:TYPE");
	ResourceToAttribute(file,res,'MSGG',"BEOS:FILE_TYPES");
	ResourceToAttribute(file,res,'APPV',"BEOS:APP_VERSION");
	ResourceToAttribute(file,res,'APPF',"BEOS:APP_FLAGS");
	ResourceToAttribute(file,res,'ICON',"BEOS:L:STD_ICON");
	ResourceToAttribute(file,res,'MICN',"BEOS:M:STD_ICON");
	ResourceToAttribute(file,res,'VICN',"BEOS:ICON");
	
	return B_OK;
}
Esempio n. 2
0
void TrackType::Save(char* filename)
{
	int i;
	XStream flib(GetTargetName(filename), XS_OUT);	
	flib < NumNode < NumBranch;

	for(i = 0;i < NumNode;i++ ) node[i].Save(flib);
	for(i = 0;i < NumBranch;i++) branch[i].Save(flib);
	flib.close();
};
Esempio n. 3
0
bool FDBFile::WriteToFile(const char* filename, FDBPackage::e_export_format e)
{
    if (e==FDBPackage::EX_NONE) e = DefaultFormat();

    assert(ExportFormatIsValid(e));

    bool res=false;
    switch (e)
    {
        case FDBPackage::EX_RAW:
            res = WriteRAW(filename);
            break;

        case FDBPackage::EX_INI:
            res = WriteINI(filename);
            break;

        case FDBPackage::EX_LUA:
            res = WriteLUA(filename);
            break;

        case FDBPackage::EX_CSV:
            res = WriteCSV( GetTargetName( filename, e).c_str());
            break;

        case FDBPackage::EX_SQLITE:
            res = WriteSQLITE(GetTargetName( filename, e).c_str());
            break;

        case FDBPackage::EX_MYSQL:
            res = WriteMySQL(GetTargetName( filename, e).c_str());
            break;
    }

    return res;
}
Esempio n. 4
0
static void SetTargetFiles (void)
/* Set the target system files */
{
    /* Determine the names of the target specific library file */
    if (Target != TGT_NONE) {

        /* Get a pointer to the system name and its length */
        const char* TargetName = GetTargetName (Target);
        unsigned    TargetNameLen = strlen (TargetName);

        /* Set the library file */
        TargetLib = xmalloc (TargetNameLen + 4 + 1);
        memcpy (TargetLib, TargetName, TargetNameLen);
        strcpy (TargetLib + TargetNameLen, ".lib");

    }
}
Esempio n. 5
0
void
Project::UpdateResources(void)
{
	DPath targetpath(fPath.GetFolder());
	targetpath.Append(GetTargetName());
	
	BString resFileString;
	int32 resCount = 0;

	for (int32 i = 0; i < CountGroups(); i++)
	{
		SourceGroup *group = GroupAt(i);
		
		for (int32 j = 0; j < group->filelist.CountItems(); j++)
		{
			SourceFile *file = group->filelist.ItemAt(j);
			
			if (file->GetResourcePath(fBuildInfo).GetFullPath())
			{
				resFileString << "'" << file->GetResourcePath(fBuildInfo).GetFullPath() << "' ";
				resCount++;
			}
		}
	}
	
	if (resCount > 0)
	{
		BString resString = "xres -o ";
		resString << "'" << targetpath.GetFullPath() << "' " << resFileString;		
		BString errmsg;
		PipeCommand(resString.String(),errmsg);
		
		STRACE(1,("Resources for %s:\n%s\nErrors:%s\n",GetName(),resString.String(),errmsg.String()));
		
		if (errmsg.CountChars() > 0)
			printf("Resource errors: %s\n",errmsg.String());
	}
	else
	{
		STRACE(1,("Resources for %s: No resource files to add\n",GetName()));
	}
}
Esempio n. 6
0
void TrackType::Open(char* filename)
{
	int i;
	
	XStream fin(GetTargetName(filename), XS_IN);	
	fin > NumNode > NumBranch;

	node = new NodeType[NumNode];
	branch = new BranchType[NumBranch];

	for(i = 0;i < NumNode;i++ ) node[i].Open(fin,branch,i);
	for(i = 0;i < NumBranch;i++) branch[i].Open(fin,node,i);
	fin.close();

	for(i = 0;i < NumNode;i++){
		for(int j = 0;j < node[i].NumBranch;j++){
			if(node[i].Status[j] && node[i].pBranches[j]->pBeg != &node[i]) ErrH.Abort("Bad Status Node");
			if(!(node[i].Status[j]) && node[i].pBranches[j]->pEnd != &node[i]) ErrH.Abort("Bad Status Node");
		};
	};
};
Esempio n. 7
0
static void CmdSetTarget (CmdDesc* Cmd, target_t Target)
/* Set the output file in a command desc */
{
    CmdAddArg2 (Cmd, "-t", GetTargetName (Target));
}
Esempio n. 8
0
bool CWizard::make_project()
{
	wizard.AddSymbol(info.ar_app[info.nAppType],true);
	wizard.AddSymbol("WINX_USE_CPP_FILES",info.bCppFiles);
	wizard.AddSymbol("WINX_USE_MENUBAR", info.bMenuBar);
	wizard.AddSymbol("WINX_USE_REBAR",info.bReBar);
	wizard.AddSymbol("WINX_USE_CMDBAR",info.bCmdBar);
	wizard.AddSymbol("WINX_USE_TOOLBAR",info.bToolBar);
	wizard.AddSymbol("WINX_USE_STATUSBAR",info.bStatusBar);
	wizard.AddSymbol("WINX_ENABLE_AX",info.bEnableActiveX);
	wizard.AddSymbol("WINX_USE_MANIFEST",info.bManifest);
	wizard.AddSymbol("WINX_HOST_AX",info.bHostActiveX);
	wizard.AddSymbol("WINX_USE_UNICODE",info.bUnicode);
	wizard.AddSymbol("WINX_USE_VIEW",info.bUseView);
	wizard.AddSymbol("PROJECT_LANG_"+info.ar_lang[info.nAppLang],true);
	wizard.AddSymbol("WINX_USE_GDIPLUS",info.bGdiPlus);
	wizard.AddSymbol("WINX_USE_ACCEL",info.bAccel);
	wizard.AddSymbol("WINX_USE_DDX",info.bDDX);
	wizard.AddSymbol("WINX_USE_DEFSDK",info.bDefSDK);

	if (info.bFrameDialog == false)
	{
		wizard.AddSymbol("WINX_USE_LOOKNFEEL",info.bLookNFeel);
	}
	
	wizard.AddSymbol("WINX_APPTYPE_DLG_FRAME",info.bFrameDialog);
	wizard.AddSymbol("WINX_USE_ADDVFCFILES",info.bAddVFCFiles);

	wizard.AddSymbol("PROJECT_NAME",info.strProjectName);
	wizard.AddSymbol("PROJECT_PATH",info.strProjectPath);
	wizard.AddSymbol("PROJECT_ENCODE","Windows-1252");
	wizard.AddSymbol("PROJECT_GUID",wizard.make_guid());

	wizard.AddSymbol("WINX_MAINDLG_CLASS","CMainDlg");
	wizard.AddSymbol("WINX_MAINDLG_FILE","MainDlg");

	if (info.nViewType == 6)
	{
		info.bEnableActiveX = true;
	}

	if (info.nAppType == 0)
	{
		if (info.bEnableActiveX)
			wizard.AddSymbol("WINX_MAINDLG_BASE_CLASS","winx::AxModelDialog");
		else
			wizard.AddSymbol("WINX_MAINDLG_BASE_CLASS","winx::ModelDialog");
	}
	else if (info.nAppType == 1)
	{
		if (info.bEnableActiveX)
			wizard.AddSymbol("WINX_MAINDLG_BASE_CLASS","winx::AxModelessDialog");
		else
			wizard.AddSymbol("WINX_MAINDLG_BASE_CLASS","winx::ModelessDialog");
	}

	if (info.bVS60)
		wizard.AddSymbol("PROJECT_VS60",true);
	if (info.bVS2002)
		wizard.AddSymbol("PROJECT_VS2002",true);
	if (info.bVS2003)
		wizard.AddSymbol("PROJECT_VS2003",true);
	if (info.bVS2005)
		wizard.AddSymbol("PROJECT_VS2005",true);
	if (info.bVS2008)
		wizard.AddSymbol("PROJECT_VS2008",true);
	
	if ( (info.bVS2005 || info.bVS2008) && info.bManifest)
	{
		wizard.AddSymbol("WINX_USE_EMBEDDED_MANIFEST", true);
		if (!info.bVS60 && !info.bVS2002 && !info.bVS2003)
			wizard.AddSymbol("WINX_USE_MANIFEST", false);
	}
	if (info.bVCExpress)
	{
		wizard.AddSymbol("WTL_USE_SDK_ATL3", true);
	}
	
	// Create symbols based on the project name
	CString strSafeProjectName = CreateSafeName(info.strProjectName);
	wizard.AddSymbol("SAFE_PROJECT_NAME", strSafeProjectName);
	CString tmp = strSafeProjectName.Left(1);
	tmp.MakeUpper();
	tmp += strSafeProjectName.Right(strSafeProjectName.GetLength()-1);
	wizard.AddSymbol("NICE_SAFE_PROJECT_NAME", tmp);
	tmp.MakeUpper();
	wizard.AddSymbol("UPPERCASE_SAFE_PROJECT_NAME", tmp);
	
	// Set current year symbol
	SYSTEMTIME st = {0};
	::GetLocalTime(&st);
	if(st.wYear >= 2003)
	{
		tmp.Format(_T("%d"),st.wYear);
		wizard.AddSymbol("WTL_CURRENT_YEAR", tmp);
	}

	// Set view symbols
	if(wizard.FindSymbol("WINX_USE_VIEW"))
	{
		CString strViewFile = info.strProjectName + "View";
		wizard.AddSymbol("WINX_VIEW_FILE", strViewFile);
		
		CString strViewClass = "C" + wizard.FindSymbolVal("NICE_SAFE_PROJECT_NAME") + "View";
		wizard.AddSymbol("WINX_VIEW_CLASS", strViewClass);
		wizard.AddSymbol("WINX_VIEW_CLASS_REG",wizard.FindSymbolVal("NICE_SAFE_PROJECT_NAME") + "View");
		
	//	wizard.AddSymbol("WTL_VIEWTYPE_GENERIC", false);
	//	wizard.AddSymbol("WTL_VIEW_BASE_CLASS","CWindowImpl");
	//	wizard.AddSymbol("WTL_VIEW_STYLES","WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN");
	//	wizard.AddSymbol("WTL_VIEW_EX_STYLES","WS_EX_CLIENTEDGE");
		switch(info.nViewType)
		{
		case 0:
			wizard.AddSymbol("WINX_VIEWTYPE_GENERIC",true);
			wizard.AddSymbol("WINX_VIEW_BASE_CLASS","winx::Window");
			break;
		case 1:
			wizard.AddSymbol("WINX_VIEWTYPE_LISTBOX", true);
			wizard.AddSymbol("WINX_VIEW_BASE_CLASS", "winx::ListBox");
			break;
		case 2:
			wizard.AddSymbol("WINX_VIEWTYPE_EDIT", true);
			wizard.AddSymbol("WINX_VIEW_BASE_CLASS", "winx::Edit");
			break;
		case 3:
			wizard.AddSymbol("WINX_VIEWTYPE_LISTVIEW", true);
			wizard.AddSymbol("WINX_VIEW_BASE_CLASS", "winx::ListCtrl");
			break;
		case 4:
			wizard.AddSymbol("WINX_VIEWTYPE_TREEVIEW", true);
			wizard.AddSymbol("WINX_VIEW_BASE_CLASS", "winx::TreeCtrl");
			break;
		case 5:
			wizard.AddSymbol("WINX_VIEWTYPE_RICHEDIT", true);
			wizard.AddSymbol("WINX_VIEW_BASE_CLASS", "winx::RichEdit");
			break;
		case 6:
			wizard.AddSymbol("WINX_VIEWTYPE_HTML", true);
			break;
		case 7:
			wizard.AddSymbol("WINX_VIEWTYPE_SCROLL", true);
			wizard.AddSymbol("WINX_VIEW_BASE_CLASS", "winx::ScrollWindow");
			break;
		default:
			wizard.AddSymbol("WTL_VIEWTYPE_GENERIC", true);
			break;
		}
		
		if(wizard.FindSymbol("WINX_VIEWTYPE_HTML"))
			wizard.AddSymbol("WINX_USE_VIEW", false);
	}

	CString strInfFile = info.templatePath + "\\Templates.inf";

	str_vector array;
	wizard.load_file_vector(strInfFile,array);

	CConfirmDlg dlg;
	dlg.m_projectPath = info.strProjectPath;
	
	CString t1,t2,t3;
	wizard.get_define_info(t1);
	wizard.get_output_info(t2);
	CString t4;
	for (str_vector::iterator it = array.begin(); it != array.end(); it++)
	{
		t4 = *it;
		t4.TrimLeft();
		t4.TrimRight();
		if (!t4.IsEmpty())
		{
			t3 += _T(".\\")+GetTargetName(t4,info.strProjectName);
			t3 += _T("\r\n");
		}
	}
	dlg.m_info = t1+_T("\r\n")+t2+_T("\r\n")+t3;

	if (dlg.DoModal() == IDOK)	
	{
		return AddFilesToProject(info.strProjectName,info.strProjectPath,array);
	}
	else
	{
		wizard.clear();
		return false;
	}
	return false;
}
Esempio n. 9
0
bool CWizard::AddFilesToProject(const CString & strProjectName, const CString &strProjectPath, str_vector & array)
{
	wizard.AddSymbol("INSERT_LOCATION_COMMENT","VisualFC AppWizard will insert additional declarations immediately before the previous line.");
	CString strTemplatePath = info.templatePath;
	
	CString strTpl;
	CString strName;

	if (!::CreateDirectory(strProjectPath,0))
	{
		MessageBox(NULL,"Unable Create Direct "+ strProjectPath,"WTLAppWizard",MB_OK | MB_ICONWARNING);
		return false;
	}
	::CreateDirectory(strProjectPath+_T("\\res"),0);


	for (int i = 0; i < array.size(); i++)
	{
		strTpl = array[i];
		strTpl.TrimLeft();
		strTpl.TrimRight();
		if (!strTpl.IsEmpty())
		{
			strName = strTpl;
			CString strTarget = GetTargetName(strName, strProjectName);
			CString strTemplate = strTemplatePath + '\\' + strTpl;
			CString strFile = strProjectPath + '\\' + strTarget;

			
			bool bCopyOnly = false;  //"true" will only copy the file from strTemplate to strTarget without rendering/adding to the project
			CString strExt = strName.Right(strName.GetLength()-strName.ReverseFind('.'));
			if(strExt==".bmp" || strExt==".ico" || strExt==".gif" || strExt==".rtf" || strExt==".css")
				bCopyOnly = true;

			if (strExt == _T(".h"))
			{
				CString strFileNS = strTarget;
				strFileNS.MakeUpper();
				strFileNS = _T("VFC_")+strFileNS.Left(strFileNS.GetLength()-2)+_T("_H__");
				wizard.AddSymbol(_T("FILE_NAME_SYMBOL"),strFileNS+wizard.make_include_guid()+_T("_"));
			}
			else
			{
				wizard.AddSymbol(_T("FILE_NAME_SYMBOL"),false);
			}
			
			if (bCopyOnly)
				::CopyFile(strTemplate,strFile,FALSE);
			else
				wizard.make_file(strTemplate,strFile);
			
			// don't add these files to the project
			/*
			if(strTarget == strProjectName + ".h" ||
				strTarget == strProjectName + "ps.mk" ||
				strTarget == strProjectName + "ps.def")
				continue;
			*/
		}
	}
	return true;
}
Esempio n. 10
0
void
Project::Link(void)
{
	BString linkString;
	
	if (TargetType() == TARGET_STATIC_LIB)
	{
		linkString = "ar rcs '";
		linkString << GetPath().GetFolder() << "/" << GetTargetName() << "' ";
		for (int32 i = 0; i < CountGroups(); i++)
		{
			SourceGroup *group = GroupAt(i);
			
			for (int32 j = 0; j < group->filelist.CountItems(); j++)
			{
				SourceFile *file = group->filelist.ItemAt(j);
				if (file->GetObjectPath(fBuildInfo).GetFullPath())
					linkString << "'" << file->GetObjectPath(fBuildInfo).GetFullPath() << "' ";
			}
		}
	
	}
	else
	{
		linkString = "gcc -o '";
		linkString << GetPath().GetFolder() << "/" << GetTargetName() << "' ";
			
		for (int32 i = 0; i < CountGroups(); i++)
		{
			SourceGroup *group = GroupAt(i);
			
			for (int32 j = 0; j < group->filelist.CountItems(); j++)
			{
				SourceFile *file = group->filelist.ItemAt(j);
				if (file->GetObjectPath(fBuildInfo).GetFullPath())
					linkString << "'" << file->GetObjectPath(fBuildInfo).GetFullPath() << "' ";
			}
		}
	
		for (int32 i = 0; i < CountGroups(); i++)
		{
			SourceGroup *group = GroupAt(i);
			
			for (int32 j = 0; j < group->filelist.CountItems(); j++)
			{
				SourceFile *file = group->filelist.ItemAt(j);
				if (file->GetLibraryPath(fBuildInfo).GetFullPath())
					linkString << "'" << file->GetLibraryPath(fBuildInfo).GetFullPath() << "' ";
			}
		}
	
		for (int32 i = 0; i < CountLibraries(); i++)
		{
			SourceFile *file = LibraryAt(i);
			if (!file)
				continue;
			
			BString filenamebase;
			filenamebase = file->GetPath().GetBaseName();
			if (filenamebase.FindFirst("lib") == 0)
				filenamebase.RemoveFirst("lib");
			
			linkString << "-l" << filenamebase << " ";
		}
		
		if (TargetType() == TARGET_DRIVER)
			linkString << "/boot/develop/lib/x86/_KERNEL_ ";
		
		linkString << "-L/boot/home/config/lib ";
		
		switch (TargetType())
		{
			case TARGET_DRIVER:
			{
				linkString << "-Xlinker -nostdlib ";
				break;
			}
			case TARGET_SHARED_LIB:
			{
				linkString << "-nostart -Xlinker -soname=" << GetTargetName() << " ";
				break;
			}
			default:
			{
				// Application
				linkString << "-Xlinker -soname=_APP_ ";
				break;
			}
		}
	}
	
	linkString << " 2>&1";
	
	BString errmsg;
	PipeCommand(linkString.String(),errmsg);

	STRACE(1,("Linking %s:\n%s\nErrors:\n%s\n",GetName(),linkString.String(),errmsg.String()));
	
	if (errmsg.CountChars() > 0)
		ParseLDErrors(errmsg.String(),fBuildInfo.errorList);
}
Esempio n. 11
0
bool CWizard::make_project()
{
	wizard.AddSymbol(info.ar_app[info.nAppType],true);
	wizard.AddSymbol("WTL_APPTYPE_DLG_MODAL",info.bModalDialog);
	wizard.AddSymbol("WTL_COM_SERVER",info.bComServer);
	wizard.AddSymbol("WTL_USE_CPP_FILES",info.bCppFiles);
	wizard.AddSymbol("WTL_USE_TOOLBAR",info.bToolBar);
	wizard.AddSymbol("WTL_USE_STATUSBAR",info.bStatusBar);
	wizard.AddSymbol("WTL_ENABLE_AX",info.bEnableActiveX);
	wizard.AddSymbol("WTL_HOST_AX",info.bHostActiveX);
	wizard.AddSymbol("WTL_USE_VIEW",info.bUseView);
	wizard.AddSymbol("PROJECT_LANG_"+info.ar_lang[info.nAppLang],true);


	wizard.AddSymbol("PROJECT_NAME",info.strProjectName);
	wizard.AddSymbol("PROJECT_PATH",info.strProjectPath);
	wizard.AddSymbol("PROJECT_ENCODE","Windows-1252");
	wizard.AddSymbol("PROJECT_GUID",wizard.make_guid());


	if (info.nSDKType == 0)
	{
		wizard.AddSymbol("WTL_SDKTYPE_NODEF",true);
	}
	else if (info.nSDKType == 1)
	{
		wizard.AddSymbol("WTL_SDKTYPE_0400",true);
	}
	else if (info.nSDKType == 2)
	{
		wizard.AddSymbol("WTL_SDKTYPE_0500",true);
	}
	else if (info.nSDKType == 3)
	{
		wizard.AddSymbol("WTL_SDKTYPE_0600",true);
	}

	if (info.nAppType == 3)
	{
		wizard.AddSymbol("WTL_MAINDLG_FILE","MainDlg");
	}
	else
	{
		wizard.AddSymbol("WTL_FRAME_CLASS","CMainFrame");
		wizard.AddSymbol("WTL_FRAME_FILE","MainFrm");
		wizard.AddSymbol("WTL_FRAME_BASE_CLASS","CFrameWindowImpl");
		
		if (info.nAppType == 2)
		{
			wizard.AddSymbol("WTL_CHILD_FRAME_FILE","ChildFrm");
			wizard.AddSymbol("WTL_CHILD_FRAME_CLASS","CChildFrame");
		}
	}

	if (info.bVS60)
		wizard.AddSymbol("PROJECT_VS60",true);
	if (info.bVS2002)
		wizard.AddSymbol("PROJECT_VS2002",true);
	if (info.bVS2003)
		wizard.AddSymbol("PROJECT_VS2003",true);
	if (info.bVS2005)
		wizard.AddSymbol("PROJECT_VS2005",true);
	if (info.bVS2008)
		wizard.AddSymbol("PROJECT_VS2008",true);

	if (info.nAppType == 3 || info.nAppType == 4)
		wizard.AddSymbol("WTL_USE_VIEW",true);
	
	// Create symbols based on the project name
	CString strSafeProjectName = CreateSafeName(info.strProjectName);
	wizard.AddSymbol("SAFE_PROJECT_NAME", strSafeProjectName);
	CString tmp = strSafeProjectName.Left(1);
	tmp.MakeUpper();
	tmp += strSafeProjectName.Right(strSafeProjectName.GetLength()-1);
	wizard.AddSymbol("NICE_SAFE_PROJECT_NAME", tmp);
	tmp.MakeUpper();
	wizard.AddSymbol("UPPERCASE_SAFE_PROJECT_NAME", tmp);
	
	// Set current year symbol
	SYSTEMTIME st = {0};
	::GetLocalTime(&st);
	if(st.wYear >= 2003)
	{
		tmp.Format(_T("%d"),st.wYear);
		wizard.AddSymbol("WTL_CURRENT_YEAR", tmp);
	}
	
	// Set APPID and LIBID symbols for COM servers
	if(wizard.FindSymbol("WTL_COM_SERVER"))
	{
		wizard.AddSymbol("WTL_APPID", wizard.make_guid());
		
		wizard.AddSymbol("WTL_LIBID", wizard.make_guid());
	}		// Set app type symbols
	// Set app type symbols
	if(wizard.FindSymbol("WTL_APPTYPE_SDI"))
	{
		wizard.AddSymbol("WTL_FRAME_BASE_CLASS","CFrameWindowImpl");
	}
	else if(wizard.FindSymbol("WTL_APPTYPE_MTSDI"))
	{
		wizard.AddSymbol("WTL_FRAME_BASE_CLASS","CFrameWindowImpl");
	}
	else if(wizard.FindSymbol("WTL_APPTYPE_MDI"))
	{
		wizard.AddSymbol("WTL_FRAME_BASE_CLASS","CMDIFrameWindowImpl");
		wizard.AddSymbol("WTL_CHILD_FRAME_BASE_CLASS","CMDIChildWindowImpl");
	}
	else if(wizard.FindSymbol("WTL_APPTYPE_DLG"))
	{
		wizard.AddSymbol("WTL_MAINDLG_CLASS","CMainDlg");
		if(wizard.FindSymbol("WTL_ENABLE_AX"))
			wizard.AddSymbol("WTL_MAINDLG_BASE_CLASS", "CAxDialogImpl");
		else
			wizard.AddSymbol("WTL_MAINDLG_BASE_CLASS", "CDialogImpl");
		
		if (!wizard.FindSymbol("WTL_APPTYPE_DLG_FRAME"))
		{
			wizard.AddSymbol("WTL_USE_TOOLBAR", false);
			wizard.AddSymbol("WTL_USE_REBAR", false);
			wizard.AddSymbol("WTL_USE_CMDBAR", false);
			wizard.AddSymbol("WTL_USE_STATUSBAR", false);
			wizard.AddSymbol("WTL_USE_VIEW", false);
		}
	}
	
	
	// Set view symbols
	if(wizard.FindSymbol("WTL_USE_VIEW"))
	{
		CString strViewFile = info.strProjectName + "View";
		wizard.AddSymbol("WTL_VIEW_FILE", strViewFile);
		
		CString strViewClass = "C" + wizard.FindSymbolVal("NICE_SAFE_PROJECT_NAME") + "View";
		wizard.AddSymbol("WTL_VIEW_CLASS", strViewClass);
		
		wizard.AddSymbol("WTL_VIEWTYPE_GENERIC", false);
		wizard.AddSymbol("WTL_VIEW_BASE_CLASS","CWindowImpl");
		wizard.AddSymbol("WTL_VIEW_STYLES","WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN");
		wizard.AddSymbol("WTL_VIEW_EX_STYLES","WS_EX_CLIENTEDGE");

		switch(info.nViewType)
		{
		case 1:
			wizard.AddSymbol("WTL_VIEWTYPE_FORM", true);
			if(wizard.FindSymbol("WTL_ENABLE_AX") && wizard.FindSymbol("WTL_HOST_AX"))
				wizard.AddSymbol("WTL_VIEW_BASE_CLASS", "CAxDialogImpl");
			else
				wizard.AddSymbol("WTL_VIEW_BASE_CLASS", "CDialogImpl");
			break;
		case 2:
			wizard.AddSymbol("WTL_VIEWTYPE_LISTBOX", true);
			wizard.AddSymbol("WTL_VIEW_BASE", "CListBox");
			wizard.AddSymbol("WTL_VIEW_STYLES", "WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | LBS_NOINTEGRALHEIGHT | LBS_NOTIFY | LBS_WANTKEYBOARDINPUT");
			break;
		case 3:
			wizard.AddSymbol("WTL_VIEWTYPE_EDIT", true);
			wizard.AddSymbol("WTL_VIEW_BASE", "CEdit");
			wizard.AddSymbol("WTL_VIEW_STYLES", "WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_HSCROLL | WS_VSCROLL | ES_AUTOHSCROLL | ES_AUTOVSCROLL | ES_MULTILINE | ES_NOHIDESEL");
			break;
		case 4:
			wizard.AddSymbol("WTL_VIEWTYPE_LISTVIEW", true);
			wizard.AddSymbol("WTL_VIEW_BASE", "CListViewCtrl");
			wizard.AddSymbol("WTL_VIEW_STYLES", "WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | LVS_REPORT | LVS_SHOWSELALWAYS");
			break;
		case 5:
			wizard.AddSymbol("WTL_VIEWTYPE_TREEVIEW", true);
			wizard.AddSymbol("WTL_VIEW_BASE", "CTreeViewCtrl");
			wizard.AddSymbol("WTL_VIEW_STYLES", "WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | TVS_HASLINES | TVS_LINESATROOT | TVS_SHOWSELALWAYS");
			break;
		case 6:
			wizard.AddSymbol("WTL_VIEWTYPE_RICHEDIT", true);
			wizard.AddSymbol("WTL_VIEW_BASE", "CRichEditCtrl");
			wizard.AddSymbol("WTL_VIEW_STYLES", "WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_HSCROLL | WS_VSCROLL | ES_AUTOHSCROLL | ES_AUTOVSCROLL | ES_MULTILINE | ES_NOHIDESEL | ES_SAVESEL");
			break;
		case 7:
			wizard.AddSymbol("WTL_VIEWTYPE_HTML", true);
			wizard.AddSymbol("WTL_VIEW_BASE", "CAxWindow");
			wizard.AddSymbol("WTL_ENABLE_AX", true);
			wizard.AddSymbol("WTL_VIEW_STYLES", "WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_HSCROLL | WS_VSCROLL");
			break;
		case 8:
			wizard.AddSymbol("WTL_VIEWTYPE_SCROLL", true);
			wizard.AddSymbol("WTL_VIEW_BASE_CLASS", "CScrollWindowImpl");
			wizard.AddSymbol("WTL_VIEW_STYLES", "WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_HSCROLL | WS_VSCROLL");
			break;
		default:
			wizard.AddSymbol("WTL_VIEWTYPE_GENERIC", true);
			break;
		}
		
		if(wizard.FindSymbol("WTL_APPTYPE_TABVIEW"))
			wizard.AddSymbol("WTL_VIEW_EX_STYLES", "0");
	}


	CString strInfFile = info.templatePath + "\\Templates.inf";

	str_vector array;
	wizard.load_file_vector(strInfFile,array);

	CConfirmDlg dlg;
	dlg.m_projectPath = info.strProjectPath;
	
	CString t1,t2,t3;
	wizard.get_define_info(t1);
	wizard.get_output_info(t2);
	CString t4;
	for (str_vector::iterator it = array.begin(); it != array.end(); it++)
	{
		t4 = *it;
		t4.TrimLeft();
		t4.TrimRight();
		if (!t4.IsEmpty())
		{
			t3 += _T(".\\")+GetTargetName(t4,info.strProjectName);
			t3 += _T("\r\n");
		}
	}
	dlg.m_info = t1+_T("\r\n")+t2+_T("\r\n")+t3;

	if (dlg.DoModal() == IDOK)	
	{
		return AddFilesToProject(info.strProjectName,info.strProjectPath,array);
	}
	else
	{
		wizard.clear();
		return false;
	}
	return false;
}