diff --git a/canframemodel.cpp b/canframemodel.cpp index f497e59..5d24df6 100644 --- a/canframemodel.cpp +++ b/canframemodel.cpp @@ -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) diff --git a/dbc/dbchandler.cpp b/dbc/dbchandler.cpp index 66722fa..ce5dfca 100644 --- a/dbc/dbchandler.cpp +++ b/dbc/dbchandler.cpp @@ -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; diff --git a/dbc/dbcmaineditor.cpp b/dbc/dbcmaineditor.cpp index 954c645..f610f7a 100644 --- a/dbc/dbcmaineditor.cpp +++ b/dbc/dbcmaineditor.cpp @@ -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.