Reinserts original comments
This commit is contained in:
112 files changed
+7113
-5131
No files matched your search
@@ -1,17 +1,17 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// **************************************************************************
|
||||
//
|
||||
// (C) Copyright 2009 Swiss SIMTEC AG
|
||||
//
|
||||
// **************************************************************************
|
||||
//
|
||||
// $HeadURL$
|
||||
// $LastChangedBy$
|
||||
// $LastChangedDate$
|
||||
// $LastChangedRevision$
|
||||
//
|
||||
// **************************************************************************
|
||||
|
||||
|
||||
// manual class headers
|
||||
#include "LogViewTableWidget.hpp"
|
||||
#include "LogViewField.hpp"
|
||||
#include <QtWidgets/QHeaderView>
|
||||
@@ -55,18 +55,18 @@ LogViewTableWidget::LogViewTableWidget(LogViewField* a_field, QWidget* a_parent,
|
||||
}
|
||||
setAlternatingRowColors(true);
|
||||
|
||||
|
||||
|
||||
// make pretty
|
||||
// horizontalHeader()->setResizeMode(2, QHeaderView::Stretch);
|
||||
|
||||
updateToolTip();
|
||||
|
||||
|
||||
// for debugging only
|
||||
// INFO_LOG(m_logger) << "type=" << static_cast<const LogViewXdrStandardType*>(a_field->getXdrElement())->getValueKind();
|
||||
// INFO_LOG(m_logger) << "name=" << static_cast<const LogViewXdrStandardType*>(a_field->getXdrElement())->getName().toStdString();
|
||||
// a_field->getXdrElement()->dump();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// fill in the values
|
||||
// fixme: implementiere den Fall isHasContent() false
|
||||
int nbrOfRows = a_field->valueListSize();
|
||||
setRowCount(nbrOfRows);
|
||||
for (int i = 0; i < nbrOfRows; i++)
|
||||
@@ -74,20 +74,20 @@ LogViewTableWidget::LogViewTableWidget(LogViewField* a_field, QWidget* a_parent,
|
||||
|
||||
makePretty();
|
||||
|
||||
|
||||
// connect signals
|
||||
connect(this, &LogViewTableWidget::itemChanged,
|
||||
this, &LogViewTableWidget::checkAndOvertakeContent);
|
||||
}
|
||||
|
||||
|
||||
|
||||
// ---------------------------------------------------------------
|
||||
void LogViewTableWidget::changeSize(const int a_newSize)
|
||||
{
|
||||
setRowCount(a_newSize);
|
||||
|
||||
disconnect(this, &LogViewTableWidget::itemChanged,
|
||||
this, &LogViewTableWidget::checkAndOvertakeContent);
|
||||
|
||||
// check and set the new fields
|
||||
for (int i = 0; i < a_newSize; i++)
|
||||
changeRow(i, QLatin1String("0"));
|
||||
|
||||
@@ -100,14 +100,14 @@ void LogViewTableWidget::changeSize(const int a_newSize)
|
||||
}
|
||||
|
||||
|
||||
|
||||
// ---------------------------------------------------------------
|
||||
void LogViewTableWidget::changeRow(const int a_rowIndex, const QString& a_value)
|
||||
{
|
||||
|
||||
// INFO_LOG(m_logger) << "a_rowIndex=" << a_rowIndex << " a_value=" << a_value.toStdString();
|
||||
|
||||
if (m_IsEnum)
|
||||
{
|
||||
|
||||
// enum
|
||||
QWidget* enumItem = cellWidget(a_rowIndex, 0);
|
||||
if (!enumItem)
|
||||
setCellWidget(a_rowIndex, 0, new LogViewEnumEdit(m_Field, this, m_Readonly, a_rowIndex));
|
||||
@@ -117,12 +117,12 @@ void LogViewTableWidget::changeRow(const int a_rowIndex, const QString& a_value)
|
||||
QFont font;
|
||||
font.setStyleHint(QFont::TypeWriter);
|
||||
font.setFamily(QString());
|
||||
|
||||
// decimal
|
||||
QTableWidgetItem* decItem = item(a_rowIndex, 0);
|
||||
if (!decItem)
|
||||
{
|
||||
decItem = new QTableWidgetItem();
|
||||
|
||||
//decItem->setData(Qt::DisplayRole, 0);
|
||||
decItem->setText(a_value);
|
||||
decItem->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
|
||||
if (!m_Readonly)
|
||||
@@ -134,7 +134,7 @@ void LogViewTableWidget::changeRow(const int a_rowIndex, const QString& a_value)
|
||||
setItem(a_rowIndex, 0, decItem);
|
||||
}
|
||||
|
||||
|
||||
// hexadecimal
|
||||
QTableWidgetItem* hexItem = item(a_rowIndex, 1);
|
||||
if (!hexItem)
|
||||
{
|
||||
@@ -145,7 +145,7 @@ void LogViewTableWidget::changeRow(const int a_rowIndex, const QString& a_value)
|
||||
setItem(a_rowIndex, 1, hexItem);
|
||||
}
|
||||
|
||||
|
||||
// binary
|
||||
if (!m_IsFloat)
|
||||
{
|
||||
QTableWidgetItem* binItem = item(a_rowIndex, 2);
|
||||
@@ -159,14 +159,14 @@ void LogViewTableWidget::changeRow(const int a_rowIndex, const QString& a_value)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// set the values
|
||||
checkAndOvertakeContent(decItem);
|
||||
makePretty();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
// ---------------------------------------------------------------
|
||||
void LogViewTableWidget::checkAndOvertakeContent(QTableWidgetItem* a_changedItem)
|
||||
{
|
||||
if (a_changedItem->column() != 0) return;
|
||||
@@ -179,30 +179,30 @@ void LogViewTableWidget::checkAndOvertakeContent(QTableWidgetItem* a_changedItem
|
||||
int64_t intValue = 0;
|
||||
double floatValue = 0.0;
|
||||
|
||||
|
||||
// get the calculated and checked value
|
||||
if (m_IsFloat)
|
||||
floatValue = getFloat(text, (uint64_t&)intValue, ok, true);
|
||||
else
|
||||
intValue = getInteger(text, ok);
|
||||
|
||||
|
||||
// handle errors
|
||||
if (!ok)
|
||||
{
|
||||
setFocus();
|
||||
|
||||
setCurrentCell(row, 0);
|
||||
// selectAll();
|
||||
setCurrentCell(row, 0); // todo: funktioniert nicht
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
// set the decimal value
|
||||
QTableWidgetItem* decField = item(row, 0);
|
||||
if (decField) decField->setText(QString::number(m_IsFloat ? floatValue : intValue));
|
||||
|
||||
|
||||
// set the hex value
|
||||
QTableWidgetItem* hexField = item(row, 1);
|
||||
if (hexField) hexField->setText(toHex(intValue));
|
||||
|
||||
|
||||
// set the binary value
|
||||
if (!m_IsFloat)
|
||||
{
|
||||
QTableWidgetItem* binField = item(row, 2);
|
||||
@@ -211,33 +211,33 @@ void LogViewTableWidget::checkAndOvertakeContent(QTableWidgetItem* a_changedItem
|
||||
}
|
||||
|
||||
|
||||
|
||||
// ---------------------------------------------------------------
|
||||
void LogViewTableWidget::makePretty()
|
||||
{
|
||||
|
||||
//horizontalHeader()->setResizeMode(2, QHeaderView::Stretch);
|
||||
resizeColumnsToContents();
|
||||
resizeRowsToContents();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// set the height of table-widget
|
||||
//// QWidget* cellWdg = tableWidget->cellWidget(0, 0);
|
||||
// int showRows = 7;
|
||||
// if (m_Field->getValueListSize() < (showRows-1))
|
||||
// {
|
||||
// showRows = m_Field->getValueListSize()+1;
|
||||
// setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded);
|
||||
// }
|
||||
// setFixedHeight(showRows*tableWidget->rowHeight(0));
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// ---------------------------------------------------------------
|
||||
// Writes the content into telegram.
|
||||
// Returns true if successful.
|
||||
// ---------------------------------------------------------------
|
||||
bool LogViewTableWidget::saveContent(LogViewTelegram* a_telegram)
|
||||
{
|
||||
if (!isValid())
|
||||
@@ -271,14 +271,14 @@ bool LogViewTableWidget::saveContent(LogViewTelegram* a_telegram)
|
||||
{
|
||||
arraySize = rowCount();
|
||||
a_telegram->setUIntX(LogViewTelegram::SIZE_CENTRAL_DYN_ARRAY_SIZE, arraySize);
|
||||
|
||||
// fixme: bei vielen Telegrammen muss Länge auf die Länge des Textes gesetzt werden. Dies kann nicht automatisch gemacht werden. Aber vielleicht kann man schauen, ob vor dem dyn. Array ein Feld Länge vorkommt, oder hartcodieren, oder konfigurierbaren
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
// todo: teste mit opaque[]
|
||||
arraySize = m_Field->maxArraySize();
|
||||
}
|
||||
|
||||
// copy the data
|
||||
INFO_LOG(m_logger) << "arraySize=" << arraySize;
|
||||
for (int i = 0; i < arraySize; i++)
|
||||
{
|
||||
@@ -309,4 +309,4 @@ bool LogViewTableWidget::saveContent(LogViewTelegram* a_telegram)
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
||||
} // namespace N_LogView
|
||||
Reference in new issue
Block a user