Extend copyright to 2018.
[kdbg.git] / kdbg / brkpt.h
blob8847219dfc217dfc9d40857ce21929baf52ac403
1 /*
2 * Copyright Johannes Sixt
3 * This file is licensed under the GNU General Public License Version 2.
4 * See the file COPYING in the toplevel directory of the source directory.
5 */
7 #ifndef BRKPT_H
8 #define BRKPT_H
10 #include <QIcon>
11 #include <QEvent>
12 #include <vector>
14 #include "ui_brkptbase.h"
16 class KDebugger;
17 class BreakpointItem;
18 struct DbgAddr;
21 class BreakpointTable : public QWidget
23 Q_OBJECT
24 public:
25 BreakpointTable(QWidget* parent);
26 ~BreakpointTable();
27 void setDebugger(KDebugger* deb) { m_debugger = deb; }
29 protected:
30 KDebugger* m_debugger;
31 Ui::BrkPtBase m_ui;
32 std::vector<QIcon> m_icons;
34 void insertBreakpoint(int num, bool temp, bool enabled, QString location,
35 QString fileName = 0, int lineNo = -1,
36 int hits = 0, uint ignoreCount = 0,
37 QString condition = QString());
38 void initListAndIcons();
39 virtual bool eventFilter(QObject* ob, QEvent* ev);
41 friend class BreakpointItem;
43 signals:
44 /**
45 * This signal is emitted when the user wants to go to the source code
46 * where the current breakpoint is in.
48 * @param file specifies the file; this is not necessarily a full path
49 * name, and if it is relative, you won't know relative to what, you
50 * can only guess.
51 * @param lineNo specifies the line number (0-based!).
52 * @param address specifies the exact address of the breakpoint.
54 void activateFileLine(const QString& file, int lineNo, const DbgAddr& address);
55 public slots:
56 void on_btAddBP_clicked();
57 void on_btAddWP_clicked();
58 void on_btRemove_clicked();
59 void on_btEnaDis_clicked();
60 void on_btViewCode_clicked();
61 void on_btConditional_clicked();
62 void updateUI();
63 void updateBreakList();
66 #endif // BRKPT_H