mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-27 20:00:47 +02:00
IDE: help for compiler directives
git-svn-id: trunk@31412 -
This commit is contained in:
parent
3a0e7e4224
commit
e715236ac9
@ -1224,9 +1224,14 @@ function TIDEHelpManager.ShowHelpForSourcePosition(const Filename: string;
|
||||
if p<1 then exit;
|
||||
GetIdentStartEndAtPosition(CodeBuffer.Source,p,IdentStart,IdentEnd);
|
||||
if IdentEnd<=IdentStart then exit;
|
||||
if (IdentStart > 1) and (CodeBuffer.Source[IdentStart - 1] = '$') then
|
||||
Dec(IdentStart);
|
||||
KeyWord:=copy(CodeBuffer.Source,IdentStart,IdentEnd-IdentStart);
|
||||
ErrorMsg:='';
|
||||
Result:=ShowHelpForKeyword('',FPCKeyWordHelpPrefix+Keyword,ErrorMsg);
|
||||
if KeyWord[1] = '$' then
|
||||
Result:=ShowHelpForDirective('',FPCDirectiveHelpPrefix+Keyword,ErrorMsg)
|
||||
else
|
||||
Result:=ShowHelpForKeyword('',FPCKeyWordHelpPrefix+Keyword,ErrorMsg);
|
||||
if Result=shrHelpNotFound then exit;
|
||||
HelpManager.ShowError(Result,ErrorMsg);
|
||||
end;
|
||||
|
@ -141,6 +141,7 @@ var
|
||||
|
||||
var
|
||||
FPCKeyWordHelpPrefix: string = 'FPCKeyword_';
|
||||
FPCDirectiveHelpPrefix: string = 'FPCDirective_';
|
||||
|
||||
implementation
|
||||
|
||||
|
@ -101,6 +101,18 @@ type
|
||||
end;
|
||||
|
||||
|
||||
{ THelpQueryDirective }
|
||||
|
||||
THelpQueryDirective = class(THelpQuery)
|
||||
private
|
||||
FDirective: string;
|
||||
public
|
||||
constructor Create(const TheHelpDatabaseID: THelpDatabaseID;
|
||||
const TheDirective: string);
|
||||
property Directive: string read FDirective write FDirective;
|
||||
end;
|
||||
|
||||
|
||||
{ THelpQuerySourcePosition }
|
||||
|
||||
THelpQuerySourcePosition = class(THelpQuery)
|
||||
@ -202,6 +214,8 @@ type
|
||||
var ErrMsg: string): TShowHelpResult; virtual;
|
||||
function ShowHelpForKeyword(Query: THelpQueryKeyword;
|
||||
var ErrMsg: string): TShowHelpResult; virtual;
|
||||
function ShowHelpForDirective(Query: THelpQueryDirective;
|
||||
var ErrMsg: string): TShowHelpResult; virtual;
|
||||
function ShowHelpForPascalContexts(Query: THelpQueryPascalContexts;
|
||||
var ErrMsg: string): TShowHelpResult; virtual;
|
||||
function ShowHelpForSourcePosition(Query: THelpQuerySourcePosition;
|
||||
@ -249,6 +263,12 @@ function ShowHelpForKeyword(HelpDatabaseID: THelpDatabaseID;
|
||||
function ShowHelpForKeyword(const HelpKeyword: string; var ErrMsg: string
|
||||
): TShowHelpResult; overload;
|
||||
|
||||
// help by compiler directive
|
||||
function ShowHelpForDirective(HelpDatabaseID: THelpDatabaseID;
|
||||
const HelpDirective: string; var ErrMsg: string): TShowHelpResult; overload;
|
||||
function ShowHelpForDirective(const HelpDirective: string; var ErrMsg: string
|
||||
): TShowHelpResult; overload;
|
||||
|
||||
// help for pascal sources
|
||||
function ShowHelpForPascalContexts(const Filename: string;
|
||||
const SourcePosition: TPoint; ListOfPascalHelpContextList: TList;
|
||||
@ -339,6 +359,20 @@ begin
|
||||
Result:=ShowHelpForKeyword('',HelpKeyword,ErrMsg);
|
||||
end;
|
||||
|
||||
function ShowHelpForDirective(HelpDatabaseID: THelpDatabaseID;
|
||||
const HelpDirective: string; var ErrMsg: string): TShowHelpResult;
|
||||
begin
|
||||
Result:=HelpManager.ShowHelpForQuery(
|
||||
THelpQueryDirective.Create(HelpDatabaseID,HelpDirective),
|
||||
true,ErrMsg);
|
||||
end;
|
||||
|
||||
function ShowHelpForDirective(const HelpDirective: string;
|
||||
var ErrMsg: string): TShowHelpResult;
|
||||
begin
|
||||
Result:=ShowHelpForDirective('',HelpDirective,ErrMsg);
|
||||
end;
|
||||
|
||||
function ShowHelpForPascalContexts(const Filename: string;
|
||||
const SourcePosition: TPoint; ListOfPascalHelpContextList: TList;
|
||||
var ErrMsg: string): TShowHelpResult;
|
||||
@ -430,6 +464,15 @@ begin
|
||||
Result:=ResultNames[HelpResult];
|
||||
end;
|
||||
|
||||
{ THelpQueryDirective }
|
||||
|
||||
constructor THelpQueryDirective.Create(
|
||||
const TheHelpDatabaseID: THelpDatabaseID; const TheDirective: string);
|
||||
begin
|
||||
inherited Create(TheHelpDatabaseID);
|
||||
FDirective := TheDirective;
|
||||
end;
|
||||
|
||||
{ THelpQuery }
|
||||
|
||||
constructor THelpQuery.Create(const TheHelpDatabaseID: THelpDatabaseID);
|
||||
@ -532,6 +575,12 @@ begin
|
||||
Result:=DoHelpNotFound(ErrMsg);
|
||||
end;
|
||||
|
||||
function THelpManager.ShowHelpForDirective(Query: THelpQueryDirective;
|
||||
var ErrMsg: string): TShowHelpResult;
|
||||
begin
|
||||
Result:=DoHelpNotFound(ErrMsg);
|
||||
end;
|
||||
|
||||
function THelpManager.ShowHelpForPascalContexts(
|
||||
Query: THelpQueryPascalContexts; var ErrMsg: string): TShowHelpResult;
|
||||
begin
|
||||
|
@ -678,6 +678,14 @@ msgstr "La base de dades de l'ajuda %s%s%s no ha trobat un visor per una pàgina
|
||||
msgid "Help Database %s%s%s not found"
|
||||
msgstr "Base de dades de l'ajuda %s%s%s no trobada"
|
||||
|
||||
#: lclstrconsts.rshelphelpdirectivenotfound
|
||||
msgid "Help directive %s%s%s not found."
|
||||
msgstr ""
|
||||
|
||||
#: lclstrconsts.rshelphelpdirectivenotfoundindatabase
|
||||
msgid "Help directive %s%s%s not found in Database %s%s%s."
|
||||
msgstr ""
|
||||
|
||||
#: lclstrconsts.rshelphelpkeywordnotfound
|
||||
msgid "Help keyword %s%s%s not found."
|
||||
msgstr "Paraula clau d'ajuda %s%s%s no trobada"
|
||||
|
@ -676,6 +676,14 @@ msgstr "Databáze nápovědy %s%s%s nenalezla prohlížeč pro stránku nápově
|
||||
msgid "Help Database %s%s%s not found"
|
||||
msgstr "Databáze nápovědy %s%s%s nenalezena"
|
||||
|
||||
#: lclstrconsts.rshelphelpdirectivenotfound
|
||||
msgid "Help directive %s%s%s not found."
|
||||
msgstr ""
|
||||
|
||||
#: lclstrconsts.rshelphelpdirectivenotfoundindatabase
|
||||
msgid "Help directive %s%s%s not found in Database %s%s%s."
|
||||
msgstr ""
|
||||
|
||||
#: lclstrconsts.rshelphelpkeywordnotfound
|
||||
msgid "Help keyword %s%s%s not found."
|
||||
msgstr "Klíčové slovo %s%s%s nenalezeno."
|
||||
|
@ -681,6 +681,14 @@ msgstr "Die Hilfedatenbank %s%s%s fand keinen Betrachter für eine Hilfeseite de
|
||||
msgid "Help Database %s%s%s not found"
|
||||
msgstr "Hilfedatenbank %s%s%s nicht gefunden"
|
||||
|
||||
#: lclstrconsts.rshelphelpdirectivenotfound
|
||||
msgid "Help directive %s%s%s not found."
|
||||
msgstr ""
|
||||
|
||||
#: lclstrconsts.rshelphelpdirectivenotfoundindatabase
|
||||
msgid "Help directive %s%s%s not found in Database %s%s%s."
|
||||
msgstr ""
|
||||
|
||||
#: lclstrconsts.rshelphelpkeywordnotfound
|
||||
msgid "Help keyword %s%s%s not found."
|
||||
msgstr "Hilfeschlüsselwort %s%s%s nciht gefunden."
|
||||
|
@ -676,6 +676,14 @@ msgstr "La base de datos de ayuda %s%s%s no encontró un visor para el tipo de p
|
||||
msgid "Help Database %s%s%s not found"
|
||||
msgstr "Base de datos de ayuda %s%s%s no encotrada"
|
||||
|
||||
#: lclstrconsts.rshelphelpdirectivenotfound
|
||||
msgid "Help directive %s%s%s not found."
|
||||
msgstr ""
|
||||
|
||||
#: lclstrconsts.rshelphelpdirectivenotfoundindatabase
|
||||
msgid "Help directive %s%s%s not found in Database %s%s%s."
|
||||
msgstr ""
|
||||
|
||||
#: lclstrconsts.rshelphelpkeywordnotfound
|
||||
msgid "Help keyword %s%s%s not found."
|
||||
msgstr "Clave de ayuda %s%s%s no encontrada"
|
||||
|
@ -665,6 +665,14 @@ msgstr ""
|
||||
msgid "Help Database %s%s%s not found"
|
||||
msgstr ""
|
||||
|
||||
#: lclstrconsts.rshelphelpdirectivenotfound
|
||||
msgid "Help directive %s%s%s not found."
|
||||
msgstr ""
|
||||
|
||||
#: lclstrconsts.rshelphelpdirectivenotfoundindatabase
|
||||
msgid "Help directive %s%s%s not found in Database %s%s%s."
|
||||
msgstr ""
|
||||
|
||||
#: lclstrconsts.rshelphelpkeywordnotfound
|
||||
msgid "Help keyword %s%s%s not found."
|
||||
msgstr ""
|
||||
|
@ -680,6 +680,14 @@ msgstr "La base de données d'aide %s%s%s n'a pas trouvé une visionneuse pour u
|
||||
msgid "Help Database %s%s%s not found"
|
||||
msgstr "Base de données d'aide %s%s%s non trouvée"
|
||||
|
||||
#: lclstrconsts.rshelphelpdirectivenotfound
|
||||
msgid "Help directive %s%s%s not found."
|
||||
msgstr ""
|
||||
|
||||
#: lclstrconsts.rshelphelpdirectivenotfoundindatabase
|
||||
msgid "Help directive %s%s%s not found in Database %s%s%s."
|
||||
msgstr ""
|
||||
|
||||
#: lclstrconsts.rshelphelpkeywordnotfound
|
||||
msgid "Help keyword %s%s%s not found."
|
||||
msgstr "Mot-clé d'aide %s%s%s non trouvé."
|
||||
|
@ -674,6 +674,14 @@ msgstr "בסיס הנתונים של העזרה %s%s%s לא מצא תוכנה
|
||||
msgid "Help Database %s%s%s not found"
|
||||
msgstr "בסיס הנתונים של העזרה %s%s%s לא נמצא "
|
||||
|
||||
#: lclstrconsts.rshelphelpdirectivenotfound
|
||||
msgid "Help directive %s%s%s not found."
|
||||
msgstr ""
|
||||
|
||||
#: lclstrconsts.rshelphelpdirectivenotfoundindatabase
|
||||
msgid "Help directive %s%s%s not found in Database %s%s%s."
|
||||
msgstr ""
|
||||
|
||||
#: lclstrconsts.rshelphelpkeywordnotfound
|
||||
msgid "Help keyword %s%s%s not found."
|
||||
msgstr "מלת מפתח לעזרה %s%s%s לא נמצאה. "
|
||||
|
@ -679,6 +679,14 @@ msgstr "Database Bantuan %s%s%s tidak ditemukan peninjau untuk halaman bantuan d
|
||||
msgid "Help Database %s%s%s not found"
|
||||
msgstr "Database Bantuan %s%s%s tidak ditemukan"
|
||||
|
||||
#: lclstrconsts.rshelphelpdirectivenotfound
|
||||
msgid "Help directive %s%s%s not found."
|
||||
msgstr ""
|
||||
|
||||
#: lclstrconsts.rshelphelpdirectivenotfoundindatabase
|
||||
msgid "Help directive %s%s%s not found in Database %s%s%s."
|
||||
msgstr ""
|
||||
|
||||
#: lclstrconsts.rshelphelpkeywordnotfound
|
||||
msgid "Help keyword %s%s%s not found."
|
||||
msgstr "Kata kunci Bantuan %s%s%s tidak ditemukan."
|
||||
|
@ -681,6 +681,14 @@ msgstr "L'archivio Help %s%s%s non trova un visualizzatore per le pagine di aiut
|
||||
msgid "Help Database %s%s%s not found"
|
||||
msgstr "Archivio Help %s%s%s non trovato"
|
||||
|
||||
#: lclstrconsts.rshelphelpdirectivenotfound
|
||||
msgid "Help directive %s%s%s not found."
|
||||
msgstr ""
|
||||
|
||||
#: lclstrconsts.rshelphelpdirectivenotfoundindatabase
|
||||
msgid "Help directive %s%s%s not found in Database %s%s%s."
|
||||
msgstr ""
|
||||
|
||||
#: lclstrconsts.rshelphelpkeywordnotfound
|
||||
msgid "Help keyword %s%s%s not found."
|
||||
msgstr "Aiuto sulla parola chiave %s%s%s non trovato."
|
||||
|
@ -680,6 +680,14 @@ msgstr "Žinyno duomenų bazė %s%s%s nerado žiūryklės %s tipo žinyno lapui.
|
||||
msgid "Help Database %s%s%s not found"
|
||||
msgstr "Žinyno duomenų bazė %s%s%s nerasta."
|
||||
|
||||
#: lclstrconsts.rshelphelpdirectivenotfound
|
||||
msgid "Help directive %s%s%s not found."
|
||||
msgstr ""
|
||||
|
||||
#: lclstrconsts.rshelphelpdirectivenotfoundindatabase
|
||||
msgid "Help directive %s%s%s not found in Database %s%s%s."
|
||||
msgstr ""
|
||||
|
||||
#: lclstrconsts.rshelphelpkeywordnotfound
|
||||
msgid "Help keyword %s%s%s not found."
|
||||
msgstr "Žinyno raktažodis %s%s%s nerastas."
|
||||
|
@ -678,6 +678,14 @@ msgstr "Help Database %s%s%s heeft geen viewer gevonden voor help pagina van typ
|
||||
msgid "Help Database %s%s%s not found"
|
||||
msgstr "Help Database %s%s%s niet gevonden"
|
||||
|
||||
#: lclstrconsts.rshelphelpdirectivenotfound
|
||||
msgid "Help directive %s%s%s not found."
|
||||
msgstr ""
|
||||
|
||||
#: lclstrconsts.rshelphelpdirectivenotfoundindatabase
|
||||
msgid "Help directive %s%s%s not found in Database %s%s%s."
|
||||
msgstr ""
|
||||
|
||||
#: lclstrconsts.rshelphelpkeywordnotfound
|
||||
msgid "Help keyword %s%s%s not found."
|
||||
msgstr "Help sleutelwoord %s%s%s niet gevonden."
|
||||
|
@ -680,6 +680,14 @@ msgstr "Hjelp-database %s%s%s fant ingen viser for en hjelpeside av type %s"
|
||||
msgid "Help Database %s%s%s not found"
|
||||
msgstr "Hjelp-database %s%s%s ikke funnet"
|
||||
|
||||
#: lclstrconsts.rshelphelpdirectivenotfound
|
||||
msgid "Help directive %s%s%s not found."
|
||||
msgstr ""
|
||||
|
||||
#: lclstrconsts.rshelphelpdirectivenotfoundindatabase
|
||||
msgid "Help directive %s%s%s not found in Database %s%s%s."
|
||||
msgstr ""
|
||||
|
||||
#: lclstrconsts.rshelphelpkeywordnotfound
|
||||
msgid "Help keyword %s%s%s not found."
|
||||
msgstr "Hjelp-nøkkelord %s%s%s ikke funnet."
|
||||
|
@ -678,6 +678,14 @@ msgstr ""
|
||||
msgid "Help Database %s%s%s not found"
|
||||
msgstr ""
|
||||
|
||||
#: lclstrconsts.rshelphelpdirectivenotfound
|
||||
msgid "Help directive %s%s%s not found."
|
||||
msgstr ""
|
||||
|
||||
#: lclstrconsts.rshelphelpdirectivenotfoundindatabase
|
||||
msgid "Help directive %s%s%s not found in Database %s%s%s."
|
||||
msgstr ""
|
||||
|
||||
#: lclstrconsts.rshelphelpkeywordnotfound
|
||||
msgid "Help keyword %s%s%s not found."
|
||||
msgstr ""
|
||||
|
@ -665,6 +665,14 @@ msgstr ""
|
||||
msgid "Help Database %s%s%s not found"
|
||||
msgstr ""
|
||||
|
||||
#: lclstrconsts.rshelphelpdirectivenotfound
|
||||
msgid "Help directive %s%s%s not found."
|
||||
msgstr ""
|
||||
|
||||
#: lclstrconsts.rshelphelpdirectivenotfoundindatabase
|
||||
msgid "Help directive %s%s%s not found in Database %s%s%s."
|
||||
msgstr ""
|
||||
|
||||
#: lclstrconsts.rshelphelpkeywordnotfound
|
||||
msgid "Help keyword %s%s%s not found."
|
||||
msgstr ""
|
||||
|
@ -677,6 +677,14 @@ msgstr "Banco de dados Ajuda %s%s%s não encontra visualizador para página de a
|
||||
msgid "Help Database %s%s%s not found"
|
||||
msgstr "Banco de dados de ajuda %s%s%s não encontrado"
|
||||
|
||||
#: lclstrconsts.rshelphelpdirectivenotfound
|
||||
msgid "Help directive %s%s%s not found."
|
||||
msgstr ""
|
||||
|
||||
#: lclstrconsts.rshelphelpdirectivenotfoundindatabase
|
||||
msgid "Help directive %s%s%s not found in Database %s%s%s."
|
||||
msgstr ""
|
||||
|
||||
#: lclstrconsts.rshelphelpkeywordnotfound
|
||||
msgid "Help keyword %s%s%s not found."
|
||||
msgstr "Palavra-chave Ajuda %s%s%s não encontrada."
|
||||
|
@ -674,6 +674,14 @@ msgstr "Banco de dados Ajuda %s%s%s não encontra visualizador para página de a
|
||||
msgid "Help Database %s%s%s not found"
|
||||
msgstr "Banco de dados de ajuda %s%s%s não encontrado"
|
||||
|
||||
#: lclstrconsts.rshelphelpdirectivenotfound
|
||||
msgid "Help directive %s%s%s not found."
|
||||
msgstr ""
|
||||
|
||||
#: lclstrconsts.rshelphelpdirectivenotfoundindatabase
|
||||
msgid "Help directive %s%s%s not found in Database %s%s%s."
|
||||
msgstr ""
|
||||
|
||||
#: lclstrconsts.rshelphelpkeywordnotfound
|
||||
msgid "Help keyword %s%s%s not found."
|
||||
msgstr "Palavra-chave Ajuda %s%s%s não encontrada."
|
||||
|
@ -675,6 +675,14 @@ msgstr "База данных справки %s%s%s не нашла програ
|
||||
msgid "Help Database %s%s%s not found"
|
||||
msgstr "База данных справки %s%s%s не найдена"
|
||||
|
||||
#: lclstrconsts.rshelphelpdirectivenotfound
|
||||
msgid "Help directive %s%s%s not found."
|
||||
msgstr ""
|
||||
|
||||
#: lclstrconsts.rshelphelpdirectivenotfoundindatabase
|
||||
msgid "Help directive %s%s%s not found in Database %s%s%s."
|
||||
msgstr ""
|
||||
|
||||
#: lclstrconsts.rshelphelpkeywordnotfound
|
||||
msgid "Help keyword %s%s%s not found."
|
||||
msgstr "Ключевое слово справки %s%s%s не найдено."
|
||||
|
@ -681,6 +681,14 @@ msgstr "Databáza pomoci %s%s%s nenašla zobrazovač pre stránku pomocníka typ
|
||||
msgid "Help Database %s%s%s not found"
|
||||
msgstr "Databáza pomoci %s%s%s nenájdená"
|
||||
|
||||
#: lclstrconsts.rshelphelpdirectivenotfound
|
||||
msgid "Help directive %s%s%s not found."
|
||||
msgstr ""
|
||||
|
||||
#: lclstrconsts.rshelphelpdirectivenotfoundindatabase
|
||||
msgid "Help directive %s%s%s not found in Database %s%s%s."
|
||||
msgstr ""
|
||||
|
||||
#: lclstrconsts.rshelphelpkeywordnotfound
|
||||
msgid "Help keyword %s%s%s not found."
|
||||
msgstr "Kľúčové slovo pomoci %s%s%s nenájdené."
|
||||
|
@ -678,6 +678,14 @@ msgstr "%s%s%s yardım veritabanı %s türündeki yardım sayfası için bir gö
|
||||
msgid "Help Database %s%s%s not found"
|
||||
msgstr "%s%s%s Yardım veritabanı bulunamadı"
|
||||
|
||||
#: lclstrconsts.rshelphelpdirectivenotfound
|
||||
msgid "Help directive %s%s%s not found."
|
||||
msgstr ""
|
||||
|
||||
#: lclstrconsts.rshelphelpdirectivenotfoundindatabase
|
||||
msgid "Help directive %s%s%s not found in Database %s%s%s."
|
||||
msgstr ""
|
||||
|
||||
#: lclstrconsts.rshelphelpkeywordnotfound
|
||||
msgid "Help keyword %s%s%s not found."
|
||||
msgstr "%s%s%s yardım anahtar sözcüğü bulunamadı."
|
||||
|
@ -674,6 +674,14 @@ msgstr "База даних довідки %s%s%s не знайшла прогр
|
||||
msgid "Help Database %s%s%s not found"
|
||||
msgstr "Базу даних довідки %s%s%s не знайдено"
|
||||
|
||||
#: lclstrconsts.rshelphelpdirectivenotfound
|
||||
msgid "Help directive %s%s%s not found."
|
||||
msgstr ""
|
||||
|
||||
#: lclstrconsts.rshelphelpdirectivenotfoundindatabase
|
||||
msgid "Help directive %s%s%s not found in Database %s%s%s."
|
||||
msgstr ""
|
||||
|
||||
#: lclstrconsts.rshelphelpkeywordnotfound
|
||||
msgid "Help keyword %s%s%s not found."
|
||||
msgstr "Ключове слово довідки %s%s%s не знайдено."
|
||||
|
@ -679,6 +679,14 @@ msgstr "帮助数据库 %s%s%s 未找到浏览器可以阅读帮助页 %s 的类
|
||||
msgid "Help Database %s%s%s not found"
|
||||
msgstr "未找到帮助数据库 %s%s%s"
|
||||
|
||||
#: lclstrconsts.rshelphelpdirectivenotfound
|
||||
msgid "Help directive %s%s%s not found."
|
||||
msgstr ""
|
||||
|
||||
#: lclstrconsts.rshelphelpdirectivenotfoundindatabase
|
||||
msgid "Help directive %s%s%s not found in Database %s%s%s."
|
||||
msgstr ""
|
||||
|
||||
#: lclstrconsts.rshelphelpkeywordnotfound
|
||||
msgid "Help keyword %s%s%s not found."
|
||||
msgstr "关键字 %s%s%s 未找到帮助."
|
||||
|
@ -350,6 +350,9 @@ type
|
||||
function GetNodesForKeyword(const HelpKeyword: string;
|
||||
var ListOfNodes: THelpNodeQueryList;
|
||||
var ErrMsg: string): TShowHelpResult; virtual;
|
||||
function GetNodesForDirective(const HelpDirective: string;
|
||||
var ListOfNodes: THelpNodeQueryList;
|
||||
var ErrMsg: string): TShowHelpResult; virtual;
|
||||
function GetNodesForContext(HelpContext: THelpContext;
|
||||
var ListOfNodes: THelpNodeQueryList;
|
||||
var ErrMsg: string): TShowHelpResult; virtual;
|
||||
@ -430,6 +433,8 @@ type
|
||||
var ErrMsg: string): TShowHelpResult; override;
|
||||
function ShowHelpForKeyword(Query: THelpQueryKeyword;
|
||||
var ErrMsg: string): TShowHelpResult; override;
|
||||
function ShowHelpForDirective(Query: THelpQueryDirective;
|
||||
var ErrMsg: string): TShowHelpResult; override;
|
||||
function ShowHelpForPascalContexts(Query: THelpQueryPascalContexts;
|
||||
var ErrMsg: string): TShowHelpResult; override;
|
||||
function ShowHelpForSourcePosition(Query: THelpQuerySourcePosition;
|
||||
@ -446,6 +451,9 @@ type
|
||||
function GetNodesForKeyword(const HelpKeyword: string;
|
||||
var ListOfNodes: THelpNodeQueryList;
|
||||
var ErrMsg: string): TShowHelpResult; virtual;
|
||||
function GetNodesForDirective(const HelpDirective: string;
|
||||
var ListOfNodes: THelpNodeQueryList;
|
||||
var ErrMsg: string): TShowHelpResult; virtual;
|
||||
function GetNodesForContext(HelpContext: THelpContext;
|
||||
var ListOfNodes: THelpNodeQueryList;
|
||||
var ErrMsg: string): TShowHelpResult; virtual;
|
||||
@ -1072,6 +1080,28 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
function THelpDatabase.GetNodesForDirective(const HelpDirective: string;
|
||||
var ListOfNodes: THelpNodeQueryList; var ErrMsg: string): TShowHelpResult;
|
||||
// if ListOfNodes<>nil new nodes will be appended
|
||||
// if ListOfNodes=nil and nodes exists a new list will be created
|
||||
var
|
||||
i: Integer;
|
||||
Node: THelpNode;
|
||||
begin
|
||||
Result:=shrSuccess;
|
||||
ErrMsg:='';
|
||||
if csDesigning in ComponentState then exit;
|
||||
// add the registered nodes
|
||||
if FSearchItems<>nil then begin
|
||||
for i:=0 to FSearchItems.Count-1 do begin
|
||||
Node:=THelpDBItem(FSearchItems[i]).Node;
|
||||
if (Node=nil) or (not Node.IDValid) then continue;
|
||||
if AnsiCompareText(Node.ID,HelpDirective)<>0 then continue;
|
||||
CreateNodeQueryListAndAdd(Node,nil,ListOfNodes,true);
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
function THelpDatabase.GetNodesForContext(HelpContext: THelpContext;
|
||||
var ListOfNodes: THelpNodeQueryList; var ErrMsg: string): TShowHelpResult;
|
||||
// if ListOfNodes<>nil new nodes will be appended
|
||||
@ -1520,6 +1550,8 @@ begin
|
||||
Result:=ShowHelpForContext(THelpQueryContext(Query),ErrMsg)
|
||||
else if Query is THelpQueryKeyword then
|
||||
Result:=ShowHelpForKeyword(THelpQueryKeyword(Query),ErrMsg)
|
||||
else if Query is THelpQueryDirective then
|
||||
Result:=ShowHelpForDirective(THelpQueryDirective(Query),ErrMsg)
|
||||
else if Query is THelpQuerySourcePosition then
|
||||
Result:=ShowHelpForSourcePosition(THelpQuerySourcePosition(Query),ErrMsg)
|
||||
else if Query is THelpQueryMessage then
|
||||
@ -1612,6 +1644,45 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
function THelpDatabases.ShowHelpForDirective(Query: THelpQueryDirective;
|
||||
var ErrMsg: string): TShowHelpResult;
|
||||
var
|
||||
Nodes: THelpNodeQueryList;
|
||||
HelpDB: THelpDatabase;
|
||||
begin
|
||||
ErrMsg:='';
|
||||
Result:=shrHelpNotFound;
|
||||
|
||||
// search node
|
||||
Nodes:=nil;
|
||||
try
|
||||
if Query.HelpDatabaseID<>'' then begin
|
||||
HelpDB:=nil;
|
||||
if not GetDatabase(Query.HelpDatabaseID,HelpDB,Result,ErrMsg) then exit;
|
||||
Result:=HelpDB.GetNodesForKeyword(Query.Directive,Nodes,ErrMsg);
|
||||
if Result<>shrSuccess then exit;
|
||||
end else begin
|
||||
Result:=GetNodesForDirective(Query.Directive,Nodes,ErrMsg);
|
||||
if Result<>shrSuccess then exit;
|
||||
end;
|
||||
|
||||
// check if at least one node found
|
||||
if (Nodes=nil) or (Nodes.Count=0) then begin
|
||||
Result:=shrContextNotFound;
|
||||
if Query.HelpDatabaseID<>'' then
|
||||
ErrMsg:=Format(rsHelpHelpDirectiveNotFoundInDatabase, ['"',Query.Directive,
|
||||
'"', '"', Query.HelpDatabaseID, '"'])
|
||||
else
|
||||
ErrMsg:=Format(rsHelpHelpDirectiveNotFound, ['"',Query.Directive,'"']);
|
||||
exit;
|
||||
end;
|
||||
|
||||
Result:=ShowHelpForNodes(Query,Nodes,ErrMsg);
|
||||
finally
|
||||
Nodes.Free;
|
||||
end;
|
||||
end;
|
||||
|
||||
function THelpDatabases.ShowHelpForPascalContexts(
|
||||
Query: THelpQueryPascalContexts; var ErrMsg: string): TShowHelpResult;
|
||||
var
|
||||
@ -1756,6 +1827,21 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
function THelpDatabases.GetNodesForDirective(const HelpDirective: string;
|
||||
var ListOfNodes: THelpNodeQueryList; var ErrMsg: string): TShowHelpResult;
|
||||
// if ListOfNodes<>nil then new nodes will be appended
|
||||
// if ListOfNodes=nil and nodes exists a new list will be created
|
||||
var
|
||||
i: Integer;
|
||||
begin
|
||||
Result:=shrSuccess;
|
||||
ErrMsg:='';
|
||||
for i:=Count-1 downto 0 do begin
|
||||
Result:=Items[i].GetNodesForDirective(HelpDirective,ListOfNodes,ErrMsg);
|
||||
if Result<>shrSuccess then exit;
|
||||
end;
|
||||
end;
|
||||
|
||||
function THelpDatabases.GetNodesForContext(HelpContext: THelpContext;
|
||||
var ListOfNodes: THelpNodeQueryList; var ErrMsg: string): TShowHelpResult;
|
||||
// if ListOfNodes<>nil then new nodes will be appended
|
||||
|
@ -397,6 +397,9 @@ resourceString
|
||||
rsHelpHelpKeywordNotFoundInDatabase = 'Help keyword %s%s%s not found in '
|
||||
+'Database %s%s%s.';
|
||||
rsHelpHelpKeywordNotFound = 'Help keyword %s%s%s not found.';
|
||||
rsHelpHelpDirectiveNotFoundInDatabase = 'Help directive %s%s%s not found in '
|
||||
+'Database %s%s%s.';
|
||||
rsHelpHelpDirectiveNotFound = 'Help directive %s%s%s not found.';
|
||||
rsHelpHelpContextNotFoundInDatabase = 'Help context %s not found in '
|
||||
+'Database %s%s%s.';
|
||||
rsHelpHelpContextNotFound = 'Help context %s not found.';
|
||||
|
Loading…
Reference in New Issue
Block a user