aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/debugger/breakhandler.h
diff options
context:
space:
mode:
authorhjk <hjk@theqtcompany.com>2016-07-18 12:36:31 +0200
committerhjk <hjk@qt.io>2016-07-18 11:17:53 +0000
commit2d79bdc29c242a04aad3519858ad64712be4de8e (patch)
treea910e2daeaeca5ce943f33d569f2e88b8a477ad4 /src/plugins/debugger/breakhandler.h
parent84f1466b01e9098ae983c1f53e376e977921dad9 (diff)
Debugger: Remove some uses of semi-global currentEngine()
Make use of recent TreeModel improvements in various tool views, push more operations into the engine- owned data models, specifically context menu creation. Change-Id: I479c97102b9fb81611c6461c6df1cec59295179a Reviewed-by: Christian Stenger <christian.stenger@qt.io> Reviewed-by: hjk <hjk@qt.io>
Diffstat (limited to 'src/plugins/debugger/breakhandler.h')
-rw-r--r--src/plugins/debugger/breakhandler.h20
1 files changed, 18 insertions, 2 deletions
diff --git a/src/plugins/debugger/breakhandler.h b/src/plugins/debugger/breakhandler.h
index 97d16f6fa8..82426abbd0 100644
--- a/src/plugins/debugger/breakhandler.h
+++ b/src/plugins/debugger/breakhandler.h
@@ -33,6 +33,8 @@
#include <QCoreApplication>
#include <QPointer>
+namespace Utils { class ItemViewEvent; }
+
namespace Debugger {
namespace Internal {
@@ -157,7 +159,9 @@ inline uint qHash(const Debugger::Internal::Breakpoint &b) { return b.hash(); }
typedef QList<Breakpoint> Breakpoints;
-class BreakHandler : public Utils::LeveledTreeModel<Utils::TreeItem, BreakpointItem, LocationItem>
+using BreakModel = Utils::LeveledTreeModel<Utils::TypedTreeItem<BreakpointItem>, BreakpointItem, LocationItem>;
+
+class BreakHandler : public BreakModel
{
Q_OBJECT
@@ -200,8 +204,15 @@ public:
void setWatchpointAtExpression(const QString &exp);
Breakpoint breakpointById(BreakpointModelId id) const;
+ void editBreakpoint(Breakpoint bp, QWidget *parent);
private:
+ QVariant data(const QModelIndex &idx, int role) const override;
+ bool setData(const QModelIndex &idx, const QVariant &value, int role) override;
+ void timerEvent(QTimerEvent *event) override;
+
+ bool contextMenuEvent(const Utils::ItemViewEvent &ev);
+
friend class BreakpointItem;
friend class Breakpoint;
@@ -209,12 +220,17 @@ private:
void saveBreakpoints();
void appendBreakpointInternal(const BreakpointParameters &data);
+ void deleteBreakpoints(const Breakpoints &bps);
+ void deleteAllBreakpoints();
+ void setBreakpointsEnabled(const Breakpoints &bps, bool enabled);
+ void addBreakpoint();
+ void editBreakpoints(const Breakpoints &bps, QWidget *parent);
Q_SLOT void changeLineNumberFromMarkerHelper(Debugger::Internal::BreakpointModelId id);
Q_SLOT void deletionHelper(Debugger::Internal::BreakpointModelId id);
void scheduleSynchronization();
- void timerEvent(QTimerEvent *event);
+
int m_syncTimerId;
};