6 #include <QGraphicsScene>
19 :
QObject(parent), mData(dat), mLoader(nullptr), mLoadProgress(0), mState(Null),
20 mVisibleRange(false), mLoop(false),
21 mYposition(-1), mRequest(0), mMinTime(0),
22 mMaxTime(1000), mMaxTransition(0),
23 mVisibile(true), mSelected(false)
35 if (mYposition == pos)
return;
48 if (mVisibile==vis)
return;
55 if (mSelected==sel)
return;
75 if (tmin == mMinTime && tmax == mMaxTime)
return false;
129 qDebug() << mData->
fileIndex() <<
"*** warning *** : loader already running";
138 if (mState == stat)
return;
162 xout << mData->
id() << mData->
name() << mState << mData->
data().
size() <<
"\n";
243 qDebug() << mData->
fileIndex() <<
"invalid state when terminating thread" << mState << hex << (quintptr) mLoader << dec;
263 return (mRequest & mask) != 0;
274 int mask = ~(1 << rq);
286 return mType == other.mType && mIndex == other.mIndex && mParentId == other.mParentId;
300 if (wii.isWire()) ids.
insert(wii.index());
324 mTrashCan.append(wi);
329 auto it = mTrashCan.begin();
330 while (it != mTrashCan.end())
338 it = mTrashCan.erase(it);
static const int sReadError
Fake data value to indicate all kind of errors.
virtual void recalcData()
bool loadSaleae(const WaveDataTimeframe &tframe=WaveDataTimeframe())
virtual int intValue(double t) const
virtual LoadPolicy loadPolicy() const
void loadDataUnlessAlreadyLoaded()
const QMap< u64, int > & data() const
void setWaveType(WaveData::NetType type, int bts=1, int base=16)
int importedWires() const
void dump(const char *stub)
void dispose(WaveItem *wi)
WaveItem * addOrReplace(WaveData *wd, WaveItemIndex::IndexType tp, int iwave, int parentId)
void handleWaveLoaderFinished()
bool hasRequest(Request rq) const
void setState(State stat)
void setWaveData(WaveData *wd)
int cursorValue(double tCursor, int xpos)
void startLoader(const QString &workdir, const WaveTransform *trans, const WaveScrollbar *sbar, const WaveDataTimeframe &tframe)
void setWaveVisible(bool vis)
void setRequest(Request rq)
WaveItem(WaveData *dat, QObject *parent=nullptr)
void startGeneratePainted(const QString &workdir, const WaveTransform *trans, const WaveScrollbar *sbar, const WaveDataTimeframe &tframe)
void dump(QTextStream &xout) const
void setYposition(int pos)
WaveZoomShift mLoadValidity
void incrementLoadProgress()
static const char * sBackgroundColor
void clearRequest(Request rq)
void setWaveSelected(bool sel)
bool operator==(const WaveItemIndex &other) const
uint qHash(const LaneIndex &ri)
QHash::iterator insert(const Key &key, const T &value)
QList< Key > keys() const const
const T value(const Key &key) const const
bool isEmpty() const const
QMetaObject::Connection connect(const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type)
QSet::iterator insert(const T &value)
void start(QThread::Priority priority)