From fc6dc4ea55644b2c5e42c85e985ab9b96e6eab56 Mon Sep 17 00:00:00 2001 From: Collin Kidder Date: Sun, 19 Jul 2020 20:29:14 -0400 Subject: [PATCH] Vast reworking of DBC editing system. Currently not functional but the overall graphical layout is more or less complete. --- README.md | 15 + SavvyCAN.pro | 7 +- dbc/dbcmaineditor.cpp | 450 +++++-------------- dbc/dbcmaineditor.h | 25 +- dbc/dbcmessageeditor.cpp | 185 ++++++++ dbc/dbcmessageeditor.h | 38 ++ dbc/dbcsignaleditor.cpp | 142 +----- dbc/dbcsignaleditor.h | 9 +- icons.qrc | 9 + images/message.png | Bin 0 -> 7543 bytes images/message_new.png | Bin 0 -> 8088 bytes images/multiplexed-signal.png | Bin 0 -> 8626 bytes images/multiplexor-signal.png | Bin 0 -> 9142 bytes images/node.png | Bin 0 -> 8145 bytes images/node_new.png | Bin 0 -> 9203 bytes images/signal.png | Bin 0 -> 9451 bytes images/signal_new.png | Bin 0 -> 10643 bytes images/skull.png | Bin 0 -> 10140 bytes images/sourceImages/noun_Death_3194193.png | Bin 0 -> 22807 bytes images/sourceImages/noun_Death_3194193.xcf | Bin 0 -> 4578 bytes images/sourceImages/noun_message_1977390.png | Bin 0 -> 17503 bytes images/sourceImages/noun_message_1977390.xcf | Bin 0 -> 3554 bytes images/sourceImages/noun_nodes_2397529.png | Bin 0 -> 19083 bytes images/sourceImages/noun_nodes_2397529.xcf | Bin 0 -> 4359 bytes images/sourceImages/noun_signal_1402315.png | Bin 0 -> 20260 bytes images/sourceImages/noun_signal_1402315.xcf | Bin 0 -> 4610 bytes images/sourceImages/noun_signal_1716563.png | Bin 0 -> 23003 bytes images/sourceImages/noun_signal_1716563.xcf | Bin 0 -> 4675 bytes images/sourceImages/noun_signal_1771815.png | Bin 0 -> 16934 bytes images/sourceImages/noun_signal_1771815.xcf | Bin 0 -> 4248 bytes ui/dbcmaineditor.ui | 96 +++- ui/dbcsignaleditor.ui | 10 +- 32 files changed, 462 insertions(+), 524 deletions(-) create mode 100644 dbc/dbcmessageeditor.cpp create mode 100644 dbc/dbcmessageeditor.h create mode 100644 images/message.png create mode 100644 images/message_new.png create mode 100644 images/multiplexed-signal.png create mode 100644 images/multiplexor-signal.png create mode 100644 images/node.png create mode 100644 images/node_new.png create mode 100644 images/signal.png create mode 100644 images/signal_new.png create mode 100644 images/skull.png create mode 100644 images/sourceImages/noun_Death_3194193.png create mode 100644 images/sourceImages/noun_Death_3194193.xcf create mode 100644 images/sourceImages/noun_message_1977390.png create mode 100644 images/sourceImages/noun_message_1977390.xcf create mode 100644 images/sourceImages/noun_nodes_2397529.png create mode 100644 images/sourceImages/noun_nodes_2397529.xcf create mode 100644 images/sourceImages/noun_signal_1402315.png create mode 100644 images/sourceImages/noun_signal_1402315.xcf create mode 100644 images/sourceImages/noun_signal_1716563.png create mode 100644 images/sourceImages/noun_signal_1716563.xcf create mode 100644 images/sourceImages/noun_signal_1771815.png create mode 100644 images/sourceImages/noun_signal_1771815.xcf diff --git a/README.md b/README.md index 9040884..4566633 100644 --- a/README.md +++ b/README.md @@ -97,3 +97,18 @@ when you installed Qt. ### What to do if `qmake` fails with error `Project ERROR: Unknown module(s) in QT: qml serialbus help` on Ubuntu? : `sudo apt install libqt5serialbus5-dev qtdeclarative5-dev qttools5-dev` + +### Used Items Requiring Attribution + +nodes by Adrien Coquet from the Noun Project + +message by Vectorstall from the Noun Project + +signal by shashank singh from the Noun Project + +signal by juli from the Noun Project + +signal by yudi from the Noun Project + +Death by Adrien Coquet from the Noun Project + diff --git a/SavvyCAN.pro b/SavvyCAN.pro index 605b90b..33c8cb6 100644 --- a/SavvyCAN.pro +++ b/SavvyCAN.pro @@ -15,7 +15,7 @@ DEFINES += QCUSTOMPLOT_USE_OPENGL TARGET = SavvyCAN TEMPLATE = app -SOURCES += main.cpp\ +SOURCES += main.cpp\ mainwindow.cpp \ canframemodel.cpp \ utility.cpp \ @@ -39,6 +39,7 @@ SOURCES += main.cpp\ re/sniffer/snifferitem.cpp \ re/sniffer/sniffermodel.cpp \ re/sniffer/snifferwindow.cpp \ + dbc/dbcmessageeditor.cpp \ dbc/dbc_classes.cpp \ dbc/dbchandler.cpp \ dbc/dbcloadsavewindow.cpp \ @@ -73,7 +74,7 @@ SOURCES += main.cpp\ HEADERS += mainwindow.h \ can_structs.h \ - canframemodel.h \ + canframemodel.h \ utility.h \ qcustomplot.h \ frameplaybackwindow.h \ @@ -103,6 +104,7 @@ HEADERS += mainwindow.h \ dbc/dbcloadsavewindow.h \ dbc/dbcmaineditor.h \ dbc/dbcsignaleditor.h \ + dbc/dbcmessageeditor.h \ re/discretestatewindow.h \ re/filecomparatorwindow.h \ re/flowviewwindow.h \ @@ -132,6 +134,7 @@ HEADERS += mainwindow.h \ filterutility.h FORMS += ui/candatagrid.ui \ + ui/dbcmessageeditor.ui \ ui/connectionwindow.ui \ ui/dbcloadsavewindow.ui \ ui/dbcmaineditor.ui \ diff --git a/dbc/dbcmaineditor.cpp b/dbc/dbcmaineditor.cpp index f7e3386..f4a851d 100644 --- a/dbc/dbcmaineditor.cpp +++ b/dbc/dbcmaineditor.cpp @@ -20,41 +20,30 @@ DBCMainEditor::DBCMainEditor( const QVector *frames, QWidget *parent) dbcHandler = DBCHandler::getReference(); referenceFrames = frames; - QStringList headers; - headers << "Node Name" << "Comment"; - ui->NodesTable->setColumnCount(2); - ui->NodesTable->setColumnWidth(0, 240); - ui->NodesTable->setColumnWidth(1, 700); - ui->NodesTable->setHorizontalHeaderLabels(headers); - ui->NodesTable->horizontalHeader()->setStretchLastSection(true); - - QStringList headers2; - headers2 << "Msg ID" << "Msg Name" << "Data Len" << "Signals" << "Fg" << "Bg" << "Comment"; - ui->MessagesTable->setColumnCount(headers2.count()); - ui->MessagesTable->setColumnWidth(0, 80); - ui->MessagesTable->setColumnWidth(1, 200); - ui->MessagesTable->setColumnWidth(2, 80); - ui->MessagesTable->setColumnWidth(3, 80); - ui->MessagesTable->setColumnWidth(4, 40); - ui->MessagesTable->setColumnWidth(5, 40); - ui->MessagesTable->setColumnWidth(6, 300); - ui->MessagesTable->setHorizontalHeaderLabels(headers2); - ui->MessagesTable->horizontalHeader()->setStretchLastSection(true); - - connect(ui->NodesTable, SIGNAL(cellChanged(int,int)), this, SLOT(onCellChangedNode(int,int))); - connect(ui->NodesTable, SIGNAL(cellClicked(int,int)), this, SLOT(onCellClickedNode(int,int))); - connect(ui->NodesTable, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(onCustomMenuNode(QPoint))); - ui->NodesTable->setContextMenuPolicy(Qt::CustomContextMenu); - - connect(ui->MessagesTable, SIGNAL(cellChanged(int,int)), this, SLOT(onCellChangedMessage(int,int))); - connect(ui->MessagesTable, SIGNAL(cellClicked(int,int)), this, SLOT(onCellClickedMessage(int,int))); - connect(ui->MessagesTable, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(onCustomMenuMessage(QPoint))); - ui->MessagesTable->setContextMenuPolicy(Qt::CustomContextMenu); - connect(ui->btnSearch, &QAbstractButton::clicked, this, &DBCMainEditor::handleSearch); connect(ui->lineSearch, &QLineEdit::returnPressed, this, &DBCMainEditor::handleSearch); + connect(ui->treeDBC, &QTreeWidget::doubleClicked, this, &DBCMainEditor::onTreeDoubleClicked); sigEditor = new DBCSignalEditor(this); + msgEditor = new DBCMessageEditor(this); + + nodeIcon = QIcon(":/icons/images/node.png"); + messageIcon = QIcon(":/icons/images/message.png"); + signalIcon = QIcon(":/icons/images/signal.png"); + multiplexedSignalIcon = QIcon(":/icons/images/multiplexed-signal.png"); + multiplexorSignalIcon = QIcon(":/icons/images/multiplexor-signal.png"); + + //ui->btnDelete->setFixedSize(32,32); + ui->btnDelete->setIconSize(QSize(32, 32)); + + //ui->btnNewNode->setFixedSize(32,32); + ui->btnNewNode->setIconSize(QSize(32, 32)); + + //ui->btnNewMessage->setFixedSize(32,32); + ui->btnNewMessage->setIconSize(QSize(32, 32)); + + //ui->btnNewSignal->setFixedSize(32,32); + ui->btnNewSignal->setIconSize(QSize(32, 32)); installEventFilter(this); } @@ -63,13 +52,7 @@ void DBCMainEditor::showEvent(QShowEvent* event) { QDialog::showEvent(event); - inhibitCellChanged = true; - refreshNodesTable(); - if (dbcFile->dbc_nodes.count() > 0) - refreshMessagesTable(&dbcFile->dbc_nodes.at(0)); - - currRow = 0; - inhibitCellChanged = false; + refreshTree(); } DBCMainEditor::~DBCMainEditor() @@ -132,30 +115,20 @@ void DBCMainEditor::writeSettings() } } -void DBCMainEditor::onCustomMenuNode(QPoint point) -{ - QMenu *menu = new QMenu(this); - menu->setAttribute(Qt::WA_DeleteOnClose); - - menu->addAction(tr("Delete currently selected node"), this, SLOT(deleteCurrentNode())); - - menu->popup(ui->NodesTable->mapToGlobal(point)); - -} - -void DBCMainEditor::onCustomMenuMessage(QPoint point) +void DBCMainEditor::onCustomMenuTree(QPoint point) { QMenu *menu = new QMenu(this); menu->setAttribute(Qt::WA_DeleteOnClose); menu->addAction(tr("Delete currently selected message"), this, SLOT(deleteCurrentMessage())); - menu->popup(ui->MessagesTable->mapToGlobal(point)); + //menu->popup(ui->MessagesTable->mapToGlobal(point)); } -void DBCMainEditor::deleteCurrentNode() +void DBCMainEditor::deleteCurrentTreeItem() { + /* int thisRow = ui->NodesTable->currentRow(); QTableWidgetItem* thisItem = ui->NodesTable->item(thisRow, 0); if (!thisItem) return; @@ -168,11 +141,12 @@ void DBCMainEditor::deleteCurrentNode() refreshMessagesTable(&dbcFile->dbc_nodes[0]); ui->NodesTable->selectRow(0); inhibitCellChanged = false; - } + } */ } -void DBCMainEditor::deleteCurrentMessage() -{ +//void DBCMainEditor::deleteCurrentMessage() +//{ + /* int thisRow = ui->MessagesTable->currentRow(); QTableWidgetItem* thisItem = ui->MessagesTable->item(thisRow, 0); if (!thisItem) return; @@ -181,10 +155,12 @@ void DBCMainEditor::deleteCurrentMessage() ui->MessagesTable->removeRow(thisRow); dbcFile->messageHandler->removeMessageByIndex(thisRow); } -} + */ +//} void DBCMainEditor::handleSearch() { + /* uint32_t msgId = Utility::ParseStringToNum(ui->lineSearch->text()); if (ui->radioID->isChecked()) { @@ -255,228 +231,50 @@ void DBCMainEditor::handleSearch() } } } - } + } */ } -void DBCMainEditor::onCellChangedNode(int row,int col) +//Double clicking is interpreted as a desire to edit the given item. +void DBCMainEditor::onTreeDoubleClicked(const QModelIndex &index) { - if (inhibitCellChanged) return; - if (row == ui->NodesTable->rowCount() - 1) - { - //if this was the last row then it's new and we need to both - //create another potentially new record underneath and also - //add a node entry in the nodes list and store the record - //That is, so long as the node name was filled out - if (col == 0) - { - DBC_NODE newNode; - QString newName = ui->NodesTable->item(row, col)->text().simplified().replace(' ', '_'); - qDebug() << "new name: " << newName; - if (newName.length() == 0) return; - if (dbcFile->findNodeByName(newName) != nullptr) //duplicates an existing node! - { - QMessageBox msg; - msg.setParent(nullptr); - msg.setText("An existing node with that name already exists! Aborting!"); - msg.exec(); - return; - } - newNode.name = newName; - dbcFile->dbc_nodes.append(newNode); - qDebug() << "# of nodes now " << dbcFile->dbc_nodes.count(); - QTableWidgetItem *widgetName = new QTableWidgetItem(newName); - inhibitCellChanged = true; - ui->NodesTable->setItem(row, col, widgetName); - ui->NodesTable->insertRow(ui->NodesTable->rowCount()); - inhibitCellChanged = false; - } - } - else - { - if (col == 0) - { - DBC_NODE *oldNode = dbcFile->findNodeByIdx(row); - QString nodeName = ui->NodesTable->item(row, col)->text().simplified().replace(' ', '_'); - if (oldNode == nullptr) return; - if (row != 0) oldNode->name = nodeName; - else nodeName = oldNode->name; - inhibitCellChanged = true; - QTableWidgetItem *widgetName = new QTableWidgetItem(nodeName); - ui->NodesTable->setItem(row, col, widgetName); - inhibitCellChanged = false; - } - if (col == 1) //must have been col 1 then - { - QString nodeName = ui->NodesTable->item(row, 0)->text().simplified().replace(' ', '_'); - qDebug() << "searching for node " << nodeName; - DBC_NODE *thisNode = dbcFile->findNodeByName(nodeName); - if (thisNode == nullptr) return; - thisNode->comment = ui->NodesTable->item(row, col)->text().simplified(); - qDebug() << "New comment: " << thisNode->comment; - } - } - ui->NodesTable->setCurrentCell(row, col); -} + Q_UNUSED(index) -void DBCMainEditor::onCellChangedMessage(int row,int col) -{ - QTableWidgetItem* item = nullptr; - bool ret = false; - DBC_MESSAGE *msg = nullptr; - uint msgID; - - if (inhibitCellChanged) return; - - DBC_NODE *node = dbcFile->findNodeByIdx(ui->NodesTable->currentRow()); - if (node == nullptr) - { - qDebug() << "No node set?!? This is bad!"; - return; - } - - item = ui->MessagesTable->item(row, 0); - if(!item) return; - - msgID = Utility::ParseStringToNum2(item->text(), &ret); - msg = dbcFile->messageHandler->findMsgByID(msgID); - - switch(col) - { - case 0: //msg id - { - /* sanity checks */ - if(!ret) - { - /* bad message id */ - ui->MessagesTable->item(row, 0)->setText(""); - return; - } - if (msg != nullptr) - { - QMessageBox msg; - msg.setParent(nullptr); - msg.setText("An existing msg with that ID already exists! Aborting!"); - msg.exec(); - - ui->MessagesTable->item(row, 0)->setText(""); - return; - } - - /* insert row */ - DBC_MESSAGE newMsg; - newMsg.ID = msgID; - newMsg.name = ""; - newMsg.sender = node; - newMsg.len = 0; - newMsg.fgColor = QColor(dbcFile->findAttributeByName("GenMsgForegroundColor")->defaultValue.toString()); - newMsg.bgColor = QColor(dbcFile->findAttributeByName("GenMsgBackgroundColor")->defaultValue.toString()); - - for (int i = 0; i < referenceFrames->length(); i++) - { - if ((uint) referenceFrames->at(i).frameId() == msgID) - { - newMsg.len = static_cast(referenceFrames->at(i).payload().length()); - break; - } - } - dbcFile->messageHandler->addMessage(newMsg); - - /* insert message in table */ - inhibitCellChanged = true; - - item = ui->MessagesTable->item(row, 0); - item->setFlags(item->flags() & ~Qt::ItemIsEditable); - item->setText(Utility::formatCANID(msgID)); - - for(int i=1 ; i < ui->MessagesTable->columnCount(); i++) - { - item = ui->MessagesTable->item(row, i); - item->setFlags(item->flags() | Qt::ItemIsEditable); - } - - /* set length */ - item = ui->MessagesTable->item(row, 2); - item->setText(QString::number(newMsg.len)); - - inhibitCellChanged = false; - - /* insert a new row */ - insertBlankRow(); - break; - } - case 1: //msg name - { - QString msgName = ui->MessagesTable->item(row, 1)->text().simplified().replace(' ', '_'); - if (msgName.length() == 0) return; - if( ret && (msg!=nullptr) ) - msg->name = msgName; - break; - } - case 2: //data length - { - bool parseOk = false; - uint msgLen = ui->MessagesTable->item(row, col)->text().toUInt(&parseOk); - - /* sanity checks */ - if(!parseOk) - { - ui->MessagesTable->item(row, col)->setText(""); - return; - } - if (msgLen > 8) - { - msgLen = 8; - ui->MessagesTable->item(row, col)->setText(QString::number(msgLen)); - } - - if( ret && (msg!=nullptr) ) - msg->len = msgLen; - break; - } - case 3: //signals (number) - we don't handle anything here. User cannot directly change this value - break; - case 6: //comment - { - QString msgComment = ui->MessagesTable->item(row, col)->text().simplified(); - if( ret && (msgComment!=nullptr) ) - msg->comment = msgComment; - break; - } - } - - ui->MessagesTable->setCurrentCell(row, col); -} - -void DBCMainEditor::onCellClickedNode(int row, int col) -{ - //reload messages list if the currently selected row has changed. - qDebug() << "Clicked at row " << row << " col " << col; - if (row != currRow) - { - currRow = row; - QTableWidgetItem *item = ui->NodesTable->item(currRow, 0); - QString nodeName; - if (item == nullptr) return; - - nodeName = item->text(); - qDebug() << "Trying to find node with name " << nodeName; - DBC_NODE *node = dbcFile->findNodeByName(nodeName); - //qDebug() << "Address of node: " << (int)node; - inhibitCellChanged = true; - refreshMessagesTable(node); - inhibitCellChanged = false; - } -} - -void DBCMainEditor::onCellClickedMessage(int row, int col) -{ - QTableWidgetItem* thisItem = ui->MessagesTable->item(row, col); - QTableWidgetItem* firstCol = ui->MessagesTable->item(row, 0); + QTreeWidgetItem* firstCol = ui->treeDBC->currentItem(); bool ret = false; DBC_MESSAGE *msg; + DBC_SIGNAL *sig; uint32_t msgID; + QString idString; - if (col == 3) //3 is the signals field. If clicked we go to the signals dialog + qDebug() << firstCol->data(0, Qt::UserRole) << " - " << firstCol->text(0); + + switch (firstCol->data(0, Qt::UserRole).toInt()) + { + case 1: //a node + break; + case 2: //a message + idString = firstCol->text(0).split(" ")[0]; + msgID = static_cast(Utility::ParseStringToNum(idString)); + msg = dbcFile->messageHandler->findMsgByID(msgID); + msgEditor->setMessageRef(msg); + msgEditor->setFileIdx(fileIdx); + msgEditor->setWindowModality(Qt::WindowModal); + msgEditor->exec(); //blocks this window from being active until we're done + break; + case 3: //a signal + idString = firstCol->parent()->text(0).split(" ")[0]; + msgID = static_cast(Utility::ParseStringToNum(idString)); + msg = dbcFile->messageHandler->findMsgByID(msgID); + sig = msg->sigHandler->findSignalByName(firstCol->text(0).split(" ")[0]); + sigEditor->setSignalRef(sig); + sigEditor->setMessageRef(msg); + sigEditor->setFileIdx(fileIdx); + sigEditor->setWindowModality(Qt::WindowModal); + sigEditor->exec(); //blocks this window from being active until we're done + break; + } + +/* if (col == 3) //3 is the signals field. If clicked we go to the signals dialog { QTableWidgetItem* msg = ui->MessagesTable->item(row, 0); if(msg) { @@ -546,15 +344,17 @@ void DBCMainEditor::onCellClickedMessage(int row, int col) msg->attributes.append(newVal); } } - } + } */ } -void DBCMainEditor::refreshNodesTable() -{ - ui->NodesTable->clearContents(); //first step, clear out any previous crap - ui->NodesTable->setRowCount(0); - int rowIdx; +/* + * Recreate the whole tree with pretty icons and custom user roles that give the rest of code an easy way to figure out whether a given tree node + * is a node, message, or signal. +*/ +void DBCMainEditor::refreshTree() +{ + ui->treeDBC->clear(); if (dbcFile->findNodeByName("Vector__XXX") == nullptr) { @@ -564,82 +364,40 @@ void DBCMainEditor::refreshNodesTable() dbcFile->dbc_nodes.append(newNode); } - for (int x = 0; x < dbcFile->dbc_nodes.count(); x++) - { - DBC_NODE node = dbcFile->dbc_nodes.at(x); - QTableWidgetItem *nodeName = new QTableWidgetItem(node.name); - QTableWidgetItem *nodeComment = new QTableWidgetItem(node.comment); - rowIdx = ui->NodesTable->rowCount(); - ui->NodesTable->insertRow(rowIdx); - ui->NodesTable->setItem(rowIdx, 0, nodeName); - ui->NodesTable->setItem(rowIdx, 1, nodeComment); - } - - //insert a fresh entry at the bottom that contains nothing - ui->NodesTable->insertRow(ui->NodesTable->rowCount()); - ui->NodesTable->selectRow(0); -} - -void DBCMainEditor::refreshMessagesTable(const DBC_NODE *node) -{ - ui->MessagesTable->clearContents(); - ui->MessagesTable->setRowCount(0); - - qDebug() << "In refreshMessagesTable"; - - int rowIdx; - - if (node != nullptr) + foreach (DBC_NODE node, dbcFile->dbc_nodes) { + QTreeWidgetItem *nodeItem = new QTreeWidgetItem(); + QString nodeInfo = node.name; + if (node.comment.count() > 0) nodeInfo.append(" - ").append(node.comment); + nodeItem->setText(0, nodeInfo); + nodeItem->setIcon(0, nodeIcon); + nodeItem->setData(0, Qt::UserRole, 1); for (int x = 0; x < dbcFile->messageHandler->getCount(); x++) { DBC_MESSAGE *msg = dbcFile->messageHandler->findMsgByIdx(x); - if (msg->sender == node) + if (msg->sender->name == node.name) { - //many of these are simplistic first versions just to test functionality. - QTableWidgetItem *msgID = new QTableWidgetItem(Utility::formatCANID(msg->ID)); - 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(""); - if (msg->fgColor.isValid()) fgColor->setBackground(msg->fgColor); - else fgColor->setBackground(QColor(dbcFile->findAttributeByName("GenMsgForegroundColor")->defaultValue.toString())); - QTableWidgetItem *bgColor = new QTableWidgetItem(""); - if (msg->bgColor.isValid()) bgColor->setBackground(msg->bgColor); - else bgColor->setBackground(QColor(dbcFile->findAttributeByName("GenMsgBackgroundColor")->defaultValue.toString())); - - QTableWidgetItem *msgComment = new QTableWidgetItem(msg->comment); - - rowIdx = ui->MessagesTable->rowCount(); - ui->MessagesTable->insertRow(rowIdx); - ui->MessagesTable->setItem(rowIdx, 0, msgID); - ui->MessagesTable->setItem(rowIdx, 1, msgName); - ui->MessagesTable->setItem(rowIdx, 2, msgLen); - ui->MessagesTable->setItem(rowIdx, 3, msgSignals); - 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. + QTreeWidgetItem *msgItem = new QTreeWidgetItem(nodeItem); + QString msgInfo = Utility::formatCANID(msg->ID) + " " + msg->name; + if (msg->comment.count() > 0) msgInfo.append(" - ").append(msg->comment); + msgItem->setText(0, msgInfo); + msgItem->setIcon(0, messageIcon); + msgItem->setData(0, Qt::UserRole, 2); + for (int i = 0; i < msg->sigHandler->getCount(); i++) + { + DBC_SIGNAL *sig = msg->sigHandler->findSignalByIdx(i); + QTreeWidgetItem *sigItem = new QTreeWidgetItem(msgItem); + QString sigInfo = sig->name; + if (sig->comment.count() > 0) sigInfo.append(" - ").append(sig->comment); + sigItem->setText(0, sigInfo); + if (sig->isMultiplexed) sigItem->setIcon(0, multiplexedSignalIcon); + else if (sig->isMultiplexor) sigItem->setIcon(0, multiplexorSignalIcon); + else sigItem->setIcon(0, signalIcon); + sigItem->setData(0, Qt::UserRole, 3); + } } } + ui->treeDBC->addTopLevelItem(nodeItem); } - - //insert blank record that can be used to add new messages - insertBlankRow(); -} - -void DBCMainEditor::insertBlankRow() -{ - int rowIdx = ui->MessagesTable->rowCount(); - ui->MessagesTable->insertRow(rowIdx); - for(int i=1 ; i < ui->MessagesTable->columnCount(); i++) - { - QTableWidgetItem *item = new QTableWidgetItem(""); - if (i == 4) item->setBackground(QApplication::palette().color(QPalette::WindowText)); //foreground color - if (i == 5) item->setBackground(QApplication::palette().color(QPalette::Base)); - item->setFlags(item->flags() & ~Qt::ItemIsEditable); - ui->MessagesTable->setItem(rowIdx, i, item); - } + ui->treeDBC->sortItems(0, Qt::SortOrder::AscendingOrder); //sort the display list for ease in viewing by mere mortals, helps me a lot. } diff --git a/dbc/dbcmaineditor.h b/dbc/dbcmaineditor.h index c369c2c..3d2447e 100644 --- a/dbc/dbcmaineditor.h +++ b/dbc/dbcmaineditor.h @@ -3,8 +3,10 @@ #include #include +#include #include "dbchandler.h" #include "dbcsignaleditor.h" +#include "dbcmessageeditor.h" #include "utility.h" namespace Ui { @@ -21,14 +23,9 @@ public: void setFileIdx(int idx); private slots: - void onCellChangedNode(int,int); - void onCellClickedNode(int, int); - void onCellClickedMessage(int, int); - void onCellChangedMessage(int,int); - void onCustomMenuNode(QPoint); - void onCustomMenuMessage(QPoint); - void deleteCurrentNode(); - void deleteCurrentMessage(); + void onTreeDoubleClicked(const QModelIndex &index); + void onCustomMenuTree(QPoint); + void deleteCurrentTreeItem(); void handleSearch(); private: @@ -36,19 +33,21 @@ private: DBCHandler *dbcHandler; const QVector *referenceFrames; DBCSignalEditor *sigEditor; - int currRow; + DBCMessageEditor *msgEditor; DBCFile *dbcFile; int fileIdx; - bool inhibitCellChanged; + QIcon nodeIcon; + QIcon messageIcon; + QIcon signalIcon; + QIcon multiplexorSignalIcon; + QIcon multiplexedSignalIcon; - void refreshNodesTable(); - void refreshMessagesTable(const DBC_NODE *node); + void refreshTree(); void showEvent(QShowEvent* event); void closeEvent(QCloseEvent *event); bool eventFilter(QObject *obj, QEvent *event); void readSettings(); void writeSettings(); - void insertBlankRow(); }; diff --git a/dbc/dbcmessageeditor.cpp b/dbc/dbcmessageeditor.cpp new file mode 100644 index 0000000..1ccdcb5 --- /dev/null +++ b/dbc/dbcmessageeditor.cpp @@ -0,0 +1,185 @@ +#include "dbcmessageeditor.h" +#include "ui_dbcmessageeditor.h" + +#include +#include +#include +#include "helpwindow.h" +#include "utility.h" + +DBCMessageEditor::DBCMessageEditor(QWidget *parent) : + QDialog(parent), + ui(new Ui::DBCMessageEditor) +{ + ui->setupUi(this); + + readSettings(); + + dbcHandler = DBCHandler::getReference(); + dbcMessage = nullptr; + + connect(ui->btnTextColor, &QAbstractButton::clicked, + [=]() + { + QColor newColor = QColorDialog::getColor(dbcMessage->fgColor); + + dbcMessage->fgColor = newColor; + DBC_ATTRIBUTE_VALUE *val = dbcMessage->findAttrValByName("GenMsgForegroundColor"); + if (val) + { + val->value = newColor.name(); + } + else + { + DBC_ATTRIBUTE_VALUE newVal; + newVal.attrName = "GenMsgForegroundColor"; + newVal.value = newColor.name(); + dbcMessage->attributes.append(newVal); + } + generateSampleText(); + }); + + connect(ui->btnBackgroundColor, &QAbstractButton::clicked, + [=]() + { + QColor newColor = QColorDialog::getColor(dbcMessage->bgColor); + + dbcMessage->bgColor = newColor; + DBC_ATTRIBUTE_VALUE *val = dbcMessage->findAttrValByName("GenMsgBackgroundColor"); + if (val) + { + val->value = newColor.name(); + } + else + { + DBC_ATTRIBUTE_VALUE newVal; + newVal.attrName = "GenMsgBackgroundColor"; + newVal.value = newColor.name(); + dbcMessage->attributes.append(newVal); + } + generateSampleText(); + }); + + installEventFilter(this); +} + +DBCMessageEditor::~DBCMessageEditor() +{ + removeEventFilter(this); + delete ui; +} + +void DBCMessageEditor::closeEvent(QCloseEvent *event) +{ + Q_UNUSED(event); + writeSettings(); +} + +bool DBCMessageEditor::eventFilter(QObject *obj, QEvent *event) +{ + if (event->type() == QEvent::KeyRelease) { + QKeyEvent *keyEvent = static_cast(event); + switch (keyEvent->key()) + { + case Qt::Key_F1: + HelpWindow::getRef()->showHelp("messageeditor.html"); + break; + } + return true; + } else { + // standard event processing + return QObject::eventFilter(obj, event); + } + return false; +} + +void DBCMessageEditor::setFileIdx(int idx) +{ + if (idx < 0 || idx > dbcHandler->getFileCount() - 1) return; + dbcFile = dbcHandler->getFileByIdx(idx); + + for (int x = 0; x < dbcFile->dbc_nodes.count(); x++) + { + ui->comboSender->addItem(dbcFile->dbc_nodes[x].name); + } +} + +void DBCMessageEditor::readSettings() +{ + QSettings settings; + if (settings.value("Main/SaveRestorePositions", false).toBool()) + { + resize(settings.value("DBCMessageEditor/WindowSize", QSize(340, 400)).toSize()); + move(settings.value("DBCMessageEditor/WindowPos", QPoint(100, 100)).toPoint()); + } +} + +void DBCMessageEditor::writeSettings() +{ + QSettings settings; + + if (settings.value("Main/SaveRestorePositions", false).toBool()) + { + settings.setValue("DBCMessageEditor/WindowSize", size()); + settings.setValue("DBCMessageEditor/WindowPos", pos()); + } +} + + +void DBCMessageEditor::setMessageRef(DBC_MESSAGE *msg) +{ + dbcMessage = msg; +} + +void DBCMessageEditor::showEvent(QShowEvent* event) +{ + QDialog::showEvent(event); + + refreshView(); +} + +void DBCMessageEditor::refreshView() +{ + ui->lineComment->setText(dbcMessage->comment); + ui->lineFrameID->setText(Utility::formatCANID(dbcMessage->ID)); + ui->lineMsgName->setText(dbcMessage->name); + ui->lineFrameLen->setText(QString::number(dbcMessage->len)); + for (int i = 0; i < ui->comboSender->count(); i++) + { + if (ui->comboSender->itemText(i) == dbcMessage->sender->name) + { + ui->comboSender->setCurrentIndex(i); + break; + } + } + + generateSampleText(); +} + +void DBCMessageEditor::generateSampleText() +{ + QBrush fg, bg; + + if (dbcMessage->fgColor.isValid()) fg = QBrush(dbcMessage->fgColor); + else fg = QBrush(QColor(dbcFile->findAttributeByName("GenMsgForegroundColor")->defaultValue.toString())); + if (dbcMessage->bgColor.isValid()) bg = QBrush(dbcMessage->bgColor); + else bg = QBrush(QColor(dbcFile->findAttributeByName("GenMsgBackgroundColor")->defaultValue.toString())); + + ui->listSample->clear(); + QListWidgetItem *item = new QListWidgetItem("Test String"); + item->setForeground(fg); + item->setBackground(bg); + ui->listSample->addItem(item); + item = new QListWidgetItem("0x20F TestMsg"); + item->setForeground(fg); + item->setBackground(bg); + ui->listSample->addItem(item); + item = new QListWidgetItem("20 FF 10 A1 BB CC 4D"); + item->setForeground(fg); + item->setBackground(bg); + ui->listSample->addItem(item); + item = new QListWidgetItem("1024.3434"); + item->setForeground(fg); + item->setBackground(bg); + ui->listSample->addItem(item); +} diff --git a/dbc/dbcmessageeditor.h b/dbc/dbcmessageeditor.h new file mode 100644 index 0000000..2685fcc --- /dev/null +++ b/dbc/dbcmessageeditor.h @@ -0,0 +1,38 @@ +#ifndef DBCMESSAGEEDITOR_H +#define DBCMESSAGEEDITOR_H + +#include +#include "dbc_classes.h" +#include "dbchandler.h" + +namespace Ui { +class DBCMessageEditor; +} + +class DBCMessageEditor : public QDialog +{ + Q_OBJECT + +public: + explicit DBCMessageEditor(QWidget *parent = nullptr); + ~DBCMessageEditor(); + void showEvent(QShowEvent*); + void setMessageRef(DBC_MESSAGE *msg); + void setFileIdx(int idx); + +private: + Ui::DBCMessageEditor *ui; + + DBCHandler *dbcHandler; + DBC_MESSAGE *dbcMessage; + DBCFile *dbcFile; + + void closeEvent(QCloseEvent *event); + bool eventFilter(QObject *obj, QEvent *event); + void readSettings(); + void writeSettings(); + void refreshView(); + void generateSampleText(); +}; + +#endif // DBCMESSAGEEDITOR_H diff --git a/dbc/dbcsignaleditor.cpp b/dbc/dbcsignaleditor.cpp index 4cd27b6..f8cbe6d 100644 --- a/dbc/dbcsignaleditor.cpp +++ b/dbc/dbcsignaleditor.cpp @@ -34,10 +34,7 @@ DBCSignalEditor::DBCSignalEditor(QWidget *parent) : ui->comboType->addItem("DOUBLE PRECISION"); ui->comboType->addItem("STRING"); - connect(ui->signalsList, SIGNAL(currentRowChanged(int)), this, SLOT(clickSignalList(int))); connect(ui->bitfield, SIGNAL(gridClicked(int,int)), this, SLOT(bitfieldClicked(int,int))); - connect(ui->signalsList, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(onCustomMenuSignals(QPoint))); - ui->signalsList->setContextMenuPolicy(Qt::CustomContextMenu); connect(ui->valuesTable, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(onCustomMenuValues(QPoint))); ui->valuesTable->setContextMenuPolicy(Qt::CustomContextMenu); connect(ui->valuesTable, SIGNAL(cellChanged(int,int)), this, SLOT(onValuesCellChanged(int,int))); @@ -155,7 +152,7 @@ DBCSignalEditor::DBCSignalEditor(QWidget *parent) : QString tempNameStr = ui->txtName->text().simplified().replace(' ', '_'); if (tempNameStr.length() > 0) currentSignal->name = tempNameStr; //need to update the list too. - ui->signalsList->currentItem()->setText(currentSignal->name); + //ui->signalsList->currentItem()->setText(currentSignal->name); }); connect(ui->txtMultiplexValue, &QLineEdit::editingFinished, @@ -228,9 +225,6 @@ bool DBCSignalEditor::eventFilter(QObject *obj, QEvent *event) case Qt::Key_F1: HelpWindow::getRef()->showHelp("signaleditor.html"); break; - case Qt::Key_F2: - cloneSignal(); - break; } return true; } else { @@ -278,12 +272,18 @@ void DBCSignalEditor::setMessageRef(DBC_MESSAGE *msg) dbcMessage = msg; } +void DBCSignalEditor::setSignalRef(DBC_SIGNAL *sig) +{ + currentSignal = sig; +} + + void DBCSignalEditor::showEvent(QShowEvent* event) { QDialog::showEvent(event); - currentSignal = nullptr; - refreshSignalsList(); + fillSignalForm(currentSignal); + fillValueTable(currentSignal); } void DBCSignalEditor::onValuesCellChanged(int row,int col) @@ -317,21 +317,6 @@ void DBCSignalEditor::onValuesCellChanged(int row,int col) } } -void DBCSignalEditor::onCustomMenuSignals(QPoint point) -{ - QMenu *menu = new QMenu(this); - menu->setAttribute(Qt::WA_DeleteOnClose); - - menu->addAction(tr("Add a new signal"), this, SLOT(addNewSignal())); - if (ui->signalsList->currentRow() != -1) - { - menu->addAction(tr("Clone currently selected signal"), this, SLOT(cloneSignal())); - menu->addAction(tr("Delete currently selected signal"), this, SLOT(deleteCurrentSignal())); - } - - menu->popup(ui->signalsList->mapToGlobal(point)); -} - void DBCSignalEditor::onCustomMenuValues(QPoint point) { QMenu *menu = new QMenu(this); @@ -342,86 +327,6 @@ void DBCSignalEditor::onCustomMenuValues(QPoint point) menu->popup(ui->valuesTable->mapToGlobal(point)); } -void DBCSignalEditor::addNewSignal() -{ - int num = QRandomGenerator::global()->bounded(70000); - QString newName = "SIGNAL" + QString::number(num); - DBC_SIGNAL newSig; - newSig.name = newName; - newSig.bias = 0.0; - newSig.factor = 1.0; - newSig.intelByteOrder = true; - newSig.max = 0.0; - newSig.min = 0.0; - newSig.receiver = dbcFile->findNodeByIdx(0); - newSig.signalSize = 1; - newSig.startBit = 0; - newSig.valType = UNSIGNED_INT; - newSig.isMultiplexed = false; - newSig.isMultiplexor = false; - newSig.multiplexValue = 0; - newSig.parentMessage = dbcMessage; - - dbcMessage->sigHandler->addSignal(newSig); - - /* add item at the end of the list and select it */ - /* this will call clickSignalList */ - ui->signalsList->addItem(newName); - ui->signalsList->setCurrentRow(ui->signalsList->count()-1); -} - -void DBCSignalEditor::cloneSignal() -{ - int num = QRandomGenerator::global()->bounded(100); - - int idx = ui->signalsList->currentRow(); - if (idx < 0) return; - - DBC_SIGNAL *oldSig = dbcMessage->sigHandler->findSignalByIdx(idx); - if (!oldSig) return; - - QString newName = oldSig->name + QString::number(num); - DBC_SIGNAL newSig; - newSig.name = newName; - newSig.bias = oldSig->bias; - newSig.factor = oldSig->factor; - newSig.intelByteOrder = oldSig->intelByteOrder; - newSig.max = oldSig->max; - newSig.min = oldSig->min; - newSig.receiver = oldSig->receiver; - newSig.signalSize = oldSig->signalSize; - newSig.startBit = oldSig->startBit; - newSig.valType = oldSig->valType; - newSig.valList.append(oldSig->valList); - newSig.isMultiplexed = oldSig->isMultiplexed; - newSig.isMultiplexor = oldSig->isMultiplexor; //maybe should force this false since you can't have two or more! - newSig.multiplexValue = oldSig->multiplexValue; - newSig.parentMessage = dbcMessage; - - dbcMessage->sigHandler->addSignal(newSig); - - /* add item at the end of the list */ - ui->signalsList->addItem(newName); - - //unlike adding a signal we don't want to select the new signal here. - //ui->signalsList->setCurrentRow(ui->signalsList->count()-1); -} - -void DBCSignalEditor::deleteCurrentSignal() -{ - int currIdx = ui->signalsList->currentRow(); - - //if(currIdx==ui->signalsList->count()-1) - //return; - - if (currIdx > -1) - { - delete(ui->signalsList->item(currIdx)); - dbcMessage->sigHandler->removeSignal(currIdx); - currentSignal = nullptr; - } -} - void DBCSignalEditor::deleteCurrentValue() { int currIdx = ui->valuesTable->currentRow(); @@ -432,25 +337,6 @@ void DBCSignalEditor::deleteCurrentValue() } } -void DBCSignalEditor::refreshSignalsList() -{ - ui->signalsList->clear(); - - - for (int x = 0; x < dbcMessage->sigHandler->getCount(); x++) - { - DBC_SIGNAL *sig = dbcMessage->sigHandler->findSignalByIdx(x); - ui->signalsList->addItem(sig->name); - } - - if( ui->signalsList->count()>0 ) { - /* click first element */ - ui->signalsList->setCurrentRow(0); - } - else - clickSignalList(-1); -} - /* fillSignalForm also handles group "enabled" state */ /* WARNING: fillSignalForm can be called recursively since it is in the listener of cbIntelFormat */ void DBCSignalEditor::fillSignalForm(DBC_SIGNAL *sig) @@ -598,16 +484,6 @@ void DBCSignalEditor::fillValueTable(DBC_SIGNAL *sig) inhibitCellChanged = false; } -void DBCSignalEditor::clickSignalList(int row) -{ - //qDebug() << ui->signalsList->item(row)->text(); - - DBC_SIGNAL *thisSig = (row<0) ? nullptr : dbcMessage->sigHandler->findSignalByName(ui->signalsList->item(row)->text()); - currentSignal = thisSig; - fillSignalForm(thisSig); - fillValueTable(thisSig); -} - void DBCSignalEditor::bitfieldClicked(int x, int y) { int bit = (7 - x) + (y * 8); diff --git a/dbc/dbcsignaleditor.h b/dbc/dbcsignaleditor.h index e807f58..2b6e94f 100644 --- a/dbc/dbcsignaleditor.h +++ b/dbc/dbcsignaleditor.h @@ -16,19 +16,15 @@ class DBCSignalEditor : public QDialog public: explicit DBCSignalEditor(QWidget *parent = 0); void setMessageRef(DBC_MESSAGE *msg); - void showEvent(QShowEvent*); void setFileIdx(int idx); + void setSignalRef(DBC_SIGNAL *sig); + void showEvent(QShowEvent*); ~DBCSignalEditor(); private slots: - void clickSignalList(int); void bitfieldClicked(int x, int y); void onValuesCellChanged(int row,int col); - void onCustomMenuSignals(QPoint); void onCustomMenuValues(QPoint); - void addNewSignal(); - void cloneSignal(); - void deleteCurrentSignal(); void deleteCurrentValue(); private: @@ -39,7 +35,6 @@ private: DBCFile *dbcFile; bool inhibitCellChanged; - void refreshSignalsList(); void fillSignalForm(DBC_SIGNAL *sig); void fillValueTable(DBC_SIGNAL *sig); void generateUsedBits(); diff --git a/icons.qrc b/icons.qrc index cd68926..49ac17c 100644 --- a/icons.qrc +++ b/icons.qrc @@ -6,5 +6,14 @@ images/PlayHS.png images/ReverseHS.png images/StopHS.png + images/signal.png + images/node.png + images/message.png + images/multiplexed-signal.png + images/multiplexor-signal.png + images/skull.png + images/signal_new.png + images/node_new.png + images/message_new.png diff --git a/images/message.png b/images/message.png new file mode 100644 index 0000000000000000000000000000000000000000..985a134351f93b28d7820ed7ff3a739ccb121e24 GIT binary patch literal 7543 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 mF`%jArh$uz5F^G-&3^#-1Y{CnV^J;u0000 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 literal 0 HcmV?d00001 diff --git a/images/multiplexor-signal.png b/images/multiplexor-signal.png new file mode 100644 index 0000000000000000000000000000000000000000..afd11cdfeab4c3200d5c430b3dfecfc505170eed GIT binary patch literal 9142 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 AdjJ3c literal 0 HcmV?d00001 diff --git a/images/node.png b/images/node.png new file mode 100644 index 0000000000000000000000000000000000000000..f2a52f5f139c5409fadb66fb5a03eec1d4102c63 GIT binary patch literal 8145 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 z z|I%n*pij!qE&`aStE;n}7Tddb?=|1G((vDGLQ6!v-hWF;-Au+uw>5SjfFF@u;qiD@ zIC)tp6uN4ygTWvcEn0M4fI#vBfKve40W?Y>6+D_^fj+6M>JdqBmT&s9qQkvfJ$C@O zBs8AEOcgp5MVYlb9071jQIsz>ZrnI+_a#+TRo7H~PEAc+7sPMcv?-z}$^~KWIcUmi z(^MpcTk4H`pU>C7fB*g>J1?rPuD<5`(9n=85uvsPgFzfWe%#hGm6er2(fe*K_h%JH zNzWu%9tZ^fxN6m^s2x9GbaXWSRr>%F6BAssW({r3D>gDRQcv<1Nh?ToTjf7^rcI{eI;wvgDVx66x-6VIA{GrNyJ9UDEiEldLqh|+UN6?J zT^lPcEgdf{Ej^Q!mDLWQ6*Kk2hGq1MnG|SB=8DBVUWG5KMYCiVDdBkl2Y}E4IMhUX z(-P(N%aZ;ffHovJLy%@xxF8^eWZ6(;>ntpP(H2W<38D=koH_}1ilw`dq zFd(jOMSOB;H&7moh3lv4kB$=)#%GHwkSS+T-2#S7R!K9M>YdbXce}8PwRw2JS zu+A=oF>|c-U$B30Qs1ucgOghIaOvo*K4UwL#7Acbg!AXMggYhP2>>eRVhLjYtB0qf r(dd%2w6sOIjt@_}wod=A9-sdYEk8xoXL9|*00000NkvXXu0mjfZ_9q4 literal 0 HcmV?d00001 diff --git a/images/node_new.png b/images/node_new.png new file mode 100644 index 0000000000000000000000000000000000000000..75ae0aaebb02a064dbd5607cb7eced310b6b413d GIT binary patch literal 9203 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 JPDHLkV1jN2+1~&F literal 0 HcmV?d00001 diff --git a/images/signal.png b/images/signal.png new file mode 100644 index 0000000000000000000000000000000000000000..dbfc7141571076ef3e47d4318fec0d63f27547ff GIT binary patch literal 9451 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Š!hh^?U#YGV1fh0`8Pxm#vt4#yG5v8X>k@gd{lL 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 literal 0 HcmV?d00001 diff --git a/images/signal_new.png b/images/signal_new.png new file mode 100644 index 0000000000000000000000000000000000000000..3581a8520984992bf874399a53f763511644eadd GIT binary patch literal 10643 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 literal 0 HcmV?d00001 diff --git a/images/skull.png b/images/skull.png new file mode 100644 index 0000000000000000000000000000000000000000..01453fc776c2f662e1a78228f607aeec54ac1bcb GIT binary patch literal 10140 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 DTjwYh literal 0 HcmV?d00001 diff --git a/images/sourceImages/noun_Death_3194193.xcf b/images/sourceImages/noun_Death_3194193.xcf new file mode 100644 index 0000000000000000000000000000000000000000..18605baf3b70d9271aabccb78e24ddc8a31be2dc GIT binary patch literal 4578 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 literal 0 HcmV?d00001 diff --git a/images/sourceImages/noun_message_1977390.png b/images/sourceImages/noun_message_1977390.png new file mode 100644 index 0000000000000000000000000000000000000000..5fd6b42b1d8073b291fcdcfe5092a74d59f236f6 GIT binary patch literal 17503 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 literal 0 HcmV?d00001 diff --git a/images/sourceImages/noun_message_1977390.xcf b/images/sourceImages/noun_message_1977390.xcf new file mode 100644 index 0000000000000000000000000000000000000000..9dcab2481426f45c194ec8e479edaedf3605521b GIT binary patch literal 3554 zcmeHKYitx%6h6BweQX~>skIU$!wR(gXz2o_RQnPmhG?`AK@CP&+Uc^UyW4cPP3sSf zm?#)gLJUEJi6j^k#Yjv*{UM3`&=?C6NQj~mC4@)Ww)>ptojIO6I|ECi0sr}3ad(L!{>f$#p|090-aH!NE{3LBRbSsgK1+`$ZuZ?GN=X^VatTd!qf(L80DK4THgL z0inry{L83&+dp*s1?%D6Be8)%Pbd-;{7v*VdfS)%(J&MV#f4C$XS*2VGopQcF)=P! z;|uJ(dHZ0#=jwtu!eTto8;A!uPO-T5v~`Yz`-Nd~FcykN+Uxv{O?848>52BzmfGt! zKD(}AOz3QRCWBJk~7^ZU}@2`bA&I8iAg+ zXzjz zn(i>;h5s<4dwVn{z!BvvL!6W zVwC?a{??Y3m90&U1Cb#00YAyS6_M~$jwFk?-MNF_^h+S&ICoTP+oZr(U@s`Jy#=;V zV3!rxK{+HM`DOk*Hq(=I|0^9keIx$ffZ=TtCZN0nb&4v5r zipT1-E;6`K^R(tQz?kPW;J!tZW@2Y8=!ZJtJ#8WC%4-n#tOm64lnBw(0@M;O!p_{O z8c@ek+Xroz=A-)SO8AH&VL0wa_7zl&*CIOs@SPj;=q%LFErw6cYSh_>uHJQO}IRmdQD&UwsL7sk3do2zC7fX#Kqs^|P(6&&?tmFX79T zo-9Z9B`h5;vC&f0FEqnpR)V_rE-KkZic3FZq$FOhNq?So8wcL*2Cz1aNIoNdLRyg31@~Er%%cSwyt7IvvM-?d3^_}RFqWl+eP0CMID0EbU408SU-6)!on^F>i!E?KFSb{t9Z&bb zP=?~4+6wWs6F=qaj}>r`QNGl-q5F!HFAuVl04L_5ZXSgtXPorX+UyWC|5AhObR`_k zS3?;`%=19#PshJ}+b4%H`*Z=pHdIF4v?;Klv+&H$odLEc_FV~}a zp|lDx=tgs5N=TZCYs6(6sz4n^HHWIX5LG!z7bf;qfijGknL>qbL?tcL#f==rVY+7Z zG-k5%QBUcZHOPa76B{xK)fACr)?jJ6l`WXkBWpON6G@uXou*6N!a3<_nBpX<$|$Ai z(zkG;3UVXMbm`}412U0>g%jPeX=HLGlEO4Giv@d;C73DEjig>jGe>k}!Sp?)p`z0) zC5b90Jqst&OA^jWlI2h`iS#VIf~cCIk|1iL)zfB$jT0s17%f3Tt2)tl<<0RfHG>i} zlZK3nL|&a4C(eM6;b$%8(W{C&`(dp-pkkjD+cInwVY5p^+k%lvIOQ zPLlCvL=;I{!Yq$pN~7e&UyLj%p){AKl1szMRuN@MLzyU2O;J6Z8xy`@ruvDH0ejG!1R1ukN8P7nC_>R_TjoQ_s@W?4*J_R1{(YgEX2Rb literal 0 HcmV?d00001 diff --git a/images/sourceImages/noun_nodes_2397529.png b/images/sourceImages/noun_nodes_2397529.png new file mode 100644 index 0000000000000000000000000000000000000000..c14e1e09f1474d18db90715df52ca923ab8612b3 GIT binary patch literal 19083 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ȶ-dPfoaX8`-mtrkX;b0Mn4e?Y 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 Mp4pA^YfgXtU%#7-P5=M^ literal 0 HcmV?d00001 diff --git a/images/sourceImages/noun_nodes_2397529.xcf b/images/sourceImages/noun_nodes_2397529.xcf new file mode 100644 index 0000000000000000000000000000000000000000..8cfe1abe9e3a51284530ac3cd86f1a2b9f52efec GIT binary patch literal 4359 zcmeHJdr(y86+gRoUo0!~)U1l`MG#PVt4Ks7>tiMvMj0(yr)?aBW!(wv5?Bn3Iz*KHV!m1ad?AFz+R-|6`-%Vc8#llGtf z(eKW==l7l8cg}ad=e<^2L!+s+rp~lIzn}o9lt+Z)gCq$g3I)BANOa~GRKMgxIGIF6 zq9&OZ!AjC80Lm89@m30*V{53kT5_ySwpua)kMl-Wv$L(#+F zs7g6uE<7$*b4IoNE~hsaDyrg94KN!7Tt?D9^~fYxvUYVCmw`0RXcTsUBJNS}=X4Ju z4tD1(0oEp|kx6Zf0H29L++GN5ffR!*G`|4w)mX$|k#>>(Iv-Fw1yPd+s3EPUdLP;U zLHx_4Un&5W;U~`#u@LYn0)g}*U^c%F@!drbPJ8LL7IAehFh!Oc!pen`3fUDQ2g26- zD>Z;!YQ%3Eg^*g%aA&IgtmB<{Le0497!NLrW; z_($R@)PSo=pUwh&ob)Lz;M=4t=K)iHPAx;(T43pZLN|38fK9|5hyi?_bZa`WE&E(0t91jq3;>pY`|YrqbHLf zyy=VVR0wMedEj#?fXOP5bcKalq8>XLrfFSb1b_LdFk<**c|71gTFIkEz&%9mjRX7{ zt%lF|2;fhNc#bkJqy<~51T-e)unML}GEi@1e3Oh@O-Oij)xA_Nq`FHFsF;EhZQ}(Z zqJrj(SLuZ0@+z@6$@?y~E~C~r$$JmgyQp55bQgyR?}-Iw^zcOHOef?frSScsKg^KRwQO*B5W}*mlFcs$F49LLgkd4W(023hx;~@{@ zpa2a}gnC$vIw(dhi3Ung1Y1S6|$}!@Axqis|4LODmt=d+fxAJ(sTC5We)>y7qa`#WU}`vfEoUYy)FN~J&ZF;N?sX0M{K1e; z@`M5--hsXwe>;Al-Ym`lpZJ9H(4RiLbKe^bDW#aOAo)T8x2yNUTYGBF;&kw3ZtQ&b zliLHsAxTOIE2WWu$94TL-Mh?UGWixgb@P zr^>LNsZh@pKle zL(Ze@{xxC@u^YS2-}P}{HA|7%fD{_Kd2*Lo2g7>v&;Q&@NpbQKRFi8!3JhHStwYqp zh*yGF*vtqw()ZV{HKLlhC-$B1^UGW+s${>A_vVSF5;geewY>d>n>tjnIT0#& z@6w^oqCjqyhcEUA$W36P%mpRyol_kp0{F$oXXe0S7K0StlyNZ{ByoHR_Zu zQ-hMX_r%lmUnXvS{f1kPmJuO>_b%*R1yKC#={qAbF;6DklKbj!YDHLi@YDXFM7?K5 z%)@t1w~FHC*Kc@2JgF=)4~3;b|AjqfvGL?rJ~>9j8XCNEWUbit{#_nf$+G1TUdesq z*rwu+kM7BF$Be$-Kh&D{Uc67!C$Rabqyc%Qk*`kJS021HD0elV+&$D)-|5zMuUs7+ zMZ^|#eYpF-v5nWqxXC<_wnyS=KR7~P1PhjS~JN>&`frO=zL9l`1F&WTRPQ~oO#1TZj3mJJ>hjD t-$fJNREd*cb19SDkaT-adb=7Qc0H#)^oBQ0{)tGR_~Vi_?$;;<{sp6TI+g$c literal 0 HcmV?d00001 diff --git a/images/sourceImages/noun_signal_1402315.png b/images/sourceImages/noun_signal_1402315.png new file mode 100644 index 0000000000000000000000000000000000000000..4ea4e8dad35a14a6dbb3f012e17b41879b8a9481 GIT binary patch literal 20260 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 literal 0 HcmV?d00001 diff --git a/images/sourceImages/noun_signal_1402315.xcf b/images/sourceImages/noun_signal_1402315.xcf new file mode 100644 index 0000000000000000000000000000000000000000..9007239ac367de3a172fdc04d18a9009273c4199 GIT binary patch literal 4610 zcmeHJdr*|u6~BDn?g9%6M%4Hjam841e1U!t(jp?k1WPip1&oSD3F1O!!2t4bV#UEa zI(bkZNlmmm!Au$>$!Hph&fuffLu|#Dm6q zWe$7{A>2mrP%To=%F|_Ob7pCa^47vcSf1L*;*yH|98Gaye%{*Y>d1B4?85xQB2A>5 z%_`Eqkfn)of1;-Ye&Gk;XpQ^B;PT=PS=o67T1|8mw2JR(US-zCg1izA`;>>_{7hF>wgY$2R@xspe@ObNQf1GiuZGQYk!jS?{jcH8%waM3>;oW z!n_|zzU)CjL_$pLV{_(4{Yb>}pAoSnx3Hve_7kj3(s124o@j6O_&EyKJp_zvf4-1_{c#%aF!I_I8py*V5dtF&MVyBdvL)1qxEF~W9x;wMxxLaiF_VaM8>I)i zF@)~oDE&N~$fIQld%_6K;3@5bVU!EPvWJKqb`Qb^j!68H73zlx-Of|_{C~fu+B~s+k<04P!Vc6daCGuE1N9BL{bA(pI@+42}(_g<%>GjtmdE(%^DK*XF zh#b@jFXx01LM!0)6uckD5zPVeM@dO#X)`R-F=a;pglFMW3D-s}wi#2Mg}w*&*8(Yh z6}%mKIqYq~+eZ>Q8v2W{NAT3yh&H%5h&oen_D0OvrvOk2hY2GHO$LvIUI3l~-o#Vs zvTprnP@ACUgD(c33I02{YZ348gJC~Mor5Sb4Nn~(V*JSkJo&vJIt!F91&&L1ZPapT3G2KgSG(goGOd zsber4Q(edDSw_HhCtOG4n(AQCt6^9S;mZj)wkNFqRJJ|=(>eI;g~h)I=|02VXTng% z6X_j#afE`%vl~$*jkDnyjVc)kgYY6e3PXsjy2~bdlq0U71EKzeu7Z7)f=~_2^3%wv z8H8jE2_56K1~#a$;2p3O3EzX{od(@ z*7j?+Zu33H+qbT@w>F%9Z+CfS(j;Lbxvv)D*K9vj*U)yex8Gp0Sb5uhtHosK@4ea9 zPlG5cT8J%{k$n83{iNPn1z($H%?r> z(Py+dr4W}{a@vf2H!h!eqc}wvLoDiUZ1cz`yiMc-M!S1Sr5h;`iSNDO>(&c6r&Cpq2y<%oCv1*nv z)DBc7kD@9!YG>#&jT*D2Y(Mq&J%%dfF;wY6?|pr0dx{VMG=9_3E4>ysI?jt)daoSa z6fgJ_n`ZTai+32PkS9glPT}cXzn`q$`S$pSw!9YZ39Cr;beD0$Iw9A z`#OO5W+s}fRoUHI0@0;ahGjMi^2>`E1c%$nAIcOI|V-rri2Da_Ly>l}1G@HROIJCEt+ zi7(aPKyqH5jvPjpWV%uRk{DZgrrVvE8U0*lYxkMT*r#5**y~Q~HQIYGzV=k=u7;m&(k4le&MjZ61`F@P)jE~jJQi~UP~a7oE8f7)YX`}D5U z*7NDh$=GHWuK&AjTDq`Ju>$u#Y#ek+xb+Hg%DST+2F&!`sX7cDN7qdemhNxvbEoy5 zs;#ei|58Cn-g(-Sn3)YO$dhw(;zbvj;|P0T%bsoR8&DP_+i8*-YuFCEMk16fxnscmt;K$Se& z`+6~vIMz|5A>*Bv+N$TKh5~zLQ*C3H!HPyT8jZ^4v>Lh^Yd1YJm36U2 z6*cEN`b>6-cZIMnCfQAW9p`E)771a*BE;qH{iyM}-fWjt*pJF(k?dyu^~R6(=EezQ z(XYkK%9=B+U3!yk$SDQ6jFNN6X3}@Ho~fzK6ov8V#Br;t4xeqlc6Y#Nfsd1y{G7%i zo5eVA_geGW!&R%|gh$ArFgI1Vqo(dc+s)fO{RSg%8Z;XEdv4!syHHoNLzg;Nm_$s% z+=VO4_8h4@-_X?B&Uc#HTbmlr*B#kYwsPTIVG4d(Y_aLtr8{=L`Sub1nB~aZZ|>Sr fnw=gi2$8@XV&dZT71?~gJ$ps^;zaz~j3NI9=HHX0 literal 0 HcmV?d00001 diff --git a/images/sourceImages/noun_signal_1716563.png b/images/sourceImages/noun_signal_1716563.png new file mode 100644 index 0000000000000000000000000000000000000000..cb29efaaa46ba0cf20066dd480e4ce69d83419be GIT binary patch literal 23003 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 literal 0 HcmV?d00001 diff --git a/images/sourceImages/noun_signal_1771815.png b/images/sourceImages/noun_signal_1771815.png new file mode 100644 index 0000000000000000000000000000000000000000..c007970aeb4d5ee19a954d0d4690dc1dfc11021d GIT binary patch literal 16934 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 literal 0 HcmV?d00001 diff --git a/images/sourceImages/noun_signal_1771815.xcf b/images/sourceImages/noun_signal_1771815.xcf new file mode 100644 index 0000000000000000000000000000000000000000..828dff59c51720bf382502edb145635d8a3ce505 GIT binary patch literal 4248 zcmeGeYgCkF`eiPBTtqQnFG1!Enta&8FzJA719GT5BAQ5QQnKxE8>a<^029m&+;v?; zH}srMv08OYtTWrq2&+1dG~%snJzD5bygwO&}U~C zW);a?@*emI`mivK8GGcBn^mOA)D&qb9dhydi+WyhZjS8rtb#(FJ})*@84(#O%gW2p zXF^D^q05)e51$)4FV0Ursu<@dlc|d|T3MbZH!C*exnf;*L?SIwM1roUFgdH>1x;># zPF6_VTp9e-3K0F*DlWxES$W!`)gf_FbAE~Ri@MBTB%G23$Frsgl3EVM3yGWkGsagw zPzZ@rMMW!~iu@Uk)PF-Gd9}VsAMp%rlNaE)p*%{rb+zI_W$B@KERkvC#rv=aaTJXQ zgaU2IDS7%ed9M`ew0WAGSCrAw%DGBaM1GzYSjZcIHaP*1Q+!?-JYf(3D4pv2x^dW0 zhzI_d2kz&A%RF#@4}6RV9^iqG1DyJ!OA5dMP~X)46K)(fG=t&<7VOhK@XC$va_)f9V(#h=d)n zVMy@yeHPhp{^3iP4!<@@g?MJ8SxR{87Qd&!f0Hi}ZiGf6VOp0z5r(1_h_p%wckSe< z8&JY_1#%o9#JcryF>=h<$rJLn0&yv%c_xE6RVR585@V`;eUb3!-cn>m+;bb&C&VCO z+$k{;&f;i9YNdpni$WxhA>>6B|0>J2zx5*l`16oc6k$`jzU7z5csW_iyR?) zdmW8wrO1Ma)E_{Jg!2);h!1WEfEb=5#uX65Gj~WDg#4+9*iJ8ko)FJJC?e!Ikj_9B zTx*LHtesaNVa!*M-lafD)b|5O`Jn%7BrLunB|=wPG_uET`1`)ii6Y>NnelKA0Z_q( zhrGuj9)F_^L)<=67YMZtX(P=na`+At(h=*AgcU>JYz~~p5;!5@LzY28%opJB%}^xx z)Jci0{`b#EMXmS~_4Ab<9I)T1@lcmBaPZPy&;omya3s9Y1CjNmMj}3-^ggu9z{bGY z$Rb_1^<;DNsfxwSZ;-%9Vi6HN3!k5-k<&{$mJyYD&87_)?*=-3-itIPSp|Tg(f$`DLqgkp&o070b;g6GJa$jz02 zq_V}ELaW%508K+3?3(g=OBn+Dnv5w|8cph{LAY#1(5&|CPCs*A{XNb zxaERaRl@uwOT`*%+LA>HYNZ_GP-F)3{H2)%Wq+vHF5Yc^w_;1#`roB3ik9Q)Xc)^? ziJ5D+@BQr9iSza1#^JBepE*|Z@w;#3q{fBgX~+Qla~tLcg4Mio;%$) zueLTE{kU?yE-4&8hK4YksNGa`;=FO$*G-+Sw3%h@Bl*1a4f$5YS% zmV?xXr<$+-I52Fs*_|9G;k`J6!)7%Z`np;hj#QSUs_-Oa#B9>q9fvMn|8dZ4bApgW zknqEt!)og5YN^{_z8cIS6OLH5sj3cSEOw`eA1jD>lhXzgmuq&dO_byDkeO;#`Jsl+ zzG0h_=ds|$n;q7np0>KG;-p!499Vc-TV8XyYtZ80`6y@f#HEm(M`b+GedRdJ%+A6aHR zPq`*L&r1bNq`>8Dl>2%N_C*$)v~K^`-3H)FgvldZOJCcUm8(^l0j}!Rch7YVfn|vh zL?nWhcUtqq_ATSQHC#mzKlSb)hnw6(ifs zr4@DU1_yAa1E-(2^|c&atA_s(Sf&4{X+&oR*c;#-rp~$@E8w3IPAaRVj>N(fpfU)4 zF7MMtVZ^4tckZ^CI++OyL%d_?`jJfwFjnOs0Ovpsb&)w!_l2D+YHp1rWehm#0}^bC|Q-1^=qo4qSVPc5!Fwe?wz4_BKD{xVx@=;ZH_0 zY1#JrJEO@Mc!#0w$T~G-c&@`ZnzwIW&RP4utICBV#_EFVZ|++;i9iq71_#`I z7VL8&GVE_hv}glD zYjW29)|xjLV+rlrqUvw%nMb?U%G(XyXLqfd#Q=|CmsgzZ7_f5E(QY^Qwp4>RZ_rcg zch}!G+F`=zl)!{p``eCfeTijYOoCHNtD8oc?g6t7w4ZwqGV?(eYPI&tJ+lKw*FBte z!>voz>(!6?!T8P5Y^%L`&ur%z*I=7rbd9$ft4otv#vcY>McKVZI|qD!;v<-0@CV#{ zdU3?%Y^%L;+h}$2kJ4MkZXW1ptS(y>LGPSkwPxGVrtSeVXiub9lGA3q*Zx&?X^IlA zEF;+7`bquGUZd5)@q8c%n4F-0`^w2Z;2lqZOHGmT=KIGR+k1@`J164(K*Y#7ZRWw- z*XlprrcYp*iD(eB$+=rUIos0SYcN^t4vv$;MLXnl*et_?x4&CXXv@x z*>YT)gsSvCfjca@oT9bJ<|bOhEqt Ds)^p* literal 0 HcmV?d00001 diff --git a/ui/dbcmaineditor.ui b/ui/dbcmaineditor.ui index 126452b..4fa6719 100644 --- a/ui/dbcmaineditor.ui +++ b/ui/dbcmaineditor.ui @@ -13,33 +13,95 @@ DBC Editing Window - + - + - + - Nodes + New Node + + + + :/icons/images/node_new.png:/icons/images/node_new.png + + + Qt::ToolButtonTextUnderIcon - + + + New Message + + + + :/icons/images/message_new.png:/icons/images/message_new.png + + + Qt::ToolButtonTextUnderIcon + + + + + + + New Signal + + + + :/icons/images/signal_new.png:/icons/images/signal_new.png + + + Qt::ToolButtonTextUnderIcon + + + + + + + Delete + + + + :/icons/images/skull.png:/icons/images/skull.png + + + Qt::ToolButtonTextUnderIcon + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + + + + 1 + + + - - - - Messages - - - - - - @@ -82,6 +144,8 @@ - + + + diff --git a/ui/dbcsignaleditor.ui b/ui/dbcsignaleditor.ui index d2ea6aa..4a1d45c 100644 --- a/ui/dbcsignaleditor.ui +++ b/ui/dbcsignaleditor.ui @@ -6,7 +6,7 @@ 0 0 - 1239 + 967 644 @@ -15,10 +15,7 @@ - - - - + @@ -210,7 +207,7 @@ - Value Table For Selected Signal: + Value Table: @@ -228,7 +225,6 @@ - signalsList txtName rbNotMulti rbMultiplexed