Bug fixes to DBC attribute loading and message coloring. Message colors work now!

This commit is contained in:
Collin Kidder
2017-01-19 20:34:18 -05:00
parent 6af5cfadf4
commit 92ebb2d527
3 changed files with 18 additions and 11 deletions
+2 -1
View File
@@ -216,7 +216,8 @@ QVariant CANFrameModel::data(const QModelIndex &index, int role) const
return msg->bgColor;
}
}
return QApplication::palette().color(QPalette::Window);
//return QApplication::palette().color(QPalette::Button);
return QColor(Qt::white);
}
if (role == Qt::TextColorRole)
+9 -9
View File
@@ -597,13 +597,13 @@ void DBCFile::loadFile(QString fileName)
if (line.startsWith("BA_DEF_DEF_ ")) //definition of default value for an attribute
{
regex.setPattern("^BA\\_DEF\\_DEF\\_ \\\"*(\\w+)\\\"* \\\"*(\\w*)\\\"*");
regex.setPattern("^BA\\_DEF\\_DEF\\_ \\\"*(\\w+)\\\"* \\\"*([#\\w]*)\\\"*");
match = regex.match(line);
//captured 1 is the name of the attribute
//captured 2 is the default value for that attribute
if (match.hasMatch())
{
qDebug() << "Found an attribute default value line, searching for an attribute named " << match.captured(1);
qDebug() << "Found an attribute default value line, searching for an attribute named " << match.captured(1) << "with data " << match.captured(2);
DBC_ATTRIBUTE *found = findAttributeByName(match.captured(1));
if (found)
{
@@ -638,7 +638,7 @@ void DBCFile::loadFile(QString fileName)
//BA_ "GenMsgCycleTime" BO_ 101 100;
if (line.startsWith("BA_ ")) //set value of attribute
{
regex.setPattern("^BA\\_ \\\"*(\\w+)\\\"* BO\\_ (\\d+) \\\"*(\\w+)\\\"*");
regex.setPattern("^BA\\_ \\\"*(\\w+)\\\"* BO\\_ (\\d+) \\\"*([#\\w]+)\\\"*");
match = regex.match(line);
//captured 1 is the attribute name
//captured 2 is the message ID number (frame ID)
@@ -669,7 +669,7 @@ void DBCFile::loadFile(QString fileName)
}
}
regex.setPattern("^BA\\_ \\\"*(\\w+)\\\"* SG\\_ (\\d+) \\\"*(\\w+)\\\"* \\\"*(\\w+)\\\"*");
regex.setPattern("^BA\\_ \\\"*(\\w+)\\\"* SG\\_ (\\d+) \\\"*(\\w+)\\\"* \\\"*([#\\w]+)\\\"*");
match = regex.match(line);
//captured 1 is the attribute name
//captured 2 is the message ID number (frame ID)
@@ -703,7 +703,7 @@ void DBCFile::loadFile(QString fileName)
}
}
regex.setPattern("^BA\\_ \\\"*(\\w+)\\\"* BU\\_ \\\"*(\\w+)\\\"* \\\"*(\\w+)\\\"*");
regex.setPattern("^BA\\_ \\\"*(\\w+)\\\"* BU\\_ \\\"*(\\w+)\\\"* \\\"*([#\\w]+)\\\"*");
match = regex.match(line);
//captured 1 is the attribute name
//captured 2 is the name of the node
@@ -740,7 +740,7 @@ void DBCFile::loadFile(QString fileName)
if (!bgAttr)
{
attr.attrType = MESSAGE;
attr.defaultValue = QApplication::palette().color(QPalette::WindowText).name();
attr.defaultValue = QColor(Qt::white).name();
attr.enumVals.clear();
attr.lower = 0;
attr.upper = 0;
@@ -754,7 +754,7 @@ void DBCFile::loadFile(QString fileName)
if (!fgAttr)
{
attr.attrType = MESSAGE;
attr.defaultValue = QApplication::palette().color(QPalette::Window).name();
attr.defaultValue = QApplication::palette().color(QPalette::WindowText).name();
attr.enumVals.clear();
attr.lower = 0;
attr.upper = 0;
@@ -1220,7 +1220,7 @@ int DBCHandler::createBlankFile()
//add our custom attributes to the new file so that we know they're already there.
attr.attrType = MESSAGE;
attr.defaultValue = QApplication::palette().color(QPalette::WindowText).name();
attr.defaultValue = QColor(Qt::white).name();
attr.enumVals.clear();
attr.lower = 0;
attr.upper = 0;
@@ -1229,7 +1229,7 @@ int DBCHandler::createBlankFile()
newFile.dbc_attributes.append(attr);
attr.attrType = MESSAGE;
attr.defaultValue = QApplication::palette().color(QPalette::Window).name();
attr.defaultValue = QApplication::palette().color(QPalette::WindowText).name();
attr.enumVals.clear();
attr.lower = 0;
attr.upper = 0;
+7 -1
View File
@@ -490,6 +490,10 @@ void DBCMainEditor::refreshMessagesTable(const DBC_NODE *node)
QTableWidgetItem *msgName = new QTableWidgetItem(msg->name);
QTableWidgetItem *msgLen = new QTableWidgetItem(QString::number(msg->len));
QTableWidgetItem *msgSignals = new QTableWidgetItem(QString::number(msg->sigHandler->getCount()));
QTableWidgetItem *fgColor = new QTableWidgetItem("");
fgColor->setBackgroundColor(msg->fgColor);
QTableWidgetItem *bgColor = new QTableWidgetItem("");
bgColor->setBackgroundColor(msg->bgColor);
QTableWidgetItem *msgComment = new QTableWidgetItem(msg->comment);
rowIdx = ui->MessagesTable->rowCount();
@@ -498,7 +502,9 @@ void DBCMainEditor::refreshMessagesTable(const DBC_NODE *node)
ui->MessagesTable->setItem(rowIdx, 1, msgName);
ui->MessagesTable->setItem(rowIdx, 2, msgLen);
ui->MessagesTable->setItem(rowIdx, 3, msgSignals);
ui->MessagesTable->setItem(rowIdx, 4, msgComment);
ui->MessagesTable->setItem(rowIdx, 4, fgColor);
ui->MessagesTable->setItem(rowIdx, 5, bgColor);
ui->MessagesTable->setItem(rowIdx, 6, msgComment);
//note that there is a sending node field in the structure but we're
//not displaying it. It has to be the node we selected from the node list
//so no need to show that here.