...to graphing window and signal viewer so complex systems with message name duplication (eg "Status") works well. DBCHandler class has a new function to find a msg by fully qualified node name...Utility class defines the qualified name seperator, right now it is :: and is used thusly filenameNoExtension::nodeName for display in the node dropdown (because nodes can be common between dbc files). To get the message from the system you use the findMessage function in dbchandler and pass the msgName and the fully qualified node name. This is about as unique as we can get, second only to message ID. Added node comboBox to graph signal editor for easier data filtering (took the same implementation that was in signal viewer, and tuned up both of them)
48 lines
1.0 KiB
C++
48 lines
1.0 KiB
C++
#ifndef SIGNALVIEWERWINDOW_H
|
|
#define SIGNALVIEWERWINDOW_H
|
|
|
|
#include <QDialog>
|
|
#include "dbc/dbchandler.h"
|
|
|
|
namespace Ui {
|
|
class SignalViewerWindow;
|
|
}
|
|
|
|
class SignalViewerWindow : public QDialog
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
explicit SignalViewerWindow(const QVector<CANFrame> *frames, QWidget *parent = 0);
|
|
~SignalViewerWindow();
|
|
|
|
private slots:
|
|
void loadNodes();
|
|
void loadMessages(int idx);
|
|
void loadSignals(int idx);
|
|
void addSignal();
|
|
void addSignal(DBC_SIGNAL *sig);
|
|
void removeSelectedSignal();
|
|
void updatedFrames(int);
|
|
void saveSignalsFile();
|
|
void loadSignalsFile();
|
|
void appendSignalsFile();
|
|
void clearSignalsTable();
|
|
void clearSignalsTable(bool);
|
|
void saveDefinitions();
|
|
void loadDefinitions(bool);
|
|
|
|
private:
|
|
Ui::SignalViewerWindow *ui;
|
|
DBCHandler *dbcHandler;
|
|
|
|
DBC_MESSAGE *currentlySelectedMsg;
|
|
|
|
QList<DBC_SIGNAL *> signalList;
|
|
const QVector<CANFrame> *modelFrames;
|
|
|
|
void processFrame(CANFrame &frame);
|
|
};
|
|
|
|
#endif // SIGNALVIEWERWINDOW_H
|