void EvalPane::OnExpressionEvaluate(XDebugEvent& e) { if ( e.GetEvalReason() == XDebugEvalCmdHandler::kEvalForEvalPane ) { m_stcOutput->SetEditable(true); m_stcOutput->ClearAll(); wxString str; if ( !e.IsEvalSucceeded() ) { str << _("*** Error evaluating expression: ") << e.GetString() << "\n" << e.GetErrorString(); } else { str << e.GetString() << " = \n"; wxString evaluated = e.GetEvaluted(); // Reomve extra escapes evaluated.Replace("\\n", "\n"); evaluated.Replace("\\t", "\t"); evaluated.Replace("\\r", "\r"); evaluated.Replace("\\v", "\v"); evaluated.Replace("\\b", "\b"); str << evaluated; } m_stcOutput->AppendText( str ); m_stcOutput->SetEditable(false); m_stcOutput->ScrollToEnd(); } else { e.Skip(); } }
void XDebugManager::OnShowTooltip(XDebugEvent& e) { if ( e.GetEvalReason() == XDebugEvalCmdHandler::kEvalForTooltip ) { wxString str; if ( !e.IsEvalSucceeded() ) { str << _("<color=\"red\">*** Error evaluating expression : </color><strong>") << e.GetString() << "</strong>\n<hr>" << e.GetErrorString(); } else { str << "<b>" << e.GetString() << "</b>\n<hr>"; wxString evaluated = e.GetEvaluted(); // Reomve extra escapes evaluated.Replace("\\n", "\n"); evaluated.Replace("\\t", "\t"); evaluated.Replace("\\r", "\r"); evaluated.Replace("\\v", "\v"); evaluated.Replace("\\b", "\b"); str << evaluated; str.Trim(); } m_plugin->GetManager()->GetActiveEditor()->ShowRichTooltip( str, wxNOT_FOUND ); } else { e.Skip(); } }