• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdevelop API Reference
  • KDE Home
  • Contact Us
 

kdevplatform/debugger

  • KDevelop
  • FrameStackModel
Classes | Public Member Functions | List of all members
KDevelop::FrameStackModel Class Reference

#include <framestackmodel.h>

Inheritance diagram for KDevelop::FrameStackModel:
Inheritance graph
[legend]

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)
 
- Public Member Functions inherited from KDevelop::IFrameStackModel
 IFrameStackModel (IDebugSession *session)
 
 ~IFrameStackModel () override
 
virtual void fetchFrames (int threadNumber, int from, int to)=0
 
virtual void fetchThreads ()=0
 
IDebugSession * session () const
 
- Public Member Functions inherited from QAbstractItemModel
 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
 
- Public Member Functions inherited from QObject
 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 &regExp) 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

- Signals inherited from KDevelop::IFrameStackModel
void currentFrameChanged (int frame)
 
void currentThreadChanged (int thread)
 
- Static Public Member Functions inherited from QObject
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)
 
- Protected Member Functions inherited from QAbstractItemModel
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)
 
- Protected Member Functions inherited from QObject
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)
 
- Static Protected Member Functions inherited from QObject
QByteArray normalizeSignalSlot (const char *signalSlot)
 
- Properties inherited from QObject
 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()

KDevelop::FrameStackModel::FrameStackModel ( IDebugSession *  session)
explicit

Definition at line 85 of file framestackmodel.cpp.

◆ ~FrameStackModel()

KDevelop::FrameStackModel::~FrameStackModel ( )
override

Definition at line 92 of file framestackmodel.cpp.

Member Function Documentation

◆ columnCount()

int KDevelop::FrameStackModel::columnCount ( const QModelIndex &  parent = QModelIndex()) const
override

Definition at line 262 of file framestackmodel.cpp.

◆ crashedThreadIndex()

int KDevelop::FrameStackModel::crashedThreadIndex ( ) const

Definition at line 361 of file framestackmodel.cpp.

◆ currentFrame()

int KDevelop::FrameStackModel::currentFrame ( ) const
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()

QModelIndex KDevelop::FrameStackModel::currentFrameIndex ( ) const
overridevirtual

Implements KDevelop::IFrameStackModel.

Definition at line 396 of file framestackmodel.cpp.

◆ currentThread()

int KDevelop::FrameStackModel::currentThread ( ) const
overridevirtual

Implements KDevelop::IFrameStackModel.

Definition at line 368 of file framestackmodel.cpp.

◆ currentThreadIndex()

QModelIndex KDevelop::FrameStackModel::currentThreadIndex ( ) const
overridevirtual

Implements KDevelop::IFrameStackModel.

Definition at line 375 of file framestackmodel.cpp.

◆ data()

QVariant KDevelop::FrameStackModel::data ( const QModelIndex &  index,
int  role = Qt::DisplayRole 
) const
override

Definition at line 198 of file framestackmodel.cpp.

◆ fetchMoreFrames()

void KDevelop::FrameStackModel::fetchMoreFrames ( )
overridevirtual

Implements KDevelop::IFrameStackModel.

Definition at line 454 of file framestackmodel.cpp.

◆ frame()

FrameStackModel::FrameItem KDevelop::FrameStackModel::frame ( const QModelIndex &  index)
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()

QVariant KDevelop::FrameStackModel::headerData ( int  section,
Qt::Orientation  orientation,
int  role = Qt::DisplayRole 
) const
overridevirtual

Reimplemented from QAbstractItemModel.

Definition at line 306 of file framestackmodel.cpp.

◆ index()

QModelIndex KDevelop::FrameStackModel::index ( int  row,
int  column,
const QModelIndex &  parent = QModelIndex() 
) const
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()

QModelIndex KDevelop::FrameStackModel::parent ( const QModelIndex &  child) const
override

Definition at line 282 of file framestackmodel.cpp.

◆ rowCount()

int KDevelop::FrameStackModel::rowCount ( const QModelIndex &  parent = QModelIndex()) const
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()

void KDevelop::FrameStackModel::setCurrentFrame ( int  frame)
overridevirtual

Implements KDevelop::IFrameStackModel.

Definition at line 403 of file framestackmodel.cpp.

◆ setCurrentThread() [1/2]

void KDevelop::FrameStackModel::setCurrentThread ( const QModelIndex &  index)
overridevirtual

Implements KDevelop::IFrameStackModel.

Definition at line 344 of file framestackmodel.cpp.

◆ setCurrentThread() [2/2]

void KDevelop::FrameStackModel::setCurrentThread ( int  threadNumber)
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()

void KDevelop::FrameStackModel::setFrames ( int  threadNumber,
const QVector< FrameItem > &  frames 
)

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:
  • framestackmodel.h
  • framestackmodel.cpp
This file is part of the KDE documentation.
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.

kdevplatform/debugger

Skip menu "kdevplatform/debugger"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Related Pages

kdevelop API Reference

Skip menu "kdevelop API Reference"
  • kdevplatform
  •   debugger
  •   documentation
  •   interfaces
  •   language
  •     assistant
  •     backgroundparser
  •     checks
  •     classmodel
  •     codecompletion
  •     codegen
  •     duchain
  •     editor
  •     highlighting
  •     interfaces
  •     util
  •   outputview
  •   project
  •   serialization
  •   shell
  •   sublime
  •   tests
  •   util
  •   vcs

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal