HAL  v4.5.0-83-g30c8f0afc
The Hardware Analyzer - a comprehensive reverse engineering and manipulation framework for gate-level netlists.
hal::WaveDataList Class Reference

#include </home/runner/work/hal/hal/plugins/simulator/netlist_simulator_controller/include/netlist_simulator_controller/wave_data.h>

Inheritance diagram for hal::WaveDataList:
Inheritance graph
Collaboration diagram for hal::WaveDataList:
Collaboration graph

Signals

void waveAdded (int inx)
 
void groupAdded (int grpId)
 
void booleanAdded (int boolId)
 
void triggerAdded (int trigId)
 
void groupAboutToBeRemoved (hal::WaveDataGroup *grp)
 
void waveDataAboutToBeChanged (int inx)
 
void waveUpdated (int inx, int grpId)
 
void groupUpdated (int grpId)
 
void waveRenamed (int iwave)
 
void groupRenamed (int grpId)
 
void waveRemoved (int inx)
 
void waveAddedToGroup (const QVector< u32 > &netIds, int grpId)
 
void waveRemovedFromGroup (int iwave, int grpId)
 
void timeframeChanged (const hal::WaveDataTimeframe *tframe)
 
void triggerBeginResetModel ()
 
void triggerEndResetModel ()
 

Public Member Functions

 WaveDataList (const QString &sdFilename, QObject *parent=nullptr)
 
 ~WaveDataList ()
 
u32 nextGroupId ()
 
u32 maxGroupId () const
 
u32 nextBooleanId ()
 
u32 nextTriggerId ()
 
void addWavesToGroup (u32 grpId, const QVector< WaveData * > &wds)
 
void removeGroup (u32 grpId)
 
void addOrReplace (WaveData *wd)
 
void add (WaveData *wd, bool updateSaleae)
 
void remove (u32 id)
 
void incrementSimulTime (u64 deltaT)
 
void clearAll ()
 
void updateClocks ()
 
void updateWaveData (int inx)
 
WaveDatawaveDataByNet (const Net *n)
 
WaveDatawaveDataByName (const std::string &nam) const
 
WaveDatawaveDataById (const int id)
 
int waveIndexByNetId (u32 id) const
 
void triggerAddToView (u32 id) const
 
bool hasNet (u32 id) const
 
QSet< u32toSet () const
 
void updateWaveName (int iwave, const QString &nam)
 
void updateGroupName (u32 grpId, const QString &nam)
 
const WaveDataTimeframetimeFrame () const
 
void setValueForEmpty (int val)
 
void dump () const
 
void emitWaveAdded (int inx)
 
void emitWaveUpdated (int inx)
 
void emitGroupUpdated (int grpId)
 
void emitWaveRemovedFromGroup (int iwave, int grpId)
 
void emitTimeframeChanged ()
 
void updateFromSaleae ()
 
SaleaeDirectorysaleaeDirectory ()
 
void insertBooleanValue (WaveData *wd, u64 t, BooleanFunction::Value bval)
 
void setUserTimeframe (u64 t0=0, u64 t1=0)
 
void emptyTrash ()
 
- Public Member Functions inherited from QObject
virtual const QMetaObjectmetaObject () const const
 
 QObject (QObject *parent)
 
virtual ~QObject ()
 
virtual bool event (QEvent *e)
 
virtual bool eventFilter (QObject *watched, QEvent *event)
 
QString objectName () const const
 
void setObjectName (const QString &name)
 
bool isWidgetType () const const
 
bool isWindowType () const const
 
bool signalsBlocked () const const
 
bool blockSignals (bool block)
 
QThreadthread () const const
 
void moveToThread (QThread *targetThread)
 
int startTimer (int interval, Qt::TimerType timerType)
 
int startTimer (std::chrono::milliseconds time, Qt::TimerType timerType)
 
void killTimer (int id)
 
findChild (const QString &name, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QString &name, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QRegExp &regExp, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QRegularExpression &re, Qt::FindChildOptions options) const const
 
const QObjectListchildren () const const
 
void setParent (QObject *parent)
 
void installEventFilter (QObject *filterObj)
 
void removeEventFilter (QObject *obj)
 
QMetaObject::Connection connect (const QObject *sender, const char *signal, const char *method, Qt::ConnectionType type) const const
 
bool disconnect (const char *signal, const QObject *receiver, const char *method) const const
 
bool disconnect (const QObject *receiver, const char *method) const const
 
void dumpObjectTree ()
 
void dumpObjectInfo ()
 
void dumpObjectTree () const const
 
void dumpObjectInfo () const const
 
bool setProperty (const char *name, const QVariant &value)
 
QVariant property (const char *name) const const
 
QList< QByteArraydynamicPropertyNames () const const
 
void destroyed (QObject *obj)
 
