コード例 #1
0
ファイル: HlfViewer.cpp プロジェクト: CyberShadow/FAR
void ShowCurrentHelpTopic()
{
	size_t FileNameSize=Info.EditorControl(-1,ECTL_GETFILENAME,0,0);
	LPWSTR FileName=NULL;
	Info.EditorControl(-1,ECTL_GETINFO,0,&ei);

	if (FileNameSize)
	{
		FileName=new wchar_t[FileNameSize];

		if (FileName)
		{
			Info.EditorControl(-1,ECTL_GETFILENAME,FileNameSize,FileName);
		}
	}

	switch (Opt.Style)
	{
		case 1:

			if (!(ei.CurState&ECSTATE_SAVED))
				ShowHelpFromTempFile();
			else
				ShowHelp(FileName,FindTopic());

			break;
		case 2:

			if (!(ei.CurState&ECSTATE_SAVED))
				Info.EditorControl(-1,ECTL_SAVEFILE, 0, 0);

		default:
			ShowHelp(FileName,FindTopic());
			break;
	}

	if (FileName)
	{
		delete[] FileName;
	}

}
コード例 #2
0
ファイル: HlfViewer.cpp プロジェクト: Frankie-666/farmanager
bool ShowCurrentHelpTopic()
{
	bool Result=true;
	wchar_t *FileName=GetEditorFileName();
	Info.EditorControl(-1,ECTL_GETINFO,0,&ei);

	switch (Opt.Style)
	{
		case 1:

			if (!(ei.CurState&ECSTATE_SAVED))
				ShowHelpFromTempFile();
			else
			{
				const wchar_t *Topic=FindTopic(false);
				if (!Topic)
					Topic=FindTopic(true);
				if (Topic && *Topic)
					ShowHelp(FileName,Topic,false);
				else
					Result=false;
			}

			break;
		case 2:

			if (!(ei.CurState&ECSTATE_SAVED))
				Info.EditorControl(-1,ECTL_SAVEFILE, 0, 0);

		default:
			ShowHelp(FileName,FindTopic(),false);
			break;
	}

	if (FileName)
		delete[] FileName;

	return Result;
}