kdevplatform/debugger
#include <framestackmodel.h>

Classes | |
struct | ThreadItem |
Public Member Functions | |
FrameStackModel (IDebugSession *session) | |
~FrameStackModel () override | |
int | columnCount (const QModelIndex &parent=QModelIndex()) const override |
int | crashedThreadIndex () const |
int | currentFrame () const override |
QModelIndex | currentFrameIndex () const override |
int | currentThread () const override |
QModelIndex | currentThreadIndex () const override |
QVariant | data (const QModelIndex &index, int role=Qt::DisplayRole) const override |
void | fetchMoreFrames () override |
FrameItem | frame (const QModelIndex &index) override |
QVector< FrameItem > | frames (int threadNumber) const |
QVariant | headerData (int section, Qt::Orientation orientation, int role=Qt::DisplayRole) const override |
QModelIndex | index (int row, int column, const QModelIndex &parent=QModelIndex()) const override |
void | insertFrames (int threadNumber, const QVector< FrameItem > &frames) |
QModelIndex | parent (const QModelIndex &child) const override |
int | rowCount (const QModelIndex &parent=QModelIndex()) const override |
void | setCrashedThreadIndex (int index) |
void | setCurrentFrame (int frame) override |
void | setCurrentThread (const QModelIndex &index) override |
void | setCurrentThread (int threadNumber) override |
void | setFrames (int threadNumber, const QVector< FrameItem > &frames) |
void | setHasMoreFrames (int threadNumber, bool hasMoreFrames) |
void | setThreads (const QVector< ThreadItem > &threads) |
![]() | |
IFrameStackModel (IDebugSession *session) | |
~IFrameStackModel () override | |
virtual void | fetchFrames (int threadNumber, int from, int to)=0 |
virtual void | fetchThreads ()=0 |
IDebugSession * | session () const |
![]() | |
QAbstractItemModel (QObject *parent) | |
virtual | ~QAbstractItemModel () |
virtual QModelIndex | buddy (const QModelIndex &index) const |
virtual bool | canFetchMore (const QModelIndex &parent) const |
virtual int | columnCount (const QModelIndex &parent) const=0 |
void | columnsAboutToBeInserted (const QModelIndex &parent, int start, int end) |
void | columnsAboutToBeMoved (const QModelIndex &sourceParent, int sourceStart, int sourceEnd, const QModelIndex &destinationParent, int destinationColumn) |
void | columnsAboutToBeRemoved (const QModelIndex &parent, int start, int end) |
void | columnsInserted (const QModelIndex &parent, int start, int end) |
void | columnsMoved (const QModelIndex &sourceParent, int sourceStart, int sourceEnd, const QModelIndex &destinationParent, int destinationColumn) |
void | columnsRemoved (const QModelIndex &parent, int start, int end) |
virtual QVariant | data (const QModelIndex &index, int role) const=0 |
void | dataChanged (const QModelIndex &topLeft, const QModelIndex &bottomRight) |
virtual bool | dropMimeData (const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) |
virtual void | fetchMore (const QModelIndex &parent) |
virtual Qt::ItemFlags | flags (const QModelIndex &index) const |
virtual bool | hasChildren (const QModelIndex &parent) const |
bool | hasIndex (int row, int column, const QModelIndex &parent) const |
void | headerDataChanged (Qt::Orientation orientation, int first, int last) |
virtual QModelIndex | index (int row, int column, const QModelIndex &parent) const=0 |
bool | insertColumn (int column, const QModelIndex &parent) |
virtual bool | insertColumns (int column, int count, const QModelIndex &parent) |
bool | insertRow (int row, const QModelIndex &parent) |
virtual bool | insertRows (int row, int count, const QModelIndex &parent) |
virtual QMap< int, QVariant > | itemData (const QModelIndex &index) const |
void | layoutAboutToBeChanged () |
void | layoutChanged () |
virtual QModelIndexList | match (const QModelIndex &start, int role, const QVariant &value, int hits, QFlags< Qt::MatchFlag > flags) const |
virtual QMimeData * | mimeData (const QModelIndexList &indexes) const |
virtual QStringList | mimeTypes () const |
void | modelAboutToBeReset () |
void | modelReset () |
virtual QModelIndex | parent (const QModelIndex &index) const=0 |
bool | removeColumn (int column, const QModelIndex &parent) |
virtual bool | removeColumns (int column, int count, const QModelIndex &parent) |
bool | removeRow (int row, const QModelIndex &parent) |
virtual bool | removeRows (int row, int count, const QModelIndex &parent) |
virtual void | revert () |
const QHash< int, QByteArray > & | roleNames () const |
virtual int | rowCount (const QModelIndex &parent) const=0 |
void | rowsAboutToBeInserted (const QModelIndex &parent, int start, int end) |
void | rowsAboutToBeMoved (const QModelIndex &sourceParent, int sourceStart, int sourceEnd, const QModelIndex &destinationParent, int destinationRow) |
void | rowsAboutToBeRemoved (const QModelIndex &parent, int start, int end) |
void | rowsInserted (const QModelIndex &parent, int start, int end) |
void | rowsMoved (const QModelIndex &sourceParent, int sourceStart, int sourceEnd, const QModelIndex &destinationParent, int destinationRow) |
void | rowsRemoved (const QModelIndex &parent, int start, int end) |
virtual bool | setData (const QModelIndex &index, const QVariant &value, int role) |
virtual bool | setHeaderData (int section, Qt::Orientation orientation, const QVariant &value, int role) |
virtual bool | setItemData (const QModelIndex &index, const QMap< int, QVariant > &roles) |
void | setSupportedDragActions (QFlags< Qt::DropAction > actions) |
QModelIndex | sibling (int row, int column, const QModelIndex &index) const |
virtual void | sort (int column, Qt::SortOrder order) |
virtual QSize | span (const QModelIndex &index) const |
virtual bool | submit () |
Qt::DropActions | supportedDragActions () const |
virtual Qt::DropActions | supportedDropActions () const |
![]() | |
QObject (QObject *parent) | |
QObject (QObject *parent, const char *name) | |
virtual | ~QObject () |
bool | blockSignals (bool block) |
QObject * | child (const char *objName, const char *inheritsClass, bool recursiveSearch) const |
const QObjectList & | children () const |
const char * | className () const |
bool | connect (const QObject *sender, const char *signal, const char *method, Qt::ConnectionType type) const |
void | deleteLater () |
void | destroyed (QObject *obj) |
bool | disconnect (const char *signal, const QObject *receiver, const char *method) |
bool | disconnect (const QObject *receiver, const char *method) |
void | dumpObjectInfo () |
void | dumpObjectTree () |
QList< QByteArray > | dynamicPropertyNames () const |
virtual bool | event (QEvent *e) |
virtual bool | eventFilter (QObject *watched, QEvent *event) |
T | findChild (const QString &name) const |
QList< T > | findChildren (const QRegExp ®Exp) const |
QList< T > | findChildren (const QString &name) const |
bool | inherits (const char *className) const |
void | insertChild (QObject *object) |
void | installEventFilter (QObject *filterObj) |
bool | isA (const char *className) const |
bool | isWidgetType () const |
void | killTimer (int id) |
virtual const QMetaObject * | metaObject () const |
void | moveToThread (QThread *targetThread) |
const char * | name () const |
const char * | name (const char *defaultName) const |
QString | objectName () const |
QObject * | parent () const |
QVariant | property (const char *name) const |
void | removeChild (QObject *object) |
void | removeEventFilter (QObject *obj) |
void | setName (const char *name) |
void | setObjectName (const QString &name) |
void | setParent (QObject *parent) |
bool | setProperty (const char *name, const QVariant &value) |
bool | signalsBlocked () const |
int | startTimer (int interval) |
QThread * | thread () const |
Additional Inherited Members | |
![]() | |
void | currentFrameChanged (int frame) |
void | currentThreadChanged (int thread) |
![]() | |
bool | connect (const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type) |
bool | connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type) |
bool | disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *method) |
bool | disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method) |
QString | tr (const char *sourceText, const char *disambiguation, int n) |
QString | trUtf8 (const char *sourceText, const char *disambiguation, int n) |
![]() | |
void | beginInsertColumns (const QModelIndex &parent, int first, int last) |
void | beginInsertRows (const QModelIndex &parent, int first, int last) |
bool | beginMoveColumns (const QModelIndex &sourceParent, int sourceFirst, int sourceLast, const QModelIndex &destinationParent, int destinationChild) |
bool | beginMoveRows (const QModelIndex &sourceParent, int sourceFirst, int sourceLast, const QModelIndex &destinationParent, int destinationChild) |
void | beginRemoveColumns (const QModelIndex &parent, int first, int last) |
void | beginRemoveRows (const QModelIndex &parent, int first, int last) |
void | beginResetModel () |
void | changePersistentIndex (const QModelIndex &from, const QModelIndex &to) |
void | changePersistentIndexList (const QModelIndexList &from, const QModelIndexList &to) |
QModelIndex | createIndex (int row, int column, int id) const |
QModelIndex | createIndex (int row, int column, quint32 id) const |
QModelIndex | createIndex (int row, int column, void *ptr) const |
void | endInsertColumns () |
void | endInsertRows () |
void | endMoveColumns () |
void | endMoveRows () |
void | endRemoveColumns () |
void | endRemoveRows () |
void | endResetModel () |
QModelIndexList | persistentIndexList () const |
void | reset () |
void | resetInternalData () |
void | setRoleNames (const QHash< int, QByteArray > &roleNames) |
![]() | |
bool | checkConnectArgs (const char *signal, const QObject *object, const char *method) |
virtual void | childEvent (QChildEvent *event) |
virtual void | connectNotify (const char *signal) |
virtual void | customEvent (QEvent *event) |
virtual void | disconnectNotify (const char *signal) |
int | receivers (const char *signal) const |
QObject * | sender () const |
int | senderSignalIndex () const |
virtual void | timerEvent (QTimerEvent *event) |
![]() | |
QByteArray | normalizeSignalSlot (const char *signalSlot) |
![]() | |
objectName | |
Detailed Description
FIXME: This class needs rework, since at present it is not true model.
Client cannot just obtain frames by grabbing a thread and listing children. It should first setCurrentThread beforehand, and it is the method that will actually fetch threads. Therefore, if this model is submitted to plain QTreeView, it won't work at all.
Ideally, this should hold current thread and current frame numbers, and only fetch the list of threads, and list of frames inside thread when asked for by the view.
Definition at line 59 of file framestackmodel.h.
Constructor & Destructor Documentation
◆ FrameStackModel()
|
explicit |
Definition at line 85 of file framestackmodel.cpp.
◆ ~FrameStackModel()
|
override |
Definition at line 92 of file framestackmodel.cpp.
Member Function Documentation
◆ columnCount()
|
override |
Definition at line 262 of file framestackmodel.cpp.
◆ crashedThreadIndex()
int KDevelop::FrameStackModel::crashedThreadIndex | ( | ) | const |
Definition at line 361 of file framestackmodel.cpp.
◆ currentFrame()
|
overridevirtual |
Return the frame we wish to operate on.
This is always in context of the current thread. This may be -1 if no frame is selected. This should only the be the case if the thread has no stack as such – e.g. because it's running, or because it's exited.
Implements KDevelop::IFrameStackModel.
Definition at line 389 of file framestackmodel.cpp.
◆ currentFrameIndex()
|
overridevirtual |
Implements KDevelop::IFrameStackModel.
Definition at line 396 of file framestackmodel.cpp.
◆ currentThread()
|
overridevirtual |
Implements KDevelop::IFrameStackModel.
Definition at line 368 of file framestackmodel.cpp.
◆ currentThreadIndex()
|
overridevirtual |
Implements KDevelop::IFrameStackModel.
Definition at line 375 of file framestackmodel.cpp.
◆ data()
|
override |
Definition at line 198 of file framestackmodel.cpp.
◆ fetchMoreFrames()
|
overridevirtual |
Implements KDevelop::IFrameStackModel.
Definition at line 454 of file framestackmodel.cpp.
◆ frame()
|
overridevirtual |
Implements KDevelop::IFrameStackModel.
Definition at line 181 of file framestackmodel.cpp.
◆ frames()
QVector< FrameStackModel::FrameItem > KDevelop::FrameStackModel::frames | ( | int | threadNumber | ) | const |
Definition at line 191 of file framestackmodel.cpp.
◆ headerData()
|
overridevirtual |
Reimplemented from QAbstractItemModel.
Definition at line 306 of file framestackmodel.cpp.
◆ index()
|
override |
Definition at line 291 of file framestackmodel.cpp.
◆ insertFrames()
void KDevelop::FrameStackModel::insertFrames | ( | int | threadNumber, |
const QVector< FrameItem > & | frames | ||
) |
Definition at line 161 of file framestackmodel.cpp.
◆ parent()
|
override |
Definition at line 282 of file framestackmodel.cpp.
◆ rowCount()
|
override |
Definition at line 268 of file framestackmodel.cpp.
◆ setCrashedThreadIndex()
void KDevelop::FrameStackModel::setCrashedThreadIndex | ( | int | index | ) |
Definition at line 354 of file framestackmodel.cpp.
◆ setCurrentFrame()
|
overridevirtual |
Implements KDevelop::IFrameStackModel.
Definition at line 403 of file framestackmodel.cpp.
◆ setCurrentThread() [1/2]
|
overridevirtual |
Implements KDevelop::IFrameStackModel.
Definition at line 344 of file framestackmodel.cpp.
◆ setCurrentThread() [2/2]
|
overridevirtual |
Sets the current thread to the specified number, and sets the current frame to 0.
Note that nothing prevents us from introducing setCurrentThreadAndFrame, but for all the cases when we switch to a different thread we want frame 0.
Implements KDevelop::IFrameStackModel.
Definition at line 320 of file framestackmodel.cpp.
◆ setFrames()
Update frames for thread threadNumber
.
- Note
- The currentFrame property will be set to the first frame containing debug information
Definition at line 127 of file framestackmodel.cpp.
◆ setHasMoreFrames()
void KDevelop::FrameStackModel::setHasMoreFrames | ( | int | threadNumber, |
bool | hasMoreFrames | ||
) |
Definition at line 174 of file framestackmodel.cpp.
◆ setThreads()
void KDevelop::FrameStackModel::setThreads | ( | const QVector< ThreadItem > & | threads | ) |
Definition at line 96 of file framestackmodel.cpp.
The documentation for this class was generated from the following files:
Documentation copyright © 1996-2021 The KDE developers.
Generated on Mon Mar 8 2021 23:29:18 by doxygen 1.8.16 written by Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.