本文整理汇总了C++中XDebugEvent::GetEvaluted方法的典型用法代码示例。如果您正苦于以下问题:C++ XDebugEvent::GetEvaluted方法的具体用法?C++ XDebugEvent::GetEvaluted怎么用?C++ XDebugEvent::GetEvaluted使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类XDebugEvent
的用法示例。
在下文中一共展示了XDebugEvent::GetEvaluted方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: OnExpressionEvaluate
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();
}
}
示例2: OnProperytGet
void LocalsView::OnProperytGet(XDebugEvent& e)
{
e.Skip();
// An item was evaluated using property_get
std::map<wxString, wxDataViewItem>::iterator iter = m_waitingExpand.find( e.GetEvaluted() );
if ( iter == m_waitingExpand.end() ) {
return;
}
wxDataViewItem item = iter->second;
m_waitingExpand.erase( iter );
// Delete the fake node
wxDataViewItemArray children;
m_dataviewModel->GetChildren( item, children );
if ( !children.IsEmpty() ) {
m_dataviewModel->DeleteItems( item, children );
}
XVariable::List_t vars = e.GetVariables();
if ( vars.empty() )
return;
// Since we got here from property_get, XDebug will reply with the specific property (e.g. $myclass->secondClass)
// and all its children. Howeverr, $myclass->secondClass already exist in the tree
// so we are only interested with its children. so we use here vars.begin()->children (vars is always list of size == 1)
wxASSERT_MSG(vars.size() == 1, "property_get returned list of size != 1");
XVariable::List_t childs;
childs = vars.begin()->children;
if ( !childs.empty() ) {
AppendVariablesToTree( item, childs );
m_dataview->Expand( item );
}
}
示例3: OnDBGPCommandEvaluated
void EvalPane::OnDBGPCommandEvaluated(XDebugEvent& e)
{
e.Skip();
m_stcOutputXDebug->SetEditable(true);
m_stcOutputXDebug->ClearAll();
m_stcOutputXDebug->SetText(e.GetEvaluted());
m_stcOutputXDebug->SetEditable(true);
m_stcOutputXDebug->ScrollToEnd();
}
示例4: OnShowTooltip
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();
}
}