Add context help for PG functions.

Добавлен вызов контекстной помощи по именам функций Postgresql.
Для этого требуется:
1. в параметрах указать путь к html файлам документации.
2. выполнить скрипт _extract_func_help.pl для генерации файла _func.txt
3. разместить файл _func.txt в каталоге с документацией.

Для вызова помощи нужно выделить слово или выражение и нажать Ctrl+F1.
Можно просто нажать Ctrl+F1 и тогда для слова слева от курсора будет выведена справка.
Если слову соответсвует несколько функций они будут выведены в виде списка имен.

Для навигации в окне контекстной помощи:
 - закрыть окно или переместиться назад - правая кнопка мыши
 - выделить текст + правая кнопка - копировать выделение в буфер и закрыть окно.
 - нажатие ESC - закрытие окна.

Для отображения помощи используется  wxHtmlWindow https://docs.wxwidgets.org/latest/overview_html.html.
This commit is contained in:
lsv 2024-05-06 19:31:52 +05:00
parent 9f3cfacf96
commit 2d3f87edaa
9 changed files with 678 additions and 2 deletions

View file

@ -21,6 +21,7 @@
#include "db/pgConn.h"
#include "dlg/dlgFindReplace.h"
#include "ctl/ctlAuiNotebook.h"
#include "utils/popuphelp.h"
// These structs are from Scintilla.h which isn't easily #included :-(
struct CharacterRange
@ -57,6 +58,7 @@ public:
void OnAutoComplete(wxCommandEvent &event);
void OnSearchReplace(wxCommandEvent &event);
void OnCopy(wxCommandEvent& ev);
void OnFuncHelp(wxCommandEvent& ev);
void OnKillFocus(wxFocusEvent &event);
// void OnBackGround(wxEraseEvent &event);
void SetQueryBook(ctlAuiNotebook *query_book);
@ -121,6 +123,7 @@ private:
wxArrayString *m_def; // finction arguments
wxString list_table; // list table from section
wxString calltip;
popuphelp *m_PopupHelp=NULL;
int ct_hl;
dlgFindReplace *m_dlgFindReplace;
pgConn *m_database;