30 #include <QAbstractItemModel>
35 #include <QMetaObject>
41 class WaveGraphicsCanvas;
72 void handleValueThreadFinished();
99 if (--mParent->mReorderRequestWaiting <= 0) mParent->emitReorder();
108 QModelIndexList mDragIndexList;
113 int mReorderRequestWaiting;
114 int mNumberEntriesChangedEvents;
117 bool dropGroup(
const QModelIndex& parentTo,
int row);
118 void dropRow(
const QModelIndex& parentTo,
int row);
119 void invalidateParent(
const QModelIndex& parentRow);
QList< WaveData * > mGroupList
WaveDataRoot(WaveDataList *wdList)
bool moveGroupPosition(int sourceRow, int targetRow)
void recalcData() override
ReorderRequest(WaveTreeModel *p)
bool canDropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) const override
void addWaves(const QVector< WaveData * > &wds)
Qt::DropActions supportedDragActions() const override
WaveItem * removeItemFromHash(int row, const QModelIndex &parent)
QVariant headerData(int section, Qt::Orientation orientation, int role=Qt::DisplayRole) const override
void handleWaveAddedToGroup(const QVector< u32 > &netIds, int grpId)
void handleWaveRemovedFromGroup(int iwave, int grpId)
int triggerId(const QModelIndex &trigIndex) const
QModelIndexList indexes(const WaveData *wd) const
QModelIndex index(int row, int column, const QModelIndex &parent=QModelIndex()) const override
void handleWaveAdded(int iwave)
void numberEntriesChanged(int count)
void handleGroupRenamed(int grpId)
void handleEndValueThread(WaveItem *item)
void forwardEndResetModel()
void insertTrigger(const QModelIndex &trigIndex, const QList< WaveData * > &trigWaves, const QList< int > &toVal, WaveData *wdFilter=nullptr, WaveDataTrigger *wdTrig=nullptr)
QString netName(const QModelIndex &index) const
static const char * sStateColor[3]
WaveData * item(const QModelIndex &index) const
void inserted(QModelIndex index)
int decreaseNumberEntriesChangedEvents()
void insertExisting(int row, const QModelIndex &parent, WaveItem *wi)
void handleTriggerAdded(int trigId)
Qt::ItemFlags flags(const QModelIndex &index) const override
void setDragIndexes(const QModelIndexList &indexList)
void handleGroupAboutToBeRemoved(WaveDataGroup *grp)
void handleCursorMoved(u64 tCursor, int xpos)
int waveIndex(const QModelIndex &index) const
void triggerStartValueThread(WaveItem *item) const
int rowCount(const QModelIndex &parent=QModelIndex()) const override
void removeGroup(const QModelIndex &groupIndex)
void handleWaveRenamed(int iwave)
void handleGroupAdded(int grpId)
WaveTreeModel(WaveDataList *wdlist, WaveItemHash *wHash, WaveGraphicsCanvas *wgc, QObject *obj=nullptr)
bool onlyRootItemsSelected(const QModelIndexList &selectList) const
int groupId(const QModelIndex &grpIndex) const
bool insertItem(int row, const QModelIndex &parent, WaveData *wd)
void handleStartValueThread(WaveItem *item)
int booleanId(const QModelIndex &boolIndex) const
bool isLeaveItem(const QModelIndex &index) const
QSet< int > waveDataIndexSet() const
void forwardBeginResetModel()
int columnCount(const QModelIndex &parent=QModelIndex()) const override
void handleGroupUpdated(int grpId)
void setGroupPosition(int ypos, const QModelIndex &index)
void insertGroup(const QModelIndex &groupIndex, WaveDataGroup *grp=nullptr)
bool dropMimeData(const QMimeData *mimeData, Qt::DropAction action, int row, int column, const QModelIndex &dropParent) override
void handleUpdateValueColumn()
void insertBoolean(const QModelIndex &boolIndex, const QString &boolExpression, WaveDataBoolean *wdBool=nullptr)
WaveItemIndex hashIndex(const QModelIndex &index) const
QVariant data(const QModelIndex &index, int role=Qt::DisplayRole) const override
void handleBooleanAdded(int boolId)
void valueThreadEnds(hal::WaveItem *item)
WaveValueThread(WaveItem *item, const QString &workdir, u64 tpos, int xpos, QObject *parent=nullptr)
virtual QMimeData * mimeData(const QModelIndexList &indexes) const const
QObject * parent() const const