diff options
author | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
---|---|---|
committer | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
commit | e9ae80694875f869892f13f4fcaf1170a00dea41 (patch) | |
tree | aa2f8d8a217e2d376224c8d46b7397b68d35de2d /kxsldbg/kxsldbgpart/xsldbgcallstackimpl.cpp | |
download | tdewebdev-e9ae80694875f869892f13f4fcaf1170a00dea41.tar.gz tdewebdev-e9ae80694875f869892f13f4fcaf1170a00dea41.zip |
Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
BUG:215923
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdewebdev@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'kxsldbg/kxsldbgpart/xsldbgcallstackimpl.cpp')
-rw-r--r-- | kxsldbg/kxsldbgpart/xsldbgcallstackimpl.cpp | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/kxsldbg/kxsldbgpart/xsldbgcallstackimpl.cpp b/kxsldbg/kxsldbgpart/xsldbgcallstackimpl.cpp new file mode 100644 index 00000000..5592e4e6 --- /dev/null +++ b/kxsldbg/kxsldbgpart/xsldbgcallstackimpl.cpp @@ -0,0 +1,71 @@ +/*************************************************************************** + xsldbgcallstackimpl.cpp - description + ------------------- + begin : Wed Jan 16 2002 + copyright : (C) 2002 by Keith lsdale + email : [email protected] + ***************************************************************************/ + +/*************************************************************************** + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + ***************************************************************************/ +#include <qlistview.h> +#include <qlineedit.h> + +#include "xsldbgdebugger.h" +#include "xsldbgcallstackimpl.h" +#include "xsldbggloballistitem.h" /* reuse global list item variable as a template list item */ + +XsldbgCallStackImpl::XsldbgCallStackImpl(XsldbgDebugger *debugger, + QWidget *parent /*=0*/, const char *name /*=0*/) + : XsldbgCallStack(parent, name), XsldbgDialogBase() +{ + this->debugger = debugger; + + connect(debugger, SIGNAL(callStackItem(QString /* templateName*/, QString /* fileName */, int /* lineNumber */)), + this, SLOT(slotProcCallStackItem(QString /* templateName*/, QString /* fileName */, int /* lineNumber */))); + connect( callStackListView, SIGNAL(selectionChanged(QListViewItem *)), + this, SLOT(selectionChanged(QListViewItem*))); + + show(); + refresh(); +} + +XsldbgCallStackImpl::~XsldbgCallStackImpl(){ + debugger = 0L; +} + +void XsldbgCallStackImpl::slotProcCallStackItem(QString templateName, QString fileName , int lineNumber ) +{ + static int frameNo =0; + if (templateName.isNull()){ + callStackListView->clear(); + frameNo = 0; + }else{ + /* each stack entry will have a FRAME# prefix */ + callStackListView->insertItem(new XsldbgGlobalListItem(callStackListView, + fileName, lineNumber, templateName.prepend(QString::number(frameNo++)+ "# "))); + } +} + + +void XsldbgCallStackImpl::selectionChanged(QListViewItem *item) +{ + XsldbgGlobalListItem *callStackItem = dynamic_cast<XsldbgGlobalListItem*>(item); + if (callStackItem){ + debugger->gotoLine(callStackItem->getFileName(), callStackItem->getLineNumber()); + } +} + +void XsldbgCallStackImpl::refresh() +{ + debugger->fakeInput("where", true) ; +} + + +#include "xsldbgcallstackimpl.moc" |