7 #include <QDialogButtonBox>
12 #include <QHeaderView>
44 return mWaveModel->mEditData;
49 QPixmap* WaveDeleteDelegate::sXdelete =
nullptr;
65 QRect rPlace(option.rect.x(),option.rect.y(),option.rect.height()/2,option.rect.height()/2);
74 return piXdelete()->
size();
77 void WaveDeleteDelegate::deleteClicked()
83 QPixmap* WaveDeleteDelegate::piXdelete()
85 if (!sXdelete) sXdelete =
new QPixmap(
":/icons/x_delete",
"PNG");
93 uint64_t wsize = mWaveDataInput->
fileSize();
100 mEditData = mWaveDataInput->
data();
101 truncateData(tCursor);
106 if (mWaveDataInput->
data().
size() < (
int) wsize)
108 mEditData = mWaveDataInput->
data();
109 truncateData(tCursor);
126 void WaveEditTable::truncateData(
double tCursor)
129 if (mEditData.
size() <= n)
return;
131 for (
int i=0; i<n/2; i++)
132 if (it != mEditData.
begin())
134 for (
auto itDel = mEditData.
begin(); itDel != it; itDel = mEditData.
erase(itDel)) {;}
135 for (
int i=0; i<n; i++)
136 if (it != mEditData.
end())
138 for (
auto itDel = it; itDel != mEditData.
end(); itDel = mEditData.
erase(itDel)) {;}
144 return mEditData.
size() + 1;
163 case 1:
return mWaveDataInput->
strValue(it);
171 void WaveEditTable::recalcTransitions()
174 for (
auto it = mEditData.
begin(); it != mEditData.
end(); ++it)
176 if (it == mEditData.
begin())
190 int iValue = value.
toInt(&numberOk);
191 if (!numberOk || iValue < 0)
return false;
199 mEditData.
insert(0,iValue);
201 *(mEditData.
begin()) = iValue;
211 mEditData[iValue] = 0;
224 case 0:
return "Time [µs]";
225 case 1:
return "New Value";
232 if (mWaveDataInput->
bits() > 1)
252 auto it = mEditData.
begin() + irow;
static SimulationSettings * sSimulationSettings
uint64_t mCount
Number of elements in buffer.
uint64_t * mTimeArray
Buffer for mCount transition time values.
int * mValueArray
Buffer for mCount data values.
int maxSizeEditor() const
bool loadSaleae(const WaveDataTimeframe &tframe=WaveDataTimeframe())
const QMap< u64, int > & data() const
std::string fileName() const
QString strValue(int val) const
QSize sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const override
void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const override
QWidget * createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const override
const QMap< u64, int > & dataMap() const
WaveEditDialog(WaveData *wd, double tCursor, QWidget *parent=nullptr)
WaveEditTable(WaveData *wd, double tCursor, QObject *parent=nullptr)
int columnCount(const QModelIndex &parent=QModelIndex()) const override
int rowCount(const QModelIndex &parent=QModelIndex()) const override
QVariant headerData(int section, Qt::Orientation orientation, int role=Qt::DisplayRole) const override
Qt::ItemFlags flags(const QModelIndex &index) const override
QVariant data(const QModelIndex &index, int role=Qt::DisplayRole) const override
bool setData(const QModelIndex &index, const QVariant &value, int role=Qt::EditRole) override
void setItemDelegateForColumn(int column, QAbstractItemDelegate *delegate)
virtual QModelIndex index(int row, int column, const QModelIndex &parent) const const override
QMap::const_iterator constBegin() const const
QMap::const_iterator constEnd() const const
QMap::iterator erase(QMap::iterator pos)
QMap::iterator insert(const Key &key, const T &value)
bool isEmpty() const const
QMap::iterator upperBound(const Key &key)
QMetaObject::Connection connect(const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type)
QObject * parent() const const
QObject * sender() const const
void drawPixmap(const QRectF &target, const QPixmap &pixmap, const QRectF &source)
void setColumnWidth(int column, int width)
virtual void setModel(QAbstractItemModel *model) override
QVariant fromValue(const T &value)
int toInt(bool *ok) const const