summaryrefslogtreecommitdiffstats
path: root/quanta/components/debugger/debuggerui.h
blob: a86e470677e006927d6f4c001ce341c9a51e01bb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
/***************************************************************************
                               debuggerui.h
                         ------------------------
    begin                : 2004-04-04
    copyright            : (C) 2004 Thiago Silva

 ***************************************************************************/

/****************************************************************************
 *                                                                          *
 *   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.                                    *
 *                                                                          *
 ***************************************************************************/


#ifndef DEBUGGERUI_H
#define DEBUGGERUI_H

#include <qobject.h>
#include <qptrlist.h>
#include <kmditoolviewaccessor.h>
#include "backtracelistview.h"

class VariablesListView;
class DebuggerBreakpointView;
class BacktraceListview;
class DebuggerBreakpoint;
class DebuggerVariable;
class WHTMLPart;
class KURL;

class DebuggerUI : public QObject
{
    Q_OBJECT

  public:
    enum DebuggerStatus
    {
      NoSession = 0,
      AwaitingConnection,
      Connected,
      Paused,
      Running,
      Tracing,
      HaltedOnError,
      HaltedOnBreakpoint
    };

    DebuggerUI(QObject *parent = 0, const char *name = 0);
    ~DebuggerUI();

    // Watches
    void addVariable(DebuggerVariable* var);
    void showBreakpoint(const DebuggerBreakpoint& bp);
    void deleteBreakpoint(const DebuggerBreakpoint& bp);
    void parsePHPVariables(const QString &);
    void sendRequest(const KURL &url);
    VariablesListView* watches() { return m_variablesListView; };
    
    void showMenu();
    void hideMenu();

    void backtraceClear();
    void backtraceShow(long level, BacktraceType type, const QString &filename, long line, const QString& func);
    
  private:
    VariablesListView* m_variablesListView;
    KMdiToolViewAccessor* m_variableListViewTVA;
    KMdiToolViewAccessor* m_previewTVA;
    
    DebuggerBreakpointView* m_debuggerBreakpointView;
    KMdiToolViewAccessor* m_debuggerBreakpointViewTVA;
    
    BacktraceListview* m_backtraceListview;
    KMdiToolViewAccessor* m_backtraceListviewTVA;

    int m_debuggerMenuID;

    WHTMLPart *m_preview;

  public slots:
    // Status indication 
    void slotStatus(DebuggerUI::DebuggerStatus status);

};

#endif