summaryrefslogtreecommitdiffstats
path: root/kdbg/brkpt.h
blob: f5292489ce8fabbdc65b29bbe8b3e6ad511af4d3 (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
/*
 * Copyright Johannes Sixt
 * This file is licensed under the GNU General Public License Version 2.
 * See the file COPYING in the toplevel directory of the source directory.
 */

#ifndef BRKPT_H
#define BRKPT_H

#include <ntqlistview.h>
#include <ntqlayout.h>
#include <ntqpushbutton.h>
#include <ntqlineedit.h>
#include <ntqvaluevector.h>

class KDebugger;
class BreakpointItem;


class BreakpointTable : public TQWidget
{
    Q_OBJECT
public:
    BreakpointTable(TQWidget* parent, const char* name);
    ~BreakpointTable();
    void setDebugger(KDebugger* deb) { m_debugger = deb; }

protected:
    KDebugger* m_debugger;
    TQLineEdit m_bpEdit;
    TQListView m_list;
    TQPushButton m_btAddBP;
    TQPushButton m_btAddWP;
    TQPushButton m_btRemove;
    TQPushButton m_btEnaDis;
    TQPushButton m_btViewCode;
    TQPushButton m_btConditional;
    TQHBoxLayout m_layout;
    TQVBoxLayout m_listandedit;
    TQVBoxLayout m_buttons;
    TQValueVector<TQPixmap> m_icons;

    void insertBreakpoint(int num, bool temp, bool enabled, TQString location,
			  TQString fileName = 0, int lineNo = -1,
			  int hits = 0, uint ignoreCount = 0,
			  TQString condition = TQString());
    void initListAndIcons();
    virtual bool eventFilter(TQObject* ob, TQEvent* ev);

    friend class BreakpointItem;
    
signals:
    /**
     * This signal is emitted when the user wants to go to the source code
     * where the current breakpoint is in.
     * 
     * @param file specifies the file; this is not necessarily a full path
     * name, and if it is relative, you won't know relative to what, you
     * can only guess.
     * @param lineNo specifies the line number (0-based!).
     * @param address specifies the exact address of the breakpoint.
     */
    void activateFileLine(const TQString& file, int lineNo, const DbgAddr& address);
public slots:
    virtual void addBP();
    virtual void addWP();
    virtual void removeBP();
    virtual void enadisBP();
    virtual void viewBP();
    virtual void conditionalBP();
    void updateUI();
    void updateBreakList();
};

#endif // BRKPT_H