File indexing completed on 2024-12-01 09:50:25

0001 /*
0002  *  This file is part of the KDE libraries
0003  *  Copyright (C) 2006 Matt Broadstone (mbroadst@gmail.com)
0004  *
0005  *  This library is free software; you can redistribute it and/or
0006  *  modify it under the terms of the GNU Library General Public
0007  *  License as published by the Free Software Foundation; either
0008  *  version 2 of the License, or (at your option) any later version.
0009  *
0010  *  This library is distributed in the hope that it will be useful,
0011  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
0012  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
0013  *  Library General Public License for more details.
0014  *
0015  *  You should have received a copy of the GNU Library General Public
0016  *  License along with this library; if not, write to the Free Software
0017  *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
0018  */
0019 
0020 #ifndef CALLSTACKDOCK_H
0021 #define CALLSTACKDOCK_H
0022 
0023 #include <QDockWidget>
0024 
0025 class QTableWidget;
0026 class QTableWidgetItem;
0027 
0028 namespace KJS
0029 {
0030 class ExecState;
0031 }
0032 
0033 namespace KJSDebugger
0034 {
0035 class DebugDocument;
0036 struct InterpreterContext;
0037 
0038 class CallStackDock : public QDockWidget
0039 {
0040     Q_OBJECT
0041 public:
0042     CallStackDock(QWidget *parent = 0);
0043     ~CallStackDock();
0044 
0045     void displayStack(InterpreterContext *ctx);
0046     void clearDisplay();
0047 
0048     KJS::ExecState *selectedFrameContext();
0049 private Q_SLOTS:
0050     void slotViewItem(QTableWidgetItem *item);
0051 Q_SIGNALS:
0052     void displayScript(KJSDebugger::DebugDocument *doc, int line);
0053 private:
0054     InterpreterContext *m_activeCtx;
0055     QTableWidget *m_view;
0056 };
0057 
0058 }
0059 
0060 #endif