@@ -191,6 +191,7 @@ void OutputListModel::updateData(const QModbusDataUnit& data)
191191 _lastData = data;
192192
193193 const auto mode = _parentWidget->dataDisplayMode ();
194+ const auto leadingZeros = _parentWidget->_displayDefinition .LeadingZeros ;
194195 const auto pointType = _parentWidget->_displayDefinition .PointType ;
195196 const auto byteOrder = *_parentWidget->byteOrder ();
196197 const auto codepage = _parentWidget->codepage ();
@@ -209,7 +210,7 @@ void OutputListModel::updateData(const QModbusDataUnit& data)
209210 break ;
210211
211212 case DataDisplayMode::UInt16:
212- itemData.ValueStr = formatUInt16Value (pointType, value, byteOrder, itemData.Value );
213+ itemData.ValueStr = formatUInt16Value (pointType, value, byteOrder, leadingZeros, itemData.Value );
213214 break ;
214215
215216 case DataDisplayMode::Int16:
@@ -255,12 +256,12 @@ void OutputListModel::updateData(const QModbusDataUnit& data)
255256 break ;
256257
257258 case DataDisplayMode::UInt32:
258- itemData.ValueStr = formatUInt32Value (pointType, value, _lastData.value (i+1 ), byteOrder,
259+ itemData.ValueStr = formatUInt32Value (pointType, value, _lastData.value (i+1 ), byteOrder, leadingZeros,
259260 (i%2 ) || (i+1 >=rowCount ()), itemData.Value );
260261 break ;
261262
262263 case DataDisplayMode::SwappedUInt32:
263- itemData.ValueStr = formatUInt32Value (pointType, _lastData.value (i+1 ), value, byteOrder,
264+ itemData.ValueStr = formatUInt32Value (pointType, _lastData.value (i+1 ), value, byteOrder, leadingZeros,
264265 (i%2 ) || (i+1 >=rowCount ()), itemData.Value );
265266 break ;
266267
@@ -276,12 +277,12 @@ void OutputListModel::updateData(const QModbusDataUnit& data)
276277
277278 case DataDisplayMode::UInt64:
278279 itemData.ValueStr = formatUInt64Value (pointType, value, _lastData.value (i+1 ), _lastData.value (i+2 ), _lastData.value (i+3 ),
279- byteOrder, (i%4 ) || (i+3 >=rowCount ()), itemData.Value );
280+ byteOrder, leadingZeros, (i%4 ) || (i+3 >=rowCount ()), itemData.Value );
280281 break ;
281282
282283 case DataDisplayMode::SwappedUInt64:
283284 itemData.ValueStr = formatUInt64Value (pointType, _lastData.value (i+3 ), _lastData.value (i+2 ), _lastData.value (i+1 ), value,
284- byteOrder, (i%4 ) || (i+3 >=rowCount ()), itemData.Value );
285+ byteOrder, leadingZeros, (i%4 ) || (i+3 >=rowCount ()), itemData.Value );
285286 break ;
286287 }
287288 }
@@ -391,6 +392,8 @@ void OutputWidget::setup(const DisplayDefinition& dd, const ModbusSimulationMap2
391392 setLogViewLimit (dd.LogViewLimit );
392393 setAutosctollLogView (dd.AutoscrollLog );
393394 setDataViewColumnsDistance (dd.DataViewColumnsDistance );
395+ ui->logView ->setShowLeadingZeros (dd.LeadingZeros );
396+ ui->modbusMsg ->setShowLeadingZeros (dd.LeadingZeros );
394397
395398 _listModel->clear ();
396399
@@ -958,7 +961,7 @@ void OutputWidget::updateLogView(QSharedPointer<const ModbusMessage> msg)
958961 (msg->isRequest ()? " Tx" : " Rx" ),
959962 msg->timestamp ().toString (Qt::ISODateWithMs),
960963 (msg->isRequest ()? " <<" : " >>" ),
961- msg->toString (DataDisplayMode::Hex));
964+ msg->toString (DataDisplayMode::Hex, _displayDefinition. LeadingZeros ));
962965 captureString (str);
963966 }
964967}
0 commit comments