void objectNameChanged (const QString &objectName)
 
QObjectparent () const const
 
bool inherits (const char *className) const const
 
void deleteLater ()
 
 Q_DISABLE_COPY (Class)
 
 Q_DISABLE_MOVE (Class)
 
 Q_DISABLE_COPY_MOVE (Class)
 
qobject_cast (QObject *object)
 
qobject_cast (const QObject *object)
 
qFindChild (const QObject *obj, const QString &name)
 
QList< T > qFindChildren (const QObject *obj, const QString &name)
 
QList< T > qFindChildren (const QObject *obj, const QRegExp &regExp)
 
 Q_CLASSINFO (Name, Value)
 
 Q_INTERFACES (...)
 
 Q_PROPERTY (...)
 
 Q_ENUMS (...)
 
 Q_FLAGS (...)
 
 Q_ENUM (...)
 
 Q_FLAG (...)
 
 Q_ENUM_NS (...)
 
 Q_FLAG_NS (...)
 
 Q_OBJECT Q_OBJECT
 
 Q_GADGET Q_GADGET
 
 Q_NAMESPACE Q_NAMESPACE
 
 Q_NAMESPACE_EXPORT (EXPORT_MACRO)
 
 Q_SIGNALS Q_SIGNALS
 
 Q_SIGNAL Q_SIGNAL
 
 Q_SLOTS Q_SLOTS
 
 Q_SLOT Q_SLOT
 
 Q_EMIT Q_EMIT
 
 Q_INVOKABLE Q_INVOKABLE
 
 Q_REVISION Q_REVISION
 
 Q_SET_OBJECT_NAME (Object)
 
 QT_NO_NARROWING_CONVERSIONS_IN_CONNECT QT_NO_NARROWING_CONVERSIONS_IN_CONNECT
 
- Public Member Functions inherited from QList< WaveData * >
 QList ()
 
 QList (const QList< T > &other)
 
 QList (QList< T > &&other)
 
 QList (std::initializer_list< T > args)
 
 QList (InputIterator first, InputIterator last)
 
 ~QList ()
 
QList< T > & operator= (const QList< T > &other)
 
QList< T > & operator= (QList< T > &&other)
 
void swap (QList< T > &other)
 
void swap (int i, int j)
 
bool operator== (const QList< T > &other) const const
 
bool operator!= (const QList< T > &other) const const
 
int size () const const
 
bool isEmpty () const const
 
void clear ()
 
const T & at (int i) const const
 
const T & operator[] (int i) const const
 
T & operator[] (int i)
 
void reserve (int alloc)
 
void append (const T &value)
 
void append (const QList< T > &value)
 
void prepend (const T &value)
 
void insert (int i, const T &value)
 
QList::iterator insert (QList::iterator before, const T &value)
 
void replace (int i, const T &value)
 
void removeAt (int i)
 
int removeAll (const T &value)
 
bool removeOne (const T &value)
 
takeAt (int i)
 
takeFirst ()
 
takeLast ()
 
void move (int from, int to)
 
void swapItemsAt (int i, int j)
 
int indexOf (const T &value, int from) const const
 
int lastIndexOf (const T &value, int from) const const
 
bool contains (const T &value) const const
 
int count (const T &value) const const
 
int count () const const
 
QList::iterator begin ()
 
QList::const_iterator begin () const const
 
QList::const_iterator cbegin () const const
 
QList::const_iterator constBegin () const const
 
QList::iterator end ()
 
QList::const_iterator end () const const
 
QList::const_iterator cend () const const
 
QList::const_iterator constEnd () const const
 
QList::reverse_iterator rbegin ()
 
QList::const_reverse_iterator rbegin () const const
 
QList::reverse_iterator rend ()
 
QList::const_reverse_iterator rend () const const
 
QList::const_reverse_iterator crbegin () const const
 
QList::const_reverse_iterator crend () const const
 
QList::iterator erase (QList::iterator pos)
 
QList::iterator erase (QList::iterator begin, QList::iterator end)
 
int length () const const
 
T & first ()
 
const T & first () const const
 
const T & constFirst () const const
 
T & last ()
 
const T & last () const const
 
const T & constLast () const const
 
void removeFirst ()
 
void removeLast ()
 
bool startsWith (const T &value) const const
 
bool endsWith (const T &value) const const
 
QList< T > mid (int pos, int length) const const
 
value (int i) const const
 
value (int i, const T &defaultValue) const const
 
void push_back (const T &value)
 
void push_front (const T &value)
 
T & front ()
 
const T & front () const const
 
T & back ()
 
const T & back () const const
 
void pop_front ()
 
void pop_back ()
 
bool empty () const const
 
QList< T > & operator+= (const QList< T > &other)
 
QList< T > & operator+= (const T &value)
 
