debugger.h
Go to the documentation of this file.00001 #ifndef __DEBUGGER_H__
00002 #define __DEBUGGER_H__
00003
00004 #include <qvaluelist.h>
00005
00006 #include "kdevdebugger.h"
00007
00008 #include <kparts/part.h>
00009 #include <ktexteditor/markinterface.h>
00010
00011 #include <kdeversion.h>
00012 #if (KDE_VERSION > 305)
00013 # include <ktexteditor/markinterfaceextension.h>
00014 #else
00015 # include "kde30x_markinterfaceextension.h"
00016 #endif
00017
00025 class BPItem
00026 {
00027 public:
00031 BPItem() : m_fileName(""), m_lineNum(0)
00032 {}
00033
00034 BPItem( const QString& fileName, const uint lineNum)
00035 : m_fileName(fileName),
00036 m_lineNum(lineNum)
00037 {}
00038
00039 uint lineNum() const { return m_lineNum; }
00040 QString fileName() const { return m_fileName; }
00041
00042 bool operator==( const BPItem& rhs ) const
00043 {
00044 return (m_fileName == rhs.m_fileName
00045 && m_lineNum == rhs.m_lineNum);
00046 }
00047
00048 private:
00049 QString m_fileName;
00050 uint m_lineNum;
00051 };
00052
00053
00059 class Debugger : public KDevDebugger
00060 {
00061 Q_OBJECT
00062
00063 public:
00064
00067 static Debugger *getInstance();
00068
00080 void setBreakpoint(const QString &fileName, int lineNum,
00081 int id, bool enabled, bool pending);
00082
00089 void gotoExecutionPoint(const KURL &url, int lineNum=-1);
00090
00094 void clearExecutionPoint();
00095
00096 protected:
00097
00098 Debugger();
00099 ~Debugger();
00100
00101 private slots:
00102
00109 void partAdded( KParts::Part* part );
00110
00117 void marksChanged();
00118
00119 private:
00120 enum MarkType {
00121 Bookmark = KTextEditor::MarkInterface::markType01,
00122 Breakpoint = KTextEditor::MarkInterface::markType02,
00123 ActiveBreakpoint = KTextEditor::MarkInterface::markType03,
00124 ReachedBreakpoint = KTextEditor::MarkInterface::markType04,
00125 DisabledBreakpoint = KTextEditor::MarkInterface::markType05,
00126 ExecutionPoint = KTextEditor::MarkInterface::markType06
00127 };
00128
00129 static Debugger *s_instance;
00130 QValueList<BPItem> BPList;
00131 };
00132
00133 #endif
This file is part of the documentation for KDevelop Version 3.1.2.