1
/***************************************************************************
2
begin : Tue May 13 2003
3
copyright : (C) 2003 by John Birch
4
email : jbb@kdevelop.org
6
Adapted for ruby debugging
7
--------------------------
9
copyright : (C) 2004 by Richard Dale
10
email : Richard_Dale@tipitina.demon.co.uk
11
***************************************************************************/
13
/***************************************************************************
15
* This program is free software; you can redistribute it and/or modify *
16
* it under the terms of the GNU General Public License as published by *
17
* the Free Software Foundation; either version 2 of the License, or *
18
* (at your option) any later version. *
20
***************************************************************************/
22
#ifndef _RDBBreakpointWidget_H_
23
#define _RDBBreakpointWidget_H_
26
#include <qpopupmenu.h>
32
/***************************************************************************/
33
/***************************************************************************/
34
/***************************************************************************/
39
class BreakpointTableRow;
42
class RDBBreakpointWidget : public QHBox
47
RDBBreakpointWidget( QWidget* parent=0, const char* name=0 );
48
virtual ~RDBBreakpointWidget();
52
void savePartialProjectSession(QDomElement* el);
53
void restorePartialProjectSession(const QDomElement* el);
57
// Connected to from the editor widget:
58
void slotToggleBreakpoint(const QString &filename, int lineNum);
59
void slotToggleBreakpointEnabled(const QString &fileName, int lineNum);
61
// Connected to from the variable widget:
62
void slotToggleWatchpoint(const QString &varName);
64
// Connected to from the dbgcontroller:
65
void slotSetPendingBPs();
66
void slotUnableToSetBPNow(int BPNo);
67
void slotParseRDBBrkptList(char *str);
68
void slotParseRDBBreakpointSet(char *str, int BPKey);
70
void slotRefreshBP(const KURL &filename);
73
enum BW_ITEMS { BW_ITEM_Show, BW_ITEM_Edit, BW_ITEM_Disable, BW_ITEM_Delete };
74
virtual void focusInEvent(QFocusEvent *e);
77
void slotRemoveBreakpoint();
78
void slotRemoveAllBreakpoints();
79
void slotEditBreakpoint(const QString &fileName, int lineNum);
80
void slotEditBreakpoint();
81
void slotAddBreakpoint();
82
void slotAddBlankBreakpoint(int idx);
83
void slotRowDoubleClicked(int row, int col, int button, const QPoint & mousePos);
84
void slotContextMenuShow( int row, int col, const QPoint &mousePos );
85
void slotContextMenuSelect( int item );
86
void slotEditRow(int row, int col, const QPoint & mousePos);
87
void slotNewValue(int row, int col);
90
void publishBPState(const Breakpoint& brkpt);
91
void refreshBPState(const Breakpoint& brkpt);
92
void gotoSourcePosition(const QString &fileName, int lineNum);
93
void clearAllBreakpoints();
96
BreakpointTableRow* find(Breakpoint *bp);
97
BreakpointTableRow* findId(int id);
98
BreakpointTableRow* findKey(int BPKey);
101
BreakpointTableRow* addBreakpoint(Breakpoint *bp);
102
void removeBreakpoint(BreakpointTableRow* btr);
108
QToolButton* m_delete;
110
QToolButton* m_removeAll;
111
QPopupMenu* m_ctxMenu;
114
/***************************************************************************/
115
/***************************************************************************/
116
/***************************************************************************/