As usual while waiting for the next release - don't forget to check the nightly builds in the forum.
void DebuggerGDB::OnValueTooltip(CodeBlocksEvent& event){... if(ed->IsContextMenuOpened()) { return; }...
ollydbg,I am not sure of the best solution, but the problem is very annoying. If there are several Code Completion options, they completely cover the Thread Search options on the context menu. Windows XP, SVN 5650.
Any comments?
EditorBase* base = event.GetEditor(); cbEditor* ed = base && base->IsBuiltinEditor() ? static_cast<cbEditor*>(base) : 0; if (!ed) return; if (ed->GetControl()->CallTipActive()) ed->GetControl()->CallTipCancel();
EditorBase* base = event.GetEditor(); cbEditor* ed = base && base->IsBuiltinEditor() ? static_cast<cbEditor*>(base) : 0; if (!ed || ed->IsContextMenuOpened()) return; if (ed->GetControl()->CallTipActive()) ed->GetControl()->CallTipCancel();
void cbEditor::OnEditorDwellStart(wxScintillaEvent& event){ cbStyledTextCtrl* control = GetControl(); int pos = control->PositionFromPoint(wxPoint(event.GetX(), event.GetY())); int style = control->GetStyleAt(pos); NotifyPlugins(cbEVT_EDITOR_TOOLTIP, style, wxEmptyString, event.GetX(), event.GetY()); OnScintillaEvent(event);}
void cbEditor::OnEditorDwellStart(wxScintillaEvent& event){ cbStyledTextCtrl* control = GetControl(); int pos = control->PositionFromPoint(wxPoint(event.GetX(), event.GetY())); int style = control->GetStyleAt(pos); if(IsContextMenuOpened()==false) NotifyPlugins(cbEVT_EDITOR_TOOLTIP, style, wxEmptyString, event.GetX(), event.GetY()); OnScintillaEvent(event);}
if(ed->GetControl()->CallTipActive()) { ed->GetControl()->CallTipCancel(); }
Are you aware, that we use exactly the same code in debuggergdb.cpp and codecompletion.cpp OnValueTooltip():Code if(ed->GetControl()->CallTipActive()) { ed->GetControl()->CallTipCancel(); }That means the it's not clear which function wins and supresses t
// get rid of other calltips (if any) [for example the code completion one, at this time we // want the debugger value call/tool-tip to win and be shown] if(ed->GetControl()->CallTipActive()) { ed->GetControl()->CallTipCancel(); }
Oh, Yes, When I'm debugging, there is only "tip" from debuggergdb.Seems the "tip" from code completion always be canceled.
Did you mean the "find the occurrence of "XXXXX" in the context menu?
Or there should be cbEditor->EmitTooltip(something) that is used by all of the folks that show tooltips.So if there are two tooltips shown simultaneously it can merge them or show only the last emitted tooltip.But, I'm no sure if that is possible...