本文整理汇总了C++中XDebugEvent类的典型用法代码示例。如果您正苦于以下问题:C++ XDebugEvent类的具体用法?C++ XDebugEvent怎么用?C++ XDebugEvent使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了XDebugEvent类的17个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: 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 );
}
}
开发者ID:Jactry,项目名称:codelite,代码行数:35,代码来源:localsview.cpp
示例2: 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();
}
开发者ID:05storm26,项目名称:codelite,代码行数:9,代码来源:evalpane.cpp
示例3: OnGotFocusFromXDebug
void XDebugManager::OnGotFocusFromXDebug(XDebugEvent& e)
{
e.Skip();
// Make sure codelite is "Raised"
wxFrame* frame = EventNotifier::Get()->TopFrame();
if ( frame->IsIconized() || !frame->IsShown() ) {
frame->Raise();
}
CL_DEBUG("CodeLite: opening file %s:%d", e.GetFileName(), e.GetLineNumber()+1 ); // The user sees the line number from 1 (while scintilla counts them from 0)
// Mark the debugger line / file
IEditor *editor = m_plugin->GetManager()->FindEditor( e.GetFileName() );
if ( !editor && wxFileName::Exists(e.GetFileName()) ) {
// Try to open the editor
if ( m_plugin->GetManager()->OpenFile(e.GetFileName(), "", e.GetLineNumber()) ) {
editor = m_plugin->GetManager()->GetActiveEditor();
}
}
if ( editor ) {
m_plugin->GetManager()->SelectPage( editor->GetSTC() );
SetDebuggerMarker( editor->GetSTC(), e.GetLineNumber() );
}
// Update the callstack/locals views
DoRefreshDebuggerViews();
// Re-apply any new breakpoints
DoApplyBreakpoints();
}
开发者ID:gahr,项目名称:codelite,代码行数:32,代码来源:XDebugManager.cpp
示例4: OnXDebugSessionStarting
void PHPDebugPane::OnXDebugSessionStarting(XDebugEvent& event)
{
event.Skip();
m_console->SetTerminal(PHPWorkspace::Get()->GetTerminalEmulator());
LexerConf::Ptr_t phpLexer = ColoursAndFontsManager::Get().GetLexer("php");
if(phpLexer) { phpLexer->Apply(m_console->GetTerminalOutputWindow()); }
}
开发者ID:eranif,项目名称:codelite,代码行数:7,代码来源:PHPDebugPane.cpp
示例5: OnXDebugSessionEnded
void PHPDebugPane::OnXDebugSessionEnded(XDebugEvent& e)
{
e.Skip();
// Clear the stacktrace view
m_dvListCtrlStackTrace->DeleteAllItems();
m_console->SetTerminal(NULL);
}
开发者ID:05storm26,项目名称:codelite,代码行数:7,代码来源:PHPDebugPane.cpp
示例6: 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();
}
}
开发者ID:05storm26,项目名称:codelite,代码行数:32,代码来源:evalpane.cpp
示例7: OnUpdateStackTrace
void PHPDebugPane::OnUpdateStackTrace(XDebugEvent& e)
{
e.Skip();
m_dvListCtrlStackTrace->DeleteAllItems();
const wxArrayString& calls = e.GetStrings();
for(size_t i = 0; i < calls.GetCount(); ++i) {
wxArrayString elements = ::wxStringTokenize(calls.Item(i), "|", wxTOKEN_RET_EMPTY);
if(elements.GetCount() == 4) {
wxVector<wxVariant> cols;
cols.push_back(::MakeBitmapIndexText(elements.Item(0), ((int)i == e.GetInt()) ? 0 : 1)); // Level
cols.push_back(elements.Item(1)); // Where
cols.push_back(::URIToFileName(elements.Item(2))); // File
cols.push_back(elements.Item(3)); // Line
m_dvListCtrlStackTrace->AppendItem(cols);
}
}
}
开发者ID:eranif,项目名称:codelite,代码行数:18,代码来源:PHPDebugPane.cpp
示例8: OnBreakpointsViewUpdated
void XDebugManager::OnBreakpointsViewUpdated(XDebugEvent& e)
{
e.Skip();
IEditor::List_t editors;
m_plugin->GetManager()->GetAllEditors( editors, true );
IEditor::List_t::iterator iter = editors.begin();
for(; iter != editors.end(); ++iter ) {
DoRefreshBreakpointsMarkersForEditor( *iter );
}
}
开发者ID:gahr,项目名称:codelite,代码行数:10,代码来源:XDebugManager.cpp
示例9: OnXDebugSessionEnded
void LocalsView::OnXDebugSessionEnded(XDebugEvent &e)
{
e.Skip();
CL_DEBUG("LocalsView::OnXDebugSessionEnded(): Debug sessions started - cleaning all locals view");
// Clear the variables view
m_dataviewModel->Clear();
m_localsExpandedItemsFullname.clear();
m_localsExpandedItems.Clear();
m_waitingExpand.clear();
}
开发者ID:Jactry,项目名称:codelite,代码行数:10,代码来源:localsview.cpp
示例10: OnDebugStarted
void PhpPlugin::OnDebugStarted(XDebugEvent& e)
{
e.Skip();
DoEnsureXDebugPanesVisible();
m_toggleToolbar = !m_mgr->IsToolBarShown();
if(m_toggleToolbar) {
// toolbar not shown
m_mgr->ShowToolBar();
}
}
开发者ID:huan5765,项目名称:codelite-translate2chinese,代码行数:10,代码来源:php.cpp
示例11: OnLocalsUpdated
void LocalsView::OnLocalsUpdated(XDebugEvent& e)
{
e.Skip();
CL_DEBUG("Inside OnLocalsUpdated");
m_dataviewModel->Clear();
m_localsExpandedItems.Clear();
const XVariable::List_t& vars = e.GetVariables();
AppendVariablesToTree( wxDataViewItem(NULL), vars );
// Expand the items that were expanded before the view refresh
for(size_t i=0; i<m_localsExpandedItems.GetCount(); ++i) {
// Ensure it is visible
m_dataview->EnsureVisible( m_localsExpandedItems.Item(i) );
// Ensure its expanded
m_dataview->Expand( m_localsExpandedItems.Item(i) );
}
m_localsExpandedItems.Clear();
}
开发者ID:Jactry,项目名称:codelite,代码行数:20,代码来源:localsview.cpp
示例12: OnDebugEnded
// Debugger events
void PhpPlugin::OnDebugEnded(XDebugEvent& e)
{
e.Skip();
// Save the layout
wxFileName fnConfig(clStandardPaths::Get().GetUserDataDir(), "xdebug-perspective");
fnConfig.AppendDir("config");
wxFFile fp(fnConfig.GetFullPath(), "w+b");
if(fp.IsOpened()) {
fp.Write(m_mgr->GetDockingManager()->SavePerspective());
fp.Close();
}
if(!m_savedPerspective.IsEmpty()) {
m_mgr->GetDockingManager()->LoadPerspective(m_savedPerspective);
m_savedPerspective.Clear();
}
}
开发者ID:nagyist,项目名称:eranit-codelite,代码行数:20,代码来源:php.cpp
示例13: OnRefreshBreakpointsView
void PHPDebugPane::OnRefreshBreakpointsView(XDebugEvent& e)
{
e.Skip();
LexerConf::Ptr_t lex = EditorConfigST::Get()->GetLexer("php");
if(lex) {
m_dvListCtrlBreakpoints->SetFont(lex->GetFontForSyle(wxSTC_HPHP_DEFAULT));
m_dvListCtrlStackTrace->SetFont(lex->GetFontForSyle(wxSTC_HPHP_DEFAULT));
}
// Load the breakpoints table
m_dvListCtrlBreakpoints->DeleteAllItems();
const XDebugBreakpoint::List_t& bps = XDebugManager::Get().GetBreakpointsMgr().GetBreakpoints();
XDebugBreakpoint::List_t::const_iterator iter = bps.begin();
for(; iter != bps.end(); ++iter) {
wxVector<wxVariant> cols;
cols.push_back(wxString() << iter->GetBreakpointId());
cols.push_back(iter->GetFileName());
cols.push_back(wxString() << iter->GetLine());
m_dvListCtrlBreakpoints->AppendItem(cols);
}
}
开发者ID:05storm26,项目名称:codelite,代码行数:21,代码来源:PHPDebugPane.cpp
示例14: 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();
}
}
开发者ID:gahr,项目名称:codelite,代码行数:24,代码来源:XDebugManager.cpp
示例15: OnXDebugSessionStarted
void PHPDebugPane::OnXDebugSessionStarted(XDebugEvent& e)
{
e.Skip();
OnRefreshBreakpointsView(e);
m_console->Clear();
}
开发者ID:05storm26,项目名称:codelite,代码行数:6,代码来源:PHPDebugPane.cpp
示例16: OnXDebugStopped
void XDebugManager::OnXDebugStopped(XDebugEvent& e)
{
e.Skip();
DoStopDebugger();
}
开发者ID:gahr,项目名称:codelite,代码行数:5,代码来源:XDebugManager.cpp
示例17: OnDebugSatrted
void PhpPlugin::OnDebugSatrted(XDebugEvent& e)
{
e.Skip();
DoEnsureXDebugPanesVisible();
}
开发者ID:nagyist,项目名称:eranit-codelite,代码行数:5,代码来源:php.cpp
注:本文中的XDebugEvent类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论