QList< T > operator+ (const QList< T > &other) const const
 
QList< T > & operator<< (const T &value)
 
QList< T > & operator<< (const QList< T > &other)
 
QDataStreamoperator<< (QDataStream &out, const QList< T > &list)
 
QVector< T > toVector () const const
 
QSet< T > toSet () const const
 
std::list< T > toStdList () const const
 
bool operator< (const QList< T > &lhs, const QList< T > &rhs)
 
bool operator<= (const QList< T > &lhs, const QList< T > &rhs)
 
bool operator> (const QList< T > &lhs, const QList< T > &rhs)
 
bool operator>= (const QList< T > &lhs, const QList< T > &rhs)
 
uint qHash (const QList< T > &key, uint seed)
 
QDataStreamoperator>> (QDataStream &in, QList< T > &list)
 

Public Attributes

QMap< u32, WaveDataGroup * > mDataGroups
 
QMap< u32, WaveDataBoolean * > mDataBooleans
 
QMap< u32, WaveDataTrigger * > mDataTrigger
 
- Public Attributes inherited from QObject
typedef QObjectList
 
- Public Attributes inherited from QList< WaveData * >
typedef reverse_iterator
 
typedef const_reverse_iterator
 
typedef Iterator
 
typedef ConstIterator
 
typedef size_type
 
typedef value_type
 
typedef pointer
 
typedef const_pointer
 
typedef reference
 
typedef const_reference
 
typedef difference_type
 

Friends

class WaveDataGroup
 
class WaveDataBoolean
 
class WaveDataTrigger
 

Additional Inherited Members

- Static Public Member Functions inherited from QObject
QString tr (const char *sourceText, const char *disambiguation, int n)
 
QString trUtf8 (const char *sourceText, const char *disambiguation, int n)
 
QMetaObject::Connection connect (const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, Functor functor)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, const QObject *context, Functor functor, 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)
 
bool disconnect (const QMetaObject::Connection &connection)
 
bool disconnect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method)
 
- Static Public Member Functions inherited from QList< WaveData * >
QList< T > fromVector (const QVector< T > &vector)
 
QList< T > fromSet (const QSet< T > &set)
 
QList< T > fromStdList (const std::list< T > &list)
 
- Protected Member Functions inherited from QObject
QObjectsender () const const
 
int senderSignalIndex () const const
 
int receivers (const char *signal) const const
 
bool isSignalConnected (const QMetaMethod &signal) const const
 
virtual void timerEvent (QTimerEvent *event)
 
virtual void childEvent (QChildEvent *event)
 
virtual void customEvent (QEvent *event)
 
virtual void connectNotify (const QMetaMethod &signal)
 
virtual void disconnectNotify (const QMetaMethod &signal)
 
- Properties inherited from QObject
 objectName
 

Detailed Description

The list of all waveforms of a simulation, which also owns them and notifies the views about changes.

Definition at line 171 of file wave_data.h.

Constructor & Destructor Documentation

◆ WaveDataList()

hal::WaveDataList::WaveDataList ( const QString sdFilename,
QObject parent = nullptr 
)

Definition at line 1268 of file wave_data.cpp.

◆ ~WaveDataList()

hal::WaveDataList::~WaveDataList ( )

Definition at line 1273 of file wave_data.cpp.

References clearAll().

Member Function Documentation

◆ add()

◆ addOrReplace()

◆ addWavesToGroup()

◆ booleanAdded

void hal::WaveDataList::booleanAdded ( int  boolId)
signal

◆ clearAll()

◆ dump()

void hal::WaveDataList::dump ( ) const

◆ emitGroupUpdated()

void hal::WaveDataList::emitGroupUpdated ( int  grpId)

◆ emitTimeframeChanged()

void hal::WaveDataList::emitTimeframeChanged ( )

◆ emitWaveAdded()

void hal::WaveDataList::emitWaveAdded ( int  inx)

Definition at line 1372 of file wave_data.cpp.

References QObject::Q_EMIT(), and waveAdded().

Referenced by triggerAddToView().

◆ emitWaveRemovedFromGroup()

void hal::WaveDataList::emitWaveRemovedFromGroup ( int  iwave,
int  grpId 
)

Definition at line 1367 of file wave_data.cpp.

References QObject::Q_EMIT(), and waveRemovedFromGroup().

Referenced by hal::WaveDataGroup::remove_waveform().

◆ emitWaveUpdated()

void hal::WaveDataList::emitWaveUpdated ( int  inx)

◆ emptyTrash()

void hal::WaveDataList::emptyTrash ( )

Definition at line 1393 of file wave_data.cpp.

References QList::begin(), QList::end(), and QList::erase().

Referenced by clearAll(), and hal::WaveTreeView::reorder().

◆ groupAboutToBeRemoved

