コード例 #1
0
CProjectNewDialog::CProjectNewDialog(CWnd* pParent /*=NULL*/)
		: CTemplateDialog(CProjectNewDialog::IDD, pParent),
		m_wndBrowseButton(IDC_EDIT_PROJECTPATH, CString((LPCTSTR)STE_SELECT_PROJECT_PATH)),
		m_bIgnoreProjectPathChange(FALSE)
{
	//{{AFX_DATA_INIT(CProjectNewDialog)
	m_strProjectName = _T("");
	m_bUseBibTex = FALSE;
	m_bUseMakeIndex = FALSE;
	//}}AFX_DATA_INIT

	// Add template for empty project
	std::unique_ptr<CTemplateItem> pItem(new CEmptyProjectTemplateItem);

	AddTemplateItem(CString((LPCTSTR)STE_EMPTYPROJECT_CATEGORY), 
		std::move(pItem));

	//Get Project base path
	m_strProjectBasePath = AfxGetDefaultDirectory(true, true);

	if (m_strProjectBasePath.IsEmpty())
	{
		LPITEMIDLIST lpidl;
		if (SHGetSpecialFolderLocation(AfxGetMainWnd()->m_hWnd, CSIDL_PERSONAL, &lpidl) == NOERROR)
		{
			SHGetPathFromIDList(lpidl, m_strProjectBasePath.GetBuffer(MAX_PATH));
			m_strProjectBasePath.ReleaseBuffer();

			//free memory
			LPMALLOC lpMalloc;
			SHGetMalloc(&lpMalloc);
			if (lpMalloc)
				lpMalloc->Free(lpidl);
		}
	}

	m_strProjectPath = m_strProjectBasePath;
	m_nFileFormat = CConfiguration::GetInstance()->m_nStandardFileFormat;

	//Set the info about the first tab to be activated
	m_nFirstTab = CConfiguration::GetInstance()->m_nLastTabProjectTemplateDlg;
}
コード例 #2
0
ファイル: HeaderHeader.cpp プロジェクト: HaikuArchives/Pe
BPopUpMenu *
BuildPopUp(BDirectory &dir)
{
	BPopUpMenu *menu = new BPopUpMenu("menu", false);
	//BMenuItem *item;
	//BMessage *msg;
	//status_t err;

	//menu->SetFont(be_plain_font);

	AddTemplateItem(menu, B_UTF8_COPYRIGHT " Haiku", 
		sHaikuHeaderTemplate);

/*
	AddTemplateItem(menu, B_UTF8_COPYRIGHT " Haiku (Add me)", 
		sHaikuAddMeHeaderTemplate, sHaikuAddMeHeaderMatch);
*/

	AddTemplateItem(menu, B_UTF8_COPYRIGHT " Me (Haiku)", 
		sHaikuMeHeaderTemplate);

	AddTemplateItem(menu, B_UTF8_COPYRIGHT " Me (Haiku) + Rights Reserved", 
		sHaikuMeRightsHeaderTemplate);

	AddTemplateItem(menu, "Id + " B_UTF8_COPYRIGHT "Me + MIT + Created", 
		sIdMeMITCreatedHeaderTemplate);

	AddTemplateItem(menu, "Id + " B_UTF8_COPYRIGHT "Me + Full MIT + Created", 
		sIdMeFullMITCreatedHeaderTemplate);

	AddTemplateItem(menu, "Id + " B_UTF8_COPYRIGHT "Me + Full MIT Revised + Created", 
		sIdMeFullMITRevisedCreatedHeaderTemplate);

	if (dir.InitCheck() < B_OK)
		return menu;

	entry_ref ref;
	while (dir.GetNextRef(&ref) == B_OK)
	{
		BFile file(&ref, B_READ_ONLY);
		if (file.InitCheck() < B_OK)
			continue;
		BString str;
		char *p = str.LockBuffer(1024);
		memset(p, 0, 1024);
		if (file.Read(p, 1024) <= 0)
			continue;
		str.UnlockBuffer();
		
		AddTemplateItem(menu, ref.name, str.String());
	}

	menu->AddSeparatorItem();
	menu->AddItem(new BMenuItem("Open template folder"B_UTF8_ELLIPSIS, 
		new BMessage('optf')));
	menu->AddItem(new BMenuItem("Set author"B_UTF8_ELLIPSIS, 
		new BMessage('seta')));
	menu->AddItem(new BMenuItem("About"B_UTF8_ELLIPSIS, 
		new BMessage(B_ABOUT_REQUESTED)));
	return menu;
}