Extended hints

В результатах запроса, нажатием правой кнопки мыши можно вызвать окно
подсказки, с возможностью выделения содержимого и его копирования (Rbutton).
This commit is contained in:
lsv 2025-07-31 16:14:09 +05:00 committed by lsv
parent c2c44c18f1
commit 077de1ad7c
17 changed files with 4789 additions and 3946 deletions

View file

@ -261,6 +261,13 @@ wxMenu* ctlNavigatePanel::GetPopupMenu() {
}
return NULL;
}
void ctlNavigatePanel::SetFindString(const wxString& findstr) {
logFindString = findstr;
items_find.clear();
FindText(logFindString, FOCUSNEXT, false);
Refresh();
}
bool ctlNavigatePanel::RunKeyCommand(wxKeyEvent& event,int numCmd) {
//wxAcceleratorEntry::ParseAccel(const wxString & text, int* flagsOut, int* keyOut);
wxJSONValue cmds = opt["commands"];
@ -693,7 +700,7 @@ void ctlNavigatePanel::OnMouse(wxMouseEvent& evt) {
wxString tt;
if (i >= 0 && i < items_mark.size() && items_mark[i] > pos) i--;
if (i >= 0 && i < items_mark.size() ) {
tt = ctrl->GetItemText(items_mark[i]);
tt = ctrl->GetText(items_mark[i]);
this->SetToolTip(tt);
}
else
@ -983,7 +990,7 @@ int ctlNavigatePanel::FindText(wxString findtext, int position, bool directionUp
// this item is selected - do whatever is needed with it
//wxLogMessage("Item %ld is focused.", item);
//long fpos = logList->FindItem(item, logFindString, true);
wxString s = ctrl->GetItemText(item);
wxString s = ctrl->GetText(item);
item++;
if (!(s.Find(logFindString) > -1)) {
continue;