void hal::WaveDataList::groupAboutToBeRemoved ( hal::WaveDataGroup grp)
signal

◆ groupAdded

void hal::WaveDataList::groupAdded ( int  grpId)
signal

◆ groupRenamed

void hal::WaveDataList::groupRenamed ( int  grpId)
signal

◆ groupUpdated

void hal::WaveDataList::groupUpdated ( int  grpId)
signal

◆ hasNet()

bool hal::WaveDataList::hasNet ( u32  id) const
inline

Definition at line 229 of file wave_data.h.

Referenced by hal::WaveDataGroup::addNet().

◆ incrementSimulTime()

void hal::WaveDataList::incrementSimulTime ( u64  deltaT)

Definition at line 1295 of file wave_data.cpp.

Referenced by hal::NetlistSimulatorController::simulate(), and updateFromSaleae().

◆ insertBooleanValue()

void hal::WaveDataList::insertBooleanValue ( WaveData wd,
u64  t,
BooleanFunction::Value  bval 
)

◆ maxGroupId()

u32 hal::WaveDataList::maxGroupId ( ) const
inline

Definition at line 210 of file wave_data.h.

Referenced by hal::WaveFormPainted::generateBoolean().

◆ nextBooleanId()

u32 hal::WaveDataList::nextBooleanId ( )
inline

Definition at line 211 of file wave_data.h.

◆ nextGroupId()

u32 hal::WaveDataList::nextGroupId ( )
inline

Definition at line 209 of file wave_data.h.

◆ nextTriggerId()

u32 hal::WaveDataList::nextTriggerId ( )
inline

Definition at line 212 of file wave_data.h.

◆ remove()

◆ removeGroup()

◆ saleaeDirectory()

◆ setUserTimeframe()

◆ setValueForEmpty()

void hal::WaveDataList::setValueForEmpty ( int  val)

◆ timeFrame()

◆ timeframeChanged

void hal::WaveDataList::timeframeChanged ( const hal::WaveDataTimeframe tframe)
signal

◆ toSet()

QSet< u32 > hal::WaveDataList::toSet ( ) const

Definition at line 1725 of file wave_data.cpp.

References QMap::keys(), and QList::toSet().

Referenced by hal::NetlistSimulatorController::add_gates().

◆ triggerAdded

void hal::WaveDataList::triggerAdded ( int  trigId)
signal

◆ triggerAddToView()

void hal::WaveDataList::triggerAddToView ( u32  id) const

◆ triggerBeginResetModel

void hal::WaveDataList::triggerBeginResetModel ( )
signal

◆ triggerEndResetModel

void hal::WaveDataList::triggerEndResetModel ( )
signal

◆ updateClocks()

void hal::WaveDataList::updateClocks ( )

◆ updateFromSaleae()

◆ updateGroupName()

void hal::WaveDataList::updateGroupName ( u32  grpId,
const QString nam 
)

◆ updateWaveData()

void hal::WaveDataList::updateWaveData ( int  inx)

◆ updateWaveName()

◆ waveAdded

void hal::WaveDataList::waveAdded ( int  inx)
signal

◆ waveAddedToGroup

void hal::WaveDataList::waveAddedToGroup ( const QVector< u32 > &  netIds,
int  grpId 
)
signal

◆ waveDataAboutToBeChanged

void hal::WaveDataList::waveDataAboutToBeChanged ( int  inx)
signal

◆ waveDataById()

WaveData * hal::WaveDataList::waveDataById ( const int  id)

Definition at line 1673 of file wave_data.cpp.

References hal::WaveData::id(), and mDataBooleans.

Referenced by saleae_export().

◆ waveDataByName()

WaveData * hal::WaveDataList::waveDataByName ( const std::string &  nam) const

◆ waveDataByNet()

◆ waveIndexByNetId()

◆ waveRemoved

void hal::WaveDataList::waveRemoved ( int  inx)
signal

Referenced by clearAll(), and remove().

◆ waveRemovedFromGroup

void hal::WaveDataList::waveRemovedFromGroup ( int  iwave,
int  grpId 
)
signal

◆ waveRenamed

void hal::WaveDataList::waveRenamed ( int  iwave)
signal

◆ waveUpdated

void hal::WaveDataList::waveUpdated ( int  inx,
int  grpId 
)
signal

Friends And Related Function Documentation

◆ WaveDataBoolean

friend class WaveDataBoolean
friend

Definition at line 174 of file wave_data.h.

◆ WaveDataGroup

friend class WaveDataGroup
friend

Definition at line 173 of file wave_data.h.

◆ WaveDataTrigger

friend class WaveDataTrigger
friend

Definition at line 175 of file wave_data.h.

Member Data Documentation

◆ mDataBooleans

◆ mDataGroups

◆ mDataTrigger


The documentation for this class was generated from the